@pongrass/utils 1.1.0-v20 → 1.1.2-v20
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/fesm2022/pongrass-utils.mjs +39 -38
- package/fesm2022/pongrass-utils.mjs.map +1 -1
- package/index.d.ts +17 -12
- package/package.json +4 -2
- package/README.md +0 -260
package/index.d.ts
CHANGED
|
@@ -407,7 +407,7 @@ declare class MultiFormComponent implements OnInit, OnChanges {
|
|
|
407
407
|
private advanceDate;
|
|
408
408
|
private findStopControl;
|
|
409
409
|
static ɵfac: i0.ɵɵFactoryDeclaration<MultiFormComponent, never>;
|
|
410
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MultiFormComponent, "
|
|
410
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MultiFormComponent, "prg-ws-multi-form", never, { "config": { "alias": "config"; "required": false; }; "showUnsavedFlags": { "alias": "showUnsavedFlags"; "required": false; }; "currentTableGridsSelectedIndex": { "alias": "currentTableGridsSelectedIndex"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; }, { "fieldAction": "fieldAction"; "formSavedUnsavedListen": "formSavedUnsavedListen"; "selectionChangeEvent": "selectionChangeEvent"; }, never, never, false, never>;
|
|
411
411
|
}
|
|
412
412
|
|
|
413
413
|
declare class ITableGridConfiguration {
|
|
@@ -564,14 +564,14 @@ declare class CircularFocusDirective implements AfterViewInit, OnDestroy {
|
|
|
564
564
|
private getFocusableElements;
|
|
565
565
|
onKeyDown(event: KeyboardEvent): void;
|
|
566
566
|
static ɵfac: i0.ɵɵFactoryDeclaration<CircularFocusDirective, never>;
|
|
567
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<CircularFocusDirective, "[
|
|
567
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CircularFocusDirective, "[wsCircularFocus]", never, { "formId": { "alias": "formId"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; }, {}, never, never, true, never>;
|
|
568
568
|
}
|
|
569
569
|
|
|
570
570
|
declare class DecimalInputDirective implements OnInit, OnDestroy {
|
|
571
571
|
private el;
|
|
572
572
|
private control;
|
|
573
573
|
private sub;
|
|
574
|
-
|
|
574
|
+
wsDecimalInput: number;
|
|
575
575
|
private specialKeys;
|
|
576
576
|
ngOnInit(): void;
|
|
577
577
|
ngOnDestroy(): void;
|
|
@@ -581,7 +581,7 @@ declare class DecimalInputDirective implements OnInit, OnDestroy {
|
|
|
581
581
|
private isValidInput;
|
|
582
582
|
private getNextValue;
|
|
583
583
|
static ɵfac: i0.ɵɵFactoryDeclaration<DecimalInputDirective, never>;
|
|
584
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalInputDirective, "[
|
|
584
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DecimalInputDirective, "[wsDecimalInput]", never, { "wsDecimalInput": { "alias": "wsDecimalInput"; "required": false; }; }, {}, never, never, true, never>;
|
|
585
585
|
}
|
|
586
586
|
|
|
587
587
|
declare class ShowTooltipIfTruncatedDirective {
|
|
@@ -592,7 +592,7 @@ declare class ShowTooltipIfTruncatedDirective {
|
|
|
592
592
|
onMouseLeave(): void;
|
|
593
593
|
private isTextTruncated;
|
|
594
594
|
static ɵfac: i0.ɵɵFactoryDeclaration<ShowTooltipIfTruncatedDirective, never>;
|
|
595
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ShowTooltipIfTruncatedDirective, "[
|
|
595
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ShowTooltipIfTruncatedDirective, "[wsShowTooltipIfTruncated]", never, { "tooltipText": { "alias": "wsShowTooltipIfTruncated"; "required": false; }; }, {}, never, never, true, never>;
|
|
596
596
|
}
|
|
597
597
|
|
|
598
598
|
declare class MultiSelectStylerDirective implements OnInit, OnDestroy {
|
|
@@ -600,7 +600,7 @@ declare class MultiSelectStylerDirective implements OnInit, OnDestroy {
|
|
|
600
600
|
private renderer;
|
|
601
601
|
private el;
|
|
602
602
|
private mutationObserver?;
|
|
603
|
-
|
|
603
|
+
wsMultiSelectStyler: boolean;
|
|
604
604
|
options: IColorOption[];
|
|
605
605
|
private multiSelect;
|
|
606
606
|
ngOnInit(): void;
|
|
@@ -609,7 +609,7 @@ declare class MultiSelectStylerDirective implements OnInit, OnDestroy {
|
|
|
609
609
|
private updateSelectedItem;
|
|
610
610
|
ngOnDestroy(): void;
|
|
611
611
|
static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectStylerDirective, never>;
|
|
612
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MultiSelectStylerDirective, "[
|
|
612
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MultiSelectStylerDirective, "[wsMultiSelectStyler]", never, { "wsMultiSelectStyler": { "alias": "wsMultiSelectStyler"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
|
|
613
613
|
}
|
|
614
614
|
|
|
615
615
|
declare class MultiFormModule {
|
|
@@ -697,7 +697,7 @@ declare class TableGridComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
697
697
|
onCellValueChanged(event: CellValueChangedEvent): void;
|
|
698
698
|
ngOnDestroy(): void;
|
|
699
699
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableGridComponent, never>;
|
|
700
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TableGridComponent, "
|
|
700
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableGridComponent, "prg-ws-table-grid", never, { "tableConfiguration": { "alias": "tableConfiguration"; "required": false; }; "columnToolVisible": { "alias": "columnToolVisible"; "required": false; }; "initialPageNumber": { "alias": "initialPageNumber"; "required": false; }; }, { "tableGridReady": "tableGridReady"; "tableRowSelection": "tableRowSelection"; "tableRowClicked": "tableRowClicked"; "columnStateEvent": "columnStateEvent"; "pageChange": "pageChange"; "filterChanged": "filterChanged"; "cellValueChanged": "cellValueChanged"; }, never, never, false, never>;
|
|
701
701
|
}
|
|
702
702
|
|
|
703
703
|
declare class TableGridModule {
|
|
@@ -720,7 +720,7 @@ declare class BackgroundImageDirective implements OnInit {
|
|
|
720
720
|
ngOnInit(): void;
|
|
721
721
|
private setBackgroundImage;
|
|
722
722
|
static ɵfac: i0.ɵɵFactoryDeclaration<BackgroundImageDirective, never>;
|
|
723
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BackgroundImageDirective, "[
|
|
723
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BackgroundImageDirective, "[wsBackgroundImage]", never, { "random": { "alias": "random"; "required": false; }; "backgroundImage": { "alias": "backgroundImage"; "required": false; }; }, {}, never, never, true, never>;
|
|
724
724
|
}
|
|
725
725
|
|
|
726
726
|
interface IExcelHeaders {
|
|
@@ -805,6 +805,11 @@ interface ILoginConfig {
|
|
|
805
805
|
/** If true → pick a random image on each load */
|
|
806
806
|
random: boolean;
|
|
807
807
|
};
|
|
808
|
+
version?: {
|
|
809
|
+
currentVersion: string;
|
|
810
|
+
brandName: string;
|
|
811
|
+
copyrightYear: string;
|
|
812
|
+
};
|
|
808
813
|
}
|
|
809
814
|
declare enum ILOGIN_ACTION {
|
|
810
815
|
SUBMIT = "submit",
|
|
@@ -816,12 +821,12 @@ declare class LoginComponent implements OnInit {
|
|
|
816
821
|
private readonly rendererService;
|
|
817
822
|
private readonly formBuilder;
|
|
818
823
|
config: i0.InputSignal<ILoginConfig>;
|
|
824
|
+
showInactivityLogoutMessage: i0.InputSignal<boolean>;
|
|
819
825
|
action: i0.OutputEmitterRef<{
|
|
820
826
|
type: string;
|
|
821
827
|
data?: any;
|
|
822
828
|
}>;
|
|
823
|
-
isFormSubmitted: i0.
|
|
824
|
-
showInactivityLogoutMessage: i0.InputSignal<boolean>;
|
|
829
|
+
isFormSubmitted: i0.WritableSignal<boolean>;
|
|
825
830
|
loginForm: FormGroup;
|
|
826
831
|
contactSupportValue: string;
|
|
827
832
|
forgetPasswordValue: string;
|
|
@@ -831,7 +836,7 @@ declare class LoginComponent implements OnInit {
|
|
|
831
836
|
onSubmit(): void;
|
|
832
837
|
private initializeInitialValues;
|
|
833
838
|
static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
|
|
834
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "prg-ws-login", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "
|
|
839
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "prg-ws-login", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "showInactivityLogoutMessage": { "alias": "showInactivityLogoutMessage"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, false, never>;
|
|
835
840
|
}
|
|
836
841
|
|
|
837
842
|
declare class LoginModule {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pongrass/utils",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2-v20",
|
|
4
4
|
"description": "A collection of utility components and services for Angular applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -27,7 +27,9 @@
|
|
|
27
27
|
"@ag-grid-community/infinite-row-model": "^32.3.9",
|
|
28
28
|
"@ag-grid-community/styles": "^32.3.9",
|
|
29
29
|
"exceljs": "^4.4.0",
|
|
30
|
-
"ngx-bootstrap": "^20.0.2"
|
|
30
|
+
"ngx-bootstrap": "^20.0.2",
|
|
31
|
+
"ngx-toastr": "^19.1.0",
|
|
32
|
+
"sweetalert2": "11.4.8"
|
|
31
33
|
},
|
|
32
34
|
"dependencies": {
|
|
33
35
|
"tslib": "^2.3.0"
|
package/README.md
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
# Utils
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project utils` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project utils`.
|
|
8
|
-
|
|
9
|
-
> Note: Don't forget to add `--project utils` or else it will be added to the default project in your `angular.json` file.
|
|
10
|
-
|
|
11
|
-
## Build
|
|
12
|
-
|
|
13
|
-
Run `ng build utils` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
14
|
-
|
|
15
|
-
## Publishing
|
|
16
|
-
|
|
17
|
-
After building your library with `ng build utils`, go to the dist folder `cd dist/utils` and run `npm publish`.
|
|
18
|
-
|
|
19
|
-
## Available Modules
|
|
20
|
-
|
|
21
|
-
This library provides several Angular modules that can be imported separately based on your needs:
|
|
22
|
-
|
|
23
|
-
### TableGridModule
|
|
24
|
-
|
|
25
|
-
A comprehensive AG Grid wrapper module that provides advanced table functionality with built-in column management, filtering, and state persistence.
|
|
26
|
-
|
|
27
|
-
- Includes column visibility toggling
|
|
28
|
-
- Pagination support
|
|
29
|
-
- Column resizing and reordering
|
|
30
|
-
- State persistence
|
|
31
|
-
- Custom cell renderers
|
|
32
|
-
- Filter management
|
|
33
|
-
|
|
34
|
-
```typescript
|
|
35
|
-
import { TableGridModule } from '@pongrass/utils';
|
|
36
|
-
|
|
37
|
-
@NgModule({
|
|
38
|
-
imports: [TableGridModule]
|
|
39
|
-
})
|
|
40
|
-
export class YourModule { }
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### MultiFormModule
|
|
44
|
-
|
|
45
|
-
A flexible form builder that allows you to create dynamic forms with various field types and validation rules.
|
|
46
|
-
|
|
47
|
-
- Support for multiple field types (text, email, number, select, textarea, date, checkbox, etc.)
|
|
48
|
-
- Configurable validation rules
|
|
49
|
-
- Dynamic form generation based on configuration objects
|
|
50
|
-
- Unsaved changes detection and handling
|
|
51
|
-
- Custom styling options
|
|
52
|
-
|
|
53
|
-
```typescript
|
|
54
|
-
import { MultiFormModule } from '@pongrass/utils';
|
|
55
|
-
|
|
56
|
-
@NgModule({
|
|
57
|
-
imports: [MultiFormModule]
|
|
58
|
-
})
|
|
59
|
-
export class YourModule { }
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Available Components
|
|
63
|
-
|
|
64
|
-
### Cell Renderers
|
|
65
|
-
|
|
66
|
-
- **ColorCellRendererComponent** - Renders color values with visual color indicators
|
|
67
|
-
- **CheckboxCellRendererComponent** - Renders boolean values as checkboxes
|
|
68
|
-
- **CommentsButtonCellRendererComponent** - Renders a button for managing comments
|
|
69
|
-
- **IndustryUpdateListboxCellRendererComponent** - Renders industry updates in a listbox format
|
|
70
|
-
- **PageStatusCellRendererComponent** - Renders page status with appropriate styling
|
|
71
|
-
- **StatusSelectCellRendererComponent** - Renders status values with a select dropdown
|
|
72
|
-
|
|
73
|
-
### Other Components
|
|
74
|
-
|
|
75
|
-
- **EditionListGroupedComponent** - Displays editions in a grouped list format
|
|
76
|
-
- **GenericFilterModelComponent** - Provides a generic filter interface
|
|
77
|
-
|
|
78
|
-
## Available Directives
|
|
79
|
-
|
|
80
|
-
- **CircularFocusDirective** - Enables circular focus navigation in form elements
|
|
81
|
-
- **DecimalInputDirective** - Restricts input to decimal values
|
|
82
|
-
- **MultiSelectStylerDirective** - Applies custom styling to multi-select components
|
|
83
|
-
- **ShowTooltipIfTruncatedDirective** - Shows a tooltip when text is truncated
|
|
84
|
-
- **BackgroundImageDirective** - Adds background images to elements with optional random selection
|
|
85
|
-
|
|
86
|
-
### BackgroundImageDirective
|
|
87
|
-
|
|
88
|
-
Adds background images to elements with support for random image selection from a list.
|
|
89
|
-
|
|
90
|
-
#### Inputs
|
|
91
|
-
|
|
92
|
-
- `backgroundImage` (string | string[]) - Path to a single background image or array of image paths
|
|
93
|
-
- `random` (boolean) - Flag to enable random image selection from array (defaults to false)
|
|
94
|
-
|
|
95
|
-
#### Usage
|
|
96
|
-
|
|
97
|
-
```html
|
|
98
|
-
<!-- Single background image -->
|
|
99
|
-
<div appBackgroundImage [backgroundImage]="'assets/background1.jpg'"></div>
|
|
100
|
-
|
|
101
|
-
<!-- Random background image from a list -->
|
|
102
|
-
<div appBackgroundImage
|
|
103
|
-
[random]="true"
|
|
104
|
-
[backgroundImage]="['assets/background1.jpg', 'assets/background2.jpg', 'assets/background3.jpg']">
|
|
105
|
-
</div>
|
|
106
|
-
|
|
107
|
-
<!-- First image from a list (random=false) -->
|
|
108
|
-
<div appBackgroundImage
|
|
109
|
-
[backgroundImage]="['assets/background1.jpg', 'assets/background2.jpg', 'assets/background3.jpg']">
|
|
110
|
-
</div>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Place your background images in your application's assets folder and reference them using the directive.
|
|
114
|
-
|
|
115
|
-
## Available Services
|
|
116
|
-
|
|
117
|
-
- **ConfigurationService** - Manages application configuration and preferences
|
|
118
|
-
- **JsonrpcService** - Handles JSON-RPC communication with backend services
|
|
119
|
-
- **UtilsService** - Provides various utility functions
|
|
120
|
-
|
|
121
|
-
## Styles
|
|
122
|
-
|
|
123
|
-
This library relies on AG Grid and other third-party component styles that need to be included in your application's global styles.
|
|
124
|
-
|
|
125
|
-
### Global Styles via angular.json
|
|
126
|
-
|
|
127
|
-
To use the library styles globally, add the following to your `angular.json` file:
|
|
128
|
-
|
|
129
|
-
```json
|
|
130
|
-
{
|
|
131
|
-
"projects": {
|
|
132
|
-
"your-app-name": {
|
|
133
|
-
"architect": {
|
|
134
|
-
"build": {
|
|
135
|
-
"options": {
|
|
136
|
-
"styles": [
|
|
137
|
-
"src/scss/styles.scss",
|
|
138
|
-
"node_modules/@ag-grid-community/styles/ag-grid.css",
|
|
139
|
-
"node_modules/@ag-grid-community/styles/ag-theme-quartz.min.css",
|
|
140
|
-
"node_modules/ngx-bootstrap/datepicker/bs-datepicker.css"
|
|
141
|
-
]
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Component-Level Styles
|
|
151
|
-
|
|
152
|
-
When using components from this library, ensure that the required styles are available in your application:
|
|
153
|
-
|
|
154
|
-
- AG-Grid community styles
|
|
155
|
-
- Bootstrap datepicker styles from ngx-bootstrap
|
|
156
|
-
|
|
157
|
-
## Multi-Form Module
|
|
158
|
-
|
|
159
|
-
The Multi-Form module is a flexible form builder that allows you to create dynamic forms with various field types and validation rules.
|
|
160
|
-
|
|
161
|
-
### Features
|
|
162
|
-
|
|
163
|
-
- Support for multiple field types (text, email, number, select, textarea, date, checkbox, etc.)
|
|
164
|
-
- Configurable validation rules
|
|
165
|
-
- Dynamic form generation based on configuration objects
|
|
166
|
-
- Unsaved changes detection and handling
|
|
167
|
-
- Custom styling options
|
|
168
|
-
|
|
169
|
-
### Usage
|
|
170
|
-
|
|
171
|
-
1. Import the `MultiFormModule` in your application module:
|
|
172
|
-
|
|
173
|
-
```typescript
|
|
174
|
-
import { MultiFormModule } from '@pongrass/utils';
|
|
175
|
-
|
|
176
|
-
@NgModule({
|
|
177
|
-
imports: [MultiFormModule]
|
|
178
|
-
})
|
|
179
|
-
export class YourModule {}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
2. Use the component in your template:
|
|
183
|
-
|
|
184
|
-
```html
|
|
185
|
-
<app-multi-form [config]="formConfig" [showUnsavedFlags]="true" (fieldAction)="handleFieldAction($event)" (formSavedUnsavedListen)="handleFormSave($event)">
|
|
186
|
-
</app-multi-form>
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
3. Define your form configuration:
|
|
190
|
-
|
|
191
|
-
```typescript
|
|
192
|
-
import { IFormConfig, FormFieldType } from '@pongrass/utils';
|
|
193
|
-
|
|
194
|
-
const formConfig: IFormConfig = {
|
|
195
|
-
formName: 'Sample Form',
|
|
196
|
-
rows: [
|
|
197
|
-
[
|
|
198
|
-
{
|
|
199
|
-
label: 'Name',
|
|
200
|
-
type: FormFieldType.Text,
|
|
201
|
-
controlName: 'name',
|
|
202
|
-
validations: { required: true },
|
|
203
|
-
placeholder: 'Enter your name'
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
label: 'Email',
|
|
207
|
-
type: FormFieldType.Email,
|
|
208
|
-
controlName: 'email',
|
|
209
|
-
validations: { required: true, pattern: '^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$' },
|
|
210
|
-
placeholder: 'Enter your email'
|
|
211
|
-
}
|
|
212
|
-
]
|
|
213
|
-
]
|
|
214
|
-
};
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
## Local Development and Linking
|
|
218
|
-
|
|
219
|
-
To use this library in another project during development:
|
|
220
|
-
|
|
221
|
-
1. In the utils library directory, start the watch mode:
|
|
222
|
-
|
|
223
|
-
```bash
|
|
224
|
-
npm run watch
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
2. Create a symlink to the library:
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
npm link
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
3. In your target project directory, link to the library:
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
npm link @pongrass/utils
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
4. Your target project will now use the local version of the library, and changes will be reflected immediately.
|
|
240
|
-
|
|
241
|
-
To unlink:
|
|
242
|
-
|
|
243
|
-
1. In your target project directory:
|
|
244
|
-
|
|
245
|
-
```bash
|
|
246
|
-
npm unlink @pongrass/utils
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
2. In the utils library directory:
|
|
250
|
-
```bash
|
|
251
|
-
npm unlink
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
## Running unit tests
|
|
255
|
-
|
|
256
|
-
Run `ng test utils` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
257
|
-
|
|
258
|
-
## Further help
|
|
259
|
-
|
|
260
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|