overview-components 1.1.108 → 1.1.110

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.
Files changed (41) hide show
  1. package/dist/components/components-settings/attachments-tab-settings.d.ts +5 -0
  2. package/dist/components/components-settings/attachments-tab-settings.d.ts.map +1 -1
  3. package/dist/components/components-settings/attachments-tab-settings.js +78 -3
  4. package/dist/components/components-settings/attachments-tab-settings.js.map +1 -1
  5. package/dist/components/lit-attachments-tab.d.ts +10 -0
  6. package/dist/components/lit-attachments-tab.d.ts.map +1 -1
  7. package/dist/components/lit-attachments-tab.js +230 -11
  8. package/dist/components/lit-attachments-tab.js.map +1 -1
  9. package/dist/components/lit-chart.d.ts.map +1 -1
  10. package/dist/components/lit-chart.js +4 -0
  11. package/dist/components/lit-chart.js.map +1 -1
  12. package/dist/schemas/lit-attachments-tab-document.schema.d.ts +13 -0
  13. package/dist/schemas/lit-attachments-tab-document.schema.d.ts.map +1 -1
  14. package/dist/schemas/lit-attachments-tab-document.schema.js +16 -3
  15. package/dist/schemas/lit-attachments-tab-document.schema.js.map +1 -1
  16. package/dist/schemas/lit-attachments-tab-settings-value.schema.d.ts +12 -0
  17. package/dist/schemas/lit-attachments-tab-settings-value.schema.d.ts.map +1 -1
  18. package/dist/schemas/lit-attachments-tab-settings-value.schema.js +12 -0
  19. package/dist/schemas/lit-attachments-tab-settings-value.schema.js.map +1 -1
  20. package/dist/schemas/lit-attachments-tab.schema.d.ts +29 -0
  21. package/dist/schemas/lit-attachments-tab.schema.d.ts.map +1 -1
  22. package/dist/schemas/lit-attachments-tab.schema.js +16 -0
  23. package/dist/schemas/lit-attachments-tab.schema.js.map +1 -1
  24. package/dist/shared/lit-document-thumbnail.d.ts +38 -0
  25. package/dist/shared/lit-document-thumbnail.d.ts.map +1 -0
  26. package/dist/shared/lit-document-thumbnail.js +349 -0
  27. package/dist/shared/lit-document-thumbnail.js.map +1 -0
  28. package/dist/shared/lit-menu-item.js +1 -1
  29. package/dist/shared/lit-select.d.ts +4 -2
  30. package/dist/shared/lit-select.d.ts.map +1 -1
  31. package/dist/shared/lit-select.js +22 -15
  32. package/dist/shared/lit-select.js.map +1 -1
  33. package/dist/utils/file-type-utils.d.ts +14 -0
  34. package/dist/utils/file-type-utils.d.ts.map +1 -0
  35. package/dist/utils/file-type-utils.js +55 -0
  36. package/dist/utils/file-type-utils.js.map +1 -0
  37. package/dist/utils/pdf-thumbnail-generator.d.ts +34 -0
  38. package/dist/utils/pdf-thumbnail-generator.d.ts.map +1 -0
  39. package/dist/utils/pdf-thumbnail-generator.js +90 -0
  40. package/dist/utils/pdf-thumbnail-generator.js.map +1 -0
  41. package/package.json +1 -1
@@ -9,12 +9,17 @@ import '../../shared/lit-modal-header.js';
9
9
  import '../../shared/lit-modal-footer.js';
10
10
  import '../../shared/lit-modal-body.js';
11
11
  import '../../shared/lit-label.js';
