x4js 1.5.21 → 1.5.23

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 (65) hide show
  1. package/lib/cjs/index.js +1 -1
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/esm/index.mjs +1 -1
  4. package/lib/esm/index.mjs.map +1 -1
  5. package/lib/src/version.ts +1 -1
  6. package/lib/types/action.d.ts +57 -0
  7. package/lib/types/app_sockets.d.ts +29 -0
  8. package/lib/types/application.d.ts +104 -0
  9. package/lib/types/autocomplete.d.ts +58 -0
  10. package/lib/types/base_component.d.ts +88 -0
  11. package/lib/types/button.d.ts +151 -0
  12. package/lib/types/calendar.d.ts +82 -0
  13. package/lib/types/canvas.d.ts +92 -0
  14. package/lib/types/cardview.d.ts +87 -0
  15. package/lib/types/checkbox.d.ts +77 -0
  16. package/lib/types/color.d.ts +148 -0
  17. package/lib/types/colorpicker.d.ts +107 -0
  18. package/lib/types/combobox.d.ts +107 -0
  19. package/lib/types/component.d.ts +601 -0
  20. package/lib/types/datastore.d.ts +396 -0
  21. package/lib/types/dialog.d.ts +175 -0
  22. package/lib/types/dom_events.d.ts +302 -0
  23. package/lib/types/drag_manager.d.ts +54 -0
  24. package/lib/types/drawtext.d.ts +48 -0
  25. package/lib/types/fileupload.d.ts +64 -0
  26. package/lib/types/form.d.ts +133 -0
  27. package/lib/types/formatters.d.ts +35 -0
  28. package/lib/types/gridview.d.ts +175 -0
  29. package/lib/types/i18n.d.ts +73 -0
  30. package/lib/types/icon.d.ts +64 -0
  31. package/lib/types/image.d.ts +55 -0
  32. package/lib/types/index.d.ts +84 -0
  33. package/lib/types/input.d.ts +91 -0
  34. package/lib/types/label.d.ts +58 -0
  35. package/lib/types/layout.d.ts +87 -0
  36. package/lib/types/link.d.ts +50 -0
  37. package/lib/types/listview.d.ts +178 -0
  38. package/lib/types/md5.d.ts +61 -0
  39. package/lib/types/menu.d.ts +130 -0
  40. package/lib/types/messagebox.d.ts +69 -0
  41. package/lib/types/panel.d.ts +47 -0
  42. package/lib/types/popup.d.ts +75 -0
  43. package/lib/types/property_editor.d.ts +71 -0
  44. package/lib/types/radiobtn.d.ts +73 -0
  45. package/lib/types/rating.d.ts +53 -0
  46. package/lib/types/request.d.ts +52 -0
  47. package/lib/types/router.d.ts +42 -0
  48. package/lib/types/settings.d.ts +37 -0
  49. package/lib/types/sidebarview.d.ts +49 -0
  50. package/lib/types/spreadsheet.d.ts +222 -0
  51. package/lib/types/styles.d.ts +85 -0
  52. package/lib/types/svgcomponent.d.ts +215 -0
  53. package/lib/types/tabbar.d.ts +58 -0
  54. package/lib/types/tabview.d.ts +49 -0
  55. package/lib/types/textarea.d.ts +77 -0
  56. package/lib/types/textedit.d.ts +123 -0
  57. package/lib/types/toaster.d.ts +42 -0
  58. package/lib/types/tools.d.ts +394 -0
  59. package/lib/types/tooltips.d.ts +46 -0
  60. package/lib/types/treeview.d.ts +144 -0
  61. package/lib/types/version.d.ts +29 -0
  62. package/lib/types/x4dom.d.ts +49 -0
  63. package/lib/types/x4events.d.ts +269 -0
  64. package/lib/types/x4react.d.ts +41 -0
  65. package/package.json +3 -2
