infodocviewdoc 2.0.3 → 2.0.4

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 CHANGED
@@ -15,7 +15,7 @@ Si tu MFE ya existe (con Angular y dependencias base), **solo debes agregar esta
15
15
  ```json
16
16
  {
17
17
  "dependencies": {
18
- "infodocviewdoc": "latest",
18
+ "infodocviewdoc": "2.0.4",
19
19
  "@handsontable/angular": "^16.2.0",
20
20
  "handsontable": "^16.2.0",
21
21
  "jspdf": "^4.1.0",
@@ -50,7 +50,7 @@ Si creas un microfront desde cero, ademas de Angular/base, tu bloque de `depende
50
50
  "rxjs": "~7.8.0",
51
51
  "tslib": "2.3.0",
52
52
  "zone.js": "~0.15.0",
53
- "infodocviewdoc": "latest",
53
+ "infodocviewdoc": "^2.0.4",
54
54
  "@handsontable/angular": "^16.2.0",
55
55
  "handsontable": "^16.2.0",
56
56
  "jspdf": "^4.1.0",
@@ -66,19 +66,61 @@ Despues de agregarlas:
66
66
  npm install
67
67
  ```
68
68
 
69
- ## 3) Configuracion de assets PDF viewer (host)
69
+ ## 3) Configuracion de assets PDF viewer en `angular.json` (host)
70
70
 
71
- En `angular.json` del MFE host agrega los assets de `ngx-extended-pdf-viewer`:
71
+ Los ficheros de PDF.js (`viewer-*.mjs`, workers, `cmaps`, etc.) viven en `node_modules/ngx-extended-pdf-viewer/assets`. El host debe **copiarlos al build** para poder servirlos bajo la ruta base de la aplicacion (normalmente `/assets/`).
72
+
73
+ ### Donde colocarlo
74
+
75
+ En el proyecto del MFE, dentro del **target que realmente usa `ng build` / `ng serve`** (suele llamarse `esbuild`, `build` o `application`), en `architect.<target>.options.assets` (no solo en el target `test`).
76
+
77
+ Ejemplo con el builder moderno de aplicacion (`@angular-devkit/build-angular:application`):
72
78
 
73
79
  ```json
74
- {
75
- "glob": "**/*",
76
- "input": "node_modules/ngx-extended-pdf-viewer/assets",
77
- "output": "/assets/"
80
+ "architect": {
81
+ "esbuild": {
82
+ "builder": "@angular-devkit/build-angular:application",
83
+ "options": {
84
+ "assets": [
85
+ {
86
+ "glob": "**/*",
87
+ "input": "public"
88
+ },
89
+ {
90
+ "glob": "**/*",
91
+ "input": "node_modules/ngx-extended-pdf-viewer/assets",
92
+ "output": "/assets/"
93
+ }
94
+ ]
95
+ }
96
+ }
78
97
  }
79
98
  ```
80
99
 
81
- Sin esta configuracion puede aparecer el error 404 de `viewer-*.mjs`.
100
+ - Ajusta el primer bloque (`public`, `src/assets`, etc.) segun tu proyecto; lo importante es **anadir** el segundo bloque con `ngx-extended-pdf-viewer/assets`.
101
+ - `output: "/assets/"` hace que los ficheros queden disponibles como `https://<tu-host>/assets/viewer-*.mjs` (y el resto de recursos en el mismo prefijo).
102
+
103
+ ### Si no configuras estos assets
104
+
105
+ - La libreria puede cargar los mismos recursos desde un **CDN** (jsDelivr) alineado a la version de `ngx-extended-pdf-viewer`: en muchos entornos el PDF **funcionara igual** sin copiar assets.
106
+ - Conviene **mantener** la entrada en `angular.json` si necesitas: **sin acceso a internet**, **CSP** que bloquea dominios externos, o **politica** de no depender de CDN.
107
+
108
+ ### Si sirves los assets locales pero con otra ruta
109
+
110
+ Puedes usar el input opcional `pdfAssetsBaseUrl` en el componente (por ejemplo la URL base donde el host publica los ficheros, sin barra final o normalizada).
111
+
112
+ ```html
113
+ <sgdea-document-viewer
114
+ [pdfAssetsBaseUrl]="'https://mi-dominio.com/assets'"
115
+ ...
116
+ ></sgdea-document-viewer>
117
+ ```
118
+
119
+ Si no se define `pdfAssetsBaseUrl` y el host **no** sirve `/assets/` con los ficheros del viewer, se usara el **fallback CDN** interno.
120
+
121
+ ### Sintoma tipico si falta todo (host sin assets y sin CDN)
122
+
123
+ Error en red **404** sobre `http(s)://<host>/assets/viewer-*.mjs` y el PDF no se renderiza aunque la descarga del archivo sea **200**.
82
124
 
83
125
  ## 4) Como importar y usar el componente
84
126
 
@@ -113,6 +155,7 @@ export class PdfPreviewModalComponent {}
113
155
  - `nameBucket`: nombre del bucket (ej: `attachments`)
114
156
  - `nameSpaceBucket`: namespace (si aplica; puede ir vacio)
115
157
  - `token`: JWT para `Authorization: Bearer <token>`
158
+ - `pdfAssetsBaseUrl` (opcional): URL base donde el host publica los assets de `ngx-extended-pdf-viewer` (p. ej. `https://mi-app.com/assets`). Si no se define, se usa CDN o, si estan copiados en el build, la ruta por defecto del viewer.
116
159
 
117
160
  ## 6) Consideraciones de integracion en MFE
118
161
 
@@ -156,5 +199,5 @@ npm install "C:/ruta/a/infodocviewdoc-<version>.tgz"
156
199
 
157
200
  Si integras este paquete en otro microfront, valida primero:
158
201
  1. dependencias del host,
159
- 2. assets de `ngx-extended-pdf-viewer`,
202
+ 2. assets de `ngx-extended-pdf-viewer` en `angular.json` del target de build (recomendado) o, si no, que el entorno permita el fallback CDN / `pdfAssetsBaseUrl`,
160
203
  3. envio correcto de `url`, `nameFile`, `nameBucket` y `token`.