@arsedizioni/ars-utils 22.6.86 → 22.6.88
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/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +3158 -3344
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +7616 -4772
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.date.mjs +321 -702
- package/fesm2022/arsedizioni-ars-utils-core.date.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.markdown.mjs +445 -590
- package/fesm2022/arsedizioni-ars-utils-core.markdown.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +1735 -2370
- package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.validators.mjs +1280 -1470
- package/fesm2022/arsedizioni-ars-utils-core.validators.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +1097 -1528
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +198 -294
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.controls.date.mjs +115 -117
- package/fesm2022/arsedizioni-ars-utils-ui.controls.date.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.controls.mjs +1607 -613
- package/fesm2022/arsedizioni-ars-utils-ui.controls.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.controls.tree.mjs +840 -367
- package/fesm2022/arsedizioni-ars-utils-ui.controls.tree.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.auth.mjs +1634 -651
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.auth.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.mjs +1255 -792
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.prompt.mjs +1410 -357
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.prompt.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.select.mjs +2401 -944
- package/fesm2022/arsedizioni-ars-utils-ui.dialogs.select.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.files.mjs +1553 -741
- package/fesm2022/arsedizioni-ars-utils-ui.files.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.filters.mjs +901 -430
- package/fesm2022/arsedizioni-ars-utils-ui.filters.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.help.mjs +737 -530
- package/fesm2022/arsedizioni-ars-utils-ui.help.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +6638 -1755
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.navigation.mjs +1479 -1207
- package/fesm2022/arsedizioni-ars-utils-ui.navigation.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.notifications.mjs +1003 -270
- package/fesm2022/arsedizioni-ars-utils-ui.notifications.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +497 -278
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.paginator.mjs +48 -52
- package/fesm2022/arsedizioni-ars-utils-ui.paginator.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.shell.mjs +464 -704
- package/fesm2022/arsedizioni-ars-utils-ui.shell.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.tinymce.mjs +724 -657
- package/fesm2022/arsedizioni-ars-utils-ui.tinymce.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils.mjs +3 -19
- package/fesm2022/arsedizioni-ars-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/types/arsedizioni-ars-utils-clipper.common.d.ts +1151 -1163
- package/types/arsedizioni-ars-utils-clipper.ui.d.ts +1588 -1426
- package/types/arsedizioni-ars-utils-core.d.ts +1169 -1172
- package/types/arsedizioni-ars-utils-core.date.d.ts +204 -208
- package/types/arsedizioni-ars-utils-core.markdown.d.ts +128 -126
- package/types/arsedizioni-ars-utils-core.validators.d.ts +270 -236
- package/types/arsedizioni-ars-utils-evolution.common.d.ts +1054 -1067
- package/types/arsedizioni-ars-utils-support.common.d.ts +225 -234
- package/types/arsedizioni-ars-utils-ui.controls.d.ts +440 -278
- package/types/arsedizioni-ars-utils-ui.controls.date.d.ts +24 -28
- package/types/arsedizioni-ars-utils-ui.controls.tree.d.ts +172 -136
- package/types/arsedizioni-ars-utils-ui.d.ts +2035 -821
- package/types/arsedizioni-ars-utils-ui.dialogs.auth.d.ts +327 -322
- package/types/arsedizioni-ars-utils-ui.dialogs.d.ts +343 -347
- package/types/arsedizioni-ars-utils-ui.dialogs.prompt.d.ts +167 -167
- package/types/arsedizioni-ars-utils-ui.dialogs.select.d.ts +373 -367
- package/types/arsedizioni-ars-utils-ui.files.d.ts +335 -283
- package/types/arsedizioni-ars-utils-ui.filters.d.ts +232 -160
- package/types/arsedizioni-ars-utils-ui.help.d.ts +204 -211
- package/types/arsedizioni-ars-utils-ui.navigation.d.ts +811 -646
- package/types/arsedizioni-ars-utils-ui.notifications.d.ts +74 -78
- package/types/arsedizioni-ars-utils-ui.oauth.d.ts +102 -62
- package/types/arsedizioni-ars-utils-ui.paginator.d.ts +19 -22
- package/types/arsedizioni-ars-utils-ui.shell.d.ts +376 -382
- package/types/arsedizioni-ars-utils-ui.tinymce.d.ts +244 -231
- package/types/arsedizioni-ars-utils.d.ts +1 -3
|
@@ -1,205 +1,202 @@
|
|
|
1
|
-
import * as i0 from
|
|
2
|
-
import { Signal, WritableSignal } from
|
|
3
|
-
import {
|
|
4
|
-
import { SendToDialogResult } from
|
|
5
|
-
import { HttpInterceptorFn } from
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
INTEROP_RS_USAGE_REPORT: string;
|
|
54
|
-
UPDATE_RELOAD: string;
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { Signal, WritableSignal } from "@angular/core";
|
|
3
|
+
import { ApiResult, FolderTree, LoginResult, NameValueItem } from "@arsedizioni/ars-utils/core";
|
|
4
|
+
import { SendToDialogResult } from "@arsedizioni/ars-utils/ui";
|
|
5
|
+
import { HttpInterceptorFn } from "@angular/common/http";
|
|
6
|
+
import { Observable } from "rxjs";
|
|
7
|
+
export declare const ClipperMessages: {
|
|
8
|
+
/**
|
|
9
|
+
* Messages
|
|
10
|
+
*/
|
|
11
|
+
ERROR: string;
|
|
12
|
+
/**
|
|
13
|
+
* The session is gone: a 401 on a request that was not a login attempt.
|
|
14
|
+
* Emitted once per dead session by `clipperAuthInterceptor`, which re-arms on the first
|
|
15
|
+
* good response.
|
|
16
|
+
*/
|
|
17
|
+
ERROR_401: string;
|
|
18
|
+
/**
|
|
19
|
+
* The API is not answering: the interceptor has already sent the request three times over
|
|
20
|
+
* ten seconds. Emitted once, and re-armed on the first good response.
|
|
21
|
+
*/
|
|
22
|
+
ERROR_UNAVAILABLE: string;
|
|
23
|
+
SUCCESS: string;
|
|
24
|
+
SUCCESS_TOAST: string;
|
|
25
|
+
LOGIN_CHANGED: string;
|
|
26
|
+
LOGIN_COMPLETED: string;
|
|
27
|
+
LOGIN_PENDING: string;
|
|
28
|
+
LOGIN_FAILED: string;
|
|
29
|
+
LOGOUT: string;
|
|
30
|
+
LOGOUT_COMPLETED: string;
|
|
31
|
+
LOGOUT_FAILED: string;
|
|
32
|
+
DOCUMENT_READ: string;
|
|
33
|
+
DOCUMENT_NAVIGATE: string;
|
|
34
|
+
DOCUMENT_NAVIGATED: string;
|
|
35
|
+
DOCUMENT_SELECTED: string;
|
|
36
|
+
DOCUMENT_SELECTED_INNER: string;
|
|
37
|
+
SETTINGS_CHANGED: string;
|
|
38
|
+
COMMAND_WORKING_OPEN: string;
|
|
39
|
+
COMMAND_WORKING_ADD: string;
|
|
40
|
+
COMMAND_SEARCH_RESTORED: string;
|
|
41
|
+
COMMAND_SEARCH_EXECUTED: string;
|
|
42
|
+
COMMAND_SEARCH_EMPTY_RESULT: string;
|
|
43
|
+
COMMAND_HISTORY_OPEN: string;
|
|
44
|
+
COMMAND_DASHBOARD_UPDATED: string;
|
|
45
|
+
AI_CONCERN_ME: string;
|
|
46
|
+
AI_EXPLAIN: string;
|
|
47
|
+
AI_COMMENT: string;
|
|
48
|
+
AI_NEWS: string;
|
|
49
|
+
INTEROP_RS_NEW_LAW: string;
|
|
50
|
+
INTEROP_RS_NEW_ACTIVITY: string;
|
|
51
|
+
INTEROP_RS_USAGE_REPORT: string;
|
|
52
|
+
UPDATE_RELOAD: string;
|
|
55
53
|
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
isNew?: boolean;
|
|
54
|
+
export interface EditedEventArgs<T> {
|
|
55
|
+
data: T;
|
|
56
|
+
isNew?: boolean;
|
|
60
57
|
}
|
|
61
|
-
declare enum ClipperServiceFlags {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
export declare enum ClipperServiceFlags {
|
|
59
|
+
None = 0,
|
|
60
|
+
NotifySystemErrors = 1,
|
|
61
|
+
DisplayConnectionStateMessages = 2,
|
|
62
|
+
Embedded = 4
|
|
66
63
|
}
|
|
67
|
-
declare enum ClipperSelectionMode {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
export declare enum ClipperSelectionMode {
|
|
65
|
+
None = 0,
|
|
66
|
+
Single = 1,
|
|
67
|
+
TwoOrMore = 2,
|
|
68
|
+
Multi = 3
|
|
72
69
|
}
|
|
73
|
-
declare enum ClipperModuleGroup {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
70
|
+
export declare enum ClipperModuleGroup {
|
|
71
|
+
Home = 0,
|
|
72
|
+
NormativaVigente = 1,
|
|
73
|
+
UltimeNovità = 2,
|
|
74
|
+
ParApprofondire = 3,
|
|
75
|
+
DGInfo = 4,
|
|
76
|
+
Giurisprudenza = 5,
|
|
77
|
+
Calendario = 11,
|
|
78
|
+
Archivio = 12,
|
|
79
|
+
Evolution = 201,
|
|
80
|
+
Ars = 202,
|
|
81
|
+
Ricerca = 99
|
|
85
82
|
}
|
|
86
|
-
declare enum ClipperModule {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
83
|
+
export declare enum ClipperModule {
|
|
84
|
+
NormativaVigente = 4,
|
|
85
|
+
News = 1,
|
|
86
|
+
GazzetteBollettiniEFontiDiverse = 2,
|
|
87
|
+
Giurisprudenza = 5,
|
|
88
|
+
ModificheAbrogazioniERinvii = 3,
|
|
89
|
+
ScadenzeESegnalazioni = 12,
|
|
90
|
+
Approfondimenti = 6,
|
|
91
|
+
QuesitiECasiRisolti = 10,
|
|
92
|
+
MetodiDiAnalisi = 11,
|
|
93
|
+
DGInfo = 61,
|
|
94
|
+
Ricerca = 99,
|
|
95
|
+
GiurisprudenzaRecente = 18
|
|
99
96
|
}
|
|
100
|
-
declare enum ClipperModel {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
97
|
+
export declare enum ClipperModel {
|
|
98
|
+
Unknown = 0,
|
|
99
|
+
AggiornamentoNormativo = 2,
|
|
100
|
+
News = 3,
|
|
101
|
+
Articoli = 4,
|
|
102
|
+
Juris = 5,
|
|
103
|
+
Quesiti = 8,
|
|
104
|
+
NormativaVigente = 9,
|
|
105
|
+
Scadenze = 10,
|
|
106
|
+
Coordinamento = 11,
|
|
107
|
+
MetodiDiAnalisi = 14,
|
|
108
|
+
GiurisprudenzaRecente = 18,
|
|
109
|
+
Segnalazioni = 20,
|
|
110
|
+
UltimeNovità = 21
|
|
114
111
|
}
|
|
115
|
-
declare const ClipperModels: NameValueItem<number>[];
|
|
116
|
-
declare const ClipperModuleGroups: NameValueItem<number>[];
|
|
117
|
-
declare const ClipperModules: NameValueItem<number>[];
|
|
118
|
-
declare enum ClipperChannel {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
112
|
+
export declare const ClipperModels: NameValueItem<number>[];
|
|
113
|
+
export declare const ClipperModuleGroups: NameValueItem<number>[];
|
|
114
|
+
export declare const ClipperModules: NameValueItem<number>[];
|
|
115
|
+
export declare enum ClipperChannel {
|
|
116
|
+
None = 0,
|
|
117
|
+
LavoroEAmbiente = 1,
|
|
118
|
+
SostanzeAlimentari = 2,
|
|
119
|
+
MerciPericolose = 3,
|
|
120
|
+
Energia = 4,
|
|
121
|
+
DGInfo = 5
|
|
125
122
|
}
|
|
126
|
-
declare const ClipperChannels: NameValueItem<ClipperChannel>[];
|
|
127
|
-
interface ClipperAvailableChannel extends NameValueItem<ClipperChannel> {
|
|
128
|
-
|
|
129
|
-
|
|
123
|
+
export declare const ClipperChannels: NameValueItem<ClipperChannel>[];
|
|
124
|
+
export interface ClipperAvailableChannel extends NameValueItem<ClipperChannel> {
|
|
125
|
+
active?: boolean;
|
|
126
|
+
suspended?: boolean;
|
|
130
127
|
}
|
|
131
|
-
declare const ClipperRegions: NameValueItem<string>[];
|
|
132
|
-
interface SectorInfo extends NameValueItem<string> {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
128
|
+
export declare const ClipperRegions: NameValueItem<string>[];
|
|
129
|
+
export interface SectorInfo extends NameValueItem<string> {
|
|
130
|
+
group?: string;
|
|
131
|
+
channels?: string;
|
|
132
|
+
sectorId?: string;
|
|
136
133
|
}
|
|
137
|
-
declare const ClipperSectors: SectorInfo[];
|
|
138
|
-
declare const ClipperSectorTypes: NameValueItem<string>[];
|
|
139
|
-
declare const ClipperAuthors: SectorInfo[];
|
|
140
|
-
declare const ClipperSources: NameValueItem<string>[];
|
|
141
|
-
interface ClipperChannelSettingsItem<T> {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
134
|
+
export declare const ClipperSectors: SectorInfo[];
|
|
135
|
+
export declare const ClipperSectorTypes: NameValueItem<string>[];
|
|
136
|
+
export declare const ClipperAuthors: SectorInfo[];
|
|
137
|
+
export declare const ClipperSources: NameValueItem<string>[];
|
|
138
|
+
export interface ClipperChannelSettingsItem<T> {
|
|
139
|
+
name: string;
|
|
140
|
+
value: T;
|
|
141
|
+
checked: boolean;
|
|
145
142
|
}
|
|
146
|
-
declare class ClipperChannelSettings {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
143
|
+
export declare class ClipperChannelSettings {
|
|
144
|
+
channelId?: ClipperChannel;
|
|
145
|
+
channelName?: string;
|
|
146
|
+
isEnabled?: boolean;
|
|
147
|
+
isSuspended?: boolean;
|
|
148
|
+
isActive?: boolean;
|
|
149
|
+
sectors: ClipperChannelSettingsItem<string>[];
|
|
150
|
+
regions: ClipperChannelSettingsItem<string>[];
|
|
151
|
+
/**
|
|
152
|
+
* Returns `true` when the channel is active and at least one of the given sector codes
|
|
153
|
+
* matches a sector assigned to this channel.
|
|
154
|
+
* @param values - Array of sector code strings to test against.
|
|
155
|
+
*/
|
|
156
|
+
hasAnyOfSectors(values: string[]): boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Returns `true` when the channel is active and at least one of the given region codes
|
|
159
|
+
* matches a region assigned to this channel.
|
|
160
|
+
* @param values - Array of region code strings to test against.
|
|
161
|
+
*/
|
|
162
|
+
hasAnyOfRegions(values: string[]): boolean;
|
|
166
163
|
}
|
|
167
|
-
interface ClipperUserChannelInfo {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
164
|
+
export interface ClipperUserChannelInfo {
|
|
165
|
+
channel: ClipperChannel;
|
|
166
|
+
channelName?: string;
|
|
167
|
+
expiringDate: Date;
|
|
168
|
+
isTrial?: boolean;
|
|
169
|
+
isDisabled: boolean;
|
|
170
|
+
isSuspended: boolean;
|
|
171
|
+
isDvd: boolean;
|
|
172
|
+
isActive: boolean;
|
|
173
|
+
documentsViewable?: number;
|
|
174
|
+
documentsViewed?: number;
|
|
175
|
+
settings?: ClipperChannelSettings;
|
|
179
176
|
}
|
|
180
|
-
interface ClipperUserInfo {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
177
|
+
export interface ClipperUserInfo {
|
|
178
|
+
userId: number;
|
|
179
|
+
customerId?: number;
|
|
180
|
+
companyName?: string;
|
|
181
|
+
displayName?: string;
|
|
182
|
+
firstName?: string;
|
|
183
|
+
email: string;
|
|
184
|
+
oauth?: boolean;
|
|
185
|
+
sessionId?: string;
|
|
186
|
+
scope: number;
|
|
187
|
+
isAuthenticated: boolean;
|
|
188
|
+
isTemporary: boolean;
|
|
189
|
+
hasTrial: boolean;
|
|
190
|
+
hasBulletin: boolean;
|
|
191
|
+
hasAI: boolean;
|
|
192
|
+
hasAIAssistant: boolean;
|
|
193
|
+
hasAIEditor: boolean;
|
|
194
|
+
channels?: ClipperUserChannelInfo[];
|
|
195
|
+
firstChannelTrial?: ClipperUserChannelInfo;
|
|
196
|
+
trialInfo?: ClipperUserTrialInfo;
|
|
200
197
|
}
|
|
201
|
-
interface ClipperLoginResult extends LoginResult<ClipperUserInfo> {
|
|
202
|
-
|
|
198
|
+
export interface ClipperLoginResult extends LoginResult<ClipperUserInfo> {
|
|
199
|
+
settings?: ClipperChannelSettings[];
|
|
203
200
|
}
|
|
204
201
|
/**
|
|
205
202
|
* Answer of `GET /session/status`: whether this browser holds a live session towards the Clipper API.
|
|
@@ -210,144 +207,144 @@ interface ClipperLoginResult extends LoginResult<ClipperUserInfo> {
|
|
|
210
207
|
* what makes it safe to call with no session at all: a probe that failed with a status code would be
|
|
211
208
|
* reported by the interceptor as an expired session.
|
|
212
209
|
*/
|
|
213
|
-
interface ClipperSessionStatus {
|
|
214
|
-
|
|
215
|
-
|
|
210
|
+
export interface ClipperSessionStatus {
|
|
211
|
+
/** True when the cookie this browser presented resolves to a live, validated session. */
|
|
212
|
+
connected: boolean;
|
|
216
213
|
}
|
|
217
|
-
interface ClipperLoginInfo {
|
|
218
|
-
|
|
219
|
-
|
|
214
|
+
export interface ClipperLoginInfo {
|
|
215
|
+
context?: ClipperUserInfo;
|
|
216
|
+
channels?: ClipperChannelSettings[];
|
|
220
217
|
}
|
|
221
|
-
declare enum ClipperQueryDocumentFlags {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
218
|
+
export declare enum ClipperQueryDocumentFlags {
|
|
219
|
+
None = 0,
|
|
220
|
+
TitleOnly = 1,
|
|
221
|
+
AbrogatedOnly = 2,
|
|
222
|
+
NotAbrogatedOnly = 4,
|
|
223
|
+
CommentedOnly = 8,
|
|
224
|
+
UseSemanticSearch = 32,
|
|
225
|
+
NotRead = 64,
|
|
226
|
+
ExcludeUserFilters = 128
|
|
230
227
|
}
|
|
231
|
-
declare class ClipperSearchParams {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
228
|
+
export declare class ClipperSearchParams {
|
|
229
|
+
version: number;
|
|
230
|
+
searchId?: number;
|
|
231
|
+
searchName?: string;
|
|
232
|
+
text?: string;
|
|
233
|
+
title?: string;
|
|
234
|
+
titleOnly?: boolean;
|
|
235
|
+
showUnreadDocumentsOnly?: boolean;
|
|
236
|
+
showCommentedDocumentsOnly?: boolean;
|
|
237
|
+
showNotAbrogatedDocumentsOnly?: boolean;
|
|
238
|
+
number?: string;
|
|
239
|
+
fromDate?: Date;
|
|
240
|
+
toDate?: Date;
|
|
241
|
+
year?: number;
|
|
242
|
+
sourceNumber?: string;
|
|
243
|
+
source?: string;
|
|
244
|
+
sourceFromDate?: Date;
|
|
245
|
+
sourceToDate?: Date;
|
|
246
|
+
sourceYear?: number;
|
|
247
|
+
sector?: string;
|
|
248
|
+
sectors?: SectorInfo[];
|
|
249
|
+
topic?: string;
|
|
250
|
+
topics?: NameValueItem<string>[];
|
|
251
|
+
taxonomy?: string;
|
|
252
|
+
taxonomies?: NameValueItem<string>[];
|
|
253
|
+
taxonomyPath?: string;
|
|
254
|
+
taxonomyNode?: string;
|
|
255
|
+
type?: string;
|
|
256
|
+
types?: NameValueItem<string>[];
|
|
257
|
+
tag?: string;
|
|
258
|
+
tags?: NameValueItem<string>[];
|
|
259
|
+
author?: string;
|
|
260
|
+
authors?: NameValueItem<string>[];
|
|
261
|
+
changeReason?: number;
|
|
262
|
+
changedNumber?: string;
|
|
263
|
+
changedYear?: number;
|
|
264
|
+
changedTitle?: string;
|
|
265
|
+
changedId?: string;
|
|
266
|
+
modifierId?: string;
|
|
267
|
+
modifierNumber?: string;
|
|
268
|
+
modifierYear?: number;
|
|
269
|
+
modifierTitle?: string;
|
|
270
|
+
model?: ClipperModel;
|
|
271
|
+
models?: ClipperModel[];
|
|
272
|
+
module?: ClipperModule;
|
|
273
|
+
modules?: NameValueItem<ClipperModule>[];
|
|
274
|
+
mode?: ClipperQueryReferencesMode;
|
|
275
|
+
channels?: NameValueItem<ClipperChannel>[];
|
|
276
|
+
count?: number;
|
|
277
|
+
id?: string;
|
|
278
|
+
anchor?: string;
|
|
279
|
+
excludeTextReferences?: boolean;
|
|
280
|
+
excludeNotesReferences?: boolean;
|
|
281
|
+
useModifierInfo?: boolean;
|
|
282
|
+
returnModifierInfo?: boolean;
|
|
283
|
+
flags?: ClipperQueryDocumentFlags;
|
|
284
|
+
first?: number;
|
|
285
|
+
sortMode?: number;
|
|
289
286
|
}
|
|
290
|
-
interface ClipperReferencesSearchParams {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
287
|
+
export interface ClipperReferencesSearchParams {
|
|
288
|
+
documentId: string;
|
|
289
|
+
year?: number;
|
|
290
|
+
sector?: string;
|
|
291
|
+
author?: string;
|
|
292
|
+
anchor?: string;
|
|
293
|
+
model?: string;
|
|
294
|
+
mode?: ClipperQueryReferencesMode;
|
|
295
|
+
excludeTextReferences?: boolean;
|
|
296
|
+
excludeNotesReferences?: boolean;
|
|
297
|
+
useModifierInfo?: boolean;
|
|
298
|
+
returnModifierInfo?: boolean;
|
|
299
|
+
count?: number;
|
|
300
|
+
first?: number;
|
|
304
301
|
}
|
|
305
|
-
declare enum ClipperDocumentContainer {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
302
|
+
export declare enum ClipperDocumentContainer {
|
|
303
|
+
None = 0,
|
|
304
|
+
LavoroEAmbiente = 1,
|
|
305
|
+
SostanzeAlimentari = 2,
|
|
306
|
+
OrangeProject = 4,
|
|
307
|
+
Energia = 8,
|
|
308
|
+
DGInfo = 16,
|
|
309
|
+
DLGS231 = 32,
|
|
310
|
+
All = 63
|
|
314
311
|
}
|
|
315
|
-
declare const ClipperDocumentChangeReasons: NameValueItem<number>[];
|
|
316
|
-
interface ClipperDocumentAnchorInfo {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
312
|
+
export declare const ClipperDocumentChangeReasons: NameValueItem<number>[];
|
|
313
|
+
export interface ClipperDocumentAnchorInfo {
|
|
314
|
+
documentId?: string;
|
|
315
|
+
type?: number;
|
|
316
|
+
typeDescription?: string;
|
|
317
|
+
text?: string;
|
|
318
|
+
title?: string;
|
|
319
|
+
description?: string;
|
|
320
|
+
uri: string;
|
|
321
|
+
ordinal?: string;
|
|
322
|
+
score?: number;
|
|
323
|
+
chunk?: number;
|
|
324
|
+
veryRelevant?: boolean;
|
|
325
|
+
value?: string;
|
|
326
|
+
level?: number;
|
|
330
327
|
}
|
|
331
|
-
interface ClipperDocumentRelevantChunkHit {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
328
|
+
export interface ClipperDocumentRelevantChunkHit {
|
|
329
|
+
id?: number;
|
|
330
|
+
score: string;
|
|
331
|
+
text: string;
|
|
332
|
+
index?: number;
|
|
333
|
+
uri?: string;
|
|
337
334
|
}
|
|
338
|
-
interface ClipperDocumentRelevants {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
335
|
+
export interface ClipperDocumentRelevants {
|
|
336
|
+
items: ClipperDocumentAnchorInfo[];
|
|
337
|
+
hits: number;
|
|
338
|
+
hit: number;
|
|
339
|
+
chunks: number;
|
|
343
340
|
}
|
|
344
341
|
/** One delivery of a shared note by email, and whether the recipient opened it. */
|
|
345
|
-
interface ClipperDocumentNoteTracking {
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
342
|
+
export interface ClipperDocumentNoteTracking {
|
|
343
|
+
id: string;
|
|
344
|
+
userMailId: number;
|
|
345
|
+
email?: string;
|
|
346
|
+
sentDate: Date;
|
|
347
|
+
openDate?: Date;
|
|
351
348
|
}
|
|
352
349
|
/**
|
|
353
350
|
* A shared note attached to a document.
|
|
@@ -356,394 +353,393 @@ interface ClipperDocumentNoteTracking {
|
|
|
356
353
|
* account -- but the API attaches them to documents and to `metadata()`, so the shape is
|
|
357
354
|
* declared here rather than letting a consumer read a response it cannot see.
|
|
358
355
|
*/
|
|
359
|
-
interface ClipperDocumentNote {
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
356
|
+
export interface ClipperDocumentNote {
|
|
357
|
+
id?: number;
|
|
358
|
+
teamId?: string;
|
|
359
|
+
teamTitle?: string;
|
|
360
|
+
documentId?: string;
|
|
361
|
+
documentTitle?: string;
|
|
362
|
+
color?: string;
|
|
363
|
+
name?: string;
|
|
364
|
+
note?: string;
|
|
365
|
+
trackings?: ClipperDocumentNoteTracking[];
|
|
366
|
+
trackingsCount?: number;
|
|
367
|
+
trackingsOpenedCount?: number;
|
|
368
|
+
expiringDate?: Date;
|
|
369
|
+
isExpired?: boolean;
|
|
370
|
+
isTroubled?: boolean;
|
|
371
|
+
isMenuOpen?: boolean;
|
|
372
|
+
isOver?: boolean;
|
|
373
|
+
created?: Date;
|
|
377
374
|
}
|
|
378
|
-
interface ClipperDocumentInfo {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
375
|
+
export interface ClipperDocumentInfo {
|
|
376
|
+
id?: string;
|
|
377
|
+
documentId?: string;
|
|
378
|
+
documentCode?: string;
|
|
379
|
+
model?: number;
|
|
380
|
+
modelName?: string;
|
|
381
|
+
module?: number;
|
|
382
|
+
moduleName?: string;
|
|
383
|
+
channelName?: string;
|
|
384
|
+
group?: string;
|
|
385
|
+
title2?: string;
|
|
386
|
+
title1?: string;
|
|
387
|
+
tags?: string;
|
|
388
|
+
topics?: string;
|
|
389
|
+
number?: string;
|
|
390
|
+
date?: Date;
|
|
391
|
+
description?: string;
|
|
392
|
+
publishingDate?: Date;
|
|
393
|
+
pictureId?: string;
|
|
394
|
+
sourceNumber?: string;
|
|
395
|
+
sourceDate?: Date;
|
|
396
|
+
source?: string;
|
|
397
|
+
sector?: string;
|
|
398
|
+
origin?: string;
|
|
399
|
+
originDescription?: string;
|
|
400
|
+
author?: string;
|
|
401
|
+
anchors?: ClipperDocumentAnchorInfo[];
|
|
402
|
+
notes?: ClipperDocumentNote[];
|
|
403
|
+
chunks?: ClipperDocumentAnchorInfo[];
|
|
404
|
+
chunksList?: string;
|
|
405
|
+
taxonomy?: string;
|
|
406
|
+
taxonomyPath?: string;
|
|
407
|
+
info?: string;
|
|
408
|
+
isRead?: boolean;
|
|
409
|
+
isExportable?: boolean;
|
|
410
|
+
isCommented?: boolean;
|
|
411
|
+
isJuris?: boolean;
|
|
412
|
+
isOver?: boolean;
|
|
413
|
+
isTrial?: boolean;
|
|
414
|
+
isNew?: boolean;
|
|
415
|
+
isExpired?: boolean;
|
|
416
|
+
isExpiring?: boolean;
|
|
417
|
+
isMenuOpen?: boolean;
|
|
418
|
+
applicableFromDate?: Date;
|
|
419
|
+
validityState?: number;
|
|
420
|
+
validFromDate?: Date;
|
|
421
|
+
validUntilDate?: Date;
|
|
422
|
+
validityDescription?: string;
|
|
423
|
+
validityInfo?: string;
|
|
424
|
+
expiringDate?: Date;
|
|
425
|
+
expiringDescription?: string;
|
|
426
|
+
expiringInfo?: string;
|
|
427
|
+
popularity?: number;
|
|
428
|
+
part?: number;
|
|
429
|
+
primaryId?: string;
|
|
430
|
+
primaryDescription?: string;
|
|
431
|
+
primaryModel?: number;
|
|
432
|
+
hasPrimary?: boolean;
|
|
433
|
+
secondaryId?: string;
|
|
434
|
+
bag?: any;
|
|
435
|
+
lastUpdate?: string;
|
|
439
436
|
}
|
|
440
|
-
declare class ClipperSearchResult {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
437
|
+
export declare class ClipperSearchResult {
|
|
438
|
+
days?: string;
|
|
439
|
+
interval?: string;
|
|
440
|
+
items?: ClipperDocumentInfo[];
|
|
441
|
+
facets?: ClipperSearchFacetsSnapshot;
|
|
442
|
+
tags?: NameValueItem<string>[];
|
|
443
|
+
total?: number;
|
|
444
|
+
terms?: string[];
|
|
445
|
+
searchInfo?: any;
|
|
446
|
+
searchParams?: ClipperSearchParams;
|
|
447
|
+
snapshotMode?: ClipperQueryReferencesMode;
|
|
451
448
|
}
|
|
452
|
-
interface ClipperSearchFacet {
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
449
|
+
export interface ClipperSearchFacet {
|
|
450
|
+
type: number;
|
|
451
|
+
typeName: string;
|
|
452
|
+
title: string;
|
|
453
|
+
value: string;
|
|
454
|
+
count: number;
|
|
458
455
|
}
|
|
459
|
-
interface ClipperSearchFacetGroup {
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
456
|
+
export interface ClipperSearchFacetGroup {
|
|
457
|
+
name: string;
|
|
458
|
+
selectedValue?: string;
|
|
459
|
+
selectedValueDescription?: string;
|
|
460
|
+
values: ClipperSearchFacet[];
|
|
461
|
+
index: number;
|
|
465
462
|
}
|
|
466
|
-
interface ClipperSearchFacetsResult {
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
463
|
+
export interface ClipperSearchFacetsResult {
|
|
464
|
+
interval?: string;
|
|
465
|
+
facets?: ClipperSearchFacet[][];
|
|
466
|
+
total?: number;
|
|
470
467
|
}
|
|
471
|
-
declare class ClipperSearchFacetsSnapshot {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
468
|
+
export declare class ClipperSearchFacetsSnapshot {
|
|
469
|
+
groups: ClipperSearchFacetGroup[];
|
|
470
|
+
usedGroups: ClipperSearchFacetGroup[];
|
|
471
|
+
hasFacets: boolean;
|
|
472
|
+
hasMoreFacets: boolean;
|
|
473
|
+
hasTooManyResults: boolean;
|
|
474
|
+
sector?: string;
|
|
475
|
+
author?: string;
|
|
476
|
+
anchor?: string;
|
|
477
|
+
type?: string;
|
|
478
|
+
reason?: string;
|
|
479
|
+
fromDate?: Date;
|
|
480
|
+
toDate?: Date;
|
|
481
|
+
interval?: string;
|
|
485
482
|
}
|
|
486
|
-
interface ClipperSearchCalendarSnapshotMonth {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
483
|
+
export interface ClipperSearchCalendarSnapshotMonth {
|
|
484
|
+
days: number[];
|
|
485
|
+
monthShortName?: string;
|
|
486
|
+
monthName?: string;
|
|
487
|
+
month: number;
|
|
488
|
+
year: number;
|
|
489
|
+
total: number;
|
|
490
|
+
expired: number;
|
|
491
|
+
expiring: number;
|
|
495
492
|
}
|
|
496
|
-
declare class ClipperSearchCalendarSnapshotResult {
|
|
497
|
-
|
|
493
|
+
export declare class ClipperSearchCalendarSnapshotResult {
|
|
494
|
+
months?: ClipperSearchCalendarSnapshotMonth[];
|
|
498
495
|
}
|
|
499
|
-
declare enum ClipperSort {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
496
|
+
export declare enum ClipperSort {
|
|
497
|
+
Default = 0,
|
|
498
|
+
Relevance = 1,
|
|
499
|
+
DateAsc = 2,
|
|
500
|
+
DateDesc = 3,
|
|
501
|
+
SourceDateAsc = 7,
|
|
502
|
+
SourceDateDesc = 8,
|
|
503
|
+
Popularity = 5
|
|
507
504
|
}
|
|
508
|
-
declare enum ClipperQueryReferencesMode {
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
505
|
+
export declare enum ClipperQueryReferencesMode {
|
|
506
|
+
ReferencesIn = 1,
|
|
507
|
+
ReferencesOut = 2,
|
|
508
|
+
ChangesIn = 3,
|
|
509
|
+
ChangesOut = 5,
|
|
510
|
+
Juris = 4
|
|
514
511
|
}
|
|
515
|
-
declare enum ClipperFacet {
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
512
|
+
export declare enum ClipperFacet {
|
|
513
|
+
Sector = 1,
|
|
514
|
+
Year = 2,
|
|
515
|
+
DocumentType = 3,
|
|
516
|
+
Topic = 4,
|
|
517
|
+
Article = 5,
|
|
518
|
+
Author = 6,
|
|
519
|
+
Reason = 95
|
|
523
520
|
}
|
|
524
|
-
interface ClipperOTPInfo {
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
521
|
+
export interface ClipperOTPInfo {
|
|
522
|
+
code?: string;
|
|
523
|
+
canPreview?: boolean;
|
|
524
|
+
canEmbed?: boolean;
|
|
528
525
|
}
|
|
529
|
-
declare enum ClipperExportDocumentsFormat {
|
|
530
|
-
|
|
531
|
-
|
|
526
|
+
export declare enum ClipperExportDocumentsFormat {
|
|
527
|
+
Deafault = 1,
|
|
528
|
+
iCalendar = 2
|
|
532
529
|
}
|
|
533
|
-
interface ClipperExportDocumentsParams {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
530
|
+
export interface ClipperExportDocumentsParams {
|
|
531
|
+
query?: ClipperSearchParams;
|
|
532
|
+
ids: string[];
|
|
533
|
+
format?: ClipperExportDocumentsFormat;
|
|
537
534
|
}
|
|
538
|
-
interface ClipperSendDocumentsByEmailParams extends SendToDialogResult {
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
535
|
+
export interface ClipperSendDocumentsByEmailParams extends SendToDialogResult {
|
|
536
|
+
ids?: string[];
|
|
537
|
+
isCalendar?: boolean;
|
|
538
|
+
public?: string;
|
|
539
|
+
userNoteId?: number;
|
|
543
540
|
}
|
|
544
|
-
interface ClipperDocumentStructure {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
541
|
+
export interface ClipperDocumentStructure {
|
|
542
|
+
id: string;
|
|
543
|
+
title: string;
|
|
544
|
+
items?: ClipperDocumentAnchorInfo[];
|
|
548
545
|
}
|
|
549
|
-
interface ClipperSearchFilter {
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
546
|
+
export interface ClipperSearchFilter {
|
|
547
|
+
container: ClipperDocumentContainer;
|
|
548
|
+
models: number[];
|
|
549
|
+
sectors: string[];
|
|
550
|
+
regions: string[];
|
|
551
|
+
notifications: number[];
|
|
552
|
+
isEnabled: boolean;
|
|
553
|
+
isActive: boolean;
|
|
557
554
|
}
|
|
558
|
-
interface ClipperTaxonomyParams {
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
555
|
+
export interface ClipperTaxonomyParams {
|
|
556
|
+
countItems: boolean;
|
|
557
|
+
model: ClipperModel;
|
|
558
|
+
userFilters?: ClipperSearchFilter[];
|
|
562
559
|
}
|
|
563
|
-
interface ClipperUserSearch {
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
560
|
+
export interface ClipperUserSearch {
|
|
561
|
+
id?: number;
|
|
562
|
+
userId?: number;
|
|
563
|
+
name?: string;
|
|
564
|
+
module?: ClipperModule;
|
|
565
|
+
data?: string;
|
|
569
566
|
}
|
|
570
|
-
interface ClipperUserWorkingDocument {
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
567
|
+
export interface ClipperUserWorkingDocument {
|
|
568
|
+
userId?: number;
|
|
569
|
+
documentId?: string;
|
|
570
|
+
documentDescriptor?: string;
|
|
571
|
+
title1?: string;
|
|
572
|
+
title2?: string;
|
|
573
|
+
timestamp?: string;
|
|
577
574
|
}
|
|
578
|
-
interface ClipperDeleteWorkingDocumentsParams {
|
|
579
|
-
|
|
580
|
-
|
|
575
|
+
export interface ClipperDeleteWorkingDocumentsParams {
|
|
576
|
+
documentIds: string[];
|
|
577
|
+
deleteAll: boolean;
|
|
581
578
|
}
|
|
582
|
-
interface ClipperUserTrialInfo {
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
579
|
+
export interface ClipperUserTrialInfo {
|
|
580
|
+
channelName?: string;
|
|
581
|
+
expiringDate: Date;
|
|
582
|
+
remainingDocuments: number;
|
|
586
583
|
}
|
|
587
|
-
interface ClipperDocumentUpdateStateParams {
|
|
588
|
-
|
|
589
|
-
|
|
584
|
+
export interface ClipperDocumentUpdateStateParams {
|
|
585
|
+
documentIds: string[];
|
|
586
|
+
isRead: boolean;
|
|
590
587
|
}
|
|
591
|
-
interface ClipperDashboardModelItem {
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
588
|
+
export interface ClipperDashboardModelItem {
|
|
589
|
+
id?: ClipperModel;
|
|
590
|
+
newItems: number;
|
|
591
|
+
unreadItems: number;
|
|
595
592
|
}
|
|
596
|
-
interface ClipperDashboardItem {
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
593
|
+
export interface ClipperDashboardItem {
|
|
594
|
+
id: ClipperModule;
|
|
595
|
+
models: ClipperDashboardModelItem[];
|
|
596
|
+
newItems: number;
|
|
597
|
+
unreadItems: number;
|
|
598
|
+
lastUpdated?: Date;
|
|
602
599
|
}
|
|
603
|
-
declare class ClipperDashboard {
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
600
|
+
export declare class ClipperDashboard {
|
|
601
|
+
items: import("@angular/core").WritableSignal<ClipperDashboardItem[]>;
|
|
602
|
+
isTrial?: boolean;
|
|
603
|
+
expiredDeadlines?: number;
|
|
604
|
+
expiringDeadlines?: number;
|
|
605
|
+
documentUpdates?: number;
|
|
606
|
+
unreadItems: Signal<[ClipperModule, number][]>;
|
|
607
|
+
unreadItemsByModel: Signal<[ClipperModel, number][]>;
|
|
608
|
+
/**
|
|
609
|
+
* Increments (or decrements) the unread item counter for the given module or model.
|
|
610
|
+
* Triggers a signal update so computed values and templates react to the change.
|
|
611
|
+
* @param module - The `ClipperModule` whose counter should be adjusted.
|
|
612
|
+
* @param model - Optional `ClipperModel` for sub-module granularity.
|
|
613
|
+
* @param increment - Amount to add (use a negative value to decrement).
|
|
614
|
+
*/
|
|
615
|
+
updateUnreadItems(module: ClipperModule, model: ClipperModel | undefined, increment: number): void;
|
|
616
|
+
/**
|
|
617
|
+
* Returns the unread-item count for the given module, or for a specific model within it.
|
|
618
|
+
* @param module - The `ClipperModule` to query.
|
|
619
|
+
* @param model - Optional `ClipperModel` for sub-module granularity.
|
|
620
|
+
* @returns Number of unread items, or `0` when none are found.
|
|
621
|
+
*/
|
|
622
|
+
getUnreadItems(module: ClipperModule, model?: ClipperModel): number;
|
|
623
|
+
/**
|
|
624
|
+
* Returns the sum of unread items across all tracked modules.
|
|
625
|
+
* @returns Total unread-item count.
|
|
626
|
+
*/
|
|
627
|
+
getTotalUnreadItems(): number;
|
|
631
628
|
}
|
|
632
|
-
interface ClipperTopicInfo {
|
|
633
|
-
|
|
634
|
-
|
|
629
|
+
export interface ClipperTopicInfo {
|
|
630
|
+
id: string;
|
|
631
|
+
name: string;
|
|
635
632
|
}
|
|
636
|
-
declare enum ClipperCalendarState {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
633
|
+
export declare enum ClipperCalendarState {
|
|
634
|
+
Open = 101,
|
|
635
|
+
Expired = 102,
|
|
636
|
+
Expiring = 103,
|
|
637
|
+
Closed = 104
|
|
641
638
|
}
|
|
642
|
-
declare const ClipperCalendarStates: NameValueItem<ClipperCalendarState>[];
|
|
643
|
-
declare class ClipperCalendarSearchParams {
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
639
|
+
export declare const ClipperCalendarStates: NameValueItem<ClipperCalendarState>[];
|
|
640
|
+
export declare class ClipperCalendarSearchParams {
|
|
641
|
+
id?: string;
|
|
642
|
+
fromDate?: Date;
|
|
643
|
+
toDate?: Date;
|
|
644
|
+
teamId?: string;
|
|
645
|
+
text?: string;
|
|
646
|
+
month?: number;
|
|
647
|
+
year?: number;
|
|
648
|
+
sortDescending?: boolean;
|
|
649
|
+
state?: ClipperCalendarState;
|
|
650
|
+
recurrentOnly?: boolean;
|
|
651
|
+
first?: number;
|
|
652
|
+
count?: number;
|
|
656
653
|
}
|
|
657
|
-
declare class ClipperUtils {
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
654
|
+
export declare class ClipperUtils {
|
|
655
|
+
/**
|
|
656
|
+
* Returns `true` when the given model corresponds to a readable document type
|
|
657
|
+
* (i.e., can be opened in the document viewer).
|
|
658
|
+
* @param model - The `ClipperModel` to test.
|
|
659
|
+
*/
|
|
660
|
+
static isClipperModelReadable(model: ClipperModel): boolean;
|
|
661
|
+
/**
|
|
662
|
+
* Returns the `ClipperModule` that owns the given document, derived from its model type.
|
|
663
|
+
* @param item - The document info object to inspect.
|
|
664
|
+
* @returns The matching `ClipperModule`, or `undefined` when the model has no direct module mapping.
|
|
665
|
+
*/
|
|
666
|
+
static getClipperModuleFromModel(item: ClipperDocumentInfo): ClipperModule | undefined;
|
|
667
|
+
/**
|
|
668
|
+
* Returns the display name for the given `ClipperModuleGroup`.
|
|
669
|
+
* @param value - The module group enum value to look up.
|
|
670
|
+
* @returns The group display name, or an empty string when not found.
|
|
671
|
+
*/
|
|
672
|
+
static getClipperModuleGroupName(value: ClipperModuleGroup): string;
|
|
673
|
+
/**
|
|
674
|
+
* Returns the list of `ClipperModule` items belonging to the given module group.
|
|
675
|
+
* @param value - The module group to filter by.
|
|
676
|
+
* @returns Array of matching `NameValueItem` entries.
|
|
677
|
+
*/
|
|
678
|
+
static getClipperModuleGroupItems(value: ClipperModuleGroup): NameValueItem<ClipperModule>[];
|
|
679
|
+
/**
|
|
680
|
+
* Tests a set of modules against the currently selected modules in the search filter.
|
|
681
|
+
* @param modules - The modules to test.
|
|
682
|
+
* @param currentModules - The currently selected modules to check against.
|
|
683
|
+
* @param mode - Matching strategy:
|
|
684
|
+
* `1` = all and only the specified modules (exact set),
|
|
685
|
+
* `2` = all specified modules must be present,
|
|
686
|
+
* `3` = at least one specified module must be present.
|
|
687
|
+
* @returns `true` when the condition defined by `mode` is satisfied.
|
|
688
|
+
*/
|
|
689
|
+
private static checkModules;
|
|
690
|
+
/**
|
|
691
|
+
* Returns the sort options available for the given module selection.
|
|
692
|
+
* Includes the relevance option only when the query contains free text.
|
|
693
|
+
* @param modules - Currently selected modules (used to determine which date axes are available).
|
|
694
|
+
* @param params - Current search params (checked for free-text content).
|
|
695
|
+
* @returns Array of applicable `NameValueItem<ClipperSort>` sort options.
|
|
696
|
+
*/
|
|
697
|
+
static getClipperAvailableSortOptions(modules?: NameValueItem<ClipperModule>[], params?: ClipperSearchParams): NameValueItem<ClipperSort>[];
|
|
701
698
|
}
|
|
702
|
-
declare class ClipperSearchUtils {
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
699
|
+
export declare class ClipperSearchUtils {
|
|
700
|
+
/**
|
|
701
|
+
* Resets all filter fields of a `ClipperSearchParams` instance to their default (empty) values.
|
|
702
|
+
* @param params - The search-params object to clear.
|
|
703
|
+
*/
|
|
704
|
+
static clear(params: ClipperSearchParams): void;
|
|
705
|
+
/**
|
|
706
|
+
* Returns the list of `ClipperModel` values that correspond to the given modules.
|
|
707
|
+
* @param modules - The selected modules to map to their underlying data models.
|
|
708
|
+
* @returns Array of `ClipperModel` values matching the provided modules.
|
|
709
|
+
*/
|
|
710
|
+
static getModulesModels(modules?: NameValueItem<ClipperModule>[]): ClipperModel[];
|
|
711
|
+
/**
|
|
712
|
+
* Returns `true` when the search params contain a non-empty free-text query.
|
|
713
|
+
* @param params - The search params to inspect.
|
|
714
|
+
*/
|
|
715
|
+
static isTextQuery(params: ClipperSearchParams): boolean;
|
|
716
|
+
/**
|
|
717
|
+
* Wraps `q` in quotes (if not already quoted) and appends it to `queries`.
|
|
718
|
+
* @param q - A single search term to process.
|
|
719
|
+
* @param queries - The accumulated query string to append to.
|
|
720
|
+
* @returns The updated `queries` string.
|
|
721
|
+
*/
|
|
722
|
+
private static concatTextQuery;
|
|
723
|
+
/**
|
|
724
|
+
* Normalises a comma-separated search string by wrapping each term in quotes.
|
|
725
|
+
* @param text - The raw search input to normalise.
|
|
726
|
+
* @returns The normalised query string, or `undefined` when `text` is empty.
|
|
727
|
+
*/
|
|
728
|
+
static normalizeTextQuery(text: string): string | undefined;
|
|
729
|
+
/**
|
|
730
|
+
* Wraps the entire query in double quotes when it contains no boolean operators
|
|
731
|
+
* (`"`, `+`, or ` -`), making it an exact-phrase search.
|
|
732
|
+
* @param text - The query string to normalise.
|
|
733
|
+
* @returns The normalised query string.
|
|
734
|
+
*/
|
|
735
|
+
static normalizeTextQuery2(text: string): string;
|
|
736
|
+
/**
|
|
737
|
+
* Maps a letter rank (`A`, `B`, or any other) to a numeric relevance threshold.
|
|
738
|
+
* @param value - The single-character rank string.
|
|
739
|
+
* @returns `0.751` for `'A'`, `0.71` for `'B'`, `0.51` for anything else.
|
|
740
|
+
*/
|
|
741
|
+
static getRankFromChar(value: string): number;
|
|
745
742
|
}
|
|
746
|
-
|
|
747
743
|
/**
|
|
748
744
|
* Builds the Clipper auth HTTP interceptor.
|
|
749
745
|
*
|
|
@@ -788,8 +784,7 @@ declare class ClipperSearchUtils {
|
|
|
788
784
|
* @param flags - Service flags (e.g. NotifySystemErrors). Defaults to None.
|
|
789
785
|
* @returns An `HttpInterceptorFn` ready to register.
|
|
790
786
|
*/
|
|
791
|
-
declare function clipperAuthInterceptor(serviceUri: string, flags?: ClipperServiceFlags): HttpInterceptorFn;
|
|
792
|
-
|
|
787
|
+
export declare function clipperAuthInterceptor(serviceUri: string, flags?: ClipperServiceFlags): HttpInterceptorFn;
|
|
793
788
|
/**
|
|
794
789
|
* The two pieces of account state the document views actually move: which channels are
|
|
795
790
|
* active, and the unread counters on the dashboard.
|
|
@@ -803,200 +798,198 @@ declare function clipperAuthInterceptor(serviceUri: string, flags?: ClipperServi
|
|
|
803
798
|
* What is left touches no HTTP: both methods only mutate the shared state in
|
|
804
799
|
* `ClipperCoreService` and announce the change on the broadcast bus.
|
|
805
800
|
*/
|
|
806
|
-
declare class ClipperAccountService {
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
801
|
+
export declare class ClipperAccountService {
|
|
802
|
+
private readonly broadcastService;
|
|
803
|
+
private readonly core;
|
|
804
|
+
/**
|
|
805
|
+
* Toggles the active state of available channels based on the supplied selection list.
|
|
806
|
+
* @param values - The selected channel items; channels absent from this list are deactivated.
|
|
807
|
+
*/
|
|
808
|
+
updateChannels(values: NameValueItem<ClipperChannel>[]): void;
|
|
809
|
+
/**
|
|
810
|
+
* Adjusts the unread-item counter for the given module and broadcasts a dashboard update.
|
|
811
|
+
* @param module - The Clipper module whose counter should be adjusted.
|
|
812
|
+
* @param model - Optional document model to further scope the counter update.
|
|
813
|
+
* @param increment - The signed increment to apply (use negative values to decrement).
|
|
814
|
+
*/
|
|
815
|
+
updateUnreadItems(module: ClipperModule, model?: ClipperModel, increment?: number): void;
|
|
816
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClipperAccountService, never>;
|
|
817
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
823
818
|
}
|
|
824
|
-
|
|
825
819
|
/**
|
|
826
820
|
* Document search, references, export and metadata, plus the dashboard counters,
|
|
827
821
|
* taxonomy/topics/tags lookups, the working-documents "bag" and saved searches.
|
|
828
822
|
*/
|
|
829
|
-
declare class ClipperDocumentsService {
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
823
|
+
export declare class ClipperDocumentsService {
|
|
824
|
+
private readonly httpClient;
|
|
825
|
+
private readonly broadcastService;
|
|
826
|
+
private readonly core;
|
|
827
|
+
/**
|
|
828
|
+
* Queries documents matching the given search parameters.
|
|
829
|
+
* @param params - The document search parameters.
|
|
830
|
+
* @returns An observable emitting the API result wrapping the search result.
|
|
831
|
+
*/
|
|
832
|
+
query(params: ClipperSearchParams): import("rxjs").Observable<ApiResult<ClipperSearchResult>>;
|
|
833
|
+
/**
|
|
834
|
+
* Retrieves the facets for a document query.
|
|
835
|
+
* @param params - The document search parameters.
|
|
836
|
+
* @returns An observable emitting the API result wrapping the search facets.
|
|
837
|
+
*/
|
|
838
|
+
queryFacets(params: ClipperSearchParams): import("rxjs").Observable<ApiResult<ClipperSearchFacetsResult>>;
|
|
839
|
+
/**
|
|
840
|
+
* Updates the state of one or more documents.
|
|
841
|
+
* @param params - The document state update parameters.
|
|
842
|
+
* @returns An observable emitting the API result wrapping the number of updated documents.
|
|
843
|
+
*/
|
|
844
|
+
updateState(params: ClipperDocumentUpdateStateParams): import("rxjs").Observable<ApiResult<number>>;
|
|
845
|
+
/**
|
|
846
|
+
* Exports a single document in PDF format.
|
|
847
|
+
* @param id - The ID of the document to export.
|
|
848
|
+
* @returns An observable emitting the PDF binary content as a blob.
|
|
849
|
+
*/
|
|
850
|
+
exportPdf(id: string): import("rxjs").Observable<Blob>;
|
|
851
|
+
/**
|
|
852
|
+
* Exports a document list (query or selected items), or exports deadlines as ICS.
|
|
853
|
+
* @param params - The export parameters.
|
|
854
|
+
* @returns An observable emitting the exported content as a blob.
|
|
855
|
+
*/
|
|
856
|
+
export(params: ClipperExportDocumentsParams): import("rxjs").Observable<Blob>;
|
|
857
|
+
/**
|
|
858
|
+
* Sends document links by email.
|
|
859
|
+
* @param params - The send-by-email parameters including recipients and documents.
|
|
860
|
+
* @returns An observable emitting the API result wrapping the number of sent items.
|
|
861
|
+
*/
|
|
862
|
+
sendTo(params: ClipperSendDocumentsByEmailParams): import("rxjs").Observable<ApiResult<number>>;
|
|
863
|
+
/**
|
|
864
|
+
* Retrieves the full document report page.
|
|
865
|
+
* @param id - The ID of the document.
|
|
866
|
+
* @returns An observable emitting the report content as a blob.
|
|
867
|
+
*/
|
|
868
|
+
report(id: string): import("rxjs").Observable<Blob>;
|
|
869
|
+
/**
|
|
870
|
+
* Gets the comment associated with a document.
|
|
871
|
+
* @param id - The ID of the document.
|
|
872
|
+
* @returns An observable emitting the API result wrapping the comment text.
|
|
873
|
+
*/
|
|
874
|
+
comment(id: string): import("rxjs").Observable<ApiResult<string>>;
|
|
875
|
+
/**
|
|
876
|
+
* Gets the info for a document.
|
|
877
|
+
* @param id - The ID of the document.
|
|
878
|
+
* @returns An observable emitting the API result wrapping the document info.
|
|
879
|
+
*/
|
|
880
|
+
info(id: string): import("rxjs").Observable<ApiResult<ClipperDocumentInfo>>;
|
|
881
|
+
/**
|
|
882
|
+
* Gets the structure (index) of a document.
|
|
883
|
+
* @param id - The ID of the document.
|
|
884
|
+
* @returns An observable emitting the API result wrapping the document structure.
|
|
885
|
+
*/
|
|
886
|
+
index(id: string): import("rxjs").Observable<ApiResult<ClipperDocumentStructure>>;
|
|
887
|
+
/**
|
|
888
|
+
* Gets the last-update metadata for a document.
|
|
889
|
+
*
|
|
890
|
+
* The response carries two things, not one: the last-update string and the shared notes attached
|
|
891
|
+
* to the document. The second was long left undeclared here, so a consumer of this library could
|
|
892
|
+
* not see data the API had already sent it.
|
|
893
|
+
* @param id - The ID of the document.
|
|
894
|
+
* @returns An observable emitting the API result wrapping the last update string and its notes.
|
|
895
|
+
*/
|
|
896
|
+
metadata(id: string): import("rxjs").Observable<ApiResult<{
|
|
897
|
+
item1?: string;
|
|
898
|
+
item2?: ClipperDocumentNote[];
|
|
899
|
+
}>>;
|
|
900
|
+
/**
|
|
901
|
+
* Queries document references, changes or jurisprudence depending on the requested mode.
|
|
902
|
+
* @param params - The references search parameters; `mode` defaults to `ReferencesIn`.
|
|
903
|
+
* @returns An observable emitting the API result wrapping the search result, or `null` for an unsupported mode.
|
|
904
|
+
*/
|
|
905
|
+
references(params: ClipperReferencesSearchParams): import("rxjs").Observable<ApiResult<ClipperSearchResult>>;
|
|
906
|
+
/**
|
|
907
|
+
* Retrieves the facets for a document references query.
|
|
908
|
+
* @param params - The references search parameters; `mode` defaults to `ReferencesIn`.
|
|
909
|
+
* @returns An observable emitting the API result wrapping the search facets, or `null` for an unsupported mode.
|
|
910
|
+
*/
|
|
911
|
+
referencesFacets(params: ClipperReferencesSearchParams): import("rxjs").Observable<ApiResult<ClipperSearchFacetsResult>>;
|
|
912
|
+
/**
|
|
913
|
+
* Wraps document rendering to allow token refresh.
|
|
914
|
+
* @returns An observable emitting the API result wrapping a boolean readiness flag.
|
|
915
|
+
*/
|
|
916
|
+
preRender(): import("rxjs").Observable<ApiResult<boolean>>;
|
|
917
|
+
/**
|
|
918
|
+
* Gets the jurisprudence articles for a document query.
|
|
919
|
+
* @param params - The document search parameters.
|
|
920
|
+
* @returns An observable emitting the API result wrapping the search result.
|
|
921
|
+
*/
|
|
922
|
+
jurisArticles(params: ClipperSearchParams): import("rxjs").Observable<ApiResult<ClipperSearchResult>>;
|
|
923
|
+
/**
|
|
924
|
+
* Gets a deadlines snapshot based on the supplied deadlines.
|
|
925
|
+
* @param params - The calendar search parameters.
|
|
926
|
+
* @returns An observable emitting the API result wrapping the calendar snapshot result.
|
|
927
|
+
*/
|
|
928
|
+
deadlinesSnapshot(params: ClipperCalendarSearchParams): import("rxjs").Observable<ApiResult<ClipperSearchCalendarSnapshotResult>>;
|
|
929
|
+
/**
|
|
930
|
+
* Retrieves the taxonomy.
|
|
931
|
+
* @param params - Optional taxonomy parameters. Defaults to `{ model: 0, countItems: false }`.
|
|
932
|
+
* @returns An observable emitting the API result wrapping the taxonomy folder tree.
|
|
933
|
+
*/
|
|
934
|
+
getTaxonomy(params?: ClipperTaxonomyParams): import("rxjs").Observable<ApiResult<FolderTree>>;
|
|
935
|
+
/**
|
|
936
|
+
* Retrieves the topics as a flat list.
|
|
937
|
+
* @returns An observable emitting the API result wrapping the list of topics.
|
|
938
|
+
*/
|
|
939
|
+
getTopics(): import("rxjs").Observable<ApiResult<NameValueItem<string>[]>>;
|
|
940
|
+
/**
|
|
941
|
+
* Retrieves the topics as a tree.
|
|
942
|
+
* @returns An observable emitting the API result wrapping the topics folder tree.
|
|
943
|
+
*/
|
|
944
|
+
getTopicsAsTree(): import("rxjs").Observable<ApiResult<FolderTree>>;
|
|
945
|
+
/**
|
|
946
|
+
* Retrieves the tags.
|
|
947
|
+
* @returns An observable emitting the API result wrapping the list of tags.
|
|
948
|
+
*/
|
|
949
|
+
getTags(): import("rxjs").Observable<ApiResult<NameValueItem<string>[]>>;
|
|
950
|
+
/**
|
|
951
|
+
* Loads the working documents and populates the shared bag.
|
|
952
|
+
* @returns The subscription to the working-documents request.
|
|
953
|
+
*/
|
|
954
|
+
loadBag(): import("rxjs").Subscription;
|
|
955
|
+
/**
|
|
956
|
+
* Adds one or more documents to the working documents bag.
|
|
957
|
+
* @param documentIds - The IDs of the documents to add.
|
|
958
|
+
* @returns The subscription to the add-to-bag request.
|
|
959
|
+
*/
|
|
960
|
+
addToBag(documentIds: string[]): import("rxjs").Subscription;
|
|
961
|
+
/**
|
|
962
|
+
* Removes a document from the working documents bag.
|
|
963
|
+
* @param documentId - The ID of the document to remove.
|
|
964
|
+
* @returns The subscription to the remove-from-bag request.
|
|
965
|
+
*/
|
|
966
|
+
removeFromBag(documentId: string): import("rxjs").Subscription;
|
|
967
|
+
/**
|
|
968
|
+
* Clears all working documents from the bag.
|
|
969
|
+
* @returns The subscription to the clear-bag request.
|
|
970
|
+
*/
|
|
971
|
+
clearBag(): import("rxjs").Subscription;
|
|
972
|
+
/**
|
|
973
|
+
* Retrieves the saved searches for the given module.
|
|
974
|
+
* @param module - The Clipper module whose saved searches to load.
|
|
975
|
+
* @returns An observable emitting the API result wrapping the list of saved searches.
|
|
976
|
+
*/
|
|
977
|
+
loadSearches(module: ClipperModule): import("rxjs").Observable<ApiResult<ClipperUserSearch[]>>;
|
|
978
|
+
/**
|
|
979
|
+
* Persists a user search configuration on the server.
|
|
980
|
+
* @param params - The search configuration to save.
|
|
981
|
+
* @returns An observable emitting the API result wrapping the saved search.
|
|
982
|
+
*/
|
|
983
|
+
saveSearch(params: ClipperUserSearch): import("rxjs").Observable<ApiResult<ClipperUserSearch>>;
|
|
984
|
+
/**
|
|
985
|
+
* Deletes a saved search by its ID.
|
|
986
|
+
* @param id - The ID of the saved search to remove.
|
|
987
|
+
* @returns An observable emitting the API result wrapping the number of deleted searches.
|
|
988
|
+
*/
|
|
989
|
+
deleteSearch(id: number): import("rxjs").Observable<ApiResult<number>>;
|
|
990
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClipperDocumentsService, never>;
|
|
991
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
998
992
|
}
|
|
999
|
-
|
|
1000
993
|
/**
|
|
1001
994
|
* Authentication: password login, e-mailed code confirmation, logout and session restore.
|
|
1002
995
|
* The login context, the channels and the logged-in flag live in `ClipperCoreService`.
|
|
@@ -1010,134 +1003,133 @@ declare class ClipperDocumentsService {
|
|
|
1010
1003
|
* the passwordless recovery code (`/session/otp`) are not here: a library whose job is showing
|
|
1011
1004
|
* documents signs in with a password, and an application that offers the other ways in owns them.
|
|
1012
1005
|
*/
|
|
1013
|
-
declare class ClipperLoginService {
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1006
|
+
export declare class ClipperLoginService {
|
|
1007
|
+
private readonly httpClient;
|
|
1008
|
+
private readonly broadcastService;
|
|
1009
|
+
private readonly splashService;
|
|
1010
|
+
private readonly core;
|
|
1011
|
+
/** Whether {@link initialize} has already run. */
|
|
1012
|
+
private initialized;
|
|
1013
|
+
/**
|
|
1014
|
+
* Gets the signed-in account.
|
|
1015
|
+
* @returns The current {@link ClipperUserInfo}, or `undefined` when there is no session.
|
|
1016
|
+
*/
|
|
1017
|
+
get user(): ClipperUserInfo | undefined;
|
|
1018
|
+
/**
|
|
1019
|
+
* Establishes the session state at bootstrap by asking the API — the only party that can read the
|
|
1020
|
+
* HttpOnly cookie — whether this browser still holds one.
|
|
1021
|
+
*
|
|
1022
|
+
* Called by `ClipperService.initialize`, right after `ClipperCoreService.initialize`, so a
|
|
1023
|
+
* consumer gets the restore for free and never has to know this method exists.
|
|
1024
|
+
*
|
|
1025
|
+
* The probe now runs UNCONDITIONALLY, where it used to run only when a stored context existed.
|
|
1026
|
+
* The stored context is just a hint — "this browser signed in at some point" — and the cookie can
|
|
1027
|
+
* outlive it: local storage cleared while the month-long cookie stayed put made this library
|
|
1028
|
+
* declare "no link" with a perfectly valid session in the browser. The API is the only source of
|
|
1029
|
+
* truth on the matter, so it is asked every time.
|
|
1030
|
+
*
|
|
1031
|
+
* A host application that drives its own return from an external provider, or that starts on its
|
|
1032
|
+
* own sign-in page, should call `core.setLoggedIn(false)` before bootstrapping rather than let
|
|
1033
|
+
* this race its own restore.
|
|
1034
|
+
* @returns void
|
|
1035
|
+
*/
|
|
1036
|
+
initialize(): void;
|
|
1037
|
+
/**
|
|
1038
|
+
* Asks `/session/status` whether this browser holds a live session, and hydrates the context
|
|
1039
|
+
* through {@link me} when it does.
|
|
1040
|
+
*
|
|
1041
|
+
* The probe is silent by construction: `/session/status` never answers 401, so a visitor who
|
|
1042
|
+
* never signed in — or a cookie whose session has died — comes back as `connected: false` with no
|
|
1043
|
+
* error broadcast and no dialog. Only then is the stale stored context cleared, so the `loggedIn`
|
|
1044
|
+
* signal tells the truth at every bootstrap.
|
|
1045
|
+
*
|
|
1046
|
+
* Nothing is cleared on a transport failure, and that is deliberate: an unreachable API is not
|
|
1047
|
+
* proof of a dead session — the proxy may have answered 502, the device may be offline — and
|
|
1048
|
+
* clearing on any of those would sign the user out with a perfectly valid cookie.
|
|
1049
|
+
* @returns void
|
|
1050
|
+
*/
|
|
1051
|
+
private restoreSession;
|
|
1052
|
+
/**
|
|
1053
|
+
* Authenticates the user with email and password.
|
|
1054
|
+
*
|
|
1055
|
+
* Nothing is replayed from a stored credential any more: the former "remember me" token, which
|
|
1056
|
+
* let the API sign a caller in from something kept for sixty days, is gone. A login always starts
|
|
1057
|
+
* from what the user just typed.
|
|
1058
|
+
* @param email - The user's email address.
|
|
1059
|
+
* @param password - The user's password.
|
|
1060
|
+
* @returns An observable emitting the API result wrapping the login result.
|
|
1061
|
+
*/
|
|
1062
|
+
login(email?: string, password?: string): Observable<ApiResult<ClipperLoginResult>>;
|
|
1063
|
+
/**
|
|
1064
|
+
* Confirms a pending e-mailed code challenge, which establishes the session.
|
|
1065
|
+
*
|
|
1066
|
+
* The address travels with the code because the API stores each code under the account it was
|
|
1067
|
+
* issued to: a code alone is not redeemable, which is what stops a guessed code from opening
|
|
1068
|
+
* whatever session happens to be pending. It also keeps the code out of the URL, where it used to
|
|
1069
|
+
* sit — `/login/confirm/{code}` put it in the path, and therefore in the server logs and in the
|
|
1070
|
+
* browser history.
|
|
1071
|
+
* @param code - The one-time confirmation code provided to the user.
|
|
1072
|
+
* @param email - The address the code was sent to.
|
|
1073
|
+
* @returns An observable emitting the API result wrapping the login result.
|
|
1074
|
+
*/
|
|
1075
|
+
confirm(code: string, email?: string): Observable<ApiResult<ClipperLoginResult>>;
|
|
1076
|
+
/**
|
|
1077
|
+
* Logs the user out on the server and clears the local state.
|
|
1078
|
+
* @returns An observable that emits once the logout has been processed.
|
|
1079
|
+
*/
|
|
1080
|
+
logout(): Observable<ApiResult<unknown>>;
|
|
1081
|
+
/**
|
|
1082
|
+
* Asks the API whether this browser holds a live session, without ever failing with a 401: the
|
|
1083
|
+
* route is anonymous and answers `connected: false` to a caller with no session. This is the one
|
|
1084
|
+
* honest way to know the link state — the auth cookie is HttpOnly and belongs to the API's host,
|
|
1085
|
+
* so it cannot be read from here, and its presence would prove nothing anyway, since the session
|
|
1086
|
+
* also lives server-side and may have been revoked or evicted.
|
|
1087
|
+
* @returns An observable emitting the API result wrapping the session status.
|
|
1088
|
+
*/
|
|
1089
|
+
status(): Observable<ApiResult<ClipperSessionStatus>>;
|
|
1090
|
+
/**
|
|
1091
|
+
* Reads the current session from the server, which resolves it from the auth cookie claims
|
|
1092
|
+
* without touching the database. Used to restore the state after a page refresh instead of
|
|
1093
|
+
* trusting what local storage holds, and to close an external-provider round-trip.
|
|
1094
|
+
* @returns An observable emitting the current session.
|
|
1095
|
+
*/
|
|
1096
|
+
me(): Observable<ApiResult<ClipperLoginResult>>;
|
|
1097
|
+
/**
|
|
1098
|
+
* Finalises the login flow after an authentication, a code confirmation or a session restore:
|
|
1099
|
+
* writes the context into the shared state, raises the logged-in signal, rebuilds the channel
|
|
1100
|
+
* list and announces `LOGIN_COMPLETED`.
|
|
1101
|
+
*
|
|
1102
|
+
* `loggingIn` is deliberately left alone. Whoever raised it lowers it — {@link restoreSession}
|
|
1103
|
+
* for a refresh, the host application for an external-login round-trip — because lowering it
|
|
1104
|
+
* here would drop the splash the instant the response arrived, before anything was on screen.
|
|
1105
|
+
* @param result - The login result returned by the API.
|
|
1106
|
+
* @param notify - Whether to broadcast `LOGIN_COMPLETED`. Defaults to `true`.
|
|
1107
|
+
* @returns void
|
|
1108
|
+
*/
|
|
1109
|
+
private completeLogin;
|
|
1110
|
+
/**
|
|
1111
|
+
* Requests a new one-time password used to authorise a binary download.
|
|
1112
|
+
* @param id - The repository ID of the binary the OTP is generated for.
|
|
1113
|
+
* @returns An observable emitting the API result wrapping the generated OTP info.
|
|
1114
|
+
*/
|
|
1115
|
+
newOTP(id: string): Observable<ApiResult<ClipperOTPInfo>>;
|
|
1116
|
+
/**
|
|
1117
|
+
* Persists the current login context to `localStorage`.
|
|
1118
|
+
* Delegates to `ClipperCoreService.storeContext()`.
|
|
1119
|
+
* @returns void
|
|
1120
|
+
*/
|
|
1121
|
+
storeContext(): void;
|
|
1122
|
+
/**
|
|
1123
|
+
* Clears every trace of the current session on this device: the stored context, the logged-in
|
|
1124
|
+
* signal and the session-storage keys. Does NOT call the server — use {@link logout} for that.
|
|
1125
|
+
* Delegates to `ClipperCoreService.clear()`.
|
|
1126
|
+
* @param clearOAuthToken - Whether to drop the legacy OAuth token too. Defaults to `true`.
|
|
1127
|
+
* @returns void
|
|
1128
|
+
*/
|
|
1129
|
+
clear(clearOAuthToken?: boolean): void;
|
|
1130
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClipperLoginService, never>;
|
|
1131
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
1139
1132
|
}
|
|
1140
|
-
|
|
1141
1133
|
/**
|
|
1142
1134
|
* Barrel / facade for the Clipper application.
|
|
1143
1135
|
*
|
|
@@ -1146,65 +1138,64 @@ declare class ClipperLoginService {
|
|
|
1146
1138
|
* its property, e.g. `clipper.session.login(...)`, `clipper.documents.query(...)`,
|
|
1147
1139
|
* `clipper.account.updateUnreadItems(...)`.
|
|
1148
1140
|
*/
|
|
1149
|
-
declare class ClipperService {
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1141
|
+
export declare class ClipperService {
|
|
1142
|
+
private readonly core;
|
|
1143
|
+
/** Authentication: login/logout, e-mailed code confirmation, session restore, OTP. */
|
|
1144
|
+
readonly session: ClipperLoginService;
|
|
1145
|
+
/** Document search, references, export, working-documents bag and saved searches. */
|
|
1146
|
+
readonly documents: ClipperDocumentsService;
|
|
1147
|
+
/** The account state the document views move: active channels and unread counters. */
|
|
1148
|
+
readonly account: ClipperAccountService;
|
|
1149
|
+
/** @returns The URI of the Clipper web application, or `undefined` if not set. */
|
|
1150
|
+
get appUri(): string | undefined;
|
|
1151
|
+
/** @returns The base URI of the Clipper REST API. */
|
|
1152
|
+
get serviceUri(): string;
|
|
1153
|
+
/** @returns The active feature flags. */
|
|
1154
|
+
get flags(): ClipperServiceFlags;
|
|
1155
|
+
/** @returns The current login context, or `undefined` if not authenticated. */
|
|
1156
|
+
get loginInfo(): ClipperLoginInfo | undefined;
|
|
1157
|
+
/** @returns The signed-in account, or `undefined` when there is no session. */
|
|
1158
|
+
get user(): ClipperUserInfo | undefined;
|
|
1159
|
+
/** @returns A read-only signal indicating whether the user is logged in. */
|
|
1160
|
+
get loggedIn(): Signal<boolean>;
|
|
1161
|
+
/** @returns A signal indicating whether a login is in progress. */
|
|
1162
|
+
get loggingIn(): WritableSignal<boolean>;
|
|
1163
|
+
/** @returns A signal holding the current documents search snapshot. */
|
|
1164
|
+
get snapshot(): WritableSignal<ClipperSearchResult | undefined>;
|
|
1165
|
+
/** @returns A signal indicating whether reference search is supported. */
|
|
1166
|
+
get supportsRS(): WritableSignal<boolean>;
|
|
1167
|
+
/** @returns A signal holding the current references search snapshot. */
|
|
1168
|
+
get referencesSnapshot(): WritableSignal<ClipperSearchResult | undefined>;
|
|
1169
|
+
/** @returns The shared dashboard state object. */
|
|
1170
|
+
get dashboard(): ClipperDashboard;
|
|
1171
|
+
/** @returns A signal holding the working-documents bag. */
|
|
1172
|
+
get bag(): WritableSignal<ClipperDocumentInfo[]>;
|
|
1173
|
+
/** @returns A computed signal with the number of items in the bag. */
|
|
1174
|
+
get bagTotal(): Signal<number>;
|
|
1175
|
+
/** @returns A signal controlling the Clipper UI visibility. */
|
|
1176
|
+
get visible(): WritableSignal<boolean>;
|
|
1177
|
+
/** @returns A signal holding the available channels. */
|
|
1178
|
+
get availableChannels(): WritableSignal<ClipperAvailableChannel[]>;
|
|
1179
|
+
/** @returns A computed signal with the currently active channels. */
|
|
1180
|
+
get activeChannels(): Signal<ClipperAvailableChannel[]>;
|
|
1181
|
+
/** @returns A signal indicating whether tagging is allowed. */
|
|
1182
|
+
get allowTags(): WritableSignal<boolean>;
|
|
1183
|
+
/**
|
|
1184
|
+
* Initialises the application with the API base URI, optional app URI, and feature flags, then
|
|
1185
|
+
* validates any session that survived a page refresh.
|
|
1186
|
+
* @param serviceUri - The base URI of the Clipper REST API.
|
|
1187
|
+
* @param appUri - Optional URI of the Clipper web application (used to build document links).
|
|
1188
|
+
* @param flags - Feature flags that control service behaviour. Defaults to `ClipperServiceFlags.None`.
|
|
1189
|
+
* @returns void
|
|
1190
|
+
*/
|
|
1191
|
+
initialize(serviceUri: string, appUri?: string, flags?: ClipperServiceFlags): void;
|
|
1192
|
+
/**
|
|
1193
|
+
* Pings the Clipper REST API to keep the session/token alive.
|
|
1194
|
+
*/
|
|
1195
|
+
ping(): void;
|
|
1196
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClipperService, never>;
|
|
1197
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
1206
1198
|
}
|
|
1207
|
-
|
|
1208
1199
|
/**
|
|
1209
1200
|
* Shared state and bootstrap for the Clipper application.
|
|
1210
1201
|
*
|
|
@@ -1216,119 +1207,116 @@ declare class ClipperService {
|
|
|
1216
1207
|
* this service to read shared state and call shared helpers. `ClipperService` (the
|
|
1217
1208
|
* barrel/facade) re-exports the state declared here.
|
|
1218
1209
|
*/
|
|
1219
|
-
declare class ClipperCoreService {
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
}
|
|
1332
|
-
|
|
1333
|
-
export { ClipperAccountService, ClipperAuthors, ClipperCalendarSearchParams, ClipperCalendarState, ClipperCalendarStates, ClipperChannel, ClipperChannelSettings, ClipperChannels, ClipperCoreService, ClipperDashboard, ClipperDocumentChangeReasons, ClipperDocumentContainer, ClipperDocumentsService, ClipperExportDocumentsFormat, ClipperFacet, ClipperLoginService, ClipperMessages, ClipperModel, ClipperModels, ClipperModule, ClipperModuleGroup, ClipperModuleGroups, ClipperModules, ClipperQueryDocumentFlags, ClipperQueryReferencesMode, ClipperRegions, ClipperSearchCalendarSnapshotResult, ClipperSearchFacetsSnapshot, ClipperSearchParams, ClipperSearchResult, ClipperSearchUtils, ClipperSectorTypes, ClipperSectors, ClipperSelectionMode, ClipperService, ClipperServiceFlags, ClipperSort, ClipperSources, ClipperUtils, clipperAuthInterceptor };
|
|
1334
|
-
export type { ClipperAvailableChannel, ClipperChannelSettingsItem, ClipperDashboardItem, ClipperDashboardModelItem, ClipperDeleteWorkingDocumentsParams, ClipperDocumentAnchorInfo, ClipperDocumentInfo, ClipperDocumentNote, ClipperDocumentNoteTracking, ClipperDocumentRelevantChunkHit, ClipperDocumentRelevants, ClipperDocumentStructure, ClipperDocumentUpdateStateParams, ClipperExportDocumentsParams, ClipperLoginInfo, ClipperLoginResult, ClipperOTPInfo, ClipperReferencesSearchParams, ClipperSearchCalendarSnapshotMonth, ClipperSearchFacet, ClipperSearchFacetGroup, ClipperSearchFacetsResult, ClipperSearchFilter, ClipperSendDocumentsByEmailParams, ClipperSessionStatus, ClipperTaxonomyParams, ClipperTopicInfo, ClipperUserChannelInfo, ClipperUserInfo, ClipperUserSearch, ClipperUserTrialInfo, ClipperUserWorkingDocument, EditedEventArgs, SectorInfo };
|
|
1210
|
+
export declare class ClipperCoreService {
|
|
1211
|
+
private readonly httpClient;
|
|
1212
|
+
private readonly destroyRef;
|
|
1213
|
+
private readonly broadcastService;
|
|
1214
|
+
/** Used to lazily resolve feature services inside `initialize`, avoiding circular DI. */
|
|
1215
|
+
private readonly injector;
|
|
1216
|
+
private broadcastInitialized;
|
|
1217
|
+
private _appUri?;
|
|
1218
|
+
/** @returns The URI of the Clipper web application, or `undefined` if not set. */
|
|
1219
|
+
get appUri(): string | undefined;
|
|
1220
|
+
private _serviceUri;
|
|
1221
|
+
/** @returns The base URI of the Clipper REST API. */
|
|
1222
|
+
get serviceUri(): string;
|
|
1223
|
+
private _flags;
|
|
1224
|
+
/** @returns The active feature flags. */
|
|
1225
|
+
get flags(): ClipperServiceFlags;
|
|
1226
|
+
private _loginInfo?;
|
|
1227
|
+
/**
|
|
1228
|
+
* Lazily loads the login context from `localStorage` on first access.
|
|
1229
|
+
* @returns The current login context, or `undefined` if not authenticated.
|
|
1230
|
+
*/
|
|
1231
|
+
get loginInfo(): ClipperLoginInfo | undefined;
|
|
1232
|
+
/**
|
|
1233
|
+
* Gets the signed-in account.
|
|
1234
|
+
* @returns The current {@link ClipperUserInfo}, or `undefined` when there is no session.
|
|
1235
|
+
*/
|
|
1236
|
+
get user(): ClipperUserInfo | undefined;
|
|
1237
|
+
/**
|
|
1238
|
+
* Seeded from the stored context, which is the only trace a session leaves on this device: the
|
|
1239
|
+
* auth cookie is HttpOnly and unreadable from here. It means "there WAS a session", never "there
|
|
1240
|
+
* is one" -- `ClipperLoginService.initialize` validates it against `/session/me` before it is
|
|
1241
|
+
* trusted, and a failure there ends as a 401 that clears the session.
|
|
1242
|
+
*
|
|
1243
|
+
* It used to be seeded from a `clipper_oauth_token` session-storage key, which nothing has
|
|
1244
|
+
* written since the provider flow moved server-side: the flag was therefore false at every
|
|
1245
|
+
* bootstrap and the whole restore path could never run.
|
|
1246
|
+
*/
|
|
1247
|
+
private readonly _loggedIn;
|
|
1248
|
+
readonly loggedIn: Signal<boolean>;
|
|
1249
|
+
readonly loggingIn: import("@angular/core").WritableSignal<boolean>;
|
|
1250
|
+
readonly snapshot: import("@angular/core").WritableSignal<ClipperSearchResult>;
|
|
1251
|
+
readonly supportsRS: import("@angular/core").WritableSignal<boolean>;
|
|
1252
|
+
readonly referencesSnapshot: import("@angular/core").WritableSignal<ClipperSearchResult>;
|
|
1253
|
+
readonly dashboard: ClipperDashboard;
|
|
1254
|
+
readonly bag: import("@angular/core").WritableSignal<ClipperDocumentInfo[]>;
|
|
1255
|
+
readonly bagTotal: Signal<number>;
|
|
1256
|
+
readonly visible: import("@angular/core").WritableSignal<boolean>;
|
|
1257
|
+
readonly availableChannels: import("@angular/core").WritableSignal<ClipperAvailableChannel[]>;
|
|
1258
|
+
readonly activeChannels: Signal<ClipperAvailableChannel[]>;
|
|
1259
|
+
readonly allowTags: import("@angular/core").WritableSignal<boolean>;
|
|
1260
|
+
/**
|
|
1261
|
+
* Ensures a login-info object exists and returns it for further mutation.
|
|
1262
|
+
* Replaces the inline `if (!this._loginInfo) { ... }` guards now that the field
|
|
1263
|
+
* is private to this service.
|
|
1264
|
+
*
|
|
1265
|
+
* Reads through the getter, never the field: the context is loaded from storage lazily, so a
|
|
1266
|
+
* caller that mutates before anyone has read would find the field empty and start from a blank
|
|
1267
|
+
* object, silently dropping a perfectly good stored context.
|
|
1268
|
+
* @returns The existing login-info object, or a freshly created empty one.
|
|
1269
|
+
*/
|
|
1270
|
+
ensureLoginInfo(): ClipperLoginInfo;
|
|
1271
|
+
/**
|
|
1272
|
+
* Sets the logged-in state. The backing signal is read-only to consumers, so the
|
|
1273
|
+
* feature services use this method instead.
|
|
1274
|
+
* @param value - The new logged-in state.
|
|
1275
|
+
*/
|
|
1276
|
+
setLoggedIn(value: boolean): void;
|
|
1277
|
+
/**
|
|
1278
|
+
* Persists the current login context to `localStorage`, but only when there is a context to
|
|
1279
|
+
* persist. A login-info object with no `context` is not a session: it is the empty shell
|
|
1280
|
+
* `ensureLoginInfo` hands out before anything has been written into it, and storing it would leave
|
|
1281
|
+
* behind a key whose mere presence makes the next bootstrap declare the user logged in.
|
|
1282
|
+
*/
|
|
1283
|
+
storeContext(): void;
|
|
1284
|
+
/**
|
|
1285
|
+
* Updates the stored login context with the values from a fresh login result.
|
|
1286
|
+
*
|
|
1287
|
+
* Each half is written only when the server actually sent it. An absent `context` or `settings`
|
|
1288
|
+
* means "not carried by this response", never "the user has none": overwriting on absence is what
|
|
1289
|
+
* made a page refresh empty the channel list, because `/session/me` answers without the settings
|
|
1290
|
+
* and this method wrote that emptiness -- through `storeContext`, onto the disk, where it survived
|
|
1291
|
+
* the reload it was born in. An EMPTY array is a different matter and is stored as it comes: that
|
|
1292
|
+
* is the server saying the subscription really is gone.
|
|
1293
|
+
* @param result - The login result containing the new user context and channel settings.
|
|
1294
|
+
*/
|
|
1295
|
+
updateContext(result: ClipperLoginResult): void;
|
|
1296
|
+
/**
|
|
1297
|
+
* Rebuilds the `availableChannels` signal from the current login context.
|
|
1298
|
+
*/
|
|
1299
|
+
initializeChannels(): void;
|
|
1300
|
+
/**
|
|
1301
|
+
* Resets the login state, clears the stored login info, and broadcasts `LOGOUT_COMPLETED`.
|
|
1302
|
+
*/
|
|
1303
|
+
reset(): void;
|
|
1304
|
+
/**
|
|
1305
|
+
* Clears all session-storage authentication keys and resets the login state.
|
|
1306
|
+
* @param clearOAuthToken - When `true`, the OAuth bearer token is also removed.
|
|
1307
|
+
*/
|
|
1308
|
+
clear(clearOAuthToken?: boolean): void;
|
|
1309
|
+
/**
|
|
1310
|
+
* Initialises the service with the API base URI, optional app URI, and feature flags.
|
|
1311
|
+
* @param serviceUri - The base URI of the Clipper REST API.
|
|
1312
|
+
* @param appUri - Optional URI of the Clipper web application (used to build document links).
|
|
1313
|
+
* @param flags - Feature flags that control service behaviour. Defaults to `ClipperServiceFlags.None`.
|
|
1314
|
+
*/
|
|
1315
|
+
initialize(serviceUri: string, appUri?: string, flags?: ClipperServiceFlags): void;
|
|
1316
|
+
/**
|
|
1317
|
+
* Ping
|
|
1318
|
+
*/
|
|
1319
|
+
ping(): void;
|
|
1320
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClipperCoreService, never>;
|
|
1321
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<any>;
|
|
1322
|
+
}
|