@pacem/pacem-cms 1.0.0-abel

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.
@@ -0,0 +1,511 @@
1
+ import { Components as Components_2 } from '@pacem/pacem-scaffolding';
2
+ import { Components as Components_3 } from '@pacem/pacem-core';
3
+ import { Components as Components_4 } from '@pacem/pacem-ui';
4
+ import { ItemsContainer } from '@pacem/pacem-core';
5
+ import { Net } from '@pacem/pacem-core';
6
+ import { PacemEventTarget } from '@pacem/pacem-core';
7
+ import { PropertyConverter } from '@pacem/pacem-core';
8
+ import { Scaffolding } from '@pacem/pacem-scaffolding';
9
+ import { Storage as Storage_2 } from '@pacem/pacem-core';
10
+
11
+ declare const ACCESS_TOKEN_METADATA: Scaffolding.PropertyMetadata;
12
+
13
+ declare function buildWidgetMetadata(metadata?: Scaffolding.TypeMetadata): Scaffolding.TypeMetadata;
14
+
15
+ declare type Claims = {
16
+ [name: string]: string[];
17
+ };
18
+
19
+ export declare namespace Cms {
20
+ export {
21
+ OpenApi,
22
+ Permission,
23
+ PermissionEditEventName,
24
+ PermissionEditEvent,
25
+ Permissible,
26
+ Claims,
27
+ DataColumn,
28
+ DATACOLUMNS_METADATA_TYPE,
29
+ PacemDataColumnElement,
30
+ PacemDataColumnsElement
31
+ }
32
+ }
33
+
34
+ export declare namespace Components {
35
+ export {
36
+ Functions,
37
+ EXPRESSION_METADATA_TYPE,
38
+ PacemElementPickerElementBase,
39
+ PacemElementPickerElement,
40
+ ExpressionSource,
41
+ PacemExpressionElement,
42
+ gridifyMetadata,
43
+ buildWidgetMetadata,
44
+ DEFAULT_METADATA,
45
+ EXPRESSION_WIDGET_METADATA_EXTRA,
46
+ Widget,
47
+ PacemWidgetToolbarElement,
48
+ PacemWidgetElement,
49
+ FETCH_CREDENTIALS_METADATA,
50
+ ACCESS_TOKEN_METADATA,
51
+ PacemBearerWidgetElement,
52
+ PacemWidgetTranslatorElement,
53
+ PacemWidgetDataElement,
54
+ PacemWidgetClockElement,
55
+ PacemWidgetApiManifestElement,
56
+ PacemWidgetFetchParameterElement,
57
+ PacemWidgetFetchElement,
58
+ PacemUiWidgetElement,
59
+ CompositeWidget,
60
+ WidgetRegisterEventName,
61
+ WidgetUnregisterEventName,
62
+ LayoutChangeEventName,
63
+ WidgetRegisterEvent,
64
+ WidgetUnregisterEvent,
65
+ PacemCompositeWidgetElement,
66
+ PacemWidgetTextElement,
67
+ PacemWidgetPickerElement,
68
+ GRID_COLUMNS,
69
+ PacemGridWidgetElement,
70
+ PacemWidgetDataGridElement,
71
+ DataColumn,
72
+ DATACOLUMNS_METADATA_TYPE,
73
+ PacemDataColumnElement,
74
+ PacemDataColumnsElement
75
+ }
76
+ }
77
+
78
+ declare interface CompositeWidget extends ItemsContainer<PacemUiWidgetElement> {
79
+ readonly itemsElement: Element;
80
+ register(item: PacemUiWidgetElement): boolean;
81
+ unregister(item: PacemUiWidgetElement): boolean;
82
+ }
83
+
84
+ declare interface DataColumn {
85
+ header: string;
86
+ /** expression, constant, ... */
87
+ content: string;
88
+ width?: number | 'auto';
89
+ }
90
+
91
+ /** Default metadata ('expression' field) 'type' factory. */
92
+ declare const DATACOLUMNS_METADATA_TYPE: (host: Components_2.Scaffolding.PacemFormFieldElement, hostRef?: string, hostEntityRef?: string) => {
93
+ tagName: string;
94
+ attrs: {
95
+ [name: string]: string;
96
+ };
97
+ };
98
+
99
+ declare const DEFAULT_METADATA: Scaffolding.TypeMetadata;
100
+
101
+ /** Default metadata ('expression' field) 'type' factory. */
102
+ declare const EXPRESSION_METADATA_TYPE: (host: Components_2.Scaffolding.PacemFormFieldElement, hostRef?: string, hostEntityRef?: string) => {
103
+ tagName: string;
104
+ attrs: {
105
+ [name: string]: string;
106
+ };
107
+ };
108
+
109
+ /** Default metadata ('expression' field) 'extra' object. */
110
+ declare const EXPRESSION_WIDGET_METADATA_EXTRA: {
111
+ selector: string;
112
+ labeler: (e: Widget) => string;
113
+ };
114
+
115
+ declare enum ExpressionSource {
116
+ Constant = "const",
117
+ PropertyReference = "property",
118
+ Expression = "expr"
119
+ }
120
+
121
+ declare const FETCH_CREDENTIALS_METADATA: Scaffolding.PropertyMetadata;
122
+
123
+ /** Function container proxy (used in metadata) */
124
+ declare const Functions: {
125
+ [key: string]: Function;
126
+ };
127
+
128
+ declare const GRID_COLUMNS = 12;
129
+
130
+ declare function gridifyMetadata(metadata?: Scaffolding.TypeMetadata): Scaffolding.TypeMetadata;
131
+
132
+ declare const LayoutChangeEventName = "layoutchange";
133
+
134
+ export declare namespace OpenApi {
135
+ export {
136
+ SwaggerCmsParser
137
+ }
138
+ }
139
+
140
+ declare abstract class PacemBearerWidgetElement extends PacemWidgetElement implements Net.OAuthFetchable {
141
+ fetchCredentials: RequestCredentials;
142
+ fetchHeaders: {
143
+ [key: string]: string;
144
+ };
145
+ accessToken: {
146
+ [key: string]: string;
147
+ };
148
+ fetching: boolean;
149
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
150
+ }
151
+
152
+ declare abstract class PacemCompositeWidgetElement extends PacemUiWidgetElement implements CompositeWidget {
153
+ items: PacemUiWidgetElement[];
154
+ get itemsElement(): this;
155
+ protected validate(item: PacemUiWidgetElement): boolean;
156
+ viewActivatedCallback(): void;
157
+ /**
158
+ * Appends a child Element to this CompositeWidget's itemsElement.
159
+ * @param item New child element
160
+ */
161
+ appendItem(item: Element): void;
162
+ /**
163
+ * Registers a new item among the items.
164
+ * @param item {PacemUiWidgetElement} Item to be enrolled
165
+ */
166
+ register(item: PacemUiWidgetElement): boolean;
167
+ /**
168
+ * Removes an existing element from the items.
169
+ * @param item {PacemUiWidgetElement} Item to be removed
170
+ */
171
+ unregister(item: PacemUiWidgetElement): boolean;
172
+ }
173
+
174
+ declare class PacemDataColumnElement extends Components_3.PacemElement {
175
+ header: string;
176
+ content: string;
177
+ contentExpression: string;
178
+ private _form;
179
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
180
+ viewActivatedCallback(): void;
181
+ }
182
+
183
+ declare class PacemDataColumnsElement extends Components_2.Scaffolding.PacemBaseElement {
184
+ private _repeater;
185
+ private _propDragger;
186
+ private _colDragger;
187
+ private _dropTarget;
188
+ properties: Partial<Scaffolding.PropertyMetadata>[];
189
+ protected get inputFields(): HTMLElement[];
190
+ protected toggleReadonlyView(readonly: boolean): void;
191
+ protected onChange(evt?: Event): PromiseLike<any>;
192
+ protected acceptValue(val: any): void;
193
+ protected getViewValue(value: any): string;
194
+ protected convertValueAttributeToProperty(attr: string): any;
195
+ private _dropHandler;
196
+ viewActivatedCallback(): void;
197
+ disconnectedCallback(): void;
198
+ private _columnifyMetadata;
199
+ }
200
+
201
+ declare class PacemElementPickerElement extends PacemElementPickerElementBase {
202
+ protected get inputFields(): HTMLElement[];
203
+ protected toggleReadonlyView(readonly: boolean): void;
204
+ protected onChange(_?: Event): PromiseLike<any>;
205
+ protected acceptValue(val: any): void;
206
+ protected getViewValue(value: any): string;
207
+ protected convertValueAttributeToProperty(attr: string): any;
208
+ private _select;
209
+ viewActivatedCallback(): void;
210
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
211
+ private _databind;
212
+ }
213
+
214
+ declare abstract class PacemElementPickerElementBase extends Components_2.Scaffolding.PacemBaseElement {
215
+ selector: string;
216
+ filter: (e: Element) => boolean;
217
+ labeler: (e: Element) => string;
218
+ }
219
+
220
+ declare class PacemExpressionElement extends PacemElementPickerElementBase {
221
+ converter: PropertyConverter;
222
+ private _editing;
223
+ private _source;
224
+ private _sourceRef;
225
+ private _propRef;
226
+ private _picker;
227
+ private _editor;
228
+ private _view;
229
+ private _eval;
230
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
231
+ protected get inputFields(): HTMLElement[];
232
+ protected toggleReadonlyView(readonly: boolean): void;
233
+ setPristine(): void;
234
+ protected onChange(_?: Event): PromiseLike<any>;
235
+ protected acceptValue(val: any): void;
236
+ private _setFeedbackText;
237
+ protected getViewValue(value: any): string;
238
+ protected convertValueAttributeToProperty(attr: string): string;
239
+ private _reverseStructure;
240
+ }
241
+
242
+ declare class PacemGridWidgetElement extends PacemCompositeWidgetElement {
243
+ constructor();
244
+ register(item: PacemUiWidgetElement): boolean;
245
+ unregister(item: PacemUiWidgetElement): boolean;
246
+ private _widgetPropertyChange;
247
+ unit: number;
248
+ marginTop: number;
249
+ marginBottom: number;
250
+ columns: number;
251
+ rows: number;
252
+ minRowheight: number | 'string';
253
+ rowheight: number | 'string';
254
+ rowGap: number;
255
+ columnGap: number;
256
+ private _dragDrop;
257
+ private _rescaler;
258
+ private _initState;
259
+ private _dragDropHandler;
260
+ private _resizeHandler;
261
+ private _intersects;
262
+ connectedCallback(): void;
263
+ viewActivatedCallback(): void;
264
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
265
+ disconnectedCallback(): void;
266
+ private _normalize;
267
+ protected unitPixels(qty: number): number;
268
+ protected adapt(): void;
269
+ private _gridBoxes;
270
+ private _setGridLines;
271
+ }
272
+
273
+ declare abstract class PacemUiWidgetElement extends PacemWidgetElement {
274
+ constructor(metadata: Scaffolding.TypeMetadata, colspan?: number, role?: string);
275
+ connectedCallback(): void;
276
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
277
+ private _container;
278
+ protected get container(): PacemCompositeWidgetElement;
279
+ /** @overridable */
280
+ protected findContainer(): PacemCompositeWidgetElement;
281
+ viewActivatedCallback(): void;
282
+ disconnectedCallback(): void;
283
+ /** Default configuration (grid) */
284
+ column: number;
285
+ row: number;
286
+ colspan: number;
287
+ rowspan: number;
288
+ borders: boolean;
289
+ corners: boolean;
290
+ }
291
+
292
+ declare class PacemWidgetApiManifestElement extends PacemBearerWidgetElement {
293
+ private _openapi;
294
+ private _cache;
295
+ constructor(_openapi?: SwaggerCmsParser, _cache?: Storage_2);
296
+ url: string;
297
+ usecache: boolean;
298
+ manifest: Scaffolding.OpenApi.ApiManifest;
299
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
300
+ viewActivatedCallback(): void;
301
+ private _scaffold;
302
+ }
303
+
304
+ declare class PacemWidgetClockElement extends PacemWidgetElement {
305
+ constructor();
306
+ interval: number;
307
+ time: number;
308
+ }
309
+
310
+ declare class PacemWidgetDataElement extends PacemWidgetElement {
311
+ constructor();
312
+ model: any;
313
+ }
314
+
315
+ declare class PacemWidgetDataGridElement extends PacemUiWidgetElement {
316
+ constructor();
317
+ columns: DataColumn[];
318
+ datasource: any[];
319
+ datarowMetadata: Partial<Scaffolding.PropertyMetadata>[];
320
+ _datatable: HTMLElement;
321
+ _template: HTMLTemplateElement;
322
+ _repeater: Components_3.PacemRepeaterElement;
323
+ private _gridify;
324
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
325
+ viewActivatedCallback(): void;
326
+ private _seekArray;
327
+ private _builtUponDatasource;
328
+ private _extractMetadataJustInCase;
329
+ }
330
+
331
+ declare abstract class PacemWidgetElement extends Components_3.PacemElement implements Widget {
332
+ constructor(metadata: Scaffolding.TypeMetadata, role?: string);
333
+ connectedCallback(): void;
334
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
335
+ viewActivatedCallback(): void;
336
+ disconnectedCallback(): void;
337
+ private _assignIcon;
338
+ private _balloon;
339
+ private _ensureBalloon;
340
+ private _disposeBalloon;
341
+ /** Gets or sets whether the widget is currently in editing mode. */
342
+ editing: boolean;
343
+ editable: boolean;
344
+ tag: string;
345
+ permissions: Permission[];
346
+ metadata: Scaffolding.TypeMetadata;
347
+ permissionMetadata: Scaffolding.TypeMetadata;
348
+ }
349
+
350
+ declare class PacemWidgetFetchElement extends PacemBearerWidgetElement {
351
+ constructor();
352
+ manifest: Scaffolding.OpenApi.ApiManifest;
353
+ endpoint: Scaffolding.OpenApi.ApiEndpoint;
354
+ url: string;
355
+ method: Net.HttpMethod;
356
+ fields: Scaffolding.TypeMetadata | Scaffolding.PropertyMetadata[];
357
+ parameters: any[];
358
+ result: any[];
359
+ fetching: boolean;
360
+ success: boolean;
361
+ failure: boolean;
362
+ private _fetcher;
363
+ private _itemsElement;
364
+ private _onerror;
365
+ private _onsuccess;
366
+ private _onresult;
367
+ get _parameters(): PacemWidgetFetchParameterElement[];
368
+ fetch(): Promise<Response>;
369
+ viewActivatedCallback(): void;
370
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
371
+ private _mergeEndpoint;
372
+ }
373
+
374
+ declare class PacemWidgetFetchParameterElement extends PacemEventTarget {
375
+ private _fetcher;
376
+ required: boolean;
377
+ name: string;
378
+ value: any;
379
+ propertyChangedCallback(name: string, old: any, val: any, first?: boolean): void;
380
+ viewActivatedCallback(): void;
381
+ }
382
+
383
+ /**
384
+ * UI widget container that eases dragdrop-based enrollment into composite widgets.
385
+ */
386
+ declare class PacemWidgetPickerElement extends PacemCompositeWidgetElement {
387
+ register(item: PacemUiWidgetElement): boolean;
388
+ private _dragDrop;
389
+ }
390
+
391
+ declare class PacemWidgetTextElement extends PacemUiWidgetElement {
392
+ constructor();
393
+ text: string;
394
+ }
395
+
396
+ declare class PacemWidgetToolbarElement extends Components_3.PacemElement {
397
+ target: PacemWidgetElement;
398
+ private _toolbar;
399
+ private _btnEdit;
400
+ private _btnPerms;
401
+ private _btnRemove;
402
+ private _proxy;
403
+ /** Gets the toolbar's edit button. */
404
+ get editButton(): Components_4.UI.PacemButtonElement;
405
+ /** Gets the toolbar's permimssions button. */
406
+ get permissionsButton(): Components_4.UI.PacemButtonElement;
407
+ /** Gets the toolbar's remove button. */
408
+ get removeButton(): Components_4.UI.PacemButtonElement;
409
+ private _edit;
410
+ private _editPermissions;
411
+ private _popoutJustInCase;
412
+ }
413
+
414
+ declare class PacemWidgetTranslatorElement extends PacemWidgetElement {
415
+ }
416
+
417
+ declare interface Permissible {
418
+ permissions: Permission[];
419
+ }
420
+
421
+ declare class Permissible {
422
+ static canEdit(claims: Claims, resource: Permissible): boolean;
423
+ static canRead(claims: Claims, resource: Permissible): boolean;
424
+ static canAdd(claims: Claims, resource: Permissible): boolean;
425
+ static canDelete(claims: Claims, resource: Permissible): boolean;
426
+ static canTranslate(claims: Claims, resource: Permissible): boolean;
427
+ private static _canDoSomethingToResource;
428
+ }
429
+
430
+ declare interface Permission {
431
+ claimType: string;
432
+ claimValue: string;
433
+ translate: boolean;
434
+ read: boolean;
435
+ update: boolean;
436
+ create: boolean;
437
+ delete: boolean;
438
+ }
439
+
440
+ declare class PermissionEditEvent extends CustomEvent<Permissible> {
441
+ constructor(permissible: Permissible);
442
+ }
443
+
444
+ declare const PermissionEditEventName = "permissionedit";
445
+
446
+ declare interface StorageCache {
447
+ getPropertyValue: (name: string) => any;
448
+ setPropertyValue: (name: string, value: any, persistent?: boolean) => void;
449
+ removeProperty: (name: string) => void;
450
+ }
451
+
452
+ declare class SwaggerCmsParser {
453
+ private _openApi;
454
+ constructor(_openApi?: Scaffolding.OpenApi.OpenApiParser);
455
+ cache: StorageCache;
456
+ load(url: string, headers?: {
457
+ [name: string]: string;
458
+ }): Promise<Scaffolding.OpenApi.ApiManifest>;
459
+ private _enrichSchemas;
460
+ private _cachedMetadataUrls;
461
+ clearCache(): void;
462
+ /**
463
+ *
464
+ * @param def1
465
+ * @param headers HTTP headers for API fetching
466
+ */
467
+ private _fetchMetadata;
468
+ }
469
+
470
+ declare interface Widget extends Permissible {
471
+ metadata: Scaffolding.TypeMetadata;
472
+ permissionMetadata: Scaffolding.TypeMetadata;
473
+ /** Gets or sets whether the widget is currently in editing mode. */
474
+ editing: boolean;
475
+ /** Gets or sets whether thet widget might be edited or not. */
476
+ editable: boolean;
477
+ tag: string;
478
+ readonly id: string;
479
+ }
480
+
481
+ declare class Widget {
482
+ /**
483
+ * Utility method for widget gathering.
484
+ * @param predicate Predicate for filtering
485
+ */
486
+ static findAll(predicate?: (w: PacemWidgetElement) => boolean): PacemWidgetElement[];
487
+ }
488
+
489
+ declare class WidgetRegisterEvent extends CustomEvent<PacemWidgetElement> {
490
+ constructor(item: PacemWidgetElement, eventInit?: EventInit);
491
+ }
492
+
493
+ declare const WidgetRegisterEventName = "widgetregister";
494
+
495
+ declare class WidgetUnregisterEvent extends CustomEvent<PacemWidgetElement> {
496
+ constructor(item: PacemWidgetElement, eventInit?: EventInit);
497
+ }
498
+
499
+ declare const WidgetUnregisterEventName = "widgetunregister";
500
+
501
+
502
+
503
+ declare global {
504
+ namespace Pacem {
505
+ export {
506
+ Cms,
507
+ Components,
508
+ OpenApi
509
+ };
510
+ }
511
+ }