@pongrass/utils 1.1.0-v20 → 1.1.1-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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pongrass/utils",
3
- "version": "1.1.0-v20",
3
+ "version": "1.1.1-v20",
4
4
  "description": "A collection of utility components and services for Angular applications",
5
5
  "keywords": [
6
6
  "angular",
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.