@idevs/corelib 0.0.97 → 1.0.1
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/CHANGELOG.md +743 -0
- package/README.md +221 -24
- package/dist/editors/checkboxButtonEditor.d.ts +3 -1
- package/dist/editors/checkboxButtonEditor.d.ts.map +1 -0
- package/dist/editors/checkboxButtonEditor.js +28 -18
- package/dist/editors/checkboxButtonEditor.js.map +1 -1
- package/dist/editors/dateMonthEditor.d.ts +3 -1
- package/dist/editors/dateMonthEditor.d.ts.map +1 -0
- package/dist/editors/dateMonthEditor.js +14 -7
- package/dist/editors/dateMonthEditor.js.map +1 -1
- package/dist/editors/index.d.ts +2 -1
- package/dist/editors/index.d.ts.map +1 -0
- package/dist/editors/index.js +18 -2
- package/dist/editors/index.js.map +1 -1
- package/dist/formatters/formatters.d.ts +2 -1
- package/dist/formatters/formatters.d.ts.map +1 -0
- package/dist/formatters/formatters.js +35 -23
- package/dist/formatters/formatters.js.map +1 -1
- package/dist/formatters/index.d.ts +2 -1
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +17 -1
- package/dist/formatters/index.js.map +1 -1
- package/dist/globals/index.d.ts +17 -10
- package/dist/globals/index.d.ts.map +1 -0
- package/dist/globals/index.js +65 -105
- package/dist/globals/index.js.map +1 -1
- package/dist/helpers/custom-fonts.d.ts +2 -1
- package/dist/helpers/custom-fonts.d.ts.map +1 -0
- package/dist/helpers/custom-fonts.js +4 -1
- package/dist/helpers/custom-fonts.js.map +1 -1
- package/dist/helpers/dialogHelper.d.ts +6 -9
- package/dist/helpers/dialogHelper.d.ts.map +1 -0
- package/dist/helpers/dialogHelper.js +17 -10
- package/dist/helpers/dialogHelper.js.map +1 -1
- package/dist/helpers/excelExportHelper.d.ts +2 -1
- package/dist/helpers/excelExportHelper.d.ts.map +1 -0
- package/dist/helpers/excelExportHelper.js +7 -4
- package/dist/helpers/excelExportHelper.js.map +1 -1
- package/dist/helpers/gridHelper.d.ts +2 -1
- package/dist/helpers/gridHelper.d.ts.map +1 -0
- package/dist/helpers/gridHelper.js +14 -9
- package/dist/helpers/gridHelper.js.map +1 -1
- package/dist/helpers/index.d.ts +2 -1
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +20 -4
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/pdfExportHelper.d.ts +2 -1
- package/dist/helpers/pdfExportHelper.d.ts.map +1 -0
- package/dist/helpers/pdfExportHelper.js +83 -17
- package/dist/helpers/pdfExportHelper.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -5
- package/dist/index.js.map +1 -1
- package/dist/types/common.d.ts +12 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +3 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/export.d.ts +50 -0
- package/dist/types/export.d.ts.map +1 -0
- package/dist/types/export.js +24 -0
- package/dist/types/export.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/DropdownToolButton.d.ts +2 -1
- package/dist/ui/DropdownToolButton.d.ts.map +1 -0
- package/dist/ui/DropdownToolButton.js +15 -11
- package/dist/ui/DropdownToolButton.js.map +1 -1
- package/dist/ui/ToggleToolButton.d.ts +2 -1
- package/dist/ui/ToggleToolButton.d.ts.map +1 -0
- package/dist/ui/ToggleToolButton.js +7 -3
- package/dist/ui/ToggleToolButton.js.map +1 -1
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +18 -2
- package/dist/ui/index.js.map +1 -1
- package/dist/utils/date.d.ts +16 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +85 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/dom.d.ts +13 -0
- package/dist/utils/dom.d.ts.map +1 -0
- package/dist/utils/dom.js +78 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/format.d.ts +22 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +100 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +20 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +48 -29
- package/dist/ui/ToolDropdownButton.d.ts +0 -49
- package/dist/ui/ToolDropdownButton.js +0 -230
- package/dist/ui/ToolDropdownButton.js.map +0 -1
- package/src/editors/checkboxButtonEditor.ts +0 -184
- package/src/editors/dateMonthEditor.ts +0 -47
- package/src/editors/index.ts +0 -2
- package/src/formatters/formatters.ts +0 -185
- package/src/formatters/index.ts +0 -1
- package/src/globals/index.ts +0 -385
- package/src/helpers/custom-fonts.d.ts +0 -5
- package/src/helpers/custom-fonts.ts +0 -18
- package/src/helpers/dialogHelper.ts +0 -143
- package/src/helpers/excelExportHelper.ts +0 -29
- package/src/helpers/gridHelper.ts +0 -107
- package/src/helpers/html2pdf.d.ts +0 -19
- package/src/helpers/index.ts +0 -4
- package/src/helpers/pdfExportHelper.ts +0 -179
- package/src/index.ts +0 -5
- package/src/tsconfig.json +0 -29
- package/src/ui/DropdownToolButton.ts +0 -305
- package/src/ui/ToggleToolButton.ts +0 -71
- package/src/ui/index.ts +0 -2
- /package/{css → dist/css}/idevs.dropdown.css +0 -0
- /package/{css → dist/css}/idevs.print.css +0 -0
package/README.md
CHANGED
|
@@ -1,47 +1,244 @@
|
|
|
1
|
-
|
|
2
1
|
# @idevs/corelib
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+