12
+ import '../../shared/lit-toggle.js';
12
13
  export declare class AttachmentsTabSettings extends LitElement {
13
14
  onClose: (() => void) | undefined;
14
15
  onSettingsChangedModal?: Function;
15
16
  columnDefaultSize?: number;
16
17
  type?: 'compact' | 'select';
17
18
  scale?: number;
19
+ enableThumbnails?: boolean;
20
+ thumbnailSize?: number;
21
+ enableAdditionalInformation?: boolean;
22
+ enableThumbnailDetail?: boolean;
18
23
  private isOpenModal;
19
24
  private localSettingsValue?;
20
25
  private originalValues;
@@ -1 +1 @@
1
- {"version":3,"file":"attachments-tab-settings.d.ts","sourceRoot":"","sources":["../../../src/components/components-settings/attachments-tab-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK5D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,iCAAiC,CAAC;AACzC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,2BAA2B,CAAC;AAKnC,qBAAa,sBAAuB,SAAQ,UAAU;IACpB,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,sBAAsB,CAAC,EAAE,QAAQ,CAEvD;IAEoB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAa;IACxC,KAAK,CAAC,EAAE,MAAM,CAAK;IAEtC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAC,CAA8B;IAEzD,OAAO,CAAC,cAAc,CAGxB;IAEE,OAAO,CAAC,aAAa,CAGvB;IAEP,iBAAiB;IAMjB,oBAAoB;IAKpB,cAAc,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAQtC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAW3C,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAUtB,MAAM,CAAC,MAAM,4BAAW;IAExB,MAAM,IAAI,cAAc;CAoG3B;AAKD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,0BAA0B,EAAE,sBAAsB,CAAC;KACtD;CACJ"}
1
+ {"version":3,"file":"attachments-tab-settings.d.ts","sourceRoot":"","sources":["../../../src/components/components-settings/attachments-tab-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK5D,OAAO,oDAAoD,CAAC;AAC5D,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,iCAAiC,CAAC;AACzC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AAKpC,qBAAa,sBAAuB,SAAQ,UAAU;IACpB,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,sBAAsB,CAAC,EAAE,QAAQ,CAEvD;IAEoB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAa;IACxC,KAAK,CAAC,EAAE,MAAM,CAAK;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAQ;IACnC,aAAa,CAAC,EAAE,MAAM,CAAM;IAC3B,2BAA2B,CAAC,EAAE,OAAO,CAAQ;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAQ;IAE3D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAC,CAA8B;IAEzD,OAAO,CAAC,cAAc,CAOxB;IAEE,OAAO,CAAC,aAAa,CAOvB;IAEP,iBAAiB;IAMjB,oBAAoB;IAKpB,cAAc,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI;IAQtC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAW3C,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,cAAc;IAUtB,MAAM,CAAC,MAAM,4BAAW;IAExB,MAAM,IAAI,cAAc;CA6J3B;AAKD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,0BAA0B,EAAE,sBAAsB,CAAC;KACtD;CACJ"}
@@ -18,12 +18,17 @@ import '../../shared/lit-modal-header.js';
18
18
  import '../../shared/lit-modal-footer.js';
19
19
  import '../../shared/lit-modal-body.js';
20
20
  import '../../shared/lit-label.js';
21
+ import '../../shared/lit-toggle.js';
21
22
  export class AttachmentsTabSettings extends LitElement {
22
23
  constructor() {
23
24
  super(...arguments);
24
25
  this.onSettingsChangedModal = (settingsValue) => { };
25
26
  this.type = 'compact';
26
27
  this.scale = 1;
28
+ this.enableThumbnails = true;
29
+ this.thumbnailSize = 40;
30
+ this.enableAdditionalInformation = true;
31
+ this.enableThumbnailDetail = true;
27
32
  this.isOpenModal = false;
28
33
  this.originalValues = {};
29
34
  this.currentValues = {};
@@ -47,7 +52,7 @@ export class AttachmentsTabSettings extends LitElement {
47
52
  updated(changedProperties) {
48
53
  super.updated(changedProperties);
49
54
  // If any of the properties changed, reinitialize values
50
- const settingsProperties = ['type', 'scale'];
55
+ const settingsProperties = ['type', 'scale', 'enableThumbnails', 'thumbnailSize', 'enableAdditionalInformation', 'enableThumbnailDetail'];
51
56
  if (settingsProperties.some((prop) => changedProperties.has(prop))) {
52
57
  this.initializeValues();
53
58
  }
@@ -57,6 +62,10 @@ export class AttachmentsTabSettings extends LitElement {
57
62
  this.originalValues = {
58
63
  scale: this.scale || 1,
59
64
  type: this.type || 'compact',
65
+ enableThumbnails: this.enableThumbnails ?? true,
66
+ thumbnailSize: this.thumbnailSize || 40,
67
+ enableAdditionalInformation: this.enableAdditionalInformation ?? true,
68
+ enableThumbnailDetail: this.enableThumbnailDetail ?? true,
60
69
  };
61
70
  // Initialize current values with original values
62
71
  this.currentValues = { ...this.originalValues };
@@ -128,7 +137,7 @@ export class AttachmentsTabSettings extends LitElement {
128
137
  </div>
129
138
  <div style="display: flex;flex-direction: column; gap: 0.5rem">
130
139
  <div
131
- style="display: flex; flex-direction: column;justify-content: center;gap: 2px"
140
+ style="display: flex; flex-direction: column;justify-content: center;"
132
141
  >
133
142
  <lit-text-field
134
143
  .label="${'scale'}"
@@ -142,7 +151,7 @@ export class AttachmentsTabSettings extends LitElement {
142
151
  ></lit-text-field>
143
152
  </div>
144
153
  <div
145
- style="display: flex; flex-direction: column;justify-content: center;gap: 2px"
154
+ style="display: flex; flex-direction: column;justify-content: center;"
146
155
  >
147
156
  <lit-select-field
148
157
  .label="${'type'}"
@@ -158,6 +167,60 @@ export class AttachmentsTabSettings extends LitElement {
158
167
  }}"
159
168
  ></lit-select-field>
160
169
  </div>
170
+ <div
171
+ style="display: flex; flex-direction: column;justify-content: center;"
172
+ >
173
+ <lit-toggle
174
+ .label="${'enableThumbnails'}"
175
+ .tooltip="${'Enable or disable thumbnail previews for documents in the list.'}"
176
+ .checked=${this.currentValues.enableThumbnails ?? true}
177
+ @change="${(e) => {
178
+ this.updateCurrentValue('enableThumbnails', e.detail);
179
+ }}"
180
+ ></lit-toggle>
181
+ </div>
182
+ ${this.currentValues.enableThumbnails
183
+ ? html `
184
+ <div
185
+ style="display: flex; flex-direction: column;justify-content: center;"
186
+ >
187
+ <lit-text-field
188
+ .label="${'thumbnailSize'}"
189
+ .tooltip="${'Size of the thumbnail preview in pixels (default: 40).'}"
190
+ type="number"
191
+ .value="${this.currentValues.thumbnailSize}"
192
+ @onBlur=${(e) => {
193
+ const value = parseFloat(e.detail);
194
+ this.updateCurrentValue('thumbnailSize', isNaN(value) ? undefined : value);
195
+ }}
196
+ ></lit-text-field>
197
+ </div>
198
+ `
199
+ : null}
200
+ <div
201
+ style="display: flex; flex-direction: column;justify-content: center;"
202
+ >
203
+ <lit-toggle
204
+ .label="${'enableAdditionalInformation'}"
205
+ .tooltip="${'Enable or disable display of dateOfUpload and userName for documents in the list.'}"
206
+ .checked=${this.currentValues.enableAdditionalInformation ?? true}
207
+ @change="${(e) => {
208
+ this.updateCurrentValue('enableAdditionalInformation', e.detail);
209
+ }}"
210
+ ></lit-toggle>
211
+ </div>
212
+ <div
213
+ style="display: flex; flex-direction: column;justify-content: center;"
214
+ >
215
+ <lit-toggle
216
+ .label="${'enableThumbnailDetail'}"
217
+ .tooltip="${'Enable or disable detailed thumbnail hover preview.'}"
218
+ .checked=${this.currentValues.enableThumbnailDetail ?? true}
219
+ @change="${(e) => {
220
+ this.updateCurrentValue('enableThumbnailDetail', e.detail);
221
+ }}"
222
+ ></lit-toggle>
223
+ </div>
161
224
  </div>
162
225
  </lit-modal-body>
163
226
  <lit-modal-footer
@@ -201,6 +264,18 @@ __decorate([
201
264
  __decorate([
202
265
  property({ type: Number })
203
266
  ], AttachmentsTabSettings.prototype, "scale", void 0);
267
+ __decorate([
268
+ property({ type: Boolean })
269
+ ], AttachmentsTabSettings.prototype, "enableThumbnails", void 0);
270
+ __decorate([
271
+ property({ type: Number })
272
+ ], AttachmentsTabSettings.prototype, "thumbnailSize", void 0);
273
+ __decorate([
274
+ property({ type: Boolean })
275
+ ], AttachmentsTabSettings.prototype, "enableAdditionalInformation", void 0);
276
+ __decorate([
277
+ property({ type: Boolean })
278
+ ], AttachmentsTabSettings.prototype, "enableThumbnailDetail", void 0);
204
279
  __decorate([
205
280
  state()
206
281
  ], AttachmentsTabSettings.prototype, "isOpenModal", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"attachments-tab-settings.js","sourceRoot":"","sources":["../../../src/components/components-settings/attachments-tab-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachments-tab-settings.js","sourceRoot":"","sources":["../../../src/components/components-settings/attachments-tab-settings.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import '../shared/lit-icon.js';
6
6
  import '../shared/lit-icon-button.js';
7
7
  import '../shared/lit-select.js';
8
8
  import '../shared/lit-overflow-tooltip.js';
9
+ import '../shared/lit-document-thumbnail.js';
9
10
  import '../assets/illustration/no-preview.js';
10
11
  import '../assets/illustration/not-found.js';
11
12
  import '../shared/lit-loading-bar.js';
@@ -23,6 +24,10 @@ export declare class LitAttachmentsTab extends LitElement {
23
24
  onClick?: (documentId: string) => Promise<any>;
24
25
  isDocumentLoading: boolean;
25
26
  enableSettings?: boolean;
27
+ enableThumbnails?: boolean;
28
+ thumbnailSize?: number;
29
+ enableAdditionalInformation?: boolean;
30
+ enableThumbnailDetail?: boolean;
26
31
  onSettingsChanged: (value?: AttachmentsTabSettingsValue) => void;
27
32
  private selectedDocument?;
28
33
  private selectedId;
@@ -33,6 +38,8 @@ export declare class LitAttachmentsTab extends LitElement {
33
38
  private documentData;
34
39
  private isOpenModal;
35
40
  private localScale?;
41
+ private pdfThumbnailGenerator;
42
+ private generatedThumbnails;
36
43
  private canvas;
37
44
  private ctx;
38
45
  private outerContainer;
@@ -59,6 +66,9 @@ export declare class LitAttachmentsTab extends LitElement {
59
66
  private handleMouseUp;
60
67
  private toggleModal;
61
68
  private onSettingsChangedCallback;
69
+ private generatePdfThumbnails;
70
+ private generateSinglePdfThumbnail;
71
+ private getThumbnailUrl;
62
72
  static styles: import("lit").CSSResult[];
63
73
  render(): TemplateResult | null;
64
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lit-attachments-tab.d.ts","sourceRoot":"","sources":["../../src/components/lit-attachments-tab.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAM5E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EACH,+BAA+B,EAC/B,oCAAoC,EACpC,uBAAuB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,gBAAgB,CAAC;AACxB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,8BAA8B,CAAC;AACtC,OAAO,yBAAyB,CAAC;AACjC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,8BAA8B,CAAC;AACtC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,mDAAmD,CAAC;AAW3D,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,MAAM,MAAM,2BAA2B,GAAG,UAAU,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAElG,qBAAa,iBAAkB,SAAQ,UAAU;IAChB,WAAW,CAAC,EAAE,OAAO,CAAS;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAM;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAa;IACxC,KAAK,CAAC,EAAE,MAAM,CAAK;IACjB,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,iBAAiB,EAAE,OAAO,CAAS;IACnC,cAAc,CAAC,EAAE,OAAO,CAAS;IAG9D,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,2BAA2B,KAAK,IAAI,CAAY;IAEnE,OAAO,CAAC,gBAAgB,CAAC,CAAsD;IAC/E,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAS;IAErC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,GAAG,CAAyC;IACpD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAyB;IAEhD,oBAAoB;IASpB,iBAAiB;IAKX,YAAY;IAOlB,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAmC3D,OAAO,CAAC,cAAc,CAMf;YAEO,gBAAgB;YA2ChB,mBAAmB;YA8BnB,UAAU;IAgExB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,gBAAgB;YAQV,cAAc;IAyC5B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;YAIL,yBAAyB;IAsBvC,MAAM,CAAC,MAAM,4BA4IX;IAEF,MAAM,IAAI,cAAc,GAAG,IAAI;CA8LlC;AAKD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,qBAAqB,EAAE,iBAAiB,CAAC;KAC5C;CACJ"}
1
+ {"version":3,"file":"lit-attachments-tab.d.ts","sourceRoot":"","sources":["../../src/components/lit-attachments-tab.ts"],"names":[],"mappings":"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"}
@@ -16,11 +16,14 @@ import '../shared/lit-icon.js';
16
16
  import '../shared/lit-icon-button.js';
17
17
  import '../shared/lit-select.js';
18
18
  import '../shared/lit-overflow-tooltip.js';
19
+ import '../shared/lit-document-thumbnail.js';
19
20
  import '../assets/illustration/no-preview.js';
20
21
  import '../assets/illustration/not-found.js';
21
22
  import '../shared/lit-loading-bar.js';
22
23
  import '../components/lit-section-tab.js';
23
24
  import './components-settings/attachments-tab-settings.js';
25
+ // utils
26
+ import { PdfThumbnailGenerator } from '../utils/pdf-thumbnail-generator.js';
24
27
  // pdf.js
25
28
  import * as pdfjsLib from 'pdfjs-dist';
26
29
  // Set worker source for PDF.js 3.x - compatible with webpack bundlers
@@ -34,6 +37,10 @@ export class LitAttachmentsTab extends LitElement {
34
37
  this.scale = 1;
35
38
  this.isDocumentLoading = false;
36
39
  this.enableSettings = false;
40
+ this.enableThumbnails = true;
41
+ this.thumbnailSize = 40;
42
+ this.enableAdditionalInformation = true;
43
+ this.enableThumbnailDetail = true;
37
44
  this.onSettingsChanged = () => { };
38
45
  this.selectedId = '';
39
46
  this.pageNumber = 1;
@@ -42,6 +49,8 @@ export class LitAttachmentsTab extends LitElement {
42
49
  this.preview = true;
43
50
  this.documentData = null;
44
51
  this.isOpenModal = false;
52
+ this.pdfThumbnailGenerator = new PdfThumbnailGenerator();
53
+ this.generatedThumbnails = new Map();
45
54
  this.canvas = null;
46
55
  this.ctx = null;
47
56
  this.outerContainer = null;
@@ -66,10 +75,12 @@ export class LitAttachmentsTab extends LitElement {
66
75
  this.documentData.cancel();
67
76
  this.documentData = null;
68
77
  }
78
+ this.pdfThumbnailGenerator.clearCache();
69
79
  }
70
80
  connectedCallback() {
71
81
  super.connectedCallback();
72
82
  this.localScale = this.scale;
83
+ this.pdfThumbnailGenerator = new PdfThumbnailGenerator();
73
84
  }
74
85
  async firstUpdated() {
75
86
  this.canvas = this.shadowRoot?.querySelector('canvas') ?? null;
@@ -92,6 +103,7 @@ export class LitAttachmentsTab extends LitElement {
92
103
  this.documentData.cancel();
93
104
  this.documentData = null;
94
105
  }
106
+ this.generatedThumbnails.clear();
95
107
  }
96
108
  else if (!this.hideTabWhen) {
97
109
  // Force reset and reload when documents change
@@ -103,6 +115,10 @@ export class LitAttachmentsTab extends LitElement {
103
115
  }
104
116
  this.selectedId = newSelectedId;
105
117
  this.handleDocumentClick(this.selectedId);
118
+ // Generate PDF thumbnails if enabled
119
+ if (this.enableThumbnails) {
120
+ this.generatePdfThumbnails();
121
+ }
106
122
  }
107
123
  }
108
124
  if (_changedProperties.has('selectedId')) {
@@ -328,7 +344,28 @@ export class LitAttachmentsTab extends LitElement {
328
344
  if (value?.type !== undefined) {
329
345
  this.type = value.type;
330
346
  }
347
+ if (value?.enableThumbnails !== undefined) {
348
+ this.enableThumbnails = value.enableThumbnails;
349
+ }
350
+ if (value?.thumbnailSize !== undefined) {
351
+ this.thumbnailSize = value.thumbnailSize;
352
+ }
353
+ if (value?.enableAdditionalInformation !== undefined) {
354
+ this.enableAdditionalInformation = value.enableAdditionalInformation;
355
+ }
356
+ if (value?.enableThumbnailDetail !== undefined) {
357
+ this.enableThumbnailDetail = value.enableThumbnailDetail;
358
+ }
359
+ // Force re-render after property changes
360
+ this.requestUpdate();
331
361
  await this.renderPage();
362
+ // Regenerate thumbnails if thumbnail settings changed
363
+ if (value?.enableThumbnails || value?.thumbnailSize !== undefined) {
364
+ if (this.enableThumbnails) {
365
+ this.generatedThumbnails.clear();
366
+ await this.generatePdfThumbnails();
367
+ }
368
+ }
332
369
  this.dispatchEvent(new CustomEvent('onSettingsChanged', {
333
370
  bubbles: true,
334
371
  composed: true,
@@ -336,6 +373,48 @@ export class LitAttachmentsTab extends LitElement {
336
373
  }));
337
374
  this.onSettingsChanged?.(value);
338
375
  }
376
+ async generatePdfThumbnails() {
377
+ if (!this.documents || !this.enableThumbnails)
378
+ return;
379
+ for (const doc of this.documents) {
380
+ // Only generate for PDFs that don't have a thumbnail
381
+ if (doc.file_type === 'application/pdf' &&
382
+ !doc.thumbnail &&
383
+ !this.generatedThumbnails.has(doc.id)) {
384
+ this.generateSinglePdfThumbnail(doc);
385
+ }
386
+ }
387
+ }
388
+ async generateSinglePdfThumbnail(doc) {
389
+ try {
390
+ let data;
391
+ if (this.onClick) {
392
+ const result = await this.onClick(doc.id);
393
+ data = result.data || result;
394
+ }
395
+ else if (doc.dmsf_src) {
396
+ data = await fetch(doc.dmsf_src).then((r) => r.arrayBuffer());
397
+ }
398
+ else {
399
+ return;
400
+ }
401
+ const thumbnailUrl = await this.pdfThumbnailGenerator.generatePdfThumbnail(doc.id, data, { width: this.thumbnailSize || 40, height: this.thumbnailSize || 40 });
402
+ this.generatedThumbnails.set(doc.id, thumbnailUrl);
403
+ this.requestUpdate();
404
+ }
405
+ catch (error) {
406
+ console.error(`Error generating PDF thumbnail for ${doc.id}:`, error);
407
+ // Will fall back to icon in the thumbnail component
408
+ }
409
+ }
410
+ getThumbnailUrl(doc) {
411
+ // For PDFs, check generated thumbnails first, then doc.thumbnail
412
+ if (doc.file_type === 'application/pdf') {
413
+ return this.generatedThumbnails.get(doc.id) || doc.thumbnail;
414
+ }
415
+ // For other files, use provided thumbnail
416
+ return doc.thumbnail;
417
+ }
339
418
  render() {
340
419
  if (this.hideTabWhen)
341
420
  return null;
@@ -351,18 +430,51 @@ export class LitAttachmentsTab extends LitElement {
351
430
  @click=${() => doc.id && this.handleDocumentClick(doc.id)}
352
431
  >
353
432
  <div class="document-item" id="${doc.id}">
354
- <lit-overflow-tooltip
355
- label="${doc.name ||
433
+ ${this.enableThumbnails
434
+ ? html `
435
+ <lit-document-thumbnail
436
+ .thumbnail="${this.getThumbnailUrl(doc)}"
437
+ .fileType="${doc.file_type}"
438
+ .size="${this.thumbnailSize}"
439
+ .enableThumbnailDetail="${this.enableThumbnailDetail}"
440
+ ></lit-document-thumbnail>
441
+ `
442
+ : null}
443
+ <div class="document-item-content">
444
+ <div class="document-name">
445
+ <span class="document-name-text">
446
+ <lit-overflow-tooltip
447
+ label="${doc.name ||
356
448
  `${msg('Dokument')} ${index + 1}`}"
357
- >
358
- ${doc.name || `${msg('Dokument')} ${index + 1}`}
359
- </lit-overflow-tooltip>
360
- ${doc.meta && doc.meta.length > 0
449
+ >
450
+ ${doc.name ||
451
+ `${msg('Dokument')} ${index + 1}`}
452
+ </lit-overflow-tooltip>
453
+ </span>
454
+ ${doc.meta && doc.meta.length > 0
361
455
  ? doc.meta.map((metaItem) => html `<lit-badge
362
- content="neutral"
363
- .text=${metaItem}
364
- ></lit-badge>`)
456
+ content="neutral"
457
+ .text=${metaItem}
458
+ ></lit-badge>`)
459
+ : null}
460
+ </div>
461
+ ${this.enableAdditionalInformation &&
462
+ (doc.dateOfUpload || doc.userName)
463
+ ? html `
464
+ <div class="document-info">
465
+ ${doc.dateOfUpload
466
+ ? html `${doc.dateOfUpload}`
467
+ : null}
468
+ ${doc.dateOfUpload && doc.userName
469
+ ? html ` `
470
+ : null}
471
+ ${doc.userName
472
+ ? html `${doc.userName}`
473
+ : null}
474
+ </div>
475
+ `
365
476
  : null}
477
+ </div>
366
478
  </div>
367
479
 
368
480
  ${this.selectedId == doc.id
@@ -387,7 +499,61 @@ export class LitAttachmentsTab extends LitElement {
387
499
  value: doc.id,
388
500
  label: doc.name,
389
501
  meta: doc.meta,
502
+ fileType: doc.file_type,
503
+ thumbnail: this.getThumbnailUrl(doc),
504
+ dateOfUpload: doc.dateOfUpload,
505
+ userName: doc.userName,
390
506
  }))}"
507
+ .renderOption="${(option, _isActive, _isSelected) => html `
508
+ <span
509
+ style="display: flex; align-items: center; gap: 0.5rem; width: 100%;"
510
+ >
511
+ ${this.enableThumbnails
512
+ ? html `
513
+ <lit-document-thumbnail
514
+ .thumbnail="${option.thumbnail}"
515
+ .fileType="${option.fileType}"
516
+ .size="${this.thumbnailSize || 40}"
517
+ .enableHoverPreview="${true}"
518
+ .enableThumbnailDetail="${this.enableThumbnailDetail}"
519
+ ></lit-document-thumbnail>
520
+ `
521
+ : null}
522
+ <span
523
+ style="flex: 1; overflow: hidden; display: flex; flex-direction: column; gap: 0.125rem; min-width: 0;"
524
+ >
525
+ <span
526
+ style="display: flex; align-items: center; gap: 0.5rem; overflow: hidden;"
527
+ >
528
+ <span
529
+ style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
530
+ >
531
+ ${option.label}
532
+ </span>
533
+ ${option.meta?.map((metaItem) => html `
534
+ <lit-badge
535
+ content="neutral"
536
+ .text=${metaItem}
537
+ ></lit-badge>
538
+ `) ?? ''}
539
+ </span>
540
+ ${this.enableAdditionalInformation &&
541
+ (option.dateOfUpload || option.userName)
542
+ ? html `
543
+ <span
544
+ style="font-size: 0.6875rem; font-weight: 400; color: var(--text-secondary, #6b7280); overflow: hidden; white-space: nowrap; text-overflow: ellipsis;"
545
+ >
546
+ ${option.dateOfUpload || ''}
547
+ ${option.dateOfUpload && option.userName
548
+ ? ' '
549
+ : ''}
550
+ ${option.userName || ''}
551
+ </span>
552
+ `
553
+ : null}
554
+ </span>
555
+ </span>
556
+ `}"
391
557
  .onChange="${(selectedValue) => {
392
558
  this.handleDocumentClick(selectedValue);
393
559
  }}"
@@ -513,6 +679,10 @@ export class LitAttachmentsTab extends LitElement {
513
679
  .onSettingsChangedModal="${this.onSettingsChangedCallback.bind(this)}"
514
680
  .type="${this.type}"
515
681
  .scale="${this.scale}"
682
+ .enableThumbnails="${this.enableThumbnails}"
683
+ .thumbnailSize="${this.thumbnailSize}"
684
+ .enableAdditionalInformation="${this.enableAdditionalInformation}"
685
+ .enableThumbnailDetail="${this.enableThumbnailDetail}"
516
686
  ></attachments-tab-settings>
517
687
  </div>`
518
688
  : null}
@@ -523,7 +693,7 @@ export class LitAttachmentsTab extends LitElement {
523
693
  LitAttachmentsTab.styles = [
524
694
  css `
525
695
  .document-label {
526
- line-height: 2.125rem;
696
+ min-height: 2.125rem;
527
697
  gap: 0.25rem;
528
698
  display: flex;
529
699
  justify-content: space-between;
@@ -532,7 +702,7 @@ LitAttachmentsTab.styles = [
532
702
  position: relative;
533
703
  font-weight: 500;
534
704
  font-size: 0.8125rem;
535
- padding: 0.125rem 0 0.125rem 1rem;
705
+ padding: 0.5rem 0 0.5rem 1rem;
536
706
  background: var(--background-paper, #ffffff);
537
707
  color: var(--color-secondary-main, #111827);
538
708
  border-radius: 0.5rem;
@@ -543,9 +713,40 @@ LitAttachmentsTab.styles = [
543
713
  font-weight: 500;
544
714
  font-size: 0.8125rem;
545
715
  color: var(--color-secondary-main, #111827);
716
+ display: flex;
717
+ align-items: center;
718
+ gap: 0.75rem;
719
+ overflow: hidden;
720
+ flex: 1;
721
+ }
722
+
723
+ .document-item-content {
724
+ display: flex;
725
+ flex-direction: column;
726
+ gap: 0.125rem;
727
+ overflow: hidden;
728
+ flex: 1;
729
+ }
730
+
731
+ .document-name {
546
732
  display: flex;
547
733
  align-items: center;
548
734
  gap: 0.5rem;
735
+ min-width: 0;
736
+ }
737
+
738
+ .document-name-text {
739
+ overflow: hidden;
740
+ white-space: nowrap;
741
+ text-overflow: ellipsis;
742
+ flex-shrink: 1;
743
+ min-width: 0;
744
+ }
745
+
746
+ .document-info {
747
+ font-size: 0.6875rem;
748
+ font-weight: 400;
749
+ color: var(--text-secondary, #6b7280);
549
750
  overflow: hidden;
550
751
  white-space: nowrap;
551
752
  text-overflow: ellipsis;
@@ -685,6 +886,18 @@ __decorate([
685
886
  __decorate([
686
887
  property({ type: Boolean })
687
888
  ], LitAttachmentsTab.prototype, "enableSettings", void 0);
889
+ __decorate([
890
+ property({ type: Boolean })
891
+ ], LitAttachmentsTab.prototype, "enableThumbnails", void 0);
892
+ __decorate([
893
+ property({ type: Number })
894
+ ], LitAttachmentsTab.prototype, "thumbnailSize", void 0);
895
+ __decorate([
896
+ property({ type: Boolean })
897
+ ], LitAttachmentsTab.prototype, "enableAdditionalInformation", void 0);
898
+ __decorate([
899
+ property({ type: Boolean })
900
+ ], LitAttachmentsTab.prototype, "enableThumbnailDetail", void 0);
688
901
  __decorate([
689
902
  property({ attribute: false })
690
903
  ], LitAttachmentsTab.prototype, "onSettingsChanged", void 0);
@@ -715,6 +928,12 @@ __decorate([
715
928
  __decorate([
716
929
  state()
717
930
  ], LitAttachmentsTab.prototype, "localScale", void 0);
931
+ __decorate([
932
+ state()
933
+ ], LitAttachmentsTab.prototype, "pdfThumbnailGenerator", void 0);
934
+ __decorate([
935
+ state()
936
+ ], LitAttachmentsTab.prototype, "generatedThumbnails", void 0);
718
937
  if (!window.customElements.get('lit-attachments-tab')) {
719
938
  window.customElements.define('lit-attachments-tab', LitAttachmentsTab);
720
939
  }