@memberjunction/ng-entity-communications 3.4.0 → 4.1.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 +121 -167
- package/dist/lib/preview.component.d.ts.map +1 -1
- package/dist/lib/preview.component.js +47 -47
- package/dist/lib/preview.component.js.map +1 -1
- package/dist/lib/window.component.d.ts.map +1 -1
- package/dist/lib/window.component.js +5 -5
- package/dist/lib/window.component.js.map +1 -1
- package/package.json +22 -22
package/README.md
CHANGED
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
# @memberjunction/ng-entity-communications
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
Angular components for selecting message templates, previewing communications with live entity data, and sending messages to recipients within the MemberJunction framework.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The `@memberjunction/ng-entity-communications` package provides a two-step communication workflow: first, users browse and select from available message templates; then they preview how those templates render against actual entity data before sending. The package includes both an inline preview component and a dialog wrapper for modal presentation.
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
subgraph Phase1["Template Selection"]
|
|
12
|
+
TS[Browse Active Templates] --> TF[Apply Template Filter]
|
|
13
|
+
TF --> TC[User Selects Template]
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
subgraph Phase2["Preview & Send"]
|
|
17
|
+
TC --> PG[Generate Previews]
|
|
18
|
+
PG --> NAV[Navigate Messages]
|
|
19
|
+
NAV --> SEND[Confirm / Cancel]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
subgraph Integration["MJ Integration"]
|
|
23
|
+
ECC[EntityCommunicationsEngineClient] --> PG
|
|
24
|
+
RV[RunView - Entity Data] --> PG
|
|
25
|
+
TE[Template Engine] --> PG
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
style Phase1 fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
29
|
+
style Phase2 fill:#7c5295,stroke:#563a6b,color:#fff
|
|
30
|
+
style Integration fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
31
|
+
```
|
|
15
32
|
|
|
16
33
|
## Installation
|
|
17
34
|
|
|
@@ -27,46 +44,37 @@ npm install @memberjunction/ng-entity-communications
|
|
|
27
44
|
import { EntityCommunicationsModule } from '@memberjunction/ng-entity-communications';
|
|
28
45
|
|
|
29
46
|
@NgModule({
|
|
30
|
-
imports: [
|
|
31
|
-
EntityCommunicationsModule,
|
|
32
|
-
// other imports
|
|
33
|
-
],
|
|
34
|
-
// ...
|
|
47
|
+
imports: [EntityCommunicationsModule]
|
|
35
48
|
})
|
|
36
49
|
export class YourModule { }
|
|
37
50
|
```
|
|
38
51
|
|
|
39
|
-
###
|
|
52
|
+
### Inline Preview Component
|
|
40
53
|
|
|
41
54
|
```html
|
|
42
|
-
<!-- Use the preview component directly -->
|
|
43
55
|
<mj-entity-communications-preview
|
|
44
56
|
[entityInfo]="entityInfo"
|
|
45
57
|
[runViewParams]="runViewParams"
|
|
46
|
-
[templateFilter]="'TemplateType = ''Email'''
|
|
58
|
+
[templateFilter]="'TemplateType = ''Email'''"
|
|
47
59
|
(templateSelected)="onTemplateSelected($event)">
|
|
48
60
|
</mj-entity-communications-preview>
|
|
49
61
|
```
|
|
50
62
|
|
|
51
|
-
### Dialog Component
|
|
63
|
+
### Dialog Component
|
|
52
64
|
|
|
53
65
|
```html
|
|
54
|
-
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
[DialogVisible]="previewDialogVisible"
|
|
64
|
-
[Title]="'Email Preview'"
|
|
65
|
-
(DialogClosed)="onPreviewDialogClosed($event)">
|
|
66
|
-
</mj-entity-communications-preview-window>
|
|
66
|
+
@if (showPreview) {
|
|
67
|
+
<mj-entity-communications-preview-window
|
|
68
|
+
[entityInfo]="customerEntityInfo"
|
|
69
|
+
[runViewParams]="customerViewParams"
|
|
70
|
+
[DialogVisible]="showPreview"
|
|
71
|
+
[Title]="'Customer Email Preview'"
|
|
72
|
+
(DialogClosed)="onPreviewClosed($event)">
|
|
73
|
+
</mj-entity-communications-preview-window>
|
|
74
|
+
}
|
|
67
75
|
```
|
|
68
76
|
|
|
69
|
-
###
|
|
77
|
+
### Complete Example
|
|
70
78
|
|
|
71
79
|
```typescript
|
|
72
80
|
import { Component } from '@angular/core';
|
|
@@ -76,184 +84,130 @@ import { TemplateEntityExtended } from '@memberjunction/templates-base-types';
|
|
|
76
84
|
@Component({
|
|
77
85
|
selector: 'app-customer-communication',
|
|
78
86
|
template: `
|
|
79
|
-
<button
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
</mj-entity-communications-preview-window>
|
|
87
|
+
<button (click)="showPreview = true">Preview Customer Emails</button>
|
|
88
|
+
|
|
89
|
+
@if (showPreview) {
|
|
90
|
+
<mj-entity-communications-preview-window
|
|
91
|
+
[entityInfo]="customerEntityInfo"
|
|
92
|
+
[runViewParams]="customerViewParams"
|
|
93
|
+
[DialogVisible]="showPreview"
|
|
94
|
+
[Title]="'Customer Email Preview'"
|
|
95
|
+
(DialogClosed)="onPreviewClosed($event)">
|
|
96
|
+
</mj-entity-communications-preview-window>
|
|
97
|
+
}
|
|
91
98
|
`
|
|
92
99
|
})
|
|
93
100
|
export class CustomerCommunicationComponent {
|
|
94
101
|
showPreview = false;
|
|
95
102
|
customerEntityInfo: EntityInfo;
|
|
96
103
|
customerViewParams: RunViewParams;
|
|
97
|
-
|
|
104
|
+
|
|
98
105
|
constructor() {
|
|
99
|
-
// Initialize metadata and entity info
|
|
100
106
|
const md = new Metadata();
|
|
101
107
|
this.customerEntityInfo = md.Entities.find(e => e.Name === 'Customers')!;
|
|
102
|
-
|
|
103
|
-
// Set up view parameters to get active customers who haven't been contacted recently
|
|
104
108
|
this.customerViewParams = {
|
|
105
109
|
EntityName: 'Customers',
|
|
106
|
-
ExtraFilter: 'IsActive = 1
|
|
110
|
+
ExtraFilter: 'IsActive = 1',
|
|
107
111
|
OrderBy: 'LastContactDate ASC',
|
|
108
112
|
ResultType: 'entity_object'
|
|
109
113
|
};
|
|
110
114
|
}
|
|
111
|
-
|
|
112
|
-
previewCustomerEmails() {
|
|
113
|
-
this.showPreview = true;
|
|
114
|
-
}
|
|
115
|
-
|
|
115
|
+
|
|
116
116
|
onPreviewClosed(confirmed: boolean) {
|
|
117
117
|
this.showPreview = false;
|
|
118
|
-
|
|
119
118
|
if (confirmed) {
|
|
120
|
-
// User confirmed - you could initiate the actual sending here
|
|
121
119
|
console.log('User confirmed sending emails');
|
|
122
120
|
}
|
|
123
121
|
}
|
|
124
|
-
|
|
125
|
-
onTemplateSelected(template: TemplateEntityExtended) {
|
|
126
|
-
console.log('Selected template:', template.Name);
|
|
127
|
-
}
|
|
128
122
|
}
|
|
129
123
|
```
|
|
130
124
|
|
|
131
125
|
## API Reference
|
|
132
126
|
|
|
133
|
-
### EntityCommunicationsPreviewComponent
|
|
127
|
+
### EntityCommunicationsPreviewComponent (`mj-entity-communications-preview`)
|
|
134
128
|
|
|
135
|
-
|
|
129
|
+
Main component for template selection and message preview.
|
|
136
130
|
|
|
137
131
|
#### Inputs
|
|
138
132
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
133
|
+
| Input | Type | Description |
|
|
134
|
+
|-------|------|-------------|
|
|
135
|
+
| `entityInfo` | `EntityInfo` | Entity metadata for the communication recipients |
|
|
136
|
+
| `runViewParams` | `RunViewParams` | Parameters for loading entity data |
|
|
137
|
+
| `templateFilter` | `string` | SQL filter expression for available templates |
|
|
142
138
|
|
|
143
139
|
#### Outputs
|
|
144
140
|
|
|
145
|
-
|
|
141
|
+
| Output | Type | Description |
|
|
142
|
+
|--------|------|-------------|
|
|
143
|
+
| `templateSelected` | `EventEmitter<TemplateEntityExtended>` | Emitted when a template is selected |
|
|
146
144
|
|
|
147
|
-
### EntityCommunicationsPreviewWindowComponent
|
|
145
|
+
### EntityCommunicationsPreviewWindowComponent (`mj-entity-communications-preview-window`)
|
|
148
146
|
|
|
149
|
-
|
|
147
|
+
Dialog wrapper around the preview component.
|
|
150
148
|
|
|
151
149
|
#### Inputs
|
|
152
150
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
151
|
+
| Input | Type | Default | Description |
|
|
152
|
+
|-------|------|---------|-------------|
|
|
153
|
+
| `DialogVisible` | `boolean` | - | Controls dialog visibility |
|
|
154
|
+
| `Title` | `string` | `'Communications Preview'` | Dialog title |
|
|
155
|
+
| `Width` | `number` | `650` | Dialog width in pixels |
|
|
156
|
+
| `Height` | `number` | `600` | Dialog height in pixels |
|
|
157
|
+
| `MinWidth` | `number` | `400` | Minimum dialog width |
|
|
158
|
+
| `MinHeight` | `number` | `350` | Minimum dialog height |
|
|
159
|
+
| `Resizable` | `boolean` | `true` | Whether the dialog can be resized |
|
|
160
|
+
| `entityInfo` | `EntityInfo` | - | Entity metadata |
|
|
161
|
+
| `runViewParams` | `RunViewParams` | - | View parameters for data loading |
|
|
162
162
|
|
|
163
163
|
#### Outputs
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
### Template Loading
|
|
170
|
-
- Templates are loaded with their content from the database
|
|
171
|
-
- Only active templates are shown (based on `IsActive` flag and `ActiveAt` date)
|
|
172
|
-
- Additional filtering can be applied via the `templateFilter` input
|
|
173
|
-
- Template content entities are loaded and associated with each template
|
|
174
|
-
|
|
175
|
-
### Message Preview Generation
|
|
176
|
-
- Uses the EntityCommunicationsEngineClient to generate previews
|
|
177
|
-
- Integrates with communication providers (e.g., SendGrid)
|
|
178
|
-
- Processes templates against entity data to show real previews
|
|
179
|
-
- Supports both HTML body and subject line templates
|
|
180
|
-
- Runs in preview-only mode without actually sending messages
|
|
181
|
-
|
|
182
|
-
### Navigation Controls
|
|
183
|
-
- VCR-style navigation buttons (first, previous, next, last)
|
|
184
|
-
- Current position indicator showing "X of Y" messages
|
|
185
|
-
- Buttons are automatically disabled at boundaries
|
|
186
|
-
- Font Awesome icons for navigation buttons
|
|
165
|
+
| Output | Type | Description |
|
|
166
|
+
|--------|------|-------------|
|
|
167
|
+
| `DialogClosed` | `EventEmitter<boolean>` | `true` if confirmed, `false` if canceled |
|
|
187
168
|
|
|
188
169
|
## Process Flow
|
|
189
170
|
|
|
190
|
-
1. **Template Selection
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
2. **Preview Generation Phase**:
|
|
196
|
-
- Selected template is processed against the entity data from `runViewParams`
|
|
197
|
-
- EntityCommunicationsEngineClient generates preview messages for each record
|
|
198
|
-
- Loading indicator shows during processing
|
|
199
|
-
|
|
200
|
-
3. **Preview Navigation Phase**:
|
|
201
|
-
- User can navigate through all generated preview messages
|
|
202
|
-
- Each preview shows the processed subject and HTML body
|
|
203
|
-
- Back button returns to template selection
|
|
171
|
+
1. **Template Selection** -- Component loads active templates filtered by the `templateFilter` expression. User browses and selects a template.
|
|
172
|
+
2. **Preview Generation** -- The selected template is processed against entity data from `runViewParams` using `EntityCommunicationsEngineClient`. A loading indicator shows during processing.
|
|
173
|
+
3. **Preview Navigation** -- VCR-style controls (first, previous, next, last) let the user browse through all generated preview messages, viewing processed subject lines and HTML bodies.
|
|
174
|
+
4. **Confirmation** (dialog mode) -- OK/Cancel buttons control the dialog, with `DialogClosed` emitting the user's choice.
|
|
204
175
|
|
|
205
|
-
|
|
206
|
-
- OK/Cancel buttons control the dialog
|
|
207
|
-
- DialogClosed event indicates user's choice
|
|
208
|
-
|
|
209
|
-
## Styling
|
|
176
|
+
## Dependencies
|
|
210
177
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
178
|
+
### Runtime Dependencies
|
|
179
|
+
|
|
180
|
+
| Package | Description |
|
|
181
|
+
|---------|-------------|
|
|
182
|
+
| `@memberjunction/core` | Metadata, entity framework, view execution |
|
|
183
|
+
| `@memberjunction/core-entities` | Entity type definitions |
|
|
184
|
+
| `@memberjunction/global` | Global utilities and event system |
|
|
185
|
+
| `@memberjunction/communication-types` | Message types and communication engine interfaces |
|
|
186
|
+
| `@memberjunction/entity-communications-base` | EntityCommunicationParams interface |
|
|
187
|
+
| `@memberjunction/entity-communications-client` | Client-side communication processing engine |
|
|
188
|
+
| `@memberjunction/templates-base-types` | Template engine and extended template types |
|
|
189
|
+
| `@memberjunction/ng-container-directives` | Container directive utilities |
|
|
190
|
+
| `@memberjunction/ng-shared` | Shared Angular utilities |
|
|
191
|
+
| `@memberjunction/ng-shared-generic` | Shared generic components |
|
|
192
|
+
|
|
193
|
+
### Peer Dependencies
|
|
194
|
+
|
|
195
|
+
- `@angular/common` ^21.x
|
|
196
|
+
- `@angular/core` ^21.x
|
|
197
|
+
- `@angular/forms` ^21.x
|
|
198
|
+
- `@angular/router` ^21.x
|
|
199
|
+
- `@progress/kendo-angular-buttons` ^22.x
|
|
200
|
+
- `@progress/kendo-angular-dialog` ^22.x
|
|
201
|
+
- `@progress/kendo-angular-listbox` ^22.x
|
|
202
|
+
- `@progress/kendo-angular-indicators` ^22.x
|
|
203
|
+
|
|
204
|
+
## Build
|
|
218
205
|
|
|
219
|
-
|
|
206
|
+
```bash
|
|
207
|
+
cd packages/Angular/Generic/entity-communication
|
|
208
|
+
npm run build
|
|
209
|
+
```
|
|
220
210
|
|
|
221
|
-
##
|
|
211
|
+
## License
|
|
222
212
|
|
|
223
|
-
|
|
224
|
-
- `@memberjunction/core`: Metadata, entity framework, and view execution
|
|
225
|
-
- `@memberjunction/core-entities`: Entity type definitions including TemplateContentEntity
|
|
226
|
-
- `@memberjunction/global`: Global utilities and event system
|
|
227
|
-
- `@memberjunction/communication-types`: Message types, communication engines, and providers
|
|
228
|
-
- `@memberjunction/entity-communications-base`: EntityCommunicationParams interface
|
|
229
|
-
- `@memberjunction/entity-communications-client`: Client-side communication processing engine
|
|
230
|
-
- `@memberjunction/templates-base-types`: Template engine and extended template types
|
|
231
|
-
- `@memberjunction/ng-container-directives`: Container directive utilities
|
|
232
|
-
- `@memberjunction/ng-shared`: Shared Angular utilities
|
|
233
|
-
|
|
234
|
-
### Angular Dependencies
|
|
235
|
-
- `@angular/common`: Angular common module (v18.0.2)
|
|
236
|
-
- `@angular/core`: Angular core framework (v18.0.2)
|
|
237
|
-
- `@angular/forms`: Form support (v18.0.2)
|
|
238
|
-
- `@angular/router`: Routing support (v18.0.2)
|
|
239
|
-
|
|
240
|
-
### Kendo UI Dependencies
|
|
241
|
-
- `@progress/kendo-angular-buttons`: Button components (v16.2.0)
|
|
242
|
-
- `@progress/kendo-angular-dialog`: Dialog/window components (v16.2.0)
|
|
243
|
-
- `@progress/kendo-angular-listbox`: Listbox component (v16.2.0)
|
|
244
|
-
- `@progress/kendo-angular-indicators`: Loading indicators (v16.2.0)
|
|
245
|
-
|
|
246
|
-
## Important Notes
|
|
247
|
-
|
|
248
|
-
### Current Limitations
|
|
249
|
-
- The component currently hardcodes the SendGrid provider and Email message type
|
|
250
|
-
- Subject template is hardcoded to 'Test Subject Template'
|
|
251
|
-
- From address is hardcoded in the preview generation
|
|
252
|
-
|
|
253
|
-
### Future Enhancements
|
|
254
|
-
Consider making the following configurable:
|
|
255
|
-
- Communication provider selection
|
|
256
|
-
- Message type selection
|
|
257
|
-
- From address configuration
|
|
258
|
-
- Subject template selection
|
|
259
|
-
- Support for text body templates in addition to HTML
|
|
213
|
+
ISC
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.component.d.ts","sourceRoot":"","sources":["../../src/lib/preview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAS,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAoC,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACzG,OAAO,EAAE,UAAU,EAAW,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAyB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;;AAK9F;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"preview.component.d.ts","sourceRoot":"","sources":["../../src/lib/preview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAS,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAoC,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACzG,OAAO,EAAE,UAAU,EAAW,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAyB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;;AAK9F;;GAEG;AACH,qBAMa,oCAAqC,YAAW,MAAM;IACxD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,gBAAgB,uCAA8C;IAExE,SAAS,EAAE,sBAAsB,EAAE,CAAM;IACzC,gBAAgB,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IACvD,IAAI,EAAE,MAAM,CAAK;IAEV,eAAe,EAAE,gBAAgB,EAAE,CAAM;IAChD,mBAAmB,EAAE,MAAM,CAAK;IACzB,OAAO,EAAE,OAAO,CAAS;;IAI1B,QAAQ;IAOR,aAAa;IAoBnB,cAAc,CAAC,QAAQ,EAAE,sBAAsB;cAO/B,mBAAmB;IAwCnC,yBAAyB,IAAI,MAAM;IASnC,sBAAsB,IAAI,MAAM;IAUhC,MAAM;IAKN,YAAY;IAIZ,WAAW;IAIX,WAAW;IAMX,eAAe;yCAhIJ,oCAAoC;2CAApC,oCAAoC;CAqIhD"}
|
|
@@ -4,13 +4,12 @@ import { RunView } from '@memberjunction/core';
|
|
|
4
4
|
import { EntityCommunicationsEngineClient } from '@memberjunction/entity-communications-client';
|
|
5
5
|
import { TemplateEngineBase } from '@memberjunction/templates-base-types';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular
|
|
8
|
-
import * as i2 from "@
|
|
9
|
-
|
|
10
|
-
function EntityCommunicationsPreviewComponent_div_1_li_4_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
+
import * as i1 from "@progress/kendo-angular-buttons";
|
|
8
|
+
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
9
|
+
function EntityCommunicationsPreviewComponent_Conditional_1_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
11
10
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
12
|
-
i0.ɵɵelementStart(0, "li",
|
|
13
|
-
i0.ɵɵlistener("click", function
|
|
11
|
+
i0.ɵɵelementStart(0, "li", 2);
|
|
12
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_1_For_5_Template_li_click_0_listener() { const template_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.selectTemplate(template_r2)); });
|
|
14
13
|
i0.ɵɵtext(1);
|
|
15
14
|
i0.ɵɵelementEnd();
|
|
16
15
|
} if (rf & 2) {
|
|
@@ -18,71 +17,71 @@ function EntityCommunicationsPreviewComponent_div_1_li_4_Template(rf, ctx) { if
|
|
|
18
17
|
i0.ɵɵadvance();
|
|
19
18
|
i0.ɵɵtextInterpolate1(" ", template_r2.Name, " ");
|
|
20
19
|
} }
|
|
21
|
-
function
|
|
22
|
-
i0.ɵɵelementStart(0, "div",
|
|
20
|
+
function EntityCommunicationsPreviewComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "h2");
|
|
23
22
|
i0.ɵɵtext(2, "Select a Template");
|
|
24
23
|
i0.ɵɵelementEnd();
|
|
25
24
|
i0.ɵɵelementStart(3, "ul");
|
|
26
|
-
i0.ɵɵ
|
|
25
|
+
i0.ɵɵrepeaterCreate(4, EntityCommunicationsPreviewComponent_Conditional_1_For_5_Template, 2, 1, "li", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
27
26
|
i0.ɵɵelementEnd()();
|
|
28
27
|
} if (rf & 2) {
|
|
29
28
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
30
29
|
i0.ɵɵadvance(4);
|
|
31
|
-
i0.ɵɵ
|
|
30
|
+
i0.ɵɵrepeater(ctx_r2.templates);
|
|
32
31
|
} }
|
|
33
|
-
function
|
|
32
|
+
function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
34
33
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
35
34
|
i0.ɵɵelementStart(0, "h2");
|
|
36
35
|
i0.ɵɵtext(1, "No Messages Available");
|
|
37
36
|
i0.ɵɵelementEnd();
|
|
38
|
-
i0.ɵɵelementStart(2, "button",
|
|
39
|
-
i0.ɵɵlistener("click", function
|
|
37
|
+
i0.ɵɵelementStart(2, "button", 4);
|
|
38
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_0_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.goBack()); });
|
|
40
39
|
i0.ɵɵtext(3, "Back");
|
|
41
40
|
i0.ɵɵelementEnd();
|
|
42
41
|
} }
|
|
43
|
-
function
|
|
42
|
+
function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
44
43
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
45
44
|
i0.ɵɵelementStart(0, "h2");
|
|
46
45
|
i0.ɵɵtext(1);
|
|
47
46
|
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵelementStart(2, "button",
|
|
49
|
-
i0.ɵɵlistener("click", function
|
|
47
|
+
i0.ɵɵelementStart(2, "button", 4);
|
|
48
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.goBack()); });
|
|
50
49
|
i0.ɵɵtext(3, "Back");
|
|
51
50
|
i0.ɵɵelementEnd();
|
|
52
|
-
i0.ɵɵelementStart(4, "div",
|
|
53
|
-
i0.ɵɵlistener("click", function
|
|
54
|
-
i0.ɵɵelement(6, "span",
|
|
51
|
+
i0.ɵɵelementStart(4, "div", 5)(5, "button", 6);
|
|
52
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.firstMessage()); });
|
|
53
|
+
i0.ɵɵelement(6, "span", 7);
|
|
55
54
|
i0.ɵɵelementEnd();
|
|
56
|
-
i0.ɵɵelementStart(7, "button",
|
|
57
|
-
i0.ɵɵlistener("click", function
|
|
58
|
-
i0.ɵɵelement(8, "span",
|
|
55
|
+
i0.ɵɵelementStart(7, "button", 8);
|
|
56
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.previousMessage()); });
|
|
57
|
+
i0.ɵɵelement(8, "span", 9);
|
|
59
58
|
i0.ɵɵelementEnd();
|
|
60
|
-
i0.ɵɵelementStart(9, "span",
|
|
59
|
+
i0.ɵɵelementStart(9, "span", 10);
|
|
61
60
|
i0.ɵɵtext(10);
|
|
62
61
|
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵelementStart(11, "button",
|
|
64
|
-
i0.ɵɵlistener("click", function
|
|
65
|
-
i0.ɵɵelement(12, "span",
|
|
62
|
+
i0.ɵɵelementStart(11, "button", 11);
|
|
63
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.nextMessage()); });
|
|
64
|
+
i0.ɵɵelement(12, "span", 12);
|
|
66
65
|
i0.ɵɵelementEnd();
|
|
67
|
-
i0.ɵɵelementStart(13, "button",
|
|
68
|
-
i0.ɵɵlistener("click", function
|
|
69
|
-
i0.ɵɵelement(14, "span",
|
|
66
|
+
i0.ɵɵelementStart(13, "button", 13);
|
|
67
|
+
i0.ɵɵlistener("click", function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.lastMessage()); });
|
|
68
|
+
i0.ɵɵelement(14, "span", 14);
|
|
70
69
|
i0.ɵɵelementEnd()();
|
|
71
|
-
i0.ɵɵelementStart(15, "div",
|
|
70
|
+
i0.ɵɵelementStart(15, "div", 15)(16, "div", 16);
|
|
72
71
|
i0.ɵɵtext(17);
|
|
73
72
|
i0.ɵɵelementEnd();
|
|
74
|
-
i0.ɵɵelement(18, "div",
|
|
73
|
+
i0.ɵɵelement(18, "div", 17);
|
|
75
74
|
i0.ɵɵelementEnd();
|
|
76
75
|
} if (rf & 2) {
|
|
77
76
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
78
77
|
i0.ɵɵadvance();
|
|
79
|
-
i0.ɵɵtextInterpolate1("Preview ", ctx_r2.selectedTemplate == null ? null : ctx_r2.selectedTemplate.Name
|
|
78
|
+
i0.ɵɵtextInterpolate1("Preview ", ctx_r2.selectedTemplate == null ? null : ctx_r2.selectedTemplate.Name);
|
|
80
79
|
i0.ɵɵadvance(4);
|
|
81
80
|
i0.ɵɵproperty("disabled", ctx_r2.currentMessageIndex === 0);
|
|
82
81
|
i0.ɵɵadvance(2);
|
|
83
82
|
i0.ɵɵproperty("disabled", ctx_r2.currentMessageIndex === 0);
|
|
84
83
|
i0.ɵɵadvance(3);
|
|
85
|
-
i0.ɵɵtextInterpolate2("", ctx_r2.currentMessageIndex + 1, " of ", ctx_r2.previewMessages.length
|
|
84
|
+
i0.ɵɵtextInterpolate2("", ctx_r2.currentMessageIndex + 1, " of ", ctx_r2.previewMessages.length);
|
|
86
85
|
i0.ɵɵadvance();
|
|
87
86
|
i0.ɵɵproperty("disabled", ctx_r2.currentMessageIndex >= ctx_r2.previewMessages.length - 1);
|
|
88
87
|
i0.ɵɵadvance(2);
|
|
@@ -92,20 +91,20 @@ function EntityCommunicationsPreviewComponent_div_2_Conditional_1_Conditional_1_
|
|
|
92
91
|
i0.ɵɵadvance();
|
|
93
92
|
i0.ɵɵproperty("innerHTML", ctx_r2.currentPreviewItemBody(), i0.ɵɵsanitizeHtml);
|
|
94
93
|
} }
|
|
95
|
-
function
|
|
96
|
-
i0.ɵɵ
|
|
94
|
+
function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
+
i0.ɵɵconditionalCreate(0, EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_0_Template, 4, 0)(1, EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Conditional_1_Template, 19, 9);
|
|
97
96
|
} if (rf & 2) {
|
|
98
97
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
99
98
|
i0.ɵɵconditional(ctx_r2.previewMessages.length === 0 ? 0 : 1);
|
|
100
99
|
} }
|
|
101
|
-
function
|
|
102
|
-
i0.ɵɵelement(0, "mj-loading",
|
|
100
|
+
function EntityCommunicationsPreviewComponent_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
+
i0.ɵɵelement(0, "mj-loading", 3);
|
|
103
102
|
} if (rf & 2) {
|
|
104
103
|
i0.ɵɵproperty("showText", false);
|
|
105
104
|
} }
|
|
106
|
-
function
|
|
107
|
-
i0.ɵɵelementStart(0, "div",
|
|
108
|
-
i0.ɵɵ
|
|
105
|
+
function EntityCommunicationsPreviewComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
107
|
+
i0.ɵɵconditionalCreate(1, EntityCommunicationsPreviewComponent_Conditional_2_Conditional_1_Template, 2, 1)(2, EntityCommunicationsPreviewComponent_Conditional_2_Conditional_2_Template, 1, 1, "mj-loading", 3);
|
|
109
108
|
i0.ɵɵelementEnd();
|
|
110
109
|
} if (rf & 2) {
|
|
111
110
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -222,20 +221,21 @@ export class EntityCommunicationsPreviewComponent {
|
|
|
222
221
|
}
|
|
223
222
|
}
|
|
224
223
|
static ɵfac = function EntityCommunicationsPreviewComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EntityCommunicationsPreviewComponent)(); };
|
|
225
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityCommunicationsPreviewComponent, selectors: [["mj-entity-communications-preview"]], inputs: { templateFilter: "templateFilter", entityInfo: "entityInfo", runViewParams: "runViewParams" }, outputs: { templateSelected: "templateSelected" }, decls: 3, vars: 2, consts: [[
|
|
224
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityCommunicationsPreviewComponent, selectors: [["mj-entity-communications-preview"]], inputs: { templateFilter: "templateFilter", entityInfo: "entityInfo", runViewParams: "runViewParams" }, outputs: { templateSelected: "templateSelected" }, standalone: false, decls: 3, vars: 2, consts: [[1, "step-1"], [1, "step-2"], [3, "click"], ["size", "medium", 3, "showText"], ["kendoButton", "", 3, "click"], [1, "vcr-controls"], ["aria-label", "First", 3, "click", "disabled"], [1, "fas", "fa-angle-double-left"], ["aria-label", "Previous", 3, "click", "disabled"], [1, "fas", "fa-angle-left"], [1, "index-indicator"], ["aria-label", "Next", 3, "click", "disabled"], [1, "fas", "fa-angle-right"], ["aria-label", "Last", 3, "click", "disabled"], [1, "fas", "fa-angle-double-right"], [1, "template-preview"], [1, "subject-line"], [1, "preview-body", 3, "innerHTML"]], template: function EntityCommunicationsPreviewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
226
225
|
i0.ɵɵelementStart(0, "div");
|
|
227
|
-
i0.ɵɵ
|
|
226
|
+
i0.ɵɵconditionalCreate(1, EntityCommunicationsPreviewComponent_Conditional_1_Template, 6, 0, "div", 0);
|
|
227
|
+
i0.ɵɵconditionalCreate(2, EntityCommunicationsPreviewComponent_Conditional_2_Template, 3, 1, "div", 1);
|
|
228
228
|
i0.ɵɵelementEnd();
|
|
229
229
|
} if (rf & 2) {
|
|
230
230
|
i0.ɵɵadvance();
|
|
231
|
-
i0.ɵɵ
|
|
231
|
+
i0.ɵɵconditional(ctx.step === 1 ? 1 : -1);
|
|
232
232
|
i0.ɵɵadvance();
|
|
233
|
-
i0.ɵɵ
|
|
234
|
-
} }, dependencies: [i1.
|
|
233
|
+
i0.ɵɵconditional(ctx.step === 2 ? 2 : -1);
|
|
234
|
+
} }, dependencies: [i1.ButtonComponent, i2.LoadingComponent], styles: [".step-1[_ngcontent-%COMP%], .step-2[_ngcontent-%COMP%] {\n margin: 20px 0;\n}\n\n.template-preview[_ngcontent-%COMP%] {\n border: 1px solid #ccc;\n margin-top: 10px;\n}\n\n.subject-line[_ngcontent-%COMP%] {\n font-weight: bolder;\n border-bottom: 1px solid #ccc;\n padding: 5px;\n}\n\n.preview-body[_ngcontent-%COMP%] {\n padding: 5px;\n}\n\nul[_ngcontent-%COMP%] {\n list-style: none;\n padding: 0;\n}\n\nli[_ngcontent-%COMP%] {\n padding: 10px;\n border: 1px solid #ccc;\n margin: 5px 0;\n cursor: pointer;\n}\n\nli[_ngcontent-%COMP%]:hover {\n background-color: #f0f0f0;\n}\n\n.vcr-controls[_ngcontent-%COMP%] {\n margin-top: 5px;\n margin-bottom: 15px;\n}\n\n.vcr-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n margin-right: 5px;\n background: none;\n border: none;\n cursor: pointer;\n font-size: 20px;\n color: #007bff;\n}\n\n.vcr-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n color: #0056b3;\n}\n\n.vcr-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled {\n color: #ccc;\n cursor: not-allowed;\n}\n\n.vcr-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled span[_ngcontent-%COMP%] {\n color: #ccc;\n}\n\n.index-indicator[_ngcontent-%COMP%] {\n margin: 0 10px;\n}"] });
|
|
235
235
|
}
|
|
236
236
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityCommunicationsPreviewComponent, [{
|
|
237
237
|
type: Component,
|
|
238
|
-
args: [{ selector: 'mj-entity-communications-preview', template: "<div
|
|
238
|
+
args: [{ standalone: false, selector: 'mj-entity-communications-preview', template: "<div>\n @if (step === 1) {\n <div class=\"step-1\">\n <h2>Select a Template</h2>\n <ul>\n @for (template of templates; track template) {\n <li (click)=\"selectTemplate(template)\">\n {{ template.Name }}\n </li>\n }\n </ul>\n </div>\n }\n\n @if (step === 2) {\n <div class=\"step-2\">\n @if(!loading) {\n @if (previewMessages.length === 0) {\n <h2>No Messages Available</h2>\n <button kendoButton (click)=\"goBack()\">Back</button>\n }\n @else {\n <h2>Preview {{ selectedTemplate?.Name }}</h2>\n <button kendoButton (click)=\"goBack()\">Back</button>\n <div class=\"vcr-controls\">\n <button (click)=\"firstMessage()\" aria-label=\"First\" [disabled]=\"currentMessageIndex === 0\">\n <span class=\"fas fa-angle-double-left\"></span>\n </button>\n <button (click)=\"previousMessage()\" aria-label=\"Previous\" [disabled]=\"currentMessageIndex === 0\">\n <span class=\"fas fa-angle-left\"></span>\n </button>\n <span class=\"index-indicator\">{{ currentMessageIndex + 1 }} of {{ previewMessages.length }}</span>\n <button (click)=\"nextMessage()\" aria-label=\"Next\" [disabled]=\"currentMessageIndex >= previewMessages.length - 1\">\n <span class=\"fas fa-angle-right\"></span>\n </button>\n <button (click)=\"lastMessage()\" aria-label=\"Last\" [disabled]=\"currentMessageIndex >= previewMessages.length - 1\">\n <span class=\"fas fa-angle-double-right\"></span>\n </button>\n </div>\n <div class=\"template-preview\">\n <div class=\"subject-line\">{{currentPreviewItemSubject()}}</div>\n <div class=\"preview-body\" [innerHTML]=\"currentPreviewItemBody()\"></div>\n </div>\n }\n }\n @else {\n <mj-loading [showText]=\"false\" size=\"medium\"></mj-loading>\n }\n</div>\n}\n</div>", styles: [".step-1, .step-2 {\n margin: 20px 0;\n}\n\n.template-preview {\n border: 1px solid #ccc;\n margin-top: 10px;\n}\n\n.subject-line {\n font-weight: bolder;\n border-bottom: 1px solid #ccc;\n padding: 5px;\n}\n\n.preview-body {\n padding: 5px;\n}\n\nul {\n list-style: none;\n padding: 0;\n}\n\nli {\n padding: 10px;\n border: 1px solid #ccc;\n margin: 5px 0;\n cursor: pointer;\n}\n\nli:hover {\n background-color: #f0f0f0;\n}\n\n.vcr-controls {\n margin-top: 5px;\n margin-bottom: 15px;\n}\n\n.vcr-controls button {\n margin-right: 5px;\n background: none;\n border: none;\n cursor: pointer;\n font-size: 20px;\n color: #007bff;\n}\n\n.vcr-controls button:hover {\n color: #0056b3;\n}\n\n.vcr-controls button:disabled {\n color: #ccc;\n cursor: not-allowed;\n}\n\n.vcr-controls button:disabled span {\n color: #ccc;\n}\n\n.index-indicator {\n margin: 0 10px;\n}"] }]
|
|
239
239
|
}], () => [], { templateFilter: [{
|
|
240
240
|
type: Input
|
|
241
241
|
}], entityInfo: [{
|
|
@@ -245,5 +245,5 @@ export class EntityCommunicationsPreviewComponent {
|
|
|
245
245
|
}], templateSelected: [{
|
|
246
246
|
type: Output
|
|
247
247
|
}] }); })();
|
|
248
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityCommunicationsPreviewComponent, { className: "EntityCommunicationsPreviewComponent", filePath: "src/lib/preview.component.ts", lineNumber:
|
|
248
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityCommunicationsPreviewComponent, { className: "EntityCommunicationsPreviewComponent", filePath: "src/lib/preview.component.ts", lineNumber: 18 }); })();
|
|
249
249
|
//# sourceMappingURL=preview.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.component.js","sourceRoot":"","sources":["../../src/lib/preview.component.ts","../../src/lib/preview.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAoB,MAAM,qCAAqC,CAAC;AACzG,OAAO,EAAc,OAAO,EAAiB,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC
|
|
1
|
+
{"version":3,"file":"preview.component.js","sourceRoot":"","sources":["../../src/lib/preview.component.ts","../../src/lib/preview.component.html"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.component.d.ts","sourceRoot":"","sources":["../../src/lib/window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,YAAY,EAAkD,MAAM,eAAe,CAAC;AAEvI,OAAO,EAAY,UAAU,EAAoD,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGzI,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;;AAEvE,
|
|
1
|
+
{"version":3,"file":"window.component.d.ts","sourceRoot":"","sources":["../../src/lib/window.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,YAAY,EAAkD,MAAM,eAAe,CAAC;AAEvI,OAAO,EAAY,UAAU,EAAoD,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGzI,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;;AAEvE,qBAMa,0CAA0C;IAC5C,KAAK,EAAE,MAAM,CAA4B;IACzC,KAAK,SAAO;IACZ,MAAM,SAAO;IACb,QAAQ,SAAO;IACf,SAAS,SAAO;IAChB,SAAS,UAAQ;IAEjB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IAElD,IAAa,aAAa,IAAI,OAAO,CAEpC;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAM/B;IACD,OAAO,CAAC,cAAc,CAAkB;IACxC;;OAEG;IACO,YAAY,wBAA+B;IAIrD;;OAEG;IACa,eAAe,EAAE,oBAAoB,CAGnD;IAEQ,cAAc,sCAAoC;IAClD,gBAAgB,sCAAoC;IAE9D,SAAS,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAM;IAC9C,SAAS,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAM;IAGzC,QAAQ;IAKR,IAAI;yCAjDA,0CAA0C;2CAA1C,0CAA0C;CAqDtD"}
|
|
@@ -58,15 +58,15 @@ export class EntityCommunicationsPreviewWindowComponent {
|
|
|
58
58
|
this.DialogClosed.emit(true);
|
|
59
59
|
}
|
|
60
60
|
static ɵfac = function EntityCommunicationsPreviewWindowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EntityCommunicationsPreviewWindowComponent)(); };
|
|
61
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityCommunicationsPreviewWindowComponent, selectors: [["mj-entity-communications-preview-window"]], inputs: { Title: "Title", Width: "Width", Height: "Height", MinWidth: "MinWidth", MinHeight: "MinHeight", Resizable: "Resizable", entityInfo: "entityInfo", runViewParams: "runViewParams", DialogVisible: "DialogVisible", ToolbarSettings: "ToolbarSettings" }, outputs: { DialogClosed: "DialogClosed", RecordSelected: "RecordSelected", RecordUnselected: "RecordUnselected" }, decls: 1, vars: 1, consts: [[3, "width", "height", "minWidth", "minHeight", "title", "resizable"], [3, "close", "width", "height", "minWidth", "minHeight", "title", "resizable"], [3, "entityInfo", "runViewParams"]], template: function EntityCommunicationsPreviewWindowComponent_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
-
i0.ɵɵ
|
|
61
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityCommunicationsPreviewWindowComponent, selectors: [["mj-entity-communications-preview-window"]], inputs: { Title: "Title", Width: "Width", Height: "Height", MinWidth: "MinWidth", MinHeight: "MinHeight", Resizable: "Resizable", entityInfo: "entityInfo", runViewParams: "runViewParams", DialogVisible: "DialogVisible", ToolbarSettings: "ToolbarSettings" }, outputs: { DialogClosed: "DialogClosed", RecordSelected: "RecordSelected", RecordUnselected: "RecordUnselected" }, standalone: false, decls: 1, vars: 1, consts: [[3, "width", "height", "minWidth", "minHeight", "title", "resizable"], [3, "close", "width", "height", "minWidth", "minHeight", "title", "resizable"], [3, "entityInfo", "runViewParams"]], template: function EntityCommunicationsPreviewWindowComponent_Template(rf, ctx) { if (rf & 1) {
|
|
62
|
+
i0.ɵɵconditionalCreate(0, EntityCommunicationsPreviewWindowComponent_Conditional_0_Template, 2, 8, "kendo-window", 0);
|
|
63
63
|
} if (rf & 2) {
|
|
64
64
|
i0.ɵɵconditional(ctx.DialogVisible ? 0 : -1);
|
|
65
|
-
} }, dependencies: [i1.WindowComponent, i2.EntityCommunicationsPreviewComponent] });
|
|
65
|
+
} }, dependencies: [i1.WindowComponent, i2.EntityCommunicationsPreviewComponent], encapsulation: 2 });
|
|
66
66
|
}
|
|
67
67
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityCommunicationsPreviewWindowComponent, [{
|
|
68
68
|
type: Component,
|
|
69
|
-
args: [{ selector: 'mj-entity-communications-preview-window', template: "@if (DialogVisible) {\n <kendo-window\n [width]=\"Width\"\n [height]=\"Height\"\n [minWidth]=\"MinWidth\"\n [minHeight]=\"MinHeight\"\n [title]=\"Title\" \n (close)=\"OnCancel()\"\n [resizable]=\"Resizable\"\n >\n <mj-entity-communications-preview\n [entityInfo]=\"entityInfo\"\n [runViewParams]=\"runViewParams\"\n >\n </mj-entity-communications-preview>\n </kendo-window> \n}" }]
|
|
69
|
+
args: [{ standalone: false, selector: 'mj-entity-communications-preview-window', template: "@if (DialogVisible) {\n <kendo-window\n [width]=\"Width\"\n [height]=\"Height\"\n [minWidth]=\"MinWidth\"\n [minHeight]=\"MinHeight\"\n [title]=\"Title\" \n (close)=\"OnCancel()\"\n [resizable]=\"Resizable\"\n >\n <mj-entity-communications-preview\n [entityInfo]=\"entityInfo\"\n [runViewParams]=\"runViewParams\"\n >\n </mj-entity-communications-preview>\n </kendo-window> \n}" }]
|
|
70
70
|
}], null, { Title: [{
|
|
71
71
|
type: Input
|
|
72
72
|
}], Width: [{
|
|
@@ -94,5 +94,5 @@ export class EntityCommunicationsPreviewWindowComponent {
|
|
|
94
94
|
}], RecordUnselected: [{
|
|
95
95
|
type: Output
|
|
96
96
|
}] }); })();
|
|
97
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityCommunicationsPreviewWindowComponent, { className: "EntityCommunicationsPreviewWindowComponent", filePath: "src/lib/window.component.ts", lineNumber:
|
|
97
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityCommunicationsPreviewWindowComponent, { className: "EntityCommunicationsPreviewWindowComponent", filePath: "src/lib/window.component.ts", lineNumber: 14 }); })();
|
|
98
98
|
//# sourceMappingURL=window.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.component.js","sourceRoot":"","sources":["../../src/lib/window.component.ts","../../src/lib/window.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,EAAE,YAAY,EAAU,KAAK,EAAmC,MAAM,eAAe,CAAC;;;;;;ICCnI,uCAQC;IAFG,oNAAS,iBAAU,KAAC;IAGpB,sDAImC;IACvC,iBAAe;;;IAPX,AAFA,AADA,AADA,AADA,AADA,oCAAe,yBACE,6BACI,+BACE,uBACR,+BAEQ;IAGnB,cAAyB;IACzB,AADA,8CAAyB,uCACM;;
|
|
1
|
+
{"version":3,"file":"window.component.js","sourceRoot":"","sources":["../../src/lib/window.component.ts","../../src/lib/window.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,EAAE,YAAY,EAAU,KAAK,EAAmC,MAAM,eAAe,CAAC;;;;;;ICCnI,uCAQC;IAFG,oNAAS,iBAAU,KAAC;IAGpB,sDAImC;IACvC,iBAAe;;;IAPX,AAFA,AADA,AADA,AADA,AADA,oCAAe,yBACE,6BACI,+BACE,uBACR,+BAEQ;IAGnB,cAAyB;IACzB,AADA,8CAAyB,uCACM;;ADC3C,MAAM,OAAO,0CAA0C;IAC5C,KAAK,GAAW,wBAAwB,CAAC;IACzC,KAAK,GAAG,GAAG,CAAC;IACZ,MAAM,GAAG,GAAG,CAAC;IACb,QAAQ,GAAG,GAAG,CAAC;IACf,SAAS,GAAG,GAAG,CAAC;IAChB,SAAS,GAAG,IAAI,CAAC;IAEjB,UAAU,CAAyB;IACnC,aAAa,CAA4B;IAElD,IAAa,aAAa;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,IAAI,aAAa,CAAC,KAAc;QAC9B,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;YAC3C,qBAAqB;YACrB,8BAA8B;QAChC,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IACO,cAAc,GAAY,KAAK,CAAC;IACxC;;OAEG;IACO,YAAY,GAAG,IAAI,YAAY,EAAW,CAAC;IAIrD;;OAEG;IACa,eAAe,GAAyB;QACtD,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC;KAChG,CAAC;IAEQ,cAAc,GAAG,IAAI,YAAY,EAAgB,CAAC;IAClD,gBAAgB,GAAG,IAAI,YAAY,EAAgB,CAAC;IAEpD,gBAAgB,GAAiB,EAAE,CAAC;IACpC,kBAAkB,GAAiB,EAAE,CAAC;IAGzC,QAAQ;QACb,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;oIApDU,0CAA0C;6DAA1C,0CAA0C;YCbvD,qHAAqB;;YAArB,4CAgBC;;;iFDHY,0CAA0C;cANtD,SAAS;6BACI,KAAK,YACP,yCAAyC;;kBAKlD,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,KAAK;;kBACL,KAAK;;kBAEL,KAAK;;kBAcL,MAAM;;kBAON,KAAK;;kBAKL,MAAM;;kBACN,MAAM;;kFAtCI,0CAA0C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-entity-communications",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "MemberJunction: Angular Components to allow a user to select templates, preview the messages with those tempaltes, and send them",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -15,31 +15,31 @@
|
|
|
15
15
|
"author": "",
|
|
16
16
|
"license": "ISC",
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@angular/compiler": "
|
|
19
|
-
"@angular/compiler-cli": "
|
|
18
|
+
"@angular/compiler": "21.1.3",
|
|
19
|
+
"@angular/compiler-cli": "21.1.3"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@angular/common": "
|
|
23
|
-
"@angular/core": "
|
|
24
|
-
"@angular/forms": "
|
|
25
|
-
"@angular/router": "
|
|
26
|
-
"@progress/kendo-angular-buttons": "
|
|
27
|
-
"@progress/kendo-angular-dialog": "
|
|
28
|
-
"@progress/kendo-angular-listbox": "
|
|
29
|
-
"@progress/kendo-angular-indicators": "
|
|
22
|
+
"@angular/common": "21.1.3",
|
|
23
|
+
"@angular/core": "21.1.3",
|
|
24
|
+
"@angular/forms": "21.1.3",
|
|
25
|
+
"@angular/router": "21.1.3",
|
|
26
|
+
"@progress/kendo-angular-buttons": "22.0.1",
|
|
27
|
+
"@progress/kendo-angular-dialog": "22.0.1",
|
|
28
|
+
"@progress/kendo-angular-listbox": "22.0.1",
|
|
29
|
+
"@progress/kendo-angular-indicators": "22.0.1"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@memberjunction/communication-types": "
|
|
33
|
-
"@memberjunction/core": "
|
|
34
|
-
"@memberjunction/core-entities": "
|
|
35
|
-
"@memberjunction/entity-communications-base": "
|
|
36
|
-
"@memberjunction/entity-communications-client": "
|
|
37
|
-
"@memberjunction/global": "
|
|
38
|
-
"@memberjunction/ng-container-directives": "
|
|
39
|
-
"@memberjunction/ng-shared": "
|
|
40
|
-
"@memberjunction/ng-shared-generic": "
|
|
41
|
-
"@memberjunction/templates-base-types": "
|
|
42
|
-
"tslib": "^2.
|
|
32
|
+
"@memberjunction/communication-types": "4.1.0",
|
|
33
|
+
"@memberjunction/core": "4.1.0",
|
|
34
|
+
"@memberjunction/core-entities": "4.1.0",
|
|
35
|
+
"@memberjunction/entity-communications-base": "4.1.0",
|
|
36
|
+
"@memberjunction/entity-communications-client": "4.1.0",
|
|
37
|
+
"@memberjunction/global": "4.1.0",
|
|
38
|
+
"@memberjunction/ng-container-directives": "4.1.0",
|
|
39
|
+
"@memberjunction/ng-shared": "4.1.0",
|
|
40
|
+
"@memberjunction/ng-shared-generic": "4.1.0",
|
|
41
|
+
"@memberjunction/templates-base-types": "4.1.0",
|
|
42
|
+
"tslib": "^2.8.1"
|
|
43
43
|
},
|
|
44
44
|
"sideEffects": false,
|
|
45
45
|
"repository": {
|