@@ -0,0 +1,73 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file radiobtn.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ import { HtmlString } from './tools';
30
+ import { Component, CProps, CEventMap } from './component';
31
+ import { EvChange, EventCallback } from './x4events';
32
+ import { IconID } from './icon';
33
+ import { Input } from './input';
34
+ interface RadioBtnEventMap extends CEventMap {
35
+ change?: EvChange;
36
+ }
37
+ export interface RadioBtnProps extends CProps {
38
+ group: string;
39
+ value: string;
40
+ tabIndex?: number | boolean;
41
+ name?: string;
42
+ icon?: IconID;
43
+ text?: string;
44
+ checked?: boolean;
45
+ labelWidth?: number | 'flex';
46
+ align?: 'left' | 'right';
47
+ change?: EventCallback<EvChange>;
48
+ }
49
+ /**
50
+ * Standard RadioBtn
51
+ */
52
+ export declare class RadioBtn extends Component<RadioBtnProps, RadioBtnEventMap> {
53
+ protected m_ui_input: Input;
54
+ constructor(props: RadioBtnProps);
55
+ /** @ignore */
56
+ render(props: RadioBtnProps): void;
57
+ /**
58
+ * check state changed
59
+ */
60
+ private _change;
61
+ /**
62
+ * @return the checked value
63
+ */
64
+ get check(): boolean;
65
+ /**
66
+ * change the checked value
67
+ * @param {boolean} ck new checked value
68
+ */
69
+ set check(ck: boolean);
70
+ get text(): HtmlString | string;
71
+ set text(text: HtmlString | string);
72
+ }
73
+ export {};
@@ -0,0 +1,53 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file rating.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ import { CProps, ContainerEventMap } from './component';
30
+ import { HLayout } from './layout';
31
+ import { EvChange, EventCallback } from './x4events';
32
+ interface RatingEventMap extends ContainerEventMap {
33
+ change: EvChange;
34
+ }
35
+ export interface RatingProps extends CProps<RatingEventMap> {
36
+ steps?: number;
37
+ value?: number;
38
+ shape?: string;
39
+ name?: string;
40
+ change?: EventCallback<EvChange>;
41
+ }
42
+ export declare class Rating extends HLayout<RatingProps, RatingEventMap> {
43
+ private m_els;
44
+ private m_input;
45
+ constructor(props: RatingProps);
46
+ render(props: RatingProps): void;
47
+ getValue(): number;
48
+ set value(v: number);
49
+ set steps(n: number);
50
+ set shape(shape: string);
51
+ private _onclick;
52
+ }
53
+ export {};
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file request.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ export interface RequestProps {
30
+ url: string;
31
+ method?: 'GET' | 'POST';
32
+ headers?: string[];
33
+ params?: any;
34
+ timeout?: number;
35
+ responseType?: 'text' | 'json' | 'arraybuffer';
36
+ userData?: any;
37
+ success: (data: any, userData: any) => void;
38
+ failure?: (status: number, statusText: string, userData: any) => void;
39
+ progress?: (length: number, total: number, display: string) => void;
40
+ }
41
+ export declare function ajaxRequest(cfg: RequestProps): Function;
42
+ interface AjaxRequestInit extends Omit<RequestInit, 'body'> {
43
+ body?: BodyInit | null | object;
44
+ noGenX?: boolean;
45
+ }
46
+ export declare function ajaxAsJSON(url: string, init?: AjaxRequestInit): Promise<any>;
47
+ export declare function ajaxAsText(url: string, init?: AjaxRequestInit): Promise<any>;
48
+ /**
49
+ * use encodeURIComponent for elements in url
50
+ */
51
+ export declare function ajax(url: string, init?: AjaxRequestInit, type?: string): Promise<Response>;
52
+ export {};
@@ -0,0 +1,42 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file router.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ import { EventSource, EvError, EventMap } from "./x4events";
30
+ type RouteHandler = (params: any, path: string) => void;
31
+ interface RouterEventMap extends EventMap {
32
+ error: EvError;
33
+ }
34
+ export declare class Router extends EventSource<RouterEventMap> {
35
+ private routes;
36
+ constructor();
37
+ get(uri: string | RegExp, handler: RouteHandler): void;
38
+ init(): void;
39
+ navigate(uri: string, notify?: boolean): void;
40
+ private _find;
41
+ }
42
+ export {};
@@ -0,0 +1,37 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file local_storage.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ export declare class Settings {
30
+ private m_data;
31
+ private m_name;
32
+ constructor(name?: string);
33
+ set(name: string, value: any): void;
34
+ get(name: string, defValue?: any): any;
35
+ private _save;
36
+ private _load;
37
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file sidebarview.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ import { Component } from './component';
30
+ import { VLayout } from './layout';
31
+ import { CardView, CardViewProps, ICardViewItem } from './cardview';
32
+ export interface SideBarItem extends ICardViewItem {
33
+ }
34
+ export interface SideBarProps extends CardViewProps {
35
+ bar_sizable?: boolean;
36
+ bar_width?: number;
37
+ }
38
+ /**
39
+ *
40
+ */
41
+ export declare class SideBarView extends CardView<SideBarProps> {
42
+ m_sidebar: VLayout;
43
+ m_content: Component;
44
+ constructor(props: SideBarProps);
45
+ /** @ignore */
46
+ render(): void;
47
+ protected _prepareSelector(card: ICardViewItem): Component;
48
+ protected _preparePage(page: Component): void;
49
+ }
@@ -0,0 +1,222 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file spreadsheet.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ import { Component, EvDblClick, ContainerEventMap, ContainerProps } from './component';
30
+ import { InputProps } from './input';
31
+ import { VLayout } from './layout';
32
+ import { FormatFunc } from './formatters';
33
+ import { EvContextMenu, EvChange, EvSelectionChange, EventCallback } from './x4events';
34
+ export interface EditorFactory {
35
+ (props: InputProps, row: number, col: number): Component;
36
+ }
37
+ /**
38
+ *
39
+ */
40
+ export interface ColProp {
41
+ title: string;
42
+ width: number;
43
+ formatter?: string;
44
+ align?: string;
45
+ cls?: string;
46
+ min_width?: number;
47
+ renderer?: FormatFunc;
48
+ createEditor?: EditorFactory;
49
+ }
50
+ /**
51
+ *
52
+ */
53
+ export interface SpreadsheetEventSet extends ContainerEventMap {
54
+ change?: EvChange;
55
+ dblClick?: EvDblClick;
56
+ selectionChange?: EvSelectionChange;
57
+ contextMenu?: EvContextMenu;
58
+ }
59
+ /**
60
+ *
61
+ */
62
+ export interface SpreadsheetProps extends ContainerProps {
63
+ columns: ColProp[];
64
+ maxrows?: number;
65
+ autoedit?: boolean;
66
+ change?: EventCallback<EvChange>;
67
+ dblClick?: EventCallback<EvDblClick>;
68
+ selectionChange?: EventCallback<EvSelectionChange>;
69
+ contextMenu?: EventCallback<EvContextMenu>;
70
+ }
71
+ /**
72
+ *
73
+ */
74
+ export declare class Spreadsheet extends VLayout<SpreadsheetProps, SpreadsheetEventSet> {
75
+ private m_columns;
76
+ private m_row_limit;
77
+ private m_cells_data;
78
+ private m_rows_data;
79
+ protected m_view: Component;
80
+ protected m_container: Component;
81
+ protected m_header: Component;
82
+ private m_itemHeight;
83
+ private m_topIndex;
84
+ private m_visible_cells;
85
+ private m_row_count;
86
+ private m_selection;
87
+ private m_editor;
88
+ private m_autoedit;
89
+ private m_lockupdate;
90
+ private m_auto_row_count;
91
+ private m_recycler;
92
+ private m_used_cells;
93
+ constructor(props: SpreadsheetProps);
94
+ componentCreated(): void;
95
+ setColWidth(col: number, width: number): void;
96
+ getColWidth(col: number): number;
97
+ setColTitle(col: number, title: string): void;
98
+ /**
99
+ * reset the spreadsheet
100
+ * @param columns
101
+ */
102
+ reset(columns?: ColProp[]): void;
103
+ /**
104
+ * insert a row
105
+ * @param before row number before wich insert the new row
106
+ */
107
+ insertRow(before: number): void;
108
+ /**
109
+ * remove a row
110
+ * @param rowtodel row number to remove
111
+ */
112
+ deleteRow(rowtodel: number): void;
113
+ /**
114
+ * insert a new column
115
+ * @param before column index before to insert the new column or <0 to append
116
+ */
117
+ insertCol(before: number, column: ColProp): void;
118
+ /**
119
+ * remove a column
120
+ * @param coltodel
121
+ */
122
+ deleteCol(coltodel: number): void;
123
+ /**
124
+ *
125
+ * @param row
126
+ * @param col
127
+ */
128
+ private _getCellData;
129
+ private _focus;
130
+ private _ctxMenu;
131
+ /** @ignore */
132
+ render(): void;
133
+ /**
134
+ *
135
+ */
136
+ private _on_col_resize;
137
+ /**
138
+ * compute misc dimensions
139
+ * - item height
140
+ * - scroll width
141
+ */
142
+ private _computeItemHeight;
143
+ /**
144
+ * compute columns widths
145
+ * use col.width for fixed size columns
146
+ * if col.width < 0 that mean that this is a proportion of the remaining space
147
+ */
148
+ private _calcColWidths;
149
+ /**
150
+ * create a cell (component)
151
+ * and append it to the parent view
152
+ * if a cell was reviously recyled, use it
153
+ */
154
+ private _createCell;
155
+ /**
156
+ * build cells of the spreadsheet
157
+ * cells are recycled when scrolling,
158
+ * only visibles cells exists
159
+ */
160
+ private _buildItems;
161
+ /** @ignore */
162
+ private _itemClick;
163
+ private _itemDblClick;
164
+ /**
165
+ *
166
+ * @param rowIdx
167
+ * @param colIdx
168
+ * @param scrollIntoView
169
+ */
170
+ protected _selectItem(rowIdx: number, colIdx: number, scrollIntoView?: boolean): void;
171
+ private _scrollIntoView;
172
+ /**
173
+ *
174
+ * @param row
175
+ * @param col
176
+ */
177
+ private _findItem;
178
+ /**
179
+ *
180
+ */
181
+ private _updateScroll;
182
+ /**
183
+ *
184
+ * @param event
185
+ * @param t
186
+ */
187
+ private _moveSel;
188
+ private _handleKey;
189
+ private _keyPress;
190
+ /**
191
+ * return the selection
192
+ * { row, col }
193
+ */
194
+ getSelection(): {
195
+ row: number;
196
+ col: number;
197
+ };
198
+ select(row: number, col: number, scrollIntoView?: boolean): void;
199
+ /**
200
+ * return the row count
201
+ */
202
+ rowCount(): number;
203
+ /**
204
+ * return the maximum row index filled with something
205
+ */
206
+ getMaxRowCount(): number;
207
+ getColCount(): number;
208
+ setRowStyle(row: number, cls: string): void;
209
+ getRowStyle(row: number): string;
210
+ setCellStyle(row: number, col: number, cls: string): void;
211
+ getCellText(row: number, col: number): string;
212
+ getCellNumber(row: number, col: number): number;
213
+ clearRow(row: number): void;
214
+ clearCell(row: number, col: number): void;
215
+ editCurCell(forceText?: string): void;
216
+ editCell(row: number, col: number, forcedText?: string): void;
217
+ _setupEditor(): void;
218
+ killEditor(save: boolean): void;
219
+ clearData(): void;
220
+ setCellText(row: number, col: number, value: string): void;
221
+ lockUpdate(start: boolean): void;
222
+ }
@@ -0,0 +1,85 @@
1
+ /**
2
+ * ___ ___ __
3
+ * \ \_/ / / _
4
+ * \ / /_| |_
5
+ * / _ \____ _|
6
+ * /__/ \__\ |_|
7
+ *
8
+ * @file styles.ts
9
+ * @author Etienne Cochard
10
+ *
11
+ * Copyright (c) 2019-2022 R-libre ingenierie
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ * of this software and associated documentation files (the "Software"), to deal
15
+ * in the Software without restriction, including without limitation the rights
16
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
17
+ * of the Software, and to permit persons to whom the Software is furnished to do so,
18
+ * subject to the following conditions:
19
+ * The above copyright notice and this permission notice shall be included in all copies
20
+ * or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
23
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
24
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ **/
29
+ /**
30
+ * -- [ @STYLESHEET ] -----------------------------------------------------------------
31
+ */
32
+ export declare class Stylesheet {
33
+ private m_sheet;
34
+ private m_rules;
35
+ constructor();
36
+ /**
37
+ * add a new rule to the style sheet
38
+ * @param {string} name - internal rule name
39
+ * @param {string} definition - css definition of the rule
40
+ * @example
41
+ * setRule('xbody', "body { background-color: #ff0000; }" );
42
+ */
43
+ setRule(name: string, definition: any): void;
44
+ /**
45
+ * return the style variable value
46
+ * @param name - variable name
47
+ * @example
48
+ * ```
49
+ * let color = Component.getCss( ).getVar( 'button-color' );
50
+ * ```
51
+ */
52
+ static getVar(name: string): any;
53
+ static guid: number;
54
+ static doc_style: CSSStyleDeclaration;
55
+ }
56
+ /**
57
+ * -- [ @CSSPARSER ] -----------------------------------------------------------------
58
+ *
59
+ * adaptation of jss-for-node-js
60
+ */
61
+ export declare class CSSParser {
62
+ private result;
63
+ parse(css: any): string;
64
+ static mk_string(rules: any): string;
65
+ private parse_json;
66
+ private makePropertyName;
67
+ private makeSelectorName;
68
+ addProperty(scope: string, property: string, value: any): void;
69
+ }
70
+ export declare class ComputedStyle {
71
+ m_style: CSSStyleDeclaration;
72
+ constructor(style: CSSStyleDeclaration);
73
+ /**
74
+ * return the raw value
75
+ */
76
+ value(name: string): string;
77
+ /**
78
+ * return the interpreted value
79
+ */
80
+ parse(name: string): number;
81
+ /**
82
+ *
83
+ */
84
+ get style(): CSSStyleDeclaration;
85
+ }