|
|
4
|
+

|
|
6
5
|
|
|
6
|
+
A comprehensive library of extended components and utilities for the Serenity Framework. This library provides additional editors, formatters, UI components, and helper functions to enhance your Serenity applications.
|
|
7
7
|
|
|
8
|
+
## Features
|
|
8
9
|
|
|
10
|
+
- 🎛️ **Extended Editors**: Additional input editors like CheckboxButton and DateMonth
|
|
11
|
+
- 📊 **Custom Formatters**: Specialized data formatters for grids and displays
|
|
12
|
+
- 🎨 **UI Components**: Enhanced toolbar buttons and UI widgets
|
|
13
|
+
- 🛠️ **Utility Functions**: Date, DOM, and formatting utilities
|
|
14
|
+
- 📄 **Export Helpers**: PDF and Excel export functionality
|
|
15
|
+
- 🌐 **TypeScript**: Full TypeScript support with type definitions
|
|
9
16
|
|
|
10
17
|
## Installation
|
|
11
18
|
|
|
12
|
-
|
|
19
|
+
```bash
|
|
20
|
+
npm install @idevs/corelib
|
|
21
|
+
```
|
|
13
22
|
|
|
14
|
-
|
|
15
|
-
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
### Basic Usage
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import {
|
|
29
|
+
CheckboxButtonEditor,
|
|
30
|
+
ZeroDisplayFormatter,
|
|
31
|
+
DropdownToolButton,
|
|
32
|
+
// Utility functions
|
|
33
|
+
toDateString,
|
|
34
|
+
getElementWidth,
|
|
35
|
+
createExportToolButton,
|
|
36
|
+
} from '@idevs/corelib'
|
|
37
|
+
|
|
38
|
+
// The library also extends global prototypes for convenience
|
|
39
|
+
// (though we recommend using the utility functions directly)
|
|
40
|
+
const timeStr = (120).toTimeString() // "02:00"
|
|
41
|
+
const truncated = 'Hello World'.truncate(5) // "Hell…"
|
|
16
42
|
```
|
|
17
43
|
|
|
18
|
-
###
|
|
44
|
+
### TypeScript Configuration
|
|
19
45
|
|
|
20
|
-
After
|
|
21
|
-
|
|
22
|
-
```
|
|
46
|
+
After installing, update your `tsconfig.json`:
|
|
47
|
+
|
|
48
|
+
```json
|
|
23
49
|
{
|
|
24
|
-
"compileOnSave": true,
|
|
25
50
|
"compilerOptions": {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"@idevs/*": [ "node_modules/@idevs/*/dist/index" ]
|
|
30
|
-
],
|
|
31
|
-
--- ommited ---
|
|
32
|
-
"include": [
|
|
33
|
-
--- ommited ---
|
|
34
|
-
"./node_modules/@idevs/corelib/src/**/*"
|
|
35
|
-
],
|
|
51
|
+
"paths": {
|
|
52
|
+
"@idevs/*": ["node_modules/@idevs/*/dist/index"]
|
|
53
|
+
}
|
|
36
54
|
}
|
|
37
55
|
}
|
|
38
56
|
```
|
|
57
|
+
|
|
58
|
+
> **Note**: Since version 1.0.0, the package only ships with built files. The TypeScript definitions are automatically available from the `dist/` folder.
|
|
59
|
+
|
|
60
|
+
### Editors
|
|
61
|
+
|
|
62
|
+
#### CheckboxButtonEditor
|
|
63
|
+
|
|
64
|
+
A multi-checkbox editor that displays options as button-style checkboxes.
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
@Decorators.registerEditor()
|
|
68
|
+
export class MyForm extends EntityDialog {
|
|
69
|
+
protected form = {
|
|
70
|
+
categories: new CheckboxButtonEditor({
|
|
71
|
+
lookupKey: 'MyModule.CategoryLookup',
|
|
72
|
+
}),
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Formatters
|
|
78
|
+
|
|
79
|
+
#### ZeroDisplayFormatter
|
|
80
|
+
|
|
81
|
+
Displays custom text when value is zero.
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
columns.push({
|
|
85
|
+
field: 'Amount',
|
|
86
|
+
formatter: ZeroDisplayFormatter,
|
|
87
|
+
formatterParams: { displayText: 'N/A' },
|
|
88
|
+
})
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### CheckboxFormatter
|
|
92
|
+
|
|
93
|
+
Displays checkboxes with customizable icons.
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
columns.push({
|
|
97
|
+
field: 'IsActive',
|
|
98
|
+
formatter: CheckboxFormatter,
|
|
99
|
+
formatterParams: {
|
|
100
|
+
trueValueIcon: 'mdi mdi-check-circle',
|
|
101
|
+
falseValueIcon: 'mdi mdi-close-circle',
|
|
102
|
+
},
|
|
103
|
+
})
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### UI Components
|
|
107
|
+
|
|
108
|
+
#### DropdownToolButton
|
|
109
|
+
|
|
110
|
+
A toolbar button with dropdown menu functionality.
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
const exportButton = new DropdownToolButton({
|
|
114
|
+
title: 'Export',
|
|
115
|
+
cssClass: 'export-dropdown',
|
|
116
|
+
items: [
|
|
117
|
+
{ text: 'Export PDF', onClick: () => exportToPDF() },
|
|
118
|
+
{ text: 'Export Excel', onClick: () => exportToExcel() },
|
|
119
|
+
],
|
|
120
|
+
})
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Utility Functions
|
|
124
|
+
|
|
125
|
+
#### Date Utilities
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
import { toDateString, toSqlDateString, toBeginMonth, toEndMonth } from '@idevs/corelib'
|
|
129
|
+
|
|
130
|
+
const formatted = toDateString(new Date()) // "31/12/2024"
|
|
131
|
+
const sqlDate = toSqlDateString(new Date()) // "2024-12-31"
|
|
132
|
+
const monthStart = toBeginMonth('2024-06-15') // "2024-06-01"
|
|
133
|
+
const monthEnd = toEndMonth('2024-06-15') // "2024-06-30"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### DOM Utilities
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
import { getElementWidth, removeChildren, isOverflow } from '@idevs/corelib'
|
|
140
|
+
|
|
141
|
+
const width = getElementWidth(element)
|
|
142
|
+
removeChildren(containerElement)
|
|
143
|
+
const hasOverflow = isOverflow(element)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### Format Utilities
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
import {
|
|
150
|
+
toTimeString,
|
|
151
|
+
toDecimalString,
|
|
152
|
+
truncateString,
|
|
153
|
+
RoundingMethod,
|
|
154
|
+
roundByMethod,
|
|
155
|
+
} from '@idevs/corelib'
|
|
156
|
+
|
|
157
|
+
const time = toTimeString(150) // "02:30"
|
|
158
|
+
const decimal = toDecimalString(123.456, 2) // "123.46"
|
|
159
|
+
const short = truncateString('Long text here', 10) // "Long text…"
|
|
160
|
+
const rounded = roundByMethod('123.47', RoundingMethod.Quarter25) // 123.25
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Export Functionality
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
import { createExportToolButton, ExportOptions } from '@idevs/corelib'
|
|
167
|
+
|
|
168
|
+
const exportOptions: ExportOptions = {
|
|
169
|
+
grid: myDataGrid,
|
|
170
|
+
service: 'MyModule/MyService',
|
|
171
|
+
exportType: 'PDF',
|
|
172
|
+
title: 'Export PDF',
|
|
173
|
+
onClick: () => handleExport(),
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const toolButton = createExportToolButton(exportOptions)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Migration Guide
|
|
180
|
+
|
|
181
|
+
If you're upgrading from an earlier version:
|
|
182
|
+
|
|
183
|
+
### Breaking Changes in v1.0.0
|
|
184
|
+
|
|
185
|
+
- Reorganized module structure with better separation of concerns
|
|
186
|
+
- Some utility functions moved to dedicated modules
|
|
187
|
+
- TypeScript strict mode enabled - may require type fixes
|
|
188
|
+
- ESLint rules updated - may require code style updates
|
|
189
|
+
|
|
190
|
+
### Recommended Migration
|
|
191
|
+
|
|
192
|
+
1. Update imports to use the new modular structure:
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
// Old
|
|
196
|
+
import { someFunction } from '@idevs/corelib/globals'
|
|
197
|
+
|
|
198
|
+
// New
|
|
199
|
+
import { someFunction } from '@idevs/corelib'
|
|
200
|
+
// or more specifically:
|
|
201
|
+
import { someFunction } from '@idevs/corelib/utils'
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
2. Consider using utility functions instead of prototype extensions:
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
// Instead of:
|
|
208
|
+
const result = someString.truncate(10)
|
|
209
|
+
|
|
210
|
+
// Consider:
|
|
211
|
+
import { truncateString } from '@idevs/corelib'
|
|
212
|
+
const result = truncateString(someString, 10)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Development
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# Install dependencies
|
|
219
|
+
npm install
|
|
220
|
+
|
|
221
|
+
# Build the library
|
|
222
|
+
npm run build
|
|
223
|
+
|
|
224
|
+
# Watch for changes during development
|
|
225
|
+
npm run dev
|
|
226
|
+
|
|
227
|
+
# Run linting
|
|
228
|
+
npm run lint
|
|
229
|
+
|
|
230
|
+
# Format code
|
|
231
|
+
npm run format
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## Contributing
|
|
235
|
+
|
|
236
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
237
|
+
|
|
39
238
|
## License
|
|
40
239
|
|
|
41
240
|
[MIT](https://choosealicense.com/licenses/mit/)
|
|
42
241
|
|
|
43
|
-
|
|
44
242
|
## Authors
|
|
45
243
|
|
|
46
|
-
- [@klomkling](https://www.github.com/klomkling)
|
|
47
|
-
|
|
244
|
+
- [@klomkling](https://www.github.com/klomkling) - Sarawut Phaekuntod
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { EditorWidget, IReadOnly } from '@serenity-is/corelib';
|
|
2
|
+
import type { EditorProps } from '@serenity-is/corelib';
|
|
2
3
|
export type CheckboxButtonEditorOptions = {
|
|
3
4
|
enumKey?: string;
|
|
4
5
|
enumType?: any;
|
|
@@ -37,3 +38,4 @@ export declare class CheckboxButtonEditor<P extends CheckboxButtonEditorOptions
|
|
|
37
38
|
export declare class idevsEditors {
|
|
38
39
|
static load(): void;
|
|
39
40
|
}
|
|
41
|
+
//# sourceMappingURL=checkboxButtonEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkboxButtonEditor.d.ts","sourceRoot":"","sources":["../../src/editors/checkboxButtonEditor.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,YAAY,EAKZ,SAAS,EAMV,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,qBACa,oBAAoB,CAC7B,CAAC,SAAS,2BAA2B,GAAG,2BAA2B,CAErE,SAAQ,YAAY,CAAC,CAAC,CACtB,YAAW,SAAS;IAEpB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;WAErB,oBAAoB;IAGpC,SAAiB,OAAO,EAAE,WAAW,CAAA;gBAEzB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAsCjC,SAAS,CAAC,gBAAgB;IAe1B,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAYjD,SAAS,IAAI,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAI1C,IAAI,KAAK,IAAI,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAEzC;IAED,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAK9C,IAAI,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,EAEzC;IAED,SAAS;IAWT,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoB9B,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,EAElB;IAED,YAAY,IAAI,OAAO;IAIvB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAenC;AAED,qBAAa,YAAY;WAET,IAAI;CACnB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
3
|
/* eslint-disable @typescript-eslint/adjacent-overload-signatures */
|
|
3
4
|
// reference: https://github-wiki-see.page/m/serenity-is/Serenity/wiki/CheckBox-Group-Editor
|
|
4
5
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -7,36 +8,43 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
8
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
8
9
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
12
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.idevsEditors = exports.CheckboxButtonEditor = void 0;
|
|
16
|
+
const corelib_1 = require("@serenity-is/corelib");
|
|
17
|
+
let CheckboxButtonEditor = class CheckboxButtonEditor extends corelib_1.EditorWidget {
|
|
12
18
|
static createDefaultElement() {
|
|
13
|
-
return Fluent('div').getNode();
|
|
19
|
+
return (0, corelib_1.Fluent)('div').getNode();
|
|
14
20
|
}
|
|
15
21
|
constructor(props) {
|
|
16
22
|
super(props);
|
|
17
|
-
if (
|
|
23
|
+
if ((0, corelib_1.isEmptyOrNull)(this.options.enumKey) &&
|
|
24
|
+
this.options.enumType == null &&
|
|
25
|
+
(0, corelib_1.isEmptyOrNull)(this.options.lookupKey)) {
|
|
18
26
|
return;
|
|
19
27
|
}
|
|
20
28
|
this._isStringId = this.options.isStringId;
|
|
21
|
-
if (!isEmptyOrNull(this.options.lookupKey)) {
|
|
22
|
-
const lookup = getLookup(this.options.lookupKey);
|
|
29
|
+
if (!(0, corelib_1.isEmptyOrNull)(this.options.lookupKey)) {
|
|
30
|
+
const lookup = (0, corelib_1.getLookup)(this.options.lookupKey);
|
|
23
31
|
this._idField = lookup.idField;
|
|
24
32
|
this._textField = lookup.textField;
|
|
25
33
|
this.set_items(lookup.items);
|
|
26
34
|
}
|
|
27
35
|
else {
|
|
28
|
-
const enumType = this.options.enumType || EnumTypeRegistry.get(this.options.enumKey);
|
|
36
|
+
const enumType = this.options.enumType || corelib_1.EnumTypeRegistry.get(this.options.enumKey);
|
|
29
37
|
let enumKey = this.options.enumKey;
|
|
30
38
|
if (enumKey == null && enumType != null) {
|
|
31
|
-
const enumKeyAttr = getCustomAttributes(enumType, EnumKeyAttribute, false);
|
|
39
|
+
const enumKeyAttr = (0, corelib_1.getCustomAttributes)(enumType, corelib_1.EnumKeyAttribute, false);
|
|
32
40
|
if (enumKeyAttr.length > 0) {
|
|
33
41
|
enumKey = enumKeyAttr[0].value;
|
|
34
42
|
}
|
|
35
43
|
}
|
|
36
|
-
const values = Enum.getValues(enumType);
|
|
44
|
+
const values = corelib_1.Enum.getValues(enumType);
|
|
37
45
|
for (const x of values) {
|
|
38
|
-
const name = Enum.toString(enumType, x);
|
|
39
|
-
this.addCheckbox(x.toString(), tryGetText('Enums.' + enumKey + '.' + name) ?? name);
|
|
46
|
+
const name = corelib_1.Enum.toString(enumType, x);
|
|
47
|
+
this.addCheckbox(x.toString(), (0, corelib_1.tryGetText)('Enums.' + enumKey + '.' + name) ?? name);
|
|
40
48
|
}
|
|
41
49
|
}
|
|
42
50
|
this.domNode.classList.add('d-flex', 'flex-wrap');
|
|
@@ -82,7 +90,7 @@ let CheckboxButtonEditor = class CheckboxButtonEditor extends EditorWidget {
|
|
|
82
90
|
const val = [];
|
|
83
91
|
const inputs = this.domNode.querySelectorAll('input:checked');
|
|
84
92
|
inputs.forEach((input) => {
|
|
85
|
-
val.push(this._isStringId ? input.value : toId(input.value));
|
|
93
|
+
val.push(this._isStringId ? input.value : (0, corelib_1.toId)(input.value));
|
|
86
94
|
});
|
|
87
95
|
return val.join(',');
|
|
88
96
|
}
|
|
@@ -92,7 +100,7 @@ let CheckboxButtonEditor = class CheckboxButtonEditor extends EditorWidget {
|
|
|
92
100
|
set_value(value) {
|
|
93
101
|
if (value !== this.get_value()) {
|
|
94
102
|
let values = [];
|
|
95
|
-
if (!isEmptyOrNull(value)) {
|
|
103
|
+
if (!(0, corelib_1.isEmptyOrNull)(value)) {
|
|
96
104
|
values = this._isStringId ? value.split(',') : value.split(',').map(p => Number(p));
|
|
97
105
|
}
|
|
98
106
|
const inputs = this.domNode.querySelectorAll('input');
|
|
@@ -131,12 +139,14 @@ let CheckboxButtonEditor = class CheckboxButtonEditor extends EditorWidget {
|
|
|
131
139
|
}
|
|
132
140
|
}
|
|
133
141
|
};
|
|
134
|
-
CheckboxButtonEditor =
|
|
135
|
-
|
|
142
|
+
exports.CheckboxButtonEditor = CheckboxButtonEditor;
|
|
143
|
+
exports.CheckboxButtonEditor = CheckboxButtonEditor = __decorate([
|
|
144
|
+
corelib_1.Decorators.registerEditor('CheckboxButtonEditor'),
|
|
145
|
+
__metadata("design:paramtypes", [Object])
|
|
136
146
|
], CheckboxButtonEditor);
|
|
137
|
-
|
|
138
|
-
export class idevsEditors {
|
|
147
|
+
class idevsEditors {
|
|
139
148
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
140
149
|
static load() { }
|
|
141
150
|
}
|
|
151
|
+
exports.idevsEditors = idevsEditors;
|
|
142
152
|
//# sourceMappingURL=checkboxButtonEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkboxButtonEditor.js","sourceRoot":"","sources":["../../src/editors/checkboxButtonEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/adjacent-overload-signatures */\n// reference: https://github-wiki-see.page/m/serenity-is/Serenity/wiki/CheckBox-Group-Editor\n\nimport {\n Decorators,\n EditorProps,\n EditorWidget,\n Enum,\n EnumKeyAttribute,\n EnumTypeRegistry,\n Fluent,\n IReadOnly,\n getCustomAttributes,\n getLookup,\n isEmptyOrNull,\n toId,\n tryGetText,\n} from '@serenity-is/corelib'\n\nexport type CheckboxButtonEditorOptions = {\n enumKey?: string\n enumType?: any\n lookupKey?: string\n isStringId?: boolean\n}\n\n@Decorators.registerEditor('CheckboxButtonEditor')\nexport class CheckboxButtonEditor<P extends CheckboxButtonEditorOptions = CheckboxButtonEditorOptions>\n extends EditorWidget<P>\n implements IReadOnly\n{\n private _items: Array<{ [key: string]: any }>\n private readonly _idField: string\n private readonly _textField: string\n private readonly _isStringId: boolean\n\n static override createDefaultElement() {\n return Fluent('div').getNode()\n }\n declare readonly domNode: HTMLElement\n\n constructor(props: EditorProps<P>) {\n super(props)\n\n if (isEmptyOrNull(this.options.enumKey) && this.options.enumType == null && isEmptyOrNull(this.options.lookupKey)) {\n return\n }\n\n this._isStringId = this.options.isStringId\n\n if (!isEmptyOrNull(this.options.lookupKey)) {\n const lookup = getLookup(this.options.lookupKey)\n this._idField = lookup.idField\n this._textField = lookup.textField\n this.set_items(lookup.items as Array<{ [key: string]: any }>)\n } else {\n const enumType = this.options.enumType || EnumTypeRegistry.get(this.options.enumKey)\n let enumKey = this.options.enumKey\n\n if (enumKey == null && enumType != null) {\n const enumKeyAttr = getCustomAttributes(enumType, EnumKeyAttribute, false)\n if (enumKeyAttr.length > 0) {\n enumKey = enumKeyAttr[0].value\n }\n }\n const values = Enum.getValues(enumType)\n for (const x of values) {\n const name = Enum.toString(enumType, x)\n this.addCheckbox(x.toString(), tryGetText('Enums.' + enumKey + '.' + name) ?? name)\n }\n }\n\n this.domNode.classList.add('d-flex', 'flex-wrap')\n }\n\n protected renderCheckboxes() {\n const childDivs = this.domNode.querySelectorAll('div')\n childDivs.forEach(function (child) {\n this.domNode.removeChild(child)\n })\n\n for (const item of this._items) {\n const textValue = item[this._textField]\n const text = textValue == null ? '' : textValue.toString()\n const idValue = item[this._idField]\n const id = idValue == null ? '' : idValue.toString()\n this.addCheckbox(id, text)\n }\n }\n\n protected addCheckbox(value: string, text: string) {\n const div = $('<div class=\"col-12 col-sm-6 col-md-4 col-xl-3\" />')\n const label = $('<label/>').text(text.replace(/, /g, ',').replace(/,/g, ', '))\n $('<input type=\"checkbox\" class=\"me-2\" />')\n .attr('name', this.uniqueName)\n .attr('id', this.uniqueName + '_' + value)\n .attr('value', value)\n .prependTo(label)\n label.appendTo(div)\n div.appendTo(this.domNode)\n }\n\n get_items(): Array<{ [key: string]: any }> {\n return this._items\n }\n\n get items(): Array<{ [key: string]: any }> {\n return this.get_items()\n }\n\n set_items(value: Array<{ [key: string]: any }>) {\n this._items = value\n this.renderCheckboxes()\n }\n\n set items(v: Array<{ [key: string]: any }>) {\n this.set_items(v)\n }\n\n get_value() {\n const val: string[] = []\n const inputs = this.domNode.querySelectorAll('input:checked')\n\n inputs.forEach((input: HTMLInputElement) => {\n val.push(this._isStringId ? input.value : toId(input.value))\n })\n\n return val.join(',')\n }\n\n get value(): string {\n return this.get_value()\n }\n\n set_value(value: string): void {\n if (value !== this.get_value()) {\n let values: unknown[] = []\n if (!isEmptyOrNull(value)) {\n values = this._isStringId ? value.split(',') : value.split(',').map(p => Number(p))\n }\n const inputs = this.domNode.querySelectorAll<HTMLInputElement>('input')\n inputs.forEach(input => {\n input.checked = false\n })\n\n values.forEach(v => {\n const checks = Array.from(inputs).filter(input => (input as HTMLInputElement).value === v)\n if (checks.length > 0) {\n ;(checks[0] as HTMLInputElement).checked = true\n }\n })\n }\n }\n\n set value(v: string) {\n this.set_value(v)\n }\n\n get_readOnly(): boolean {\n return this.domNode.getAttribute('disabled') != null\n }\n\n set_readOnly(value: boolean): void {\n if (this.get_readOnly() !== value) {\n if (value) {\n this.domNode.setAttribute('disabled', 'disabled')\n this.domNode.querySelectorAll<HTMLInputElement>('input').forEach(input => {\n input.setAttribute('disabled', 'disabled')\n })\n } else {\n this.domNode.removeAttribute('disabled')\n this.domNode.querySelectorAll<HTMLInputElement>('input').forEach(input => {\n input.removeAttribute('disabled')\n })\n }\n }\n }\n}\n\nexport class idevsEditors {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public static load() {}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"checkboxButtonEditor.js","sourceRoot":"","sources":["../../src/editors/checkboxButtonEditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { SelectEditor, SelectEditorOptions } from '@serenity-is/corelib';
|
|
2
|
+
import type { EditorProps } from '@serenity-is/corelib';
|
|
2
3
|
export declare class DateMonthEditor<P extends DateMonthEditorOptions = DateMonthEditorOptions> extends SelectEditor<P> {
|
|
3
4
|
private months;
|
|
4
5
|
constructor(props: EditorProps<P>);
|
|
@@ -10,3 +11,4 @@ export interface DateMonthEditorOptions extends SelectEditorOptions {
|
|
|
10
11
|
locale?: 'en' | 'th';
|
|
11
12
|
upperCase?: boolean;
|
|
12
13
|
}
|
|
14
|
+
//# sourceMappingURL=dateMonthEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dateMonthEditor.d.ts","sourceRoot":"","sources":["../../src/editors/dateMonthEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,mBAAmB,EAAW,MAAM,sBAAsB,CAAA;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,qBACa,eAAe,CAC1B,CAAC,SAAS,sBAAsB,GAAG,sBAAsB,CACzD,SAAQ,YAAY,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,MAAM,CAAU;gBAEZ,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAMjC,IAAI,YAAY,WAEf;IAED,QAAQ;CAuBT;AAGD,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DateMonthEditor = void 0;
|
|
13
|
+
const corelib_1 = require("@serenity-is/corelib");
|
|
14
|
+
let DateMonthEditor = class DateMonthEditor extends corelib_1.SelectEditor {
|
|
9
15
|
constructor(props) {
|
|
10
16
|
super(props);
|
|
11
17
|
this.updateItems();
|
|
12
18
|
}
|
|
13
19
|
get valueAsMonth() {
|
|
14
|
-
return indexOf(this.months, x => x == this.value);
|
|
20
|
+
return (0, corelib_1.indexOf)(this.months, x => x == this.value);
|
|
15
21
|
}
|
|
16
22
|
getItems() {
|
|
17
23
|
const opt = this.options;
|
|
@@ -33,8 +39,9 @@ let DateMonthEditor = class DateMonthEditor extends SelectEditor {
|
|
|
33
39
|
return this.months;
|
|
34
40
|
}
|
|
35
41
|
};
|
|
36
|
-
DateMonthEditor =
|
|
37
|
-
|
|
42
|
+
exports.DateMonthEditor = DateMonthEditor;
|
|
43
|
+
exports.DateMonthEditor = DateMonthEditor = __decorate([
|
|
44
|
+
corelib_1.Decorators.registerEditor('DateMonthEditor'),
|
|
45
|
+
__metadata("design:paramtypes", [Object])
|
|
38
46
|
], DateMonthEditor);
|
|
39
|
-
export { DateMonthEditor };
|
|
40
47
|
//# sourceMappingURL=dateMonthEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateMonthEditor.js","sourceRoot":"","sources":["../../src/editors/dateMonthEditor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dateMonthEditor.js","sourceRoot":"","sources":["../../src/editors/dateMonthEditor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA6F;AAItF,IAAM,eAAe,GAArB,MAAM,eAEX,SAAQ,sBAAe;IAGvB,YAAY,KAAqB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAA;QAEZ,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAA,iBAAO,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;IACnD,CAAC;IAED,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAiC,CAAA;QAElD,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC,KAAK,CAAA;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAA;QACjC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAA;QACnD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,KAAK,CAAA;QAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC/E,IAAI,SAAS,EAAE,CAAC;gBACd,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF,CAAA;AAtCY,0CAAe;0BAAf,eAAe;IAD3B,oBAAU,CAAC,cAAc,CAAC,iBAAiB,CAAC;;GAChC,eAAe,CAsC3B"}
|
package/dist/editors/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editors/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA"}
|
package/dist/editors/index.js
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./checkboxButtonEditor"), exports);
|
|
18
|
+
__exportStar(require("./dateMonthEditor"), exports);
|
|
3
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editors/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,oDAAiC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { FormatterContext } from '@serenity-is/sleekgrid';
|
|
2
2
|
export type Formatter = {
|
|
3
3
|
format(ctx: FormatterContext): string;
|
|
4
4
|
};
|
|
@@ -62,3 +62,4 @@ export declare class DateMonthFormatter implements Formatter {
|
|
|
62
62
|
export declare class idevsFormatters {
|
|
63
63
|
static load(): void;
|
|
64
64
|
}
|
|
65
|
+
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/formatters/formatters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAAA;CACtC,CAAA;AAED,qBACa,oBAAqB,YAAW,SAAS;aACxB,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;gBAA/B,KAAK,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAKhE,IAAI,WAAW,IAGQ,MAAM,CAD5B;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM;IAIrC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;CAQzD;AAED,qBACa,iBAAkB,YAAW,SAAS;aAE/B,KAAK,EAAE;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB;gBANe,KAAK,EAAE;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB;IASH,IAAI,QAAQ,IAGQ,MAAM,CADzB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,IAAI,QAAQ,IAGQ,MAAM,CADzB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEzB;IAED,IAAI,SAAS,IAGQ,MAAM,CAD1B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAE1B;IAED,IAAI,aAAa,IAGQ,MAAM,CAD9B;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAE9B;IAED,IAAI,cAAc,IAGQ,MAAM,CAD/B;IACD,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,EAE/B;IAED,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM;IAWrC,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM;CASV;AAED,qBACa,eAAgB,YAAW,SAAS;aACnB,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;gBAA7B,KAAK,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IAI9D,IAAI,SAAS,IAGQ,MAAM,CAD1B;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAE1B;IAED,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM;IAKrC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;CAwBpD;AAED,qBACa,kBAAmB,YAAW,SAAS;IAE3C,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IAGrC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAE1B,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM;CAStC;AAED,qBAAa,eAAe;WAEZ,IAAI;CACnB"}
|