@memberjunction/ng-skip-chat 2.42.1 → 2.44.0

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 (2) hide show
  1. package/README.md +99 -7
  2. package/package.json +12 -12
package/README.md CHANGED
@@ -74,7 +74,6 @@ export class YourModule { }
74
74
  import { Component, OnInit } from '@angular/core';
75
75
  import { Router } from '@angular/router';
76
76
  import { CompositeKey } from '@memberjunction/core';
77
- import { ChatWelcomeQuestion } from '@memberjunction/ng-skip-chat';
78
77
  import { MJNotificationService } from '@memberjunction/ng-notifications';
79
78
 
80
79
  @Component({
@@ -284,6 +283,7 @@ The main component for the Skip chat interface.
284
283
  - `SharingExcludeRoleNames`: string[] - Role names to exclude from sharing
285
284
  - `SharingExcludeEmails`: string[] - User emails to exclude from sharing
286
285
  - `WelcomeQuestions`: ChatWelcomeQuestion[] - Array of welcome questions/prompts
286
+ - Each ChatWelcomeQuestion has: `topLine` (main title), `bottomLine` (subtitle), `prompt` (actual message sent)
287
287
  - `AutoLoad`: boolean - Whether to automatically load data (default: true)
288
288
  - `VerboseLogging`: boolean - Whether to enable verbose logging (default: false)
289
289
  - `EnableArtifactSplitView`: boolean - Whether to enable split-panel viewing for artifacts (default: true)
@@ -356,10 +356,52 @@ Component for managing the split-panel layout.
356
356
  The package includes several components for rendering dynamic reports:
357
357
 
358
358
  - `SkipDynamicReportWrapperComponent`: Main wrapper for reports
359
- - `LinearReportComponent`: For linear report layouts
360
- - `DynamicChartComponent`: For chart visualizations
361
- - `DynamicGridComponent`: For data grid displays
362
- - `DynamicHtmlReportComponent`: For HTML formatted reports
359
+ - `SkipDynamicLinearReportComponent`: For linear report layouts
360
+ - `SkipDynamicChartComponent`: For chart visualizations
361
+ - `SkipDynamicGridComponent`: For data grid displays
362
+ - `SkipDynamicHTMLReportComponent`: For HTML formatted reports
363
+ - `SkipArtifactsCounterComponent`: For displaying artifact count badges
364
+
365
+ ### Utility Classes
366
+
367
+ #### DrillDownInfo
368
+
369
+ A utility class for managing drill-down operations within reports.
370
+
371
+ ```typescript
372
+ import { DrillDownInfo } from '@memberjunction/ng-skip-chat';
373
+
374
+ const drillDown = new DrillDownInfo('Customers', 'Country = "USA"');
375
+ drillDown.BaseFilter = 'Active = 1'; // Optional base filter
376
+
377
+ // Get parameters for UserViewGrid
378
+ const gridParams = drillDown.UserViewGridParams;
379
+ // Returns: { EntityName: 'Customers', ExtraFilter: '(Country = "USA") AND (Active = 1)' }
380
+ ```
381
+
382
+ #### SkipConversationReportCache
383
+
384
+ A singleton cache manager for conversation reports to minimize network requests.
385
+
386
+ ```typescript
387
+ import { SkipConversationReportCache } from '@memberjunction/ng-skip-chat';
388
+
389
+ // Get reports for a conversation (cached after first load)
390
+ const reports = await SkipConversationReportCache.Instance.GetConversationReports(
391
+ conversationId,
392
+ provider, // optional IRunViewProvider
393
+ forceRefresh // optional boolean to force reload
394
+ );
395
+
396
+ // Add a new report to cache
397
+ SkipConversationReportCache.Instance.AddConversationReport(conversationId, reportEntity);
398
+
399
+ // Update existing report in cache
400
+ SkipConversationReportCache.Instance.UpdateConversationReport(conversationId, reportEntity);
401
+
402
+ // Remove report from cache
403
+ SkipConversationReportCache.Instance.RemoveConversationReport(conversationId, reportId);
404
+ ```
363
405
 
364
406
  ## Conversation Flow
365
407
 
@@ -373,7 +415,45 @@ The package includes several components for rendering dynamic reports:
373
415
 
374
416
  ## Styling
375
417
 
376
- The component includes extensive CSS styling that can be customized to match your application's design.
418
+ The component includes extensive CSS styling that can be customized to match your application's design. Key CSS classes include:
419
+
420
+ - `.skip-chat-container`: Main container for the entire component
421
+ - `.conversation-list`: Styles for the conversation list panel
422
+ - `.chat-messages`: Container for message display
423
+ - `.skip-message`: Individual message styling
424
+ - `.artifact-indicator`: Styling for artifact indicators in messages
425
+ - `.split-panel`: Split panel container styling
426
+ - `.welcome-screen`: Welcome screen with suggested prompts
427
+
428
+ ## Module Configuration
429
+
430
+ When importing the SkipChatModule, ensure your application includes:
431
+
432
+ 1. **Font Awesome**: Required for icons throughout the component
433
+ 2. **Angular CDK**: Required for overlay functionality
434
+ 3. **Kendo UI Theme**: Required for Kendo components (grid, dialogs, etc.)
435
+
436
+ ```typescript
437
+ // In your app.module.ts or feature module
438
+ import { SkipChatModule } from '@memberjunction/ng-skip-chat';
439
+ import { MarkdownModule } from 'ngx-markdown';
440
+
441
+ @NgModule({
442
+ imports: [
443
+ SkipChatModule,
444
+ MarkdownModule.forRoot(), // Already included in SkipChatModule but needed at app level
445
+ // ... other imports
446
+ ]
447
+ })
448
+ export class AppModule { }
449
+ ```
450
+
451
+ ## Build and Deployment Notes
452
+
453
+ - This package is built using Angular's ng-packagr
454
+ - Ensure all peer dependencies are installed at the correct versions
455
+ - The package uses TypeScript strict mode
456
+ - All Kendo UI components must have a valid license for production use
377
457
 
378
458
  ## Dependencies
379
459
 
@@ -388,4 +468,16 @@ The component includes extensive CSS styling that can be customized to match you
388
468
  - `@progress/kendo-angular-listview`: For conversation list
389
469
  - `@progress/kendo-angular-dialog`: For dialog components
390
470
  - `ngx-markdown`: For markdown rendering
391
- - `plotly.js-dist-min`: For chart rendering
471
+ - `plotly.js-dist-min`: For chart rendering
472
+ - `@angular/cdk`: For overlay functionality
473
+
474
+ ## Version Compatibility
475
+
476
+ This package requires:
477
+ - Angular 18.0.2 or compatible version
478
+ - TypeScript 4.9 or higher
479
+ - Node.js 16 or higher
480
+
481
+ ## License
482
+
483
+ This package is part of the MemberJunction framework. See the main repository for license information.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-skip-chat",
3
- "version": "2.42.1",
3
+ "version": "2.44.0",
4
4
  "description": "MemberJunction: Simple Skip Chat components usable in any Angular project",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -25,17 +25,17 @@
25
25
  "@angular/platform-browser": "18.0.2"
26
26
  },
27
27
  "dependencies": {
28
- "@memberjunction/core-entities": "2.42.1",
29
- "@memberjunction/core": "2.42.1",
30
- "@memberjunction/global": "2.42.1",
31
- "@memberjunction/graphql-dataprovider": "2.42.1",
32
- "@memberjunction/skip-types": "2.42.1",
33
- "@memberjunction/data-context": "2.42.1",
34
- "@memberjunction/ng-container-directives": "2.42.1",
35
- "@memberjunction/ng-data-context": "2.42.1",
36
- "@memberjunction/ng-base-types": "2.42.1",
37
- "@memberjunction/ng-notifications": "2.42.1",
38
- "@memberjunction/ng-resource-permissions": "2.42.1",
28
+ "@memberjunction/core-entities": "2.44.0",
29
+ "@memberjunction/core": "2.44.0",
30
+ "@memberjunction/global": "2.44.0",
31
+ "@memberjunction/graphql-dataprovider": "2.44.0",
32
+ "@memberjunction/skip-types": "2.44.0",
33
+ "@memberjunction/data-context": "2.44.0",
34
+ "@memberjunction/ng-container-directives": "2.44.0",
35
+ "@memberjunction/ng-data-context": "2.44.0",
36
+ "@memberjunction/ng-base-types": "2.44.0",
37
+ "@memberjunction/ng-notifications": "2.44.0",
38
+ "@memberjunction/ng-resource-permissions": "2.44.0",
39
39
  "@progress/kendo-angular-grid": "16.2.0",
40
40
  "@progress/kendo-angular-listview": "16.2.0",
41
41
  "@progress/kendo-angular-notification": "16.2.0",