@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.
- package/README.md +99 -7
- 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
|
-
- `
|
|
360
|
-
- `
|
|
361
|
-
- `
|
|
362
|
-
- `
|
|
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.
|
|
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.
|
|
29
|
-
"@memberjunction/core": "2.
|
|
30
|
-
"@memberjunction/global": "2.
|
|
31
|
-
"@memberjunction/graphql-dataprovider": "2.
|
|
32
|
-
"@memberjunction/skip-types": "2.
|
|
33
|
-
"@memberjunction/data-context": "2.
|
|
34
|
-
"@memberjunction/ng-container-directives": "2.
|
|
35
|
-
"@memberjunction/ng-data-context": "2.
|
|
36
|
-
"@memberjunction/ng-base-types": "2.
|
|
37
|
-
"@memberjunction/ng-notifications": "2.
|
|
38
|
-
"@memberjunction/ng-resource-permissions": "2.
|
|
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",
|