@pobuca/email-builder 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/assets/icons/dribbble.png +0 -0
- package/assets/icons/facebook.png +0 -0
- package/assets/icons/github.png +0 -0
- package/assets/icons/instagram.png +0 -0
- package/assets/icons/linkedin.png +0 -0
- package/assets/icons/medium.png +0 -0
- package/assets/icons/pinterest.png +0 -0
- package/assets/icons/snapchat.png +0 -0
- package/assets/icons/soundcloud.png +0 -0
- package/assets/icons/tumblr.png +0 -0
- package/assets/icons/twitter.png +0 -0
- package/assets/icons/vimeo.png +0 -0
- package/assets/icons/web.png +0 -0
- package/assets/icons/xing.png +0 -0
- package/assets/icons/youtube.png +0 -0
- package/bundles/pobuca-email-builder.umd.js +4664 -0
- package/bundles/pobuca-email-builder.umd.js.map +1 -0
- package/bundles/pobuca-email-builder.umd.min.js +2 -0
- package/bundles/pobuca-email-builder.umd.min.js.map +1 -0
- package/esm2015/lib/classes/DefaultEmail.js +53 -0
- package/esm2015/lib/classes/Elements.js +229 -0
- package/esm2015/lib/classes/Structure.js +89 -0
- package/esm2015/lib/components/block/block.component.js +89 -0
- package/esm2015/lib/components/block-settings/block-settings.component.js +53 -0
- package/esm2015/lib/components/builder-container/builder-container.component.js +114 -0
- package/esm2015/lib/components/dialog.component.js +30 -0
- package/esm2015/lib/components/general-settings/general-settings.component.js +25 -0
- package/esm2015/lib/components/import-dialog/import-dialog.component.js +62 -0
- package/esm2015/lib/components/preview.component.js +89 -0
- package/esm2015/lib/components/structure/structure.component.js +163 -0
- package/esm2015/lib/components/structure-settings/structure-settings.component.js +31 -0
- package/esm2015/lib/components/template-list-dialog/template-list-dialog.component.js +45 -0
- package/esm2015/lib/directives/dynamic-component.directive.js +46 -0
- package/esm2015/lib/elements/abstract-block.js +23 -0
- package/esm2015/lib/elements/button/button.component.js +29 -0
- package/esm2015/lib/elements/divider/divider.component.js +30 -0
- package/esm2015/lib/elements/image/image.component.js +54 -0
- package/esm2015/lib/elements/social/social.component.js +42 -0
- package/esm2015/lib/elements/spacer/spacer.component.js +30 -0
- package/esm2015/lib/elements/text-element/text-element.component.js +80 -0
- package/esm2015/lib/groups/align.js +79 -0
- package/esm2015/lib/groups/back-repeat.js +55 -0
- package/esm2015/lib/groups/border.js +102 -0
- package/esm2015/lib/groups/color.js +139 -0
- package/esm2015/lib/groups/direction.js +63 -0
- package/esm2015/lib/groups/font-styles.js +112 -0
- package/esm2015/lib/groups/gaps.js +45 -0
- package/esm2015/lib/groups/line-height.js +68 -0
- package/esm2015/lib/groups/link.js +67 -0
- package/esm2015/lib/groups/margin.js +45 -0
- package/esm2015/lib/groups/padding.js +53 -0
- package/esm2015/lib/groups/upload-image.js +112 -0
- package/esm2015/lib/groups/width-height.js +94 -0
- package/esm2015/lib/interceptors/pb-interceptor.interceptor.js +51 -0
- package/esm2015/lib/interfaces/interfaces.js +13 -0
- package/esm2015/lib/pb-email-builder.component.js +246 -0
- package/esm2015/lib/pb-email-builder.module.js +291 -0
- package/esm2015/lib/pb-email-builder.service.js +134 -0
- package/esm2015/lib/pipes/slugify.pipe.js +39 -0
- package/esm2015/lib/services/internals/pb-email-object-store/pb-email-object-store.service.js +165 -0
- package/esm2015/lib/services/internals/user-interfaces/user-interface.service.js +122 -0
- package/esm2015/lib/services/pb-storage/FreeUsersStorage.class.js +11 -0
- package/esm2015/lib/services/pb-storage/index.js +7 -0
- package/esm2015/lib/services/pb-storage/pb-storage.service.js +79 -0
- package/esm2015/lib/services/user-image-uploader-service/free-users-image-uploader.service.js +26 -0
- package/esm2015/lib/services/user-image-uploader-service/index.js +8 -0
- package/esm2015/lib/services/user-image-uploader-service/paid-users-image-uploader.service.js +30 -0
- package/esm2015/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.js +112 -0
- package/esm2015/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.js +91 -0
- package/esm2015/lib/services/user-image-uploader-service/user-image-uploader.service.js +26 -0
- package/esm2015/lib/services/user-middleware-service/FreeUsersMiddleware.js +31 -0
- package/esm2015/lib/services/user-middleware-service/PaidUsersMiddleware.js +12 -0
- package/esm2015/lib/services/user-middleware-service/index.js +8 -0
- package/esm2015/lib/services/user-middleware-service/pb-middlewares.service.js +195 -0
- package/esm2015/lib/services/user-rest-api-service/free-users-rest-api.service.js +16 -0
- package/esm2015/lib/services/user-rest-api-service/index.js +7 -0
- package/esm2015/lib/services/user-rest-api-service/user-rest-api.service.js +116 -0
- package/esm2015/lib/tokens/private-tokens.js +17 -0
- package/esm2015/lib/tokens/tokens.js +159 -0
- package/esm2015/lib/utils.js +147 -0
- package/esm2015/pobuca-email-builder.js +43 -0
- package/esm2015/public_api.js +26 -0
- package/fesm2015/pobuca-email-builder.js +4335 -0
- package/fesm2015/pobuca-email-builder.js.map +1 -0
- package/lib/classes/DefaultEmail.d.ts +9 -0
- package/lib/classes/Elements.d.ts +62 -0
- package/lib/classes/Structure.d.ts +11 -0
- package/lib/components/block/block.component.d.ts +25 -0
- package/lib/components/block-settings/block-settings.component.d.ts +18 -0
- package/lib/components/builder-container/builder-container.component.d.ts +36 -0
- package/lib/components/dialog.component.d.ts +10 -0
- package/lib/components/general-settings/general-settings.component.d.ts +6 -0
- package/lib/components/import-dialog/import-dialog.component.d.ts +16 -0
- package/lib/components/preview.component.d.ts +18 -0
- package/lib/components/structure/structure.component.d.ts +43 -0
- package/lib/components/structure-settings/structure-settings.component.d.ts +9 -0
- package/lib/components/template-list-dialog/template-list-dialog.component.d.ts +15 -0
- package/lib/directives/dynamic-component.directive.d.ts +13 -0
- package/lib/elements/abstract-block.d.ts +8 -0
- package/lib/elements/button/button.component.d.ts +18 -0
- package/lib/elements/divider/divider.component.d.ts +10 -0
- package/lib/elements/image/image.component.d.ts +19 -0
- package/lib/elements/social/social.component.d.ts +21 -0
- package/lib/elements/spacer/spacer.component.d.ts +5 -0
- package/lib/elements/text-element/text-element.component.d.ts +52 -0
- package/lib/groups/align.d.ts +17 -0
- package/lib/groups/back-repeat.d.ts +8 -0
- package/lib/groups/border.d.ts +13 -0
- package/lib/groups/color.d.ts +26 -0
- package/lib/groups/direction.d.ts +13 -0
- package/lib/groups/font-styles.d.ts +17 -0
- package/lib/groups/gaps.d.ts +7 -0
- package/lib/groups/line-height.d.ts +12 -0
- package/lib/groups/link.d.ts +11 -0
- package/lib/groups/margin.d.ts +8 -0
- package/lib/groups/padding.d.ts +8 -0
- package/lib/groups/upload-image.d.ts +19 -0
- package/lib/groups/width-height.d.ts +19 -0
- package/lib/interceptors/pb-interceptor.interceptor.d.ts +10 -0
- package/lib/interfaces/interfaces.d.ts +422 -0
- package/lib/pb-email-builder.component.d.ts +67 -0
- package/lib/pb-email-builder.module.d.ts +51 -0
- package/lib/pb-email-builder.service.d.ts +83 -0
- package/lib/pipes/slugify.pipe.d.ts +9 -0
- package/lib/services/internals/pb-email-object-store/pb-email-object-store.service.d.ts +50 -0
- package/lib/services/internals/user-interfaces/user-interface.service.d.ts +46 -0
- package/lib/services/pb-storage/FreeUsersStorage.class.d.ts +6 -0
- package/lib/services/pb-storage/index.d.ts +2 -0
- package/lib/services/pb-storage/pb-storage.service.d.ts +54 -0
- package/lib/services/user-image-uploader-service/free-users-image-uploader.service.d.ts +12 -0
- package/lib/services/user-image-uploader-service/index.d.ts +3 -0
- package/lib/services/user-image-uploader-service/paid-users-image-uploader.service.d.ts +14 -0
- package/lib/services/user-image-uploader-service/upload-bottom-sheet-dialog/upload-bottom-sheet-dialog.component.d.ts +28 -0
- package/lib/services/user-image-uploader-service/upload-image-gallery/upload-image-gallery.component.d.ts +27 -0
- package/lib/services/user-image-uploader-service/user-image-uploader.service.d.ts +26 -0
- package/lib/services/user-middleware-service/FreeUsersMiddleware.d.ts +15 -0
- package/lib/services/user-middleware-service/PaidUsersMiddleware.d.ts +7 -0
- package/lib/services/user-middleware-service/index.d.ts +3 -0
- package/lib/services/user-middleware-service/pb-middlewares.service.d.ts +190 -0
- package/lib/services/user-rest-api-service/free-users-rest-api.service.d.ts +10 -0
- package/lib/services/user-rest-api-service/index.d.ts +2 -0
- package/lib/services/user-rest-api-service/user-rest-api.service.d.ts +82 -0
- package/lib/tokens/private-tokens.d.ts +5 -0
- package/lib/tokens/tokens.d.ts +70 -0
- package/lib/utils.d.ts +88 -0
- package/package.json +37 -0
- package/pobuca-email-builder.d.ts +42 -0
- package/pobuca-email-builder.metadata.json +1 -0
- package/public_api.d.ts +16 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
6
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
7
|
+
export class GapsComponent {
|
|
8
|
+
constructor(emailObject) {
|
|
9
|
+
this.emailObject = emailObject;
|
|
10
|
+
}
|
|
11
|
+
markForCheck() {
|
|
12
|
+
this.emailObject.markForCheck();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
GapsComponent.decorators = [
|
|
16
|
+
{ type: Component, args: [{
|
|
17
|
+
selector: 'pb-gaps',
|
|
18
|
+
template: `
|
|
19
|
+
<div class="group">
|
|
20
|
+
<mat-form-field appearance="outline">
|
|
21
|
+
<mat-label i18n="Gaps settings|Vertical Gaps">Vertical Gaps</mat-label>
|
|
22
|
+
<input matInput type="number" min="0" step="1" [(ngModel)]="gaps[0]" (input)="markForCheck()" />
|
|
23
|
+
</mat-form-field>
|
|
24
|
+
<mat-form-field appearance="outline">
|
|
25
|
+
<mat-label i18n="Gaps settings|Horizontal Gaps">Horizontal Gaps</mat-label>
|
|
26
|
+
<input matInput type="number" min="0" step="1" [(ngModel)]="gaps[1]" (input)="markForCheck()" />
|
|
27
|
+
</mat-form-field>
|
|
28
|
+
</div>
|
|
29
|
+
`,
|
|
30
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
|
+
styles: [`
|
|
32
|
+
:host {
|
|
33
|
+
display: block;
|
|
34
|
+
width: 100%;
|
|
35
|
+
}
|
|
36
|
+
`]
|
|
37
|
+
},] }
|
|
38
|
+
];
|
|
39
|
+
GapsComponent.ctorParameters = () => [
|
|
40
|
+
{ type: PbEmailObjectStoreService }
|
|
41
|
+
];
|
|
42
|
+
GapsComponent.propDecorators = {
|
|
43
|
+
gaps: [{ type: Input }]
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Fwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9ncm91cHMvZ2Fwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQTBCdEgsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBb0IsV0FBc0M7UUFBdEMsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO0lBQUcsQ0FBQztJQUU5RCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUE5QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxTQUFTO2dCQUNuQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7Z0JBU0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBUDdDOzs7OztLQUtDO2FBR0o7OztZQXpCUSx5QkFBeUI7OzttQkEyQi9CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItZ2FwcycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImdyb3VwXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiR2FwcyBzZXR0aW5nc3xWZXJ0aWNhbCBHYXBzXCI+VmVydGljYWwgR2FwczwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBzdGVwPVwiMVwiIFsobmdNb2RlbCldPVwiZ2Fwc1swXVwiIChpbnB1dCk9XCJtYXJrRm9yQ2hlY2soKVwiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIkdhcHMgc2V0dGluZ3N8SG9yaXpvbnRhbCBHYXBzXCI+SG9yaXpvbnRhbCBHYXBzPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIHN0ZXA9XCIxXCIgWyhuZ01vZGVsKV09XCJnYXBzWzFdXCIgKGlucHV0KT1cIm1hcmtGb3JDaGVjaygpXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgR2Fwc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGdhcHM6IFtudW1iZXIsIG51bWJlcl07XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW1haWxPYmplY3Q6IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UpIHt9XG5cbiAgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuZW1haWxPYmplY3QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
6
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
7
|
+
export class LineHeightComponent {
|
|
8
|
+
constructor(emailObject) {
|
|
9
|
+
this.emailObject = emailObject;
|
|
10
|
+
this.label = $localize `:@@line_height_label:Line Height`;
|
|
11
|
+
this.units = ['%', 'px', 'none'];
|
|
12
|
+
this.unitsLabels = new Map([
|
|
13
|
+
['%', $localize `:@@unit_percent:Percent`],
|
|
14
|
+
['px', $localize `:@@unit_pixels:Pixels`],
|
|
15
|
+
['none', $localize `:@@unit_none:None`]
|
|
16
|
+
]);
|
|
17
|
+
}
|
|
18
|
+
markForCheck() {
|
|
19
|
+
this.emailObject.markForCheck();
|
|
20
|
+
}
|
|
21
|
+
getUnitLabel(unit) {
|
|
22
|
+
return this.unitsLabels.get(unit);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
LineHeightComponent.decorators = [
|
|
26
|
+
{ type: Component, args: [{
|
|
27
|
+
selector: 'pb-line-height',
|
|
28
|
+
template: `
|
|
29
|
+
<div class="group">
|
|
30
|
+
<mat-form-field appearance="outline">
|
|
31
|
+
<mat-label>{{ label }}</mat-label>
|
|
32
|
+
<input
|
|
33
|
+
matInput
|
|
34
|
+
[(ngModel)]="lineHeight.value"
|
|
35
|
+
type="number"
|
|
36
|
+
step="1"
|
|
37
|
+
(input)="markForCheck()"
|
|
38
|
+
[disabled]="lineHeight.unit === 'none'"
|
|
39
|
+
/>
|
|
40
|
+
</mat-form-field>
|
|
41
|
+
<mat-form-field appearance="outline">
|
|
42
|
+
<mat-label i18n="Line Height Settings|Change Line Height Unit">Unit</mat-label>
|
|
43
|
+
<mat-select placeholder="Unit" [(value)]="lineHeight.unit" (selectionChange)="markForCheck()" disableRipple>
|
|
44
|
+
<mat-option *ngFor="let unit of units" [value]="unit" i18n>
|
|
45
|
+
{{ getUnitLabel(unit) }}
|
|
46
|
+
</mat-option>
|
|
47
|
+
</mat-select>
|
|
48
|
+
</mat-form-field>
|
|
49
|
+
</div>
|
|
50
|
+
`,
|
|
51
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
52
|
+
styles: [`
|
|
53
|
+
:host {
|
|
54
|
+
display: block;
|
|
55
|
+
width: 100%;
|
|
56
|
+
}
|
|
57
|
+
`]
|
|
58
|
+
},] }
|
|
59
|
+
];
|
|
60
|
+
LineHeightComponent.ctorParameters = () => [
|
|
61
|
+
{ type: PbEmailObjectStoreService }
|
|
62
|
+
];
|
|
63
|
+
LineHeightComponent.propDecorators = {
|
|
64
|
+
lineHeight: [{ type: Input }],
|
|
65
|
+
label: [{ type: Input }],
|
|
66
|
+
units: [{ type: Input }]
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1oZWlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvZ3JvdXBzL2xpbmUtaGVpZ2h0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBcUN0SCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQW9CLFdBQXNDO1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQVJqRCxVQUFLLEdBQUcsU0FBUyxDQUFBLGtDQUFrQyxDQUFDO1FBQ3BELFVBQUssR0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLGdCQUFXLEdBQXdCLElBQUksR0FBRyxDQUFDO1lBQ2pELENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQSx5QkFBeUIsQ0FBQztZQUN6QyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUEsdUJBQXVCLENBQUM7WUFDeEMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFBLG1CQUFtQixDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUUwRCxDQUFDO0lBRTlELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtnQkFTRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTt5QkFQN0M7Ozs7O0tBS0M7YUFHSjs7O1lBcENRLHlCQUF5Qjs7O3lCQXNDL0IsS0FBSztvQkFDTCxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDI0IFBvYnVjYS5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMaW5lSGVpZ2h0LCBUTGluZUhlaWdodCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJuYWxzL3BiLWVtYWlsLW9iamVjdC1zdG9yZS9wYi1lbWFpbC1vYmplY3Qtc3RvcmUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BiLWxpbmUtaGVpZ2h0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJsaW5lSGVpZ2h0LnZhbHVlXCJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBzdGVwPVwiMVwiXG4gICAgICAgICAgKGlucHV0KT1cIm1hcmtGb3JDaGVjaygpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwibGluZUhlaWdodC51bml0ID09PSAnbm9uZSdcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJMaW5lIEhlaWdodCBTZXR0aW5nc3xDaGFuZ2UgTGluZSBIZWlnaHQgVW5pdFwiPlVuaXQ8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJVbml0XCIgWyh2YWx1ZSldPVwibGluZUhlaWdodC51bml0XCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJtYXJrRm9yQ2hlY2soKVwiIGRpc2FibGVSaXBwbGU+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHVuaXQgb2YgdW5pdHNcIiBbdmFsdWVdPVwidW5pdFwiIGkxOG4+XG4gICAgICAgICAgICB7eyBnZXRVbml0TGFiZWwodW5pdCkgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGluZUhlaWdodENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxpbmVIZWlnaHQ6IElMaW5lSGVpZ2h0O1xuICBASW5wdXQoKSBsYWJlbCA9ICRsb2NhbGl6ZWA6QEBsaW5lX2hlaWdodF9sYWJlbDpMaW5lIEhlaWdodGA7XG4gIEBJbnB1dCgpIHVuaXRzOiBUTGluZUhlaWdodFtdID0gWyclJywgJ3B4JywgJ25vbmUnXTtcbiAgcHJpdmF0ZSB1bml0c0xhYmVsczogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xuICAgIFsnJScsICRsb2NhbGl6ZWA6QEB1bml0X3BlcmNlbnQ6UGVyY2VudGBdLFxuICAgIFsncHgnLCAkbG9jYWxpemVgOkBAdW5pdF9waXhlbHM6UGl4ZWxzYF0sXG4gICAgWydub25lJywgJGxvY2FsaXplYDpAQHVuaXRfbm9uZTpOb25lYF1cbiAgXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbWFpbE9iamVjdDogUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSkge31cblxuICBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5lbWFpbE9iamVjdC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldFVuaXRMYWJlbCh1bml0OiBUTGluZUhlaWdodCkge1xuICAgIHJldHVybiB0aGlzLnVuaXRzTGFiZWxzLmdldCh1bml0KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
6
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
7
|
+
export class LinkComponent {
|
|
8
|
+
constructor(emailObject) {
|
|
9
|
+
this.emailObject = emailObject;
|
|
10
|
+
this.targetLabels = new Map([
|
|
11
|
+
['_blank', $localize `:@@link_target_blank:Blank`],
|
|
12
|
+
['_self', $localize `:@@link_target_self:Self`],
|
|
13
|
+
['_parent', $localize `:@@link_target_parent:Parent`],
|
|
14
|
+
['_top', $localize `:@@link_target_top:Top`]
|
|
15
|
+
]);
|
|
16
|
+
}
|
|
17
|
+
markForCheck() {
|
|
18
|
+
this.emailObject.markForCheck();
|
|
19
|
+
}
|
|
20
|
+
getTargets() {
|
|
21
|
+
return ['_blank', '_self', '_parent', '_top'];
|
|
22
|
+
}
|
|
23
|
+
getTargetLabel(target) {
|
|
24
|
+
return this.targetLabels.get(target);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
LinkComponent.decorators = [
|
|
28
|
+
{ type: Component, args: [{
|
|
29
|
+
selector: 'pb-link',
|
|
30
|
+
template: `
|
|
31
|
+
<div class="group f-large">
|
|
32
|
+
<mat-form-field appearance="outline">
|
|
33
|
+
<mat-label i18n="Link Settings|Link">Link</mat-label>
|
|
34
|
+
<input matInput [(ngModel)]="link.href" type="url" placeholder="Link" (blur)="markForCheck()" />
|
|
35
|
+
</mat-form-field>
|
|
36
|
+
<mat-form-field appearance="outline">
|
|
37
|
+
<mat-label i18n="Link Settings|Target">Target</mat-label>
|
|
38
|
+
<mat-select
|
|
39
|
+
placeholder="Target"
|
|
40
|
+
i18n-placeholder="Link Settings|Target"
|
|
41
|
+
[(value)]="link.target"
|
|
42
|
+
disableRipple
|
|
43
|
+
(selectionChange)="markForCheck()"
|
|
44
|
+
>
|
|
45
|
+
<mat-option *ngFor="let target of getTargets()" [value]="target">
|
|
46
|
+
{{ getTargetLabel(target) }}
|
|
47
|
+
</mat-option>
|
|
48
|
+
</mat-select>
|
|
49
|
+
</mat-form-field>
|
|
50
|
+
</div>
|
|
51
|
+
`,
|
|
52
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
53
|
+
styles: [`
|
|
54
|
+
:host {
|
|
55
|
+
display: block;
|
|
56
|
+
width: 100%;
|
|
57
|
+
}
|
|
58
|
+
`]
|
|
59
|
+
},] }
|
|
60
|
+
];
|
|
61
|
+
LinkComponent.ctorParameters = () => [
|
|
62
|
+
{ type: PbEmailObjectStoreService }
|
|
63
|
+
];
|
|
64
|
+
LinkComponent.propDecorators = {
|
|
65
|
+
link: [{ type: Input }]
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9ncm91cHMvbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQW9DdEgsTUFBTSxPQUFPLGFBQWE7SUFVeEIsWUFBb0IsV0FBc0M7UUFBdEMsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBUGxELGlCQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDN0IsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFBLDRCQUE0QixDQUFDO1lBQ2pELENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQSwwQkFBMEIsQ0FBQztZQUM5QyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUEsOEJBQThCLENBQUM7WUFDcEQsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFBLHdCQUF3QixDQUFDO1NBQzVDLENBQUMsQ0FBQztJQUUwRCxDQUFDO0lBRTlELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxjQUFjLENBQUMsTUFBYztRQUMzQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OztZQXhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUO2dCQVNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQVA3Qzs7Ozs7S0FLQzthQUdKOzs7WUFuQ1EseUJBQXlCOzs7bUJBcUMvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGluaywgVExpbmtUYXJnZXQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVybmFscy9wYi1lbWFpbC1vYmplY3Qtc3RvcmUvcGItZW1haWwtb2JqZWN0LXN0b3JlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYi1saW5rJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgZi1sYXJnZVwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIkxpbmsgU2V0dGluZ3N8TGlua1wiPkxpbms8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwibGluay5ocmVmXCIgdHlwZT1cInVybFwiIHBsYWNlaG9sZGVyPVwiTGlua1wiIChibHVyKT1cIm1hcmtGb3JDaGVjaygpXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiTGluayBTZXR0aW5nc3xUYXJnZXRcIj5UYXJnZXQ8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRhcmdldFwiXG4gICAgICAgICAgaTE4bi1wbGFjZWhvbGRlcj1cIkxpbmsgU2V0dGluZ3N8VGFyZ2V0XCJcbiAgICAgICAgICBbKHZhbHVlKV09XCJsaW5rLnRhcmdldFwiXG4gICAgICAgICAgZGlzYWJsZVJpcHBsZVxuICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwibWFya0ZvckNoZWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHRhcmdldCBvZiBnZXRUYXJnZXRzKClcIiBbdmFsdWVdPVwidGFyZ2V0XCI+XG4gICAgICAgICAgICB7eyBnZXRUYXJnZXRMYWJlbCh0YXJnZXQpIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICBgXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDb21wb25lbnQge1xuICBASW5wdXQoKSBsaW5rOiBJTGluaztcblxuICBwcml2YXRlIHRhcmdldExhYmVscyA9IG5ldyBNYXAoW1xuICAgIFsnX2JsYW5rJywgJGxvY2FsaXplYDpAQGxpbmtfdGFyZ2V0X2JsYW5rOkJsYW5rYF0sXG4gICAgWydfc2VsZicsICRsb2NhbGl6ZWA6QEBsaW5rX3RhcmdldF9zZWxmOlNlbGZgXSxcbiAgICBbJ19wYXJlbnQnLCAkbG9jYWxpemVgOkBAbGlua190YXJnZXRfcGFyZW50OlBhcmVudGBdLFxuICAgIFsnX3RvcCcsICRsb2NhbGl6ZWA6QEBsaW5rX3RhcmdldF90b3A6VG9wYF1cbiAgXSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbWFpbE9iamVjdDogUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSkge31cblxuICBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5lbWFpbE9iamVjdC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldFRhcmdldHMoKTogVExpbmtUYXJnZXRbXSB7XG4gICAgcmV0dXJuIFsnX2JsYW5rJywgJ19zZWxmJywgJ19wYXJlbnQnLCAnX3RvcCddO1xuICB9XG5cbiAgZ2V0VGFyZ2V0TGFiZWwodGFyZ2V0OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXRMYWJlbHMuZ2V0KHRhcmdldCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
6
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
7
|
+
export class MarginComponent {
|
|
8
|
+
constructor(emailObject) {
|
|
9
|
+
this.emailObject = emailObject;
|
|
10
|
+
}
|
|
11
|
+
markForCheck() {
|
|
12
|
+
this.emailObject.markForCheck();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
MarginComponent.decorators = [
|
|
16
|
+
{ type: Component, args: [{
|
|
17
|
+
selector: 'pb-margin',
|
|
18
|
+
template: `
|
|
19
|
+
<div class="group">
|
|
20
|
+
<mat-form-field appearance="outline">
|
|
21
|
+
<mat-label i18n="Margin settings|Margin Top">Margin Top</mat-label>
|
|
22
|
+
<input matInput type="number" min="0" step="1" [(ngModel)]="margin.top" (input)="markForCheck()" />
|
|
23
|
+
</mat-form-field>
|
|
24
|
+
<mat-form-field appearance="outline">
|
|
25
|
+
<mat-label i18n="Margin settings|Margin Bottom">Margin Bottom</mat-label>
|
|
26
|
+
<input matInput type="number" min="0" step="1" [(ngModel)]="margin.bottom" (input)="markForCheck()" />
|
|
27
|
+
</mat-form-field>
|
|
28
|
+
</div>
|
|
29
|
+
`,
|
|
30
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
|
+
styles: [`
|
|
32
|
+
:host {
|
|
33
|
+
display: block;
|
|
34
|
+
width: 100%;
|
|
35
|
+
}
|
|
36
|
+
`]
|
|
37
|
+
},] }
|
|
38
|
+
];
|
|
39
|
+
MarginComponent.ctorParameters = () => [
|
|
40
|
+
{ type: PbEmailObjectStoreService }
|
|
41
|
+
];
|
|
42
|
+
MarginComponent.propDecorators = {
|
|
43
|
+
margin: [{ type: Input }]
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyZ2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2dyb3Vwcy9tYXJnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUEwQnRILE1BQU0sT0FBTyxlQUFlO0lBRzFCLFlBQW9CLFdBQXNDO1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtJQUFHLENBQUM7SUFFOUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7O1lBL0JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFOzs7Ozs7Ozs7OztHQVdUO2dCQVNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQVA3Qzs7Ozs7S0FLQzthQUdKOzs7WUF6QlEseUJBQXlCOzs7cUJBMkIvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFyZ2luIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItbWFyZ2luJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXJnaW4gc2V0dGluZ3N8TWFyZ2luIFRvcFwiPk1hcmdpbiBUb3A8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjFcIiBbKG5nTW9kZWwpXT1cIm1hcmdpbi50b3BcIiAoaW5wdXQpPVwibWFya0ZvckNoZWNrKClcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJNYXJnaW4gc2V0dGluZ3N8TWFyZ2luIEJvdHRvbVwiPk1hcmdpbiBCb3R0b208L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjFcIiBbKG5nTW9kZWwpXT1cIm1hcmdpbi5ib3R0b21cIiAoaW5wdXQpPVwibWFya0ZvckNoZWNrKClcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXJnaW5Db21wb25lbnQge1xuICBASW5wdXQoKSBtYXJnaW46IElNYXJnaW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbWFpbE9iamVjdDogUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSkge31cblxuICBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5lbWFpbE9iamVjdC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
6
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
7
|
+
export class PaddingComponent {
|
|
8
|
+
constructor(emailObject) {
|
|
9
|
+
this.emailObject = emailObject;
|
|
10
|
+
}
|
|
11
|
+
markForCheck() {
|
|
12
|
+
this.emailObject.markForCheck();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
PaddingComponent.decorators = [
|
|
16
|
+
{ type: Component, args: [{
|
|
17
|
+
selector: 'pb-padding',
|
|
18
|
+
template: `
|
|
19
|
+
<div class="group four">
|
|
20
|
+
<mat-form-field appearance="outline">
|
|
21
|
+
<mat-label i18n="Padding Settings|Padding Top">Top</mat-label>
|
|
22
|
+
<input matInput type="number" min="0" step="1" (input)="markForCheck()" [(ngModel)]="padding.top" />
|
|
23
|
+
</mat-form-field>
|
|
24
|
+
<mat-form-field appearance="outline">
|
|
25
|
+
<mat-label i18n="Padding Settings|Padding Right">Right</mat-label>
|
|
26
|
+
<input matInput type="number" min="0" step="1" (input)="markForCheck()" [(ngModel)]="padding.right" />
|
|
27
|
+
</mat-form-field>
|
|
28
|
+
<mat-form-field appearance="outline">
|
|
29
|
+
<mat-label i18n="Padding Settings|Padding Bottom">Bottom</mat-label>
|
|
30
|
+
<input matInput type="number" min="0" step="1" (input)="markForCheck()" [(ngModel)]="padding.bottom" />
|
|
31
|
+
</mat-form-field>
|
|
32
|
+
<mat-form-field appearance="outline">
|
|
33
|
+
<mat-label i18n="Padding Settings|Padding Left">Left</mat-label>
|
|
34
|
+
<input matInput type="number" min="0" step="1" (input)="markForCheck()" [(ngModel)]="padding.left" />
|
|
35
|
+
</mat-form-field>
|
|
36
|
+
</div>
|
|
37
|
+
`,
|
|
38
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
39
|
+
styles: [`
|
|
40
|
+
:host {
|
|
41
|
+
display: block;
|
|
42
|
+
width: 100%;
|
|
43
|
+
}
|
|
44
|
+
`]
|
|
45
|
+
},] }
|
|
46
|
+
];
|
|
47
|
+
PaddingComponent.ctorParameters = () => [
|
|
48
|
+
{ type: PbEmailObjectStoreService }
|
|
49
|
+
];
|
|
50
|
+
PaddingComponent.propDecorators = {
|
|
51
|
+
padding: [{ type: Input }]
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9ncm91cHMvcGFkZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQWtDdEgsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFvQixXQUFzQztRQUF0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7SUFBRyxDQUFDO0lBRTlELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OztZQXZDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CVDtnQkFTRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTt5QkFQN0M7Ozs7O0tBS0M7YUFHSjs7O1lBakNRLHlCQUF5Qjs7O3NCQW1DL0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBhZGRpbmcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGJFbWFpbE9iamVjdFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVybmFscy9wYi1lbWFpbC1vYmplY3Qtc3RvcmUvcGItZW1haWwtb2JqZWN0LXN0b3JlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYi1wYWRkaW5nJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAgZm91clwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIlBhZGRpbmcgU2V0dGluZ3N8UGFkZGluZyBUb3BcIj5Ub3A8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjFcIiAoaW5wdXQpPVwibWFya0ZvckNoZWNrKClcIiBbKG5nTW9kZWwpXT1cInBhZGRpbmcudG9wXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbCBpMThuPVwiUGFkZGluZyBTZXR0aW5nc3xQYWRkaW5nIFJpZ2h0XCI+UmlnaHQ8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBtaW49XCIwXCIgc3RlcD1cIjFcIiAoaW5wdXQpPVwibWFya0ZvckNoZWNrKClcIiBbKG5nTW9kZWwpXT1cInBhZGRpbmcucmlnaHRcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsIGkxOG49XCJQYWRkaW5nIFNldHRpbmdzfFBhZGRpbmcgQm90dG9tXCI+Qm90dG9tPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIHN0ZXA9XCIxXCIgKGlucHV0KT1cIm1hcmtGb3JDaGVjaygpXCIgWyhuZ01vZGVsKV09XCJwYWRkaW5nLmJvdHRvbVwiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIlBhZGRpbmcgU2V0dGluZ3N8UGFkZGluZyBMZWZ0XCI+TGVmdDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cIjBcIiBzdGVwPVwiMVwiIChpbnB1dCk9XCJtYXJrRm9yQ2hlY2soKVwiIFsobmdNb2RlbCldPVwicGFkZGluZy5sZWZ0XCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGBcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGFkZGluZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBhZGRpbmc6IElQYWRkaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW1haWxPYmplY3Q6IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UpIHt9XG5cbiAgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuZW1haWxPYmplY3QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { __awaiter } from "tslib";
|
|
6
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
7
|
+
import { Subject } from 'rxjs';
|
|
8
|
+
import { PbUserImageUploaderService } from '../services/user-image-uploader-service/user-image-uploader.service';
|
|
9
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
10
|
+
export class ImageUploadComponent {
|
|
11
|
+
constructor(imageUpload, emailObject) {
|
|
12
|
+
this.imageUpload = imageUpload;
|
|
13
|
+
this.emailObject = emailObject;
|
|
14
|
+
this.key = 'src';
|
|
15
|
+
this.browsing = new Subject();
|
|
16
|
+
}
|
|
17
|
+
get source() {
|
|
18
|
+
return this.block[this.key];
|
|
19
|
+
}
|
|
20
|
+
set source(value) {
|
|
21
|
+
this.block[this.key] = value;
|
|
22
|
+
}
|
|
23
|
+
markForCheck() {
|
|
24
|
+
this.emailObject.markForCheck();
|
|
25
|
+
}
|
|
26
|
+
browse() {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
this.browsing.next(true);
|
|
29
|
+
try {
|
|
30
|
+
const path = yield this.imageUpload.browse$().toPromise();
|
|
31
|
+
if (path) {
|
|
32
|
+
this.source = path;
|
|
33
|
+
this.emailObject.markForCheck();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
this.browsing.next(false);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.source = this.block.src || this.block.url;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ImageUploadComponent.decorators = [
|
|
46
|
+
{ type: Component, args: [{
|
|
47
|
+
selector: 'pb-image-upload',
|
|
48
|
+
template: `
|
|
49
|
+
<div fxLayout fxLayoutAlign="space-between center">
|
|
50
|
+
<div class="image-info" [fxFlex]="source ? '30%' : '60%'" fxLayout fxLayoutGap="0.5em" fxLayoutAlign="center center">
|
|
51
|
+
<div *ngIf="source" class="chose-image">
|
|
52
|
+
<img [src]="source" alt="image source" />
|
|
53
|
+
</div>
|
|
54
|
+
<span *ngIf="!source" style="width: 100%;" i18n="Upload Image Settings|Upload an image"> Upload an image </span>
|
|
55
|
+
</div>
|
|
56
|
+
<button
|
|
57
|
+
type="button"
|
|
58
|
+
(click)="browse()"
|
|
59
|
+
[disabled]="browsing | async"
|
|
60
|
+
color="primary"
|
|
61
|
+
mat-stroked-button
|
|
62
|
+
i18n="Upload Image Settings|Browse"
|
|
63
|
+
>
|
|
64
|
+
Browse
|
|
65
|
+
</button>
|
|
66
|
+
</div>
|
|
67
|
+
<mat-form-field appearance="outline" style="width: 100%">
|
|
68
|
+
<mat-label i18n="Upload Image Settings|Image Source">Image Source</mat-label>
|
|
69
|
+
<input matInput [(ngModel)]="source" type="url" (input)="markForCheck()" />
|
|
70
|
+
</mat-form-field>
|
|
71
|
+
`,
|
|
72
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
73
|
+
styles: [`
|
|
74
|
+
:host {
|
|
75
|
+
display: block;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.chose-image {
|
|
79
|
+
width: 100%;
|
|
80
|
+
max-height: 60px;
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
border-radius: 3px;
|
|
83
|
+
line-height: 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.chose-image img {
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: 60px;
|
|
89
|
+
object-fit: cover;
|
|
90
|
+
object-position: center;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.size {
|
|
94
|
+
font-size: 80%;
|
|
95
|
+
color: #ccc;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
mat-form-field {
|
|
99
|
+
margin-top: 0.5rem;
|
|
100
|
+
}
|
|
101
|
+
`]
|
|
102
|
+
},] }
|
|
103
|
+
];
|
|
104
|
+
ImageUploadComponent.ctorParameters = () => [
|
|
105
|
+
{ type: PbUserImageUploaderService },
|
|
106
|
+
{ type: PbEmailObjectStoreService }
|
|
107
|
+
];
|
|
108
|
+
ImageUploadComponent.propDecorators = {
|
|
109
|
+
block: [{ type: Input }],
|
|
110
|
+
key: [{ type: Input }]
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2dyb3Vwcy91cGxvYWQtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFFakgsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUE4RHRILE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFBb0IsV0FBdUMsRUFBVSxXQUFzQztRQUF2RixnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBMkI7UUFIbEcsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUNyQixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVxRixDQUFDO0lBRS9HLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUssTUFBTTs7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQ2pDO2FBQ0Y7b0JBQVM7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7UUFDSCxDQUFDO0tBQUE7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBZ0IsSUFBSSxDQUFDLEtBQU0sQ0FBQyxHQUFHLElBQWtCLElBQUksQ0FBQyxLQUFNLENBQUMsR0FBRyxDQUFDO0lBQzlFLENBQUM7OztZQTdGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFnQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07eUJBdEQ3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTRCQzthQTJCSjs7O1lBL0RRLDBCQUEwQjtZQUUxQix5QkFBeUI7OztvQkErRC9CLEtBQUs7a0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBiVXNlckltYWdlVXBsb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXNlci1pbWFnZS11cGxvYWRlci1zZXJ2aWNlL3VzZXItaW1hZ2UtdXBsb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbWFnZUJsb2NrIH0gZnJvbSAnLi4vY2xhc3Nlcy9FbGVtZW50cyc7XG5pbXBvcnQgeyBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaW50ZXJuYWxzL3BiLWVtYWlsLW9iamVjdC1zdG9yZS9wYi1lbWFpbC1vYmplY3Qtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBJQmFja2dyb3VuZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BiLWltYWdlLXVwbG9hZCcsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5jaG9zZS1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hvc2UtaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAuc2l6ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgIH1cblxuICAgICAgbWF0LWZvcm0tZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICB9XG4gICAgYFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtaW5mb1wiIFtmeEZsZXhdPVwic291cmNlID8gJzMwJScgOiAnNjAlJ1wiIGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMC41ZW1cIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic291cmNlXCIgY2xhc3M9XCJjaG9zZS1pbWFnZVwiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJzb3VyY2VcIiBhbHQ9XCJpbWFnZSBzb3VyY2VcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhc291cmNlXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBpMThuPVwiVXBsb2FkIEltYWdlIFNldHRpbmdzfFVwbG9hZCBhbiBpbWFnZVwiPiBVcGxvYWQgYW4gaW1hZ2UgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiYnJvd3NlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYnJvd3NpbmcgfCBhc3luY1wiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIG1hdC1zdHJva2VkLWJ1dHRvblxuICAgICAgICBpMThuPVwiVXBsb2FkIEltYWdlIFNldHRpbmdzfEJyb3dzZVwiXG4gICAgICA+XG4gICAgICAgIEJyb3dzZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxuICAgICAgPG1hdC1sYWJlbCBpMThuPVwiVXBsb2FkIEltYWdlIFNldHRpbmdzfEltYWdlIFNvdXJjZVwiPkltYWdlIFNvdXJjZTwvbWF0LWxhYmVsPlxuICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwic291cmNlXCIgdHlwZT1cInVybFwiIChpbnB1dCk9XCJtYXJrRm9yQ2hlY2soKVwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBibG9jazogSW1hZ2VCbG9jayB8IElCYWNrZ3JvdW5kO1xuICBASW5wdXQoKSBrZXkgPSAnc3JjJztcbiAgYnJvd3NpbmcgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW1hZ2VVcGxvYWQ6IFBiVXNlckltYWdlVXBsb2FkZXJTZXJ2aWNlLCBwcml2YXRlIGVtYWlsT2JqZWN0OiBQYkVtYWlsT2JqZWN0U3RvcmVTZXJ2aWNlKSB7fVxuXG4gIGdldCBzb3VyY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmxvY2tbdGhpcy5rZXldO1xuICB9XG5cbiAgc2V0IHNvdXJjZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5ibG9ja1t0aGlzLmtleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmVtYWlsT2JqZWN0Lm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgYnJvd3NlKCkge1xuICAgIHRoaXMuYnJvd3NpbmcubmV4dCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF0aCA9IGF3YWl0IHRoaXMuaW1hZ2VVcGxvYWQuYnJvd3NlJCgpLnRvUHJvbWlzZSgpO1xuICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBwYXRoO1xuICAgICAgICB0aGlzLmVtYWlsT2JqZWN0Lm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmJyb3dzaW5nLm5leHQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc291cmNlID0gKDxJbWFnZUJsb2NrPnRoaXMuYmxvY2spLnNyYyB8fCAoPElCYWNrZ3JvdW5kPnRoaXMuYmxvY2spLnVybDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
6
|
+
import { PbEmailObjectStoreService } from '../services/internals/pb-email-object-store/pb-email-object-store.service';
|
|
7
|
+
export class WidthHeightComponent {
|
|
8
|
+
constructor(emailObject) {
|
|
9
|
+
this.emailObject = emailObject;
|
|
10
|
+
this.disabled = false;
|
|
11
|
+
this.units = new Map([
|
|
12
|
+
['%', $localize `:@@unit_percent:Percent`],
|
|
13
|
+
['px', $localize `:@@unit_pixels:Pixels`],
|
|
14
|
+
['contain', $localize `:@@unit_contain:Contain`],
|
|
15
|
+
['cover', $localize `:@@unit_cover:Cover`]
|
|
16
|
+
]);
|
|
17
|
+
}
|
|
18
|
+
markForCheck() {
|
|
19
|
+
this.emailObject.markForCheck();
|
|
20
|
+
}
|
|
21
|
+
getLabel() {
|
|
22
|
+
return this.label;
|
|
23
|
+
}
|
|
24
|
+
toggleChange({ checked }) {
|
|
25
|
+
this.model.auto = checked;
|
|
26
|
+
this.markForCheck();
|
|
27
|
+
}
|
|
28
|
+
getUnits() {
|
|
29
|
+
return this.model.units || ['%', 'px'];
|
|
30
|
+
}
|
|
31
|
+
disableValueField() {
|
|
32
|
+
return this.model.auto || ['%', 'px'].indexOf(this.model.unit) === -1;
|
|
33
|
+
}
|
|
34
|
+
showAutoSlider() {
|
|
35
|
+
return this.model.hasOwnProperty('auto');
|
|
36
|
+
}
|
|
37
|
+
getUnitLabel(unit) {
|
|
38
|
+
return this.units.get(unit);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
WidthHeightComponent.decorators = [
|
|
42
|
+
{ type: Component, args: [{
|
|
43
|
+
selector: 'pb-width-height',
|
|
44
|
+
template: `
|
|
45
|
+
<div class="group" [ngClass]="{ three: showAutoSlider() }">
|
|
46
|
+
<mat-form-field appearance="outline">
|
|
47
|
+
<mat-label>{{ getLabel() }}</mat-label>
|
|
48
|
+
<input
|
|
49
|
+
matInput
|
|
50
|
+
[(ngModel)]="model.value"
|
|
51
|
+
[disabled]="disableValueField() || disabled"
|
|
52
|
+
type="number"
|
|
53
|
+
[placeholder]="getLabel()"
|
|
54
|
+
(input)="markForCheck()"
|
|
55
|
+
/>
|
|
56
|
+
</mat-form-field>
|
|
57
|
+
<mat-form-field appearance="outline">
|
|
58
|
+
<mat-label i18n="Size Settings|Size Unit">Unit</mat-label>
|
|
59
|
+
<mat-select [disabled]="model.auto || disabled" [(value)]="model.unit" (selectionChange)="markForCheck()" disableRipple>
|
|
60
|
+
<mat-option *ngFor="let unit of getUnits()" [value]="unit" i18n>
|
|
61
|
+
{{ getUnitLabel(unit) }}
|
|
62
|
+
</mat-option>
|
|
63
|
+
</mat-select>
|
|
64
|
+
</mat-form-field>
|
|
65
|
+
<mat-slide-toggle
|
|
66
|
+
style="margin-top: -20px;"
|
|
67
|
+
*ngIf="showAutoSlider()"
|
|
68
|
+
[checked]="model.auto"
|
|
69
|
+
(change)="toggleChange($event)"
|
|
70
|
+
[disabled]="disabled"
|
|
71
|
+
i18n="Size Settings|Size Auto"
|
|
72
|
+
>
|
|
73
|
+
Auto
|
|
74
|
+
</mat-slide-toggle>
|
|
75
|
+
</div>
|
|
76
|
+
`,
|
|
77
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
78
|
+
styles: [`
|
|
79
|
+
:host {
|
|
80
|
+
display: block;
|
|
81
|
+
width: 100%;
|
|
82
|
+
}
|
|
83
|
+
`]
|
|
84
|
+
},] }
|
|
85
|
+
];
|
|
86
|
+
WidthHeightComponent.ctorParameters = () => [
|
|
87
|
+
{ type: PbEmailObjectStoreService }
|
|
88
|
+
];
|
|
89
|
+
WidthHeightComponent.propDecorators = {
|
|
90
|
+
model: [{ type: Input }],
|
|
91
|
+
label: [{ type: Input }],
|
|
92
|
+
disabled: [{ type: Input }]
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkdGgtaGVpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGItZW1haWwtYnVpbGRlci9zcmMvbGliL2dyb3Vwcy93aWR0aC1oZWlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUErQ3RILE1BQU0sT0FBTyxvQkFBb0I7SUFXL0IsWUFBb0IsV0FBc0M7UUFBdEMsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBUmpELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDbEIsVUFBSyxHQUF3QixJQUFJLEdBQUcsQ0FBQztZQUMzQyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUEseUJBQXlCLENBQUM7WUFDekMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFBLHVCQUF1QixDQUFDO1lBQ3hDLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQSx5QkFBeUIsQ0FBQztZQUMvQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUEscUJBQXFCLENBQUM7U0FDMUMsQ0FBQyxDQUFDO0lBRTBELENBQUM7SUFFOUQsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBckZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUO2dCQVNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO3lCQVA3Qzs7Ozs7S0FLQzthQUdKOzs7WUE5Q1EseUJBQXlCOzs7b0JBZ0QvQixLQUFLO29CQUNMLEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVdpZHRoSGVpZ2h0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbnRlcm5hbHMvcGItZW1haWwtb2JqZWN0LXN0b3JlL3BiLWVtYWlsLW9iamVjdC1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGItd2lkdGgtaGVpZ2h0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZ3JvdXBcIiBbbmdDbGFzc109XCJ7IHRocmVlOiBzaG93QXV0b1NsaWRlcigpIH1cIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGdldExhYmVsKCkgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnZhbHVlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZVZhbHVlRmllbGQoKSB8fCBkaXNhYmxlZFwiXG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldExhYmVsKClcIlxuICAgICAgICAgIChpbnB1dCk9XCJtYXJrRm9yQ2hlY2soKVwiXG4gICAgICAgIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWwgaTE4bj1cIlNpemUgU2V0dGluZ3N8U2l6ZSBVbml0XCI+VW5pdDwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBbZGlzYWJsZWRdPVwibW9kZWwuYXV0byB8fCBkaXNhYmxlZFwiIFsodmFsdWUpXT1cIm1vZGVsLnVuaXRcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cIm1hcmtGb3JDaGVjaygpXCIgZGlzYWJsZVJpcHBsZT5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdW5pdCBvZiBnZXRVbml0cygpXCIgW3ZhbHVlXT1cInVuaXRcIiBpMThuPlxuICAgICAgICAgICAge3sgZ2V0VW5pdExhYmVsKHVuaXQpIH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAtMjBweDtcIlxuICAgICAgICAqbmdJZj1cInNob3dBdXRvU2xpZGVyKClcIlxuICAgICAgICBbY2hlY2tlZF09XCJtb2RlbC5hdXRvXCJcbiAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIGkxOG49XCJTaXplIFNldHRpbmdzfFNpemUgQXV0b1wiXG4gICAgICA+XG4gICAgICAgIEF1dG9cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBXaWR0aEhlaWdodENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGVsOiBJV2lkdGhIZWlnaHQ7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgdW5pdHM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKFtcbiAgICBbJyUnLCAkbG9jYWxpemVgOkBAdW5pdF9wZXJjZW50OlBlcmNlbnRgXSxcbiAgICBbJ3B4JywgJGxvY2FsaXplYDpAQHVuaXRfcGl4ZWxzOlBpeGVsc2BdLFxuICAgIFsnY29udGFpbicsICRsb2NhbGl6ZWA6QEB1bml0X2NvbnRhaW46Q29udGFpbmBdLFxuICAgIFsnY292ZXInLCAkbG9jYWxpemVgOkBAdW5pdF9jb3ZlcjpDb3ZlcmBdXG4gIF0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZW1haWxPYmplY3Q6IFBiRW1haWxPYmplY3RTdG9yZVNlcnZpY2UpIHt9XG5cbiAgbWFya0ZvckNoZWNrKCkge1xuICAgIHRoaXMuZW1haWxPYmplY3QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXRMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbDtcbiAgfVxuXG4gIHRvZ2dsZUNoYW5nZSh7IGNoZWNrZWQgfSkge1xuICAgIHRoaXMubW9kZWwuYXV0byA9IGNoZWNrZWQ7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldFVuaXRzKCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLnVuaXRzIHx8IFsnJScsICdweCddO1xuICB9XG5cbiAgZGlzYWJsZVZhbHVlRmllbGQoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuYXV0byB8fCBbJyUnLCAncHgnXS5pbmRleE9mKHRoaXMubW9kZWwudW5pdCkgPT09IC0xO1xuICB9XG5cbiAgc2hvd0F1dG9TbGlkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuaGFzT3duUHJvcGVydHkoJ2F1dG8nKTtcbiAgfVxuXG4gIGdldFVuaXRMYWJlbCh1bml0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnVuaXRzLmdldCh1bml0KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import { Injectable, Inject } from '@angular/core';
|
|
6
|
+
import { HttpEventType } from '@angular/common/http';
|
|
7
|
+
import { tap } from 'rxjs/operators';
|
|
8
|
+
import { PB_CONFIG, PB_DEFAULT_CONFIG } from '../tokens/tokens';
|
|
9
|
+
import { PbUserInterfaceService } from '../services/internals/user-interfaces/user-interface.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../tokens/tokens";
|
|
12
|
+
import * as i2 from "../services/internals/user-interfaces/user-interface.service";
|
|
13
|
+
export class IpInterceptorInterceptor {
|
|
14
|
+
constructor(userConfig, userInterface) {
|
|
15
|
+
this.userConfig = userConfig;
|
|
16
|
+
this.userInterface = userInterface;
|
|
17
|
+
}
|
|
18
|
+
intercept(request, next) {
|
|
19
|
+
if (request.url.startsWith('https://ngb-api.wlocalhost.org')) {
|
|
20
|
+
const notify = this.userInterface.notify('Loading, please wait ...', null, null);
|
|
21
|
+
const { xApiKey } = Object.assign(Object.assign({}, PB_DEFAULT_CONFIG), this.userConfig);
|
|
22
|
+
return next
|
|
23
|
+
.handle(request.clone({
|
|
24
|
+
setHeaders: {
|
|
25
|
+
'Content-Type': 'application/json',
|
|
26
|
+
'X-Api-Key': xApiKey
|
|
27
|
+
},
|
|
28
|
+
responseType: 'json'
|
|
29
|
+
}))
|
|
30
|
+
.pipe(tap((res) => {
|
|
31
|
+
if (res.type === HttpEventType.Response) {
|
|
32
|
+
notify.dismiss();
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return next.handle(request);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
IpInterceptorInterceptor.ɵprov = i0.ɵɵdefineInjectable({ factory: function IpInterceptorInterceptor_Factory() { return new IpInterceptorInterceptor(i0.ɵɵinject(i1.PB_CONFIG), i0.ɵɵinject(i2.PbUserInterfaceService)); }, token: IpInterceptorInterceptor, providedIn: "root" });
|
|
42
|
+
IpInterceptorInterceptor.decorators = [
|
|
43
|
+
{ type: Injectable, args: [{
|
|
44
|
+
providedIn: 'root'
|
|
45
|
+
},] }
|
|
46
|
+
];
|
|
47
|
+
IpInterceptorInterceptor.ctorParameters = () => [
|
|
48
|
+
{ type: undefined, decorators: [{ type: Inject, args: [PB_CONFIG,] }] },
|
|
49
|
+
{ type: PbUserInterfaceService }
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGItaW50ZXJjZXB0b3IuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wYi1lbWFpbC1idWlsZGVyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3BiLWludGVyY2VwdG9yLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBc0UsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7OztBQUt0RyxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQXVDLFVBQXdCLEVBQVUsYUFBcUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtJQUFHLENBQUM7SUFFbEgsU0FBUyxDQUFDLE9BQTZCLEVBQUUsSUFBaUI7UUFDeEQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQzVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLDBCQUEwQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRixNQUFNLEVBQUUsT0FBTyxFQUFFLG1DQUFRLGlCQUFpQixHQUFLLElBQUksQ0FBQyxVQUFVLENBQUUsQ0FBQztZQUNqRSxPQUFPLElBQUk7aUJBQ1IsTUFBTSxDQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ1osVUFBVSxFQUFFO29CQUNWLGNBQWMsRUFBRSxrQkFBa0I7b0JBQ2xDLFdBQVcsRUFBRSxPQUFPO2lCQUNyQjtnQkFDRCxZQUFZLEVBQUUsTUFBTTthQUNyQixDQUFDLENBQ0g7aUJBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQXNCLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUU7b0JBQ3ZDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbEI7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0w7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7Ozs7WUE5QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7NENBRWMsTUFBTSxTQUFDLFNBQVM7WUFOdEIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAyNCBQb2J1Y2EuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBQQl9DT05GSUcsIFBCX0RFRkFVTFRfQ09ORklHIH0gZnJvbSAnLi4vdG9rZW5zL3Rva2Vucyc7XG5pbXBvcnQgeyBJRm9yUm9vdENvbmYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGJVc2VySW50ZXJmYWNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2ludGVybmFscy91c2VyLWludGVyZmFjZXMvdXNlci1pbnRlcmZhY2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElwSW50ZXJjZXB0b3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUEJfQ09ORklHKSBwcml2YXRlIHVzZXJDb25maWc6IElGb3JSb290Q29uZiwgcHJpdmF0ZSB1c2VySW50ZXJmYWNlOiBQYlVzZXJJbnRlcmZhY2VTZXJ2aWNlKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDx1bmtub3duPj4ge1xuICAgIGlmIChyZXF1ZXN0LnVybC5zdGFydHNXaXRoKCdodHRwczovL25nYi1hcGkud2xvY2FsaG9zdC5vcmcnKSkge1xuICAgICAgY29uc3Qgbm90aWZ5ID0gdGhpcy51c2VySW50ZXJmYWNlLm5vdGlmeSgnTG9hZGluZywgcGxlYXNlIHdhaXQgLi4uJywgbnVsbCwgbnVsbCk7XG4gICAgICBjb25zdCB7IHhBcGlLZXkgfSA9IHsgLi4uUEJfREVGQVVMVF9DT05GSUcsIC4uLnRoaXMudXNlckNvbmZpZyB9O1xuICAgICAgcmV0dXJuIG5leHRcbiAgICAgICAgLmhhbmRsZShcbiAgICAgICAgICByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICAgJ1gtQXBpLUtleSc6IHhBcGlLZXlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJ1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChyZXM6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzLnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgbm90aWZ5LmRpc21pc3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Pobuca.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Template Storage/Cache keys.
|
|
7
|
+
*/
|
|
8
|
+
export var ETemplatesStorage;
|
|
9
|
+
(function (ETemplatesStorage) {
|
|
10
|
+
ETemplatesStorage["LATEST_USED"] = "NGB_LATEST_USED_TEMPLATES";
|
|
11
|
+
ETemplatesStorage["STORAGE"] = "NGB_TEMP_TEMPLATES_STORAGE";
|
|
12
|
+
})(ETemplatesStorage || (ETemplatesStorage = {}));
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BiLWVtYWlsLWJ1aWxkZXIvc3JjL2xpYi9pbnRlcmZhY2VzL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBdWRIOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksaUJBR1g7QUFIRCxXQUFZLGlCQUFpQjtJQUMzQiw4REFBeUMsQ0FBQTtJQUN6QywyREFBc0MsQ0FBQTtBQUN4QyxDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjQgUG9idWNhLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBUQmxvY2tzIH0gZnJvbSAnLi4vY2xhc3Nlcy9FbGVtZW50cyc7XG5cbi8qKlxuICogTWFpbiBidWlsZGVyIGNvbmZpZ3VyYXRpb24gSW50ZXJmYWNlLiBTZWUgYWxzbyB7QGxpbmsgUGJFbWFpbEJ1aWxkZXJNb2R1bGUjd2l0aENvbmZpZ30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZvclJvb3RDb25mIHtcbiAgLyoqXG4gICAqICBFaXRoZXIgYW4gW0V4dGVuZGVkIG9yIENvbW1lcmNpYWwgTGljZW5zZV17QGxpbmt9IGtleSBpZiBhbnksIG90aGVyd2lzZSBsZWF2ZSBpdCBlbXB0eS5cbiAgICogIEBkZWZhdWx0IHQ3SGRRZlpqR3A2Ujk2Zk9WNFA4djE4Z2dmNkxMVFFaMXB1VUkydHpcbiAgICovXG4gIHhBcGlLZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFJld3JpdGUgUGJVc2VyUmVzdEFwaVNlcnZpY2UgaW4gcHJvdmlkZXJzIGluc3RlYWRcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdXBsb2FkSW1hZ2VQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgUmV3cml0ZSBQYlVzZXJSZXN0QXBpU2VydmljZSBpbiBwcm92aWRlcnMgaW5zdGVhZFxuICAgKiBAaWdub3JlXG4gICAqL1xuICB1cGxvYWRJbWFnZU5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBSZXdyaXRlIFBiVXNlclJlc3RBcGlTZXJ2aWNlIGluIHByb3ZpZGVycyBpbnN0ZWFkXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNzcmY/OiB7IG5hbWU6IHN0cmluZzsgdG9rZW46IHN0cmluZyB9O1xuICAvKipcbiAgICogQ3VzdG9tIGNvbnZlcnRvciBwYXRoXG4gICAqL1xuICBhcGlQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG93IGRvd25sb2FkIGJ1dHRvbiBvbiBidWlsZGVyIHRvcCBiYXIuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHVzZURvd25sb2FkQnV0dG9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNob3cgcHJldmlldyBidXR0b24gIG9uIGJ1aWxkZXIgdG9wIGJhci5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgdXNlUHJldmlld0J1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTaG93IHNhdmUgYnV0dG9uIG9uIGJ1aWxkZXIgdG9wIGJhci5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgdXNlU2F2ZUJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTaG93IGEgYnV0dG9uIHRoYXQgb3BlbnMgdGVtcGxhdGUgZ2FsbGVyeSBpbiBjYXNlIGVtYWlsIGJvZHkgaXMgZW1wdHkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHRlbXBsYXRlTGlzdElmRW1wdHk/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbnZlcnRvciBlcnJvcnMgcmVzcG9uc2UgaW50ZXJmYWNlLCBpZCBhbnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1qbWxTZXJ2ZXJSZXNwb25zZUVycm9ycyB7XG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xuICAvKipcbiAgICogTUpNTCBUYWdOYW1lIGVycm9yIG9jY3VycmVkLlxuICAgKi9cbiAgdGFnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnZlcnRvciByZXNwb25zZSBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1qbWxTZXJ2ZXJSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBDb252ZXJ0ZWQgSFRNTCBUZW1wbGF0ZSBiYXNlZCBvbiB7QGxpbmsgSVBCRW1haWx9LlxuICAgKi9cbiAgaHRtbDogc3RyaW5nO1xuICAvKipcbiAgICogQ29udmVydGVkIE1KTUwgVGVtcGxhdGUgYmFzZWQgb24ge0BsaW5rIElQQkVtYWlsfS5cbiAgICovXG4gIG1qbWw6IHN0cmluZztcbiAgLyoqXG4gICAqIEVycm9yIHJlcHJlc2VudGF0aW9uIGlmIGFueS4gU2VlIHtAbGluayBJTWptbFNlcnZlclJlc3BvbnNlRXJyb3JzfS5cbiAgICovXG4gIGVycm9yczogSU1qbWxTZXJ2ZXJSZXNwb25zZUVycm9yc1tdO1xufVxuXG4vKipcbiAqIEJ1aWxkZXIgc3RydWN0dXJlIHR5cGVzLlxuICogQGRlZmF1bHQgY29sc18xXG4gKi9cbmV4cG9ydCB0eXBlIFRTdHJ1Y3R1cmVUeXBlcyA9ICdjb2xzXzEnIHwgJ2NvbHNfMicgfCAnY29sc18zJyB8ICdjb2xzXzQnIHwgJ2NvbHNfMTInIHwgJ2NvbHNfMjEnO1xuLyoqXG4gKiBCdWlsZGVyIGRpcmVjdGlvbiB0eXBlcy5cbiAqIEBkZWZhdWx0IGx0clxuICovXG5leHBvcnQgdHlwZSBURGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcbi8qKlxuICogQnVpbGRlciB1bml0cyB0eXBlcy5cbiAqIEBkZWZhdWx0IHB4XG4gKi9cbmV4cG9ydCB0eXBlIFRVbml0cyA9ICclJyB8ICdweCcgfCAnY292ZXInIHwgJ2NvbnRhaW4nO1xuLyoqXG4gKiBCdWlsZGVyIGFsaWduIHR5cGVzLlxuICogQGRlZmF1bHQgbGVmdFxuICovXG5leHBvcnQgdHlwZSBUQWxpZ24gPSAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4vKipcbiAqIEJ1aWxkZXIgdmVydGljYWwgYWxpZ24gdHlwZXMuXG4gKiBAZGVmYXVsdCBtaWRkbGVcbiAqL1xuZXhwb3J0IHR5cGUgVFZlcnRpY2FsQWxpZ24gPSAndG9wJyB8ICdtaWRkbGUnIHwgJ2JvdHRvbSc7XG4vKipcbiAqIEJ1aWxkZXIgTGluZS1oZWlnaHQgdHlwZXMuXG4gKiBAZGVmYXVsdCBub25lXG4gKi9cbmV4cG9ydCB0eXBlIFRMaW5lSGVpZ2h0ID0gJyUnIHwgJ3B4JyB8ICdub25lJztcbi8qKlxuICogQnVpbGRlciBMaW5rIHRhcmdldC5cbiAqIEBkZWZhdWx0IF9ibGFua1xuICovXG5leHBvcnQgdHlwZSBUTGlua1RhcmdldCA9ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcbi8qKlxuICogQnVpbGRlciBmb250IHN0eWxlIHR5cGVzLlxuICogQGRlZmF1bHQgbm9ybWFsXG4gKi9cbmV4cG9ydCB0eXBlIFRGb250U3R5bGUgPSAnaXRhbGljJyB8ICdub3JtYWwnIHwgJ29ibGlxdWUnO1xuLyoqXG4gKiBCdWlsZGVyIGZvbnQgd2VpZ2h0IHR5cGVzLlxuICogQGRlZmF1bHQgaW5oZXJpdFxuICovXG5leHBvcnQgdHlwZSBURm9udFdlaWdodCA9IG51bWJlciB8ICdib2xkJyB8ICdib2xkZXInIHwgJ2luaGVyaXQnIHwgJ2luaXRpYWwnIHwgJ2xpZ2h0JyB8ICdub3JtYWwnO1xuLyoqXG4gKiBCdWlsZGVyIGJhY2tncm91bmQtcmVwZWF0IHR5cGVzLlxuICogQGRlZmF1bHQgbm8tcmVwZWF0XG4gKi9cbmV4cG9ydCB0eXBlIFRCYWNrZ3JvdW5kUmVwZWF0ID0gJ25vLXJlcGVhdCcgfCAncmVwZWF0JyB8ICdyZXBlYXQteCcgfCAncmVwZWF0LXknO1xuXG4vKipcbiAqIEJ1aWxkZXIgYm9yZGVyIHN0eWxlcyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJvcmRlciB7XG4gIC8qIEJvcmRlciBjb2xvciAqL1xuICBjb2xvcj86IHN0cmluZztcbiAgLyoqXG4gICAqIEJvcmRlciBzdHlsZS5cbiAgICogQGRlZmF1bHQgc29saWRcbiAgICovXG4gIHN0eWxlPzogJ3NvbGlkJyB8ICdkb3R0ZWQnIHwgJ2Rhc2hlZCcgfCAnZG91YmxlJyB8ICdncm9vdmUnO1xuICAvKipcbiAgICogQm9yZGVyIHdpZHRoXG4gICAqL1xuICB3aWR0aD86IG51bWJlcjtcbiAgLyoqXG4gICAqIEJvcmRlciByYWRpdXNcbiAgICovXG4gIHJhZGl1cz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHBhZGRpbmcgc3R5bGVzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGFkZGluZyB7XG4gIHRvcD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgbGVmdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIG1hcmdpbiBzdHlsZXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElNYXJnaW4ge1xuICB0b3A/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIFdpZHRoIGFuZCBIZWlnaHQgc3R5bGVzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJV2lkdGhIZWlnaHQge1xuICB2YWx1ZTogbnVtYmVyO1xuICAvKipcbiAgICogV2lkdGggYW5kIEhlaWdodCB1bml0IHR5cGUuXG4gICAqIEBkZWZhdWx0IHB4XG4gICAqL1xuICB1bml0OiBUVW5pdHM7XG4gIC8vIEVpdGhlciBmdWxsIHdpZHRoIG9yIGZ1bGwgaGVpZ2h0IHN0eWxlcy5cbiAgYXV0bz86IGJvb2xlYW47XG4gIC8vIFVuaXRzIHRvIGJlIHNob3duIGFzIG9wdGlvbnMuXG4gIHVuaXRzPzogVFVuaXRzW107XG59XG5cbi8qKlxuICogQnVpbGRlciBiYWNrZ3JvdW5kIHN0eWxlcyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tncm91bmQge1xuICBjb2xvcj86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xuICByZXBlYXQ/OiBUQmFja2dyb3VuZFJlcGVhdDtcbiAgc2l6ZT86IElXaWR0aEhlaWdodDtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIGZvbnQgc3R5bGVzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRm9udCB7XG4gIGZhbWlseT86IHN0cmluZztcbiAgZmFsbGJhY2s/OiBzdHJpbmc7XG4gIHNpemU/OiBudW1iZXI7XG4gIHN0eWxlPzogVEZvbnRTdHlsZTtcbiAgd2VpZ2h0PzogVEZvbnRXZWlnaHQ7XG59XG5cbmV4cG9ydCB0eXBlIElGb250RmFtaWx5ID0gU2V0PHN0cmluZz47XG5cbi8qKlxuICogQnVpbGRlciBsaW5lLWhlaWdodCBzdHlsZXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElMaW5lSGVpZ2h0IHtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHVuaXQ/OiBUTGluZUhlaWdodDtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIGxpbmsgc3R5bGVzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTGluayB7XG4gIGhyZWY6IHN0cmluZztcbiAgdGFyZ2V0OiBUTGlua1RhcmdldDtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHN0cnVjdHVyZSBjb2x1bW5zJyBzdHlsZXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTdHJ1Y3R1cmVDb2x1bW5PcHRpb25zIHtcbiAgYmFja2dyb3VuZD86IElCYWNrZ3JvdW5kO1xuICBib3JkZXI/OiBJQm9yZGVyO1xuICB2ZXJ0aWNhbEFsaWduPzogVFZlcnRpY2FsQWxpZ247XG59XG5cbi8qKlxuICogQnVpbGRlciBzdHJ1Y3R1cmUgc3R5bGVzIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU3RydWN0dXJlT3B0aW9ucyB7XG4gIGJvcmRlcj86IElCb3JkZXI7XG4gIGJhY2tncm91bmQ/OiBJQmFja2dyb3VuZDtcbiAgcGFkZGluZz86IElQYWRkaW5nO1xuICBtYXJnaW4/OiBJTWFyZ2luO1xuICAvKipcbiAgICogRGlzYWJsZSByZXNwb25zaXZlIGZvciBlbnRpcmUgc3RydWN0dXJlXG4gICAqL1xuICBkaXNhYmxlUmVzcG9uc2l2ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNYW1lIHNlY3Rpb24gZnVsbCB3aWR0aFxuICAgKi9cbiAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbmQgdGhlIEdBUFMhIEdhcHMgYmV0d2VlbiBzdHJ1Y3R1cmUncyBjb2x1bW5zLlxuICAgKi9cbiAgZ2Fwcz86IFtudW1iZXIsIG51bWJlcl07XG4gIGNvbHVtbnNXaWR0aD86IG51bWJlcltdO1xuICBjb2x1bW5zPzogSVN0cnVjdHVyZUNvbHVtbk9wdGlvbnNbXTtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHN0cnVjdHVyZSBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVN0cnVjdHVyZSB7XG4gIHJlYWRvbmx5IHR5cGU6IFRTdHJ1Y3R1cmVUeXBlcztcbiAgLy8gdW5pcXVlIElEcyBmb3IgdW5pcXVlIGNsYXNzIGF0dHJpYnV0ZVxuICByZWFkb25seSBpZDogbnVtYmVyO1xuICAvKipcbiAgICogSWYgaXQncyBtb2R1bGUsIGl0IGNhbid0IGJlIGVkaXRlZCB3aXRoaW4gZW1haWwgYm9keS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGlzTW9kdWxlPzogYm9vbGVhbjtcbiAgb3B0aW9uczogSVN0cnVjdHVyZU9wdGlvbnM7XG4gIC8vIFN0cnVjdHVyZSBjb2x1bW5zLlxuICBlbGVtZW50czogVEJsb2Nrc1tdW107XG4gIHJlYWRvbmx5IGNvbHVtbnM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCdWlsZGVyIGJsb2NrIHN0YXRlIGludGVyZmFjZS4gSWYgYGRpc2FibGVkOiB0cnVlYCBpdCBjYW4ndCBiZSBkcmFnZ2VkIGZyb20gbGVmdCBzaWRlYmFyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCbG9ja1N0YXRlIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNob3cgYSBtZXNzYWdlIGluIGNhc2UgaXQncyBkaXNhYmxlZC5cbiAgICovXG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHtAbGluayBUZXh0RWxlbWVudENvbXBvbmVudH0gb3B0aW9ucyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRleHRCbG9ja09wdGlvbnMge1xuICBjb2xvcj86IHN0cmluZztcbiAgZm9udD86IElGb250O1xuICBsaW5lSGVpZ2h0PzogSUxpbmVIZWlnaHQ7XG4gIHBhZGRpbmc/OiBJUGFkZGluZztcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHtAbGluayBJbWFnZUNvbXBvbmVudH0gb3B0aW9ucyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUltYWdlQkxvY2tPcHRpb25zIHtcbiAgYm9yZGVyPzogSUJvcmRlcjtcbiAgd2lkdGg/OiBJV2lkdGhIZWlnaHQ7XG4gIGhlaWdodD86IElXaWR0aEhlaWdodDtcbiAgbGluaz86IElMaW5rO1xuICBhbGlnbj86IFRBbGlnbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHBhZGRpbmc/OiBJUGFkZGluZztcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHtAbGluayBCdXR0b25Db21wb25lbnR9IG9wdGlvbnMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25CbG9ja09wdGlvbnMge1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIGJvcmRlcj86IElCb3JkZXI7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBmb250PzogSUZvbnQ7XG4gIGFsaWduPzogVEFsaWduO1xuICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICBsaW5lSGVpZ2h0PzogSUxpbmVIZWlnaHQ7XG4gIGxpbms/OiBJTGluaztcbiAgaW5uZXJQYWRkaW5nPzogSVBhZGRpbmc7XG4gIHBhZGRpbmc/OiBJUGFkZGluZztcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHtAbGluayBEaXZpZGVyQ29tcG9uZW50fSBvcHRpb25zIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGl2aWRlckJsb2NrT3B0aW9ucyB7XG4gIGJvcmRlcj86IElCb3JkZXI7XG4gIHBhZGRpbmc/OiBJUGFkZGluZztcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHtAbGluayBTcGFjZXJDb21wb25lbnR9IG9wdGlvbnMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTcGFjZXJCbG9ja09wdGlvbnMge1xuICBoZWlnaHQ/OiBJV2lkdGhIZWlnaHQ7XG4gIHdpZHRoPzogSVdpZHRoSGVpZ2h0O1xufVxuXG4vKipcbiAqIEJ1aWxkZXIge0BsaW5rIFNvY2lhbENvbXBvbmVudH0gb3B0aW9ucyBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNvY2lhbEJsb2NrT3B0aW9ucyB7XG4gIGFsaWduPzogVEFsaWduO1xuICBtb2RlPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgZm9udD86IElGb250O1xuICBpY29uU2l6ZT86IElMaW5lSGVpZ2h0O1xuICBsaW5lSGVpZ2h0PzogSUxpbmVIZWlnaHQ7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBpbm5lclBhZGRpbmc/OiBJUGFkZGluZztcbiAgcGFkZGluZz86IElQYWRkaW5nO1xufVxuXG4vKipcbiAqIEJ1aWxkZXIge0BsaW5rIFNvY2lhbENvbXBvbmVudH0gbmV0d29yayBvcHRpb25zIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU29jaWFsTmV0d29yayB7XG4gIGhyZWY6IHN0cmluZztcbiAgLy8gdGFyZ2V0Pzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgbmFtZTpcbiAgICB8ICdnaXRodWInXG4gICAgfCAnaW5zdGFncmFtJ1xuICAgIHwgJ3dlYidcbiAgICB8ICdzbmFwY2hhdCdcbiAgICB8ICd5b3V0dWJlJ1xuICAgIHwgJ3ZpbWVvJ1xuICAgIHwgJ21lZGl1bSdcbiAgICB8ICdzb3VuZGNsb3VkJ1xuICAgIHwgJ2RyaWJiYmxlJ1xuICAgIHwgJ2ZhY2Vib29rJ1xuICAgIHwgJ3R3aXR0ZXInXG4gICAgfCAncGludGVyZXN0J1xuICAgIHwgJ2xpbmtlZGluJ1xuICAgIHwgJ3R1bWJscidcbiAgICB8ICd4aW5nJ1xuICAgIHwgJ3Rpa3Rvayc7XG4gIHBhZGRpbmc/OiBJUGFkZGluZztcbn1cblxuLyoqXG4gKiBCdWlsZGVyIHtAbGluayBJUEJFbWFpbH0gZ2VuZXJhbCBvcHRpb25zIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR2VuZXJhbE9wdGlvbnMge1xuICB3aWR0aD86IElXaWR0aEhlaWdodDtcbiAgYmFja2dyb3VuZD86IElCYWNrZ3JvdW5kO1xuICBwYWRkaW5nPzogSVBhZGRpbmc7XG4gIGRpcmVjdGlvbj86IFREaXJlY3Rpb247XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHByZXZpZXdUZXh0OiBzdHJpbmc7XG4gIGdsb2JhbD86IHtcbiAgICBmb250cz86IHN0cmluZ1tdO1xuICAgIHBhZGRpbmc/OiBJUGFkZGluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBNYWluIGJ1aWxkZXIgRW1haWwgT2JqZWN0IGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUEJFbWFpbCB7XG4gIGdlbmVyYWw/OiBJR2VuZXJhbE9wdGlvbnM7XG4gIHN0cnVjdHVyZXM/OiBJU3RydWN0dXJlW107XG59XG5cbi8qKlxuICogQnVpbGRlciBtb2R1bGUgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyTW9kdWxlIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIEFkZCBuYW1lIGluc3RlYWRcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgdGh1bWI/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG1vZHVsZTogSVN0cnVjdHVyZTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgSVVzZXJNb2R1bGUgaW5zdGVhZFxuICogQGludGVybmFsXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIElDdXN0b21Nb2R1bGUgZXh0ZW5kcyBJVXNlck1vZHVsZSB7fVxuXG4vKipcbiAqIEJ1aWxkZXIgcHJlZGVmaW5lZCB0ZW1wbGF0ZSBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZXJUZW1wbGF0ZSB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB0aHVtYlBhdGg6IHN0cmluZztcbiAgdGVtcGxhdGVEYXRhOiBJUEJFbWFpbDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgSVVzZXJUZW1wbGF0ZSBpbnN0ZWFkXG4gKiBAaW50ZXJuYWxcbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVRlbXBsYXRlIGV4dGVuZHMgSVVzZXJUZW1wbGF0ZSB7fVxuXG4vKipcbiAqIEJ1aWxkZXIgVGVtcGxhdGUgR2FsbGVyeSB0ZW1wbGF0ZXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyVGVtcGxhdGVDYXRlZ29yeSB7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIHRlbXBsYXRlczogSVVzZXJUZW1wbGF0ZVtdO1xufVxuXG4vKipcbiAqIEJ1aWxkZXIgSU1hZ2UgR2FsbGVyeSBpbWFnZXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElVc2VySW1hZ2VDYXRlZ29yeSB7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIGltYWdlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGVtcGxhdGUgU3RvcmFnZS9DYWNoZSBrZXlzLlxuICovXG5leHBvcnQgZW51bSBFVGVtcGxhdGVzU3RvcmFnZSB7XG4gIExBVEVTVF9VU0VEID0gJ05HQl9MQVRFU1RfVVNFRF9URU1QTEFURVMnLFxuICBTVE9SQUdFID0gJ05HQl9URU1QX1RFTVBMQVRFU19TVE9SQUdFJ1xufVxuIl19
|