@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/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, "app-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>;
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, "[appCircularFocus]", never, { "formId": { "alias": "formId"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; }, {}, never, never, true, never>;
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
- appDecimalInput: number;
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, "[appDecimalInput]", never, { "appDecimalInput": { "alias": "appDecimalInput"; "required": false; }; }, {}, never, never, true, never>;
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, "[appShowTooltipIfTruncated]", never, { "tooltipText": { "alias": "appShowTooltipIfTruncated"; "required": false; }; }, {}, never, never, true, never>;
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
- appMultiSelectStyler: boolean;
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, "[appMultiSelectStyler]", never, { "appMultiSelectStyler": { "alias": "appMultiSelectStyler"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, true, never>;
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, "app-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>;
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, "[appBackgroundImage]", never, { "random": { "alias": "random"; "required": false; }; "backgroundImage": { "alias": "backgroundImage"; "required": false; }; }, {}, never, never, true, never>;
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.InputSignal<boolean>;
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; }; "isFormSubmitted": { "alias": "isFormSubmitted"; "required": false; "isSignal": true; }; "showInactivityLogoutMessage": { "alias": "showInactivityLogoutMessage"; "required": false; "isSignal": true; }; }, { "action": "action"; }, never, never, false, never>;
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.0-v20",
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.