x-print-designer 0.4.3 → 0.4.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.
@@ -1,102 +1,116 @@
1
- import type {
2
- DesignerExportRequest,
3
- DesignerPrintRequest,
4
- DesignerPrintDefaults,
5
- DesignerListContextMenuConfig,
6
- DesignerListContextMenuItem,
7
- DesignerTemplateTagResolver
8
- } from './web-component';
9
- import type {
10
- LocalPrinterInfo,
11
- RemotePrinterInfo,
12
- LocalPrinterCaps,
13
- RemoteClientInfo
14
- } from './composables/usePrintSettings';
15
-
16
- export type EndpointConfig = string | {
17
- url: string;
18
- method?: string;
19
- data?: Record<string, any>;
20
- };
21
-
22
- export type CrudEndpoints = {
23
- baseUrl?: string;
24
- templates?: {
25
- list?: EndpointConfig;
26
- get?: EndpointConfig;
27
- upsert?: EndpointConfig;
28
- delete?: EndpointConfig;
29
- };
30
- customElements?: {
31
- list?: EndpointConfig;
32
- get?: EndpointConfig;
33
- upsert?: EndpointConfig;
34
- delete?: EndpointConfig;
35
- };
36
- };
37
-
38
- export interface PrintDesignerElement extends HTMLElement {
39
- print(request?: DesignerPrintRequest): Promise<void>;
40
- export(request: DesignerExportRequest): Promise<void | Blob>;
41
- setPrintDefaults(payload?: DesignerPrintDefaults): void;
42
- fetchLocalPrinters(): Promise<LocalPrinterInfo[]>;
43
- fetchLocalPrinterCaps(printer: string): Promise<LocalPrinterCaps | undefined>;
44
- fetchRemotePrinters(clientId?: string): Promise<RemotePrinterInfo[]>;
45
- fetchRemoteClients(): Promise<RemoteClientInfo[]>;
46
-
47
- setBranding(payload?: { title?: string; logoUrl?: string; showTitle?: boolean; showLogo?: boolean }): void;
48
- setBrandVars(vars: Record<string, string>, options?: { persist?: boolean }): void;
49
- setTheme(theme: string): void;
50
- setDesignerFont(fontFamily: string, options?: { persist?: boolean }): void;
51
- setLanguage(lang: 'zh' | 'en'): void;
52
- getPrintQuality(): 'fast' | 'normal' | 'high' | 'ultra';
53
-
54
- // Save callback
55
- setOnSave(handler: ((payload: { id: string | null; name: string; data: Record<string, any>; isNew: boolean }) => void | Promise<void>) | null): void;
56
- setAutoSave(enabled: boolean, intervalMs?: number): void;
57
- setPrintQuality(quality: 'fast' | 'normal' | 'high' | 'ultra'): void;
58
-
59
- getTestData(): Record<string, any>;
60
- setTestData(data: Record<string, any>, options?: { merge?: boolean }): Promise<void>;
61
- setSampleData(data: Record<string, any>): void;
62
-
63
- getVariables(): Record<string, any>;
64
- setVariables(data: Record<string, any>, options?: { merge?: boolean }): Promise<void>;
65
- setTemplateVariables(data: Record<string, any>, options?: { merge?: boolean }): Promise<void>;
66
-
67
- getTemplateVariables(): Record<string, any>;
68
-
69
- getTemplateData(): any;
70
- loadTemplateData(data: any): boolean;
71
-
72
- getTemplates(options?: { includeData?: boolean }): Array<{ id: string; name: string; updatedAt: number } | any>;
73
- refreshTemplates(options?: { includeData?: boolean }): Promise<Array<{ id: string; name: string; updatedAt: number } | any>>;
74
- getTemplate(id: string): any | null;
75
- upsertTemplate(template: { id?: string; name: string; data?: any; updatedAt?: number; [key: string]: any }, options?: { setCurrent?: boolean }): Promise<string | null>;
76
- setTemplates(templates: Array<{ id: string; name: string; data?: any; updatedAt?: number; [key: string]: any }>, options?: { currentTemplateId?: string }): void;
77
- deleteTemplate(id: string, options?: { confirm?: boolean }): Promise<void>;
78
- loadTemplate(id: string): boolean;
79
-
80
- getCustomElements(options?: { includeElement?: boolean }): Array<{ id: string; name: string } | any>;
81
- refreshCustomElements(options?: { includeElement?: boolean }): Promise<Array<{ id: string; name: string } | any>>;
82
- upsertCustomElement(customElement: { id?: string; name: string; element: any; [key: string]: any }): Promise<string | null>;
83
- setCustomElements(customElements: Array<{ id: string; name: string; element: any; [key: string]: any }>): void;
84
- deleteCustomElement(id: string, options?: { confirm?: boolean }): Promise<void>;
85
- setTemplateContextMenu(config: DesignerListContextMenuConfig | DesignerListContextMenuItem[]): void;
86
- clearTemplateContextMenu(): void;
87
- setCustomElementContextMenu(config: DesignerListContextMenuConfig | DesignerListContextMenuItem[]): void;
88
- clearCustomElementContextMenu(): void;
89
- setTemplateTagResolver(resolver: DesignerTemplateTagResolver): void;
90
- clearTemplateTagResolver(): void;
91
-
92
- setCrudMode(mode: 'local' | 'remote'): void;
93
- setCrudEndpoints(endpoints: CrudEndpoints, options?: { baseUrl?: string; headers?: Record<string, string>; fetcher?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response> }): void;
94
- }
95
-
96
- declare global {
97
- interface HTMLElementTagNameMap {
98
- 'print-designer': PrintDesignerElement;
99
- }
100
- }
101
-
102
- export {};
1
+ import type {
2
+ DesignerExportRequest,
3
+ DesignerPrintRequest,
4
+ DesignerPrintDefaults,
5
+ DesignerListContextMenuConfig,
6
+ DesignerListContextMenuItem,
7
+ DesignerTemplateTagResolver
8
+ } from './web-component';
9
+ import type {
10
+ LocalPrinterInfo,
11
+ RemotePrinterInfo,
12
+ LocalPrinterCaps,
13
+ RemoteClientInfo
14
+ } from './composables/usePrintSettings';
15
+
16
+ export type EndpointConfig = string | {
17
+ url: string;
18
+ method?: string;
19
+ data?: Record<string, any>;
20
+ };
21
+
22
+ export type CrudEndpoints = {
23
+ baseUrl?: string;
24
+ templates?: {
25
+ list?: EndpointConfig;
26
+ get?: EndpointConfig;
27
+ upsert?: EndpointConfig;
28
+ delete?: EndpointConfig;
29
+ };
30
+ customElements?: {
31
+ list?: EndpointConfig;
32
+ get?: EndpointConfig;
33
+ upsert?: EndpointConfig;
34
+ delete?: EndpointConfig;
35
+ };
36
+ };
37
+ export type DesignerFieldDictionaryItem = {
38
+ fieldKey?: string;
39
+ key?: string;
40
+ fieldType?: string;
41
+ label?: string;
42
+ labelCn?: string;
43
+ labelEn?: string;
44
+ moduleKey?: string;
45
+ moduleName?: string;
46
+ primaryKey?: boolean;
47
+ };
48
+
49
+ export type DesignerFieldDictionary = Record<string, DesignerFieldDictionaryItem | string | null | undefined>;
50
+
51
+ export interface PrintDesignerElement extends HTMLElement {
52
+ print(request?: DesignerPrintRequest): Promise<void>;
53
+ export(request: DesignerExportRequest): Promise<void | Blob>;
54
+ setPrintDefaults(payload?: DesignerPrintDefaults): void;
55
+ fetchLocalPrinters(): Promise<LocalPrinterInfo[]>;
56
+ fetchLocalPrinterCaps(printer: string): Promise<LocalPrinterCaps | undefined>;
57
+ fetchRemotePrinters(clientId?: string): Promise<RemotePrinterInfo[]>;
58
+ fetchRemoteClients(): Promise<RemoteClientInfo[]>;
59
+
60
+ setBranding(payload?: { title?: string; logoUrl?: string; showTitle?: boolean; showLogo?: boolean }): void;
61
+ setBrandVars(vars: Record<string, string>, options?: { persist?: boolean }): void;
62
+ setTheme(theme: string): void;
63
+ setDesignerFont(fontFamily: string, options?: { persist?: boolean }): void;
64
+ setLanguage(lang: 'zh' | 'en'): void;
65
+ getPrintQuality(): 'fast' | 'normal' | 'high' | 'ultra';
66
+
67
+ // Save callback
68
+ setOnSave(handler: ((payload: { id: string | null; name: string; data: Record<string, any>; isNew: boolean }) => void | Promise<void>) | null): void;
69
+ setAutoSave(enabled: boolean, intervalMs?: number): void;
70
+ setPrintQuality(quality: 'fast' | 'normal' | 'high' | 'ultra'): void;
71
+
72
+ getTestData(): Record<string, any>;
73
+ setTestData(data: Record<string, any>, options?: { merge?: boolean }): Promise<void>;
74
+ setSampleData(data: Record<string, any>): void;
75
+
76
+ getVariables(): Record<string, any>;
77
+ setVariables(data: Record<string, any>, options?: { merge?: boolean }): Promise<void>;
78
+ setTemplateVariables(data: Record<string, any>, options?: { merge?: boolean }): Promise<void>;
79
+ setFieldDictionary(dictionary?: DesignerFieldDictionary | null): void;
80
+
81
+ getTemplateVariables(): Record<string, any>;
82
+
83
+ getTemplateData(): any;
84
+ loadTemplateData(data: any): boolean;
85
+
86
+ getTemplates(options?: { includeData?: boolean }): Array<{ id: string; name: string; updatedAt: number } | any>;
87
+ refreshTemplates(options?: { includeData?: boolean }): Promise<Array<{ id: string; name: string; updatedAt: number } | any>>;
88
+ getTemplate(id: string): any | null;
89
+ upsertTemplate(template: { id?: string; name: string; data?: any; updatedAt?: number; [key: string]: any }, options?: { setCurrent?: boolean }): Promise<string | null>;
90
+ setTemplates(templates: Array<{ id: string; name: string; data?: any; updatedAt?: number; [key: string]: any }>, options?: { currentTemplateId?: string }): void;
91
+ deleteTemplate(id: string, options?: { confirm?: boolean }): Promise<void>;
92
+ loadTemplate(id: string): boolean;
93
+
94
+ getCustomElements(options?: { includeElement?: boolean }): Array<{ id: string; name: string } | any>;
95
+ refreshCustomElements(options?: { includeElement?: boolean }): Promise<Array<{ id: string; name: string } | any>>;
96
+ upsertCustomElement(customElement: { id?: string; name: string; element: any; [key: string]: any }): Promise<string | null>;
97
+ setCustomElements(customElements: Array<{ id: string; name: string; element: any; [key: string]: any }>): void;
98
+ deleteCustomElement(id: string, options?: { confirm?: boolean }): Promise<void>;
99
+ setTemplateContextMenu(config: DesignerListContextMenuConfig | DesignerListContextMenuItem[]): void;
100
+ clearTemplateContextMenu(): void;
101
+ setCustomElementContextMenu(config: DesignerListContextMenuConfig | DesignerListContextMenuItem[]): void;
102
+ clearCustomElementContextMenu(): void;
103
+ setTemplateTagResolver(resolver: DesignerTemplateTagResolver): void;
104
+ clearTemplateTagResolver(): void;
105
+
106
+ setCrudMode(mode: 'local' | 'remote'): void;
107
+ setCrudEndpoints(endpoints: CrudEndpoints, options?: { baseUrl?: string; headers?: Record<string, string>; fetcher?: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response> }): void;
108
+ }
109
+
110
+ declare global {
111
+ interface HTMLElementTagNameMap {
112
+ 'print-designer': PrintDesignerElement;
113
+ }
114
+ }
115
+
116
+ export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "x-print-designer",
3
3
  "private": false,
4
- "version": "0.4.3",
4
+ "version": "0.4.4",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
7
7
  "main": "dist/print-designer.umd.js",