aril 1.2.14 → 1.2.15

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,119 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, signal, Component } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { DynamicDialogRef, DynamicDialogConfig } from 'primeng/dynamicdialog';
5
+ import * as i1 from 'primeng/messages';
6
+ import { MessagesModule } from 'primeng/messages';
7
+ import { LoaderComponent } from 'aril/ui/loader';
8
+ import { PdfViewerComponent } from 'aril/ui/pdf-viewer';
9
+
10
+ class PdfPreviewModalComponent {
11
+ constructor() {
12
+ this.ref = inject(DynamicDialogRef);
13
+ this.dialogConfig = inject(DynamicDialogConfig);
14
+ this.http = inject(HttpClient);
15
+ this.pdfBase64 = signal(undefined);
16
+ this.fileName = signal(undefined);
17
+ this.loading = signal(false);
18
+ this.messages = signal([]);
19
+ const data = this.dialogConfig.data;
20
+ this.fileName.set(data?.fileNameForDownload);
21
+ if (data?.pdfBase64) {
22
+ this.pdfBase64.set(data.pdfBase64);
23
+ }
24
+ else if (data?.url) {
25
+ this.loadFromUrl(data.url, data.errorMessage);
26
+ }
27
+ else {
28
+ this.messages.set([
29
+ { severity: 'error', detail: data?.errorMessage ?? 'Görüntülenecek PDF verisi bulunamadı' }
30
+ ]);
31
+ }
32
+ }
33
+ loadFromUrl(url, errorMessage) {
34
+ this.loading.set(true);
35
+ this.http.get(url, { responseType: 'blob' }).subscribe({
36
+ next: (blob) => {
37
+ const reader = new FileReader();
38
+ reader.onloadend = () => {
39
+ const base64 = reader.result;
40
+ this.pdfBase64.set(base64.split(',')[1] || base64);
41
+ this.loading.set(false);
42
+ };
43
+ reader.onerror = () => this.handleError(errorMessage);
44
+ reader.readAsDataURL(blob);
45
+ },
46
+ error: () => this.handleError(errorMessage)
47
+ });
48
+ }
49
+ handleError(errorMessage) {
50
+ this.messages.set([{ severity: 'error', detail: errorMessage ?? 'PDF yüklenemedi' }]);
51
+ this.loading.set(false);
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PdfPreviewModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PdfPreviewModalComponent, isStandalone: true, selector: "aril-pdf-preview-modal", ngImport: i0, template: `
55
+ @if (pdfBase64()) {
56
+ <div style="width: 100%; height: 100%; margin: 0;">
57
+ <aril-pdf-viewer
58
+ [base64Src]="pdfBase64()!"
59
+ [fileNameForDownload]="fileName() ?? ''"
60
+ height="100%" />
61
+ </div>
62
+ } @else if (loading()) {
63
+ <aril-loader />
64
+ } @else if (messages().length > 0) {
65
+ <p-messages [value]="messages()" [enableService]="false" [closable]="false" />
66
+ }
67
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "component", type: PdfViewerComponent, selector: "aril-pdf-viewer", inputs: ["showSidebarButton", "showFindButton", "showZoomButtons", "showPresentationModeButton", "height", "page", "src", "base64Src", "allowContextMenu", "handTool", "httpHeaders", "fileNameForDownload"] }, { kind: "component", type: LoaderComponent, selector: "aril-loader" }] }); }
68
+ }
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PdfPreviewModalComponent, decorators: [{
70
+ type: Component,
71
+ args: [{
72
+ standalone: true,
73
+ selector: 'aril-pdf-preview-modal',
74
+ imports: [MessagesModule, PdfViewerComponent, LoaderComponent],
75
+ template: `
76
+ @if (pdfBase64()) {
77
+ <div style="width: 100%; height: 100%; margin: 0;">
78
+ <aril-pdf-viewer
79
+ [base64Src]="pdfBase64()!"
80
+ [fileNameForDownload]="fileName() ?? ''"
81
+ height="100%" />
82
+ </div>
83
+ } @else if (loading()) {
84
+ <aril-loader />
85
+ } @else if (messages().length > 0) {
86
+ <p-messages [value]="messages()" [enableService]="false" [closable]="false" />
87
+ }
88
+ `
89
+ }]
90
+ }], ctorParameters: () => [] });
91
+
92
+ const PDF_PREVIEW_DIALOG_DEFAULTS = {
93
+ width: '60%',
94
+ height: '85vh',
95
+ contentStyle: { padding: '0', overflow: 'hidden', height: '100%' },
96
+ focusOnShow: false,
97
+ draggable: true,
98
+ closable: true,
99
+ header: 'PDF'
100
+ };
101
+ function openPdfPreview(dialogService, options) {
102
+ const { header, width, height, overrideConfig, ...data } = options;
103
+ const config = {
104
+ ...PDF_PREVIEW_DIALOG_DEFAULTS,
105
+ header: header ?? PDF_PREVIEW_DIALOG_DEFAULTS.header,
106
+ width: width ?? PDF_PREVIEW_DIALOG_DEFAULTS.width,
107
+ height: height ?? PDF_PREVIEW_DIALOG_DEFAULTS.height,
108
+ ...overrideConfig,
109
+ data
110
+ };
111
+ return dialogService.open(PdfPreviewModalComponent, config);
112
+ }
113
+
114
+ /**
115
+ * Generated bundle index. Do not edit.
116
+ */
117
+
118
+ export { PDF_PREVIEW_DIALOG_DEFAULTS, PdfPreviewModalComponent, openPdfPreview };
119
+ //# sourceMappingURL=aril-ui-business-pdf-preview-modal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-ui-business-pdf-preview-modal.mjs","sources":["../../projects/aril/ui-business/pdf-preview-modal/src/pdf-preview-modal.component.ts","../../projects/aril/ui-business/pdf-preview-modal/src/open-pdf-preview.ts","../../projects/aril/ui-business/pdf-preview-modal/aril-ui-business-pdf-preview-modal.ts"],"sourcesContent":["import { Component, inject, signal } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Message } from 'primeng/api';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\n\r\nimport { LoaderComponent } from 'aril/ui/loader';\r\nimport { PdfViewerComponent } from 'aril/ui/pdf-viewer';\r\n\r\nexport interface PdfPreviewModalData {\r\n\tpdfBase64?: string;\r\n\turl?: string;\r\n\tfileNameForDownload?: string;\r\n\terrorMessage?: string;\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-pdf-preview-modal',\r\n\timports: [MessagesModule, PdfViewerComponent, LoaderComponent],\r\n\ttemplate: `\r\n\t\t@if (pdfBase64()) {\r\n\t\t\t<div style=\"width: 100%; height: 100%; margin: 0;\">\r\n\t\t\t\t<aril-pdf-viewer\r\n\t\t\t\t\t[base64Src]=\"pdfBase64()!\"\r\n\t\t\t\t\t[fileNameForDownload]=\"fileName() ?? ''\"\r\n\t\t\t\t\theight=\"100%\" />\r\n\t\t\t</div>\r\n\t\t} @else if (loading()) {\r\n\t\t\t<aril-loader />\r\n\t\t} @else if (messages().length > 0) {\r\n\t\t\t<p-messages [value]=\"messages()\" [enableService]=\"false\" [closable]=\"false\" />\r\n\t\t}\r\n\t`\r\n})\r\nexport class PdfPreviewModalComponent {\r\n\treadonly ref = inject(DynamicDialogRef);\r\n\tprivate readonly dialogConfig = inject(DynamicDialogConfig);\r\n\tprivate readonly http = inject(HttpClient);\r\n\r\n\tpdfBase64 = signal<string | undefined>(undefined);\r\n\tfileName = signal<string | undefined>(undefined);\r\n\tloading = signal(false);\r\n\tmessages = signal<Message[]>([]);\r\n\r\n\tconstructor() {\r\n\t\tconst data = this.dialogConfig.data as PdfPreviewModalData | undefined;\r\n\t\tthis.fileName.set(data?.fileNameForDownload);\r\n\r\n\t\tif (data?.pdfBase64) {\r\n\t\t\tthis.pdfBase64.set(data.pdfBase64);\r\n\t\t} else if (data?.url) {\r\n\t\t\tthis.loadFromUrl(data.url, data.errorMessage);\r\n\t\t} else {\r\n\t\t\tthis.messages.set([\r\n\t\t\t\t{ severity: 'error', detail: data?.errorMessage ?? 'Görüntülenecek PDF verisi bulunamadı' }\r\n\t\t\t]);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadFromUrl(url: string, errorMessage?: string): void {\r\n\t\tthis.loading.set(true);\r\n\t\tthis.http.get(url, { responseType: 'blob' }).subscribe({\r\n\t\t\tnext: (blob) => {\r\n\t\t\t\tconst reader = new FileReader();\r\n\t\t\t\treader.onloadend = () => {\r\n\t\t\t\t\tconst base64 = reader.result as string;\r\n\t\t\t\t\tthis.pdfBase64.set(base64.split(',')[1] || base64);\r\n\t\t\t\t\tthis.loading.set(false);\r\n\t\t\t\t};\r\n\t\t\t\treader.onerror = () => this.handleError(errorMessage);\r\n\t\t\t\treader.readAsDataURL(blob);\r\n\t\t\t},\r\n\t\t\terror: () => this.handleError(errorMessage)\r\n\t\t});\r\n\t}\r\n\r\n\tprivate handleError(errorMessage?: string): void {\r\n\t\tthis.messages.set([{ severity: 'error', detail: errorMessage ?? 'PDF yüklenemedi' }]);\r\n\t\tthis.loading.set(false);\r\n\t}\r\n}\r\n","import { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nimport { PdfPreviewModalComponent, PdfPreviewModalData } from './pdf-preview-modal.component';\r\n\r\nexport interface OpenPdfPreviewOptions extends PdfPreviewModalData {\r\n\theader?: string;\r\n\twidth?: string;\r\n\theight?: string;\r\n\toverrideConfig?: Partial<DynamicDialogConfig>;\r\n}\r\n\r\nexport const PDF_PREVIEW_DIALOG_DEFAULTS: Partial<DynamicDialogConfig> = {\r\n\twidth: '60%',\r\n\theight: '85vh',\r\n\tcontentStyle: { padding: '0', overflow: 'hidden', height: '100%' },\r\n\tfocusOnShow: false,\r\n\tdraggable: true,\r\n\tclosable: true,\r\n\theader: 'PDF'\r\n};\r\n\r\nexport function openPdfPreview(\r\n\tdialogService: DialogService,\r\n\toptions: OpenPdfPreviewOptions\r\n): DynamicDialogRef {\r\n\tconst { header, width, height, overrideConfig, ...data } = options;\r\n\tconst config: DynamicDialogConfig = {\r\n\t\t...PDF_PREVIEW_DIALOG_DEFAULTS,\r\n\t\theader: header ?? PDF_PREVIEW_DIALOG_DEFAULTS.header,\r\n\t\twidth: width ?? PDF_PREVIEW_DIALOG_DEFAULTS.width,\r\n\t\theight: height ?? PDF_PREVIEW_DIALOG_DEFAULTS.height,\r\n\t\t...overrideConfig,\r\n\t\tdata\r\n\t};\r\n\treturn dialogService.open(PdfPreviewModalComponent, config);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aril-util-sync-active-tab-route.mjs","sources":["../../projects/aril/util/sync-active-tab-route/src/sync-active-tab-route.directive.ts","../../projects/aril/util/sync-active-tab-route/aril-util-sync-active-tab-route.ts"],"sourcesContent":["import { Location } from '@angular/common';\nimport { Directive, HostListener, OnDestroy, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TabView } from 'primeng/tabview';\n\nimport { Subscription } from 'rxjs';\n\n@Directive({\n\tselector: '[syncActiveTabRoute]',\n\tstandalone: true\n})\nexport class SyncActiveTabRouteDirective implements OnInit, OnDestroy {\n\tprivate readonly subscription = new Subscription();\n\n\tconstructor(\n\t\tprivate readonly router: Router,\n\t\tprivate readonly tabView: TabView,\n\t\tprivate readonly location: Location\n\t) {}\n\n\tngOnInit() {\n\t\tthis.subscription.add(\n\t\t\tthis.router.routerState.root.queryParamMap.subscribe((params) => {\n\t\t\t\tif (params.has('activeTab')) {\n\t\t\t\t\tthis.tabView.activeIndex = Number(params.get('activeTab'));\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n\n\t@HostListener('activeIndexChange', ['$event'])\n\tonTabChange(e: number) {\n\t\tthis.location.replaceState(\n\t\t\tthis.router\n\t\t\t\t.createUrlTree([], {\n\t\t\t\t\tqueryParams: { activeTab: e },\n\t\t\t\t\tqueryParamsHandling: 'merge'\n\t\t\t\t})\n\t\t\t\t.toString()\n\t\t);\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription.unsubscribe();\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAYa,2BAA2B,CAAA;AAGvC,IAAA,WAAA,CACkB,MAAc,EACd,OAAgB,EAChB,QAAkB,EAAA;QAFlB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AALnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAM/C;IAEJ,QAAQ,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAC/D,YAAA,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3D;SACD,CAAC,CACF,CAAC;KACF;AAGD,IAAA,WAAW,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACzB,IAAI,CAAC,MAAM;aACT,aAAa,CAAC,EAAE,EAAE;AAClB,YAAA,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;AAC7B,YAAA,mBAAmB,EAAE,OAAO;SAC5B,CAAC;aACD,QAAQ,EAAE,CACZ,CAAC;KACF;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KAChC;8GAjCW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;wHAqBA,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC/B9C;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-util-sync-active-tab-route.mjs","sources":["../../projects/aril/util/sync-active-tab-route/src/sync-active-tab-route.directive.ts","../../projects/aril/util/sync-active-tab-route/aril-util-sync-active-tab-route.ts"],"sourcesContent":["import { Location } from '@angular/common';\r\nimport { Directive, HostListener, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { TabView } from 'primeng/tabview';\r\n\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n\tselector: '[syncActiveTabRoute]',\r\n\tstandalone: true\r\n})\r\nexport class SyncActiveTabRouteDirective implements OnInit, OnDestroy {\r\n\tprivate readonly subscription = new Subscription();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly router: Router,\r\n\t\tprivate readonly tabView: TabView,\r\n\t\tprivate readonly location: Location\r\n\t) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.subscription.add(\r\n\t\t\tthis.router.routerState.root.queryParamMap.subscribe((params) => {\r\n\t\t\t\tif (params.has('activeTab')) {\r\n\t\t\t\t\tthis.tabView.activeIndex = Number(params.get('activeTab'));\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\t@HostListener('activeIndexChange', ['$event'])\r\n\tonTabChange(e: number) {\r\n\t\tthis.location.replaceState(\r\n\t\t\tthis.router\r\n\t\t\t\t.createUrlTree([], {\r\n\t\t\t\t\tqueryParams: { activeTab: e },\r\n\t\t\t\t\tqueryParamsHandling: 'merge'\r\n\t\t\t\t})\r\n\t\t\t\t.toString()\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.subscription.unsubscribe();\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAYa,2BAA2B,CAAA;AAGvC,IAAA,WAAA,CACkB,MAAc,EACd,OAAgB,EAChB,QAAkB,EAAA;QAFlB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAChB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AALnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAM/C;IAEJ,QAAQ,GAAA;QACP,IAAI,CAAC,YAAY,CAAC,GAAG,CACpB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AAC/D,YAAA,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;aAC3D;SACD,CAAC,CACF,CAAC;KACF;AAGD,IAAA,WAAW,CAAC,CAAS,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CACzB,IAAI,CAAC,MAAM;aACT,aAAa,CAAC,EAAE,EAAE;AAClB,YAAA,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;AAC7B,YAAA,mBAAmB,EAAE,OAAO;SAC5B,CAAC;aACD,QAAQ,EAAE,CACZ,CAAC;KACF;IAED,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KAChC;8GAjCW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;wHAqBA,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC/B9C;;AAEG;;;;"}