@memberjunction/ng-simple-record-list 2.48.0 → 2.49.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/dist/lib/module.js
CHANGED
|
@@ -13,18 +13,18 @@ import { EntityFormDialogModule } from '@memberjunction/ng-entity-form-dialog';
|
|
|
13
13
|
import { SimpleRecordListComponent } from './simple-record-list/simple-record-list.component';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
export class SimpleRecordListModule {
|
|
16
|
+
static ɵfac = function SimpleRecordListModule_Factory(t) { return new (t || SimpleRecordListModule)(); };
|
|
17
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SimpleRecordListModule });
|
|
18
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
19
|
+
FormsModule,
|
|
20
|
+
DialogsModule,
|
|
21
|
+
ContainerDirectivesModule,
|
|
22
|
+
ButtonsModule,
|
|
23
|
+
DropDownsModule,
|
|
24
|
+
DialogsModule,
|
|
25
|
+
EntityFormDialogModule,
|
|
26
|
+
IndicatorsModule] });
|
|
16
27
|
}
|
|
17
|
-
SimpleRecordListModule.ɵfac = function SimpleRecordListModule_Factory(t) { return new (t || SimpleRecordListModule)(); };
|
|
18
|
-
SimpleRecordListModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: SimpleRecordListModule });
|
|
19
|
-
SimpleRecordListModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
20
|
-
FormsModule,
|
|
21
|
-
DialogsModule,
|
|
22
|
-
ContainerDirectivesModule,
|
|
23
|
-
ButtonsModule,
|
|
24
|
-
DropDownsModule,
|
|
25
|
-
DialogsModule,
|
|
26
|
-
EntityFormDialogModule,
|
|
27
|
-
IndicatorsModule] });
|
|
28
28
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SimpleRecordListModule, [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
package/dist/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/lib/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,KAAK;AACL,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,QAAQ;AACR,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;;AAqB9F,MAAM,OAAO,sBAAsB
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/lib/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,2BAA2B;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,KAAK;AACL,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,QAAQ;AACR,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;;AAqB9F,MAAM,OAAO,sBAAsB;gFAAtB,sBAAsB;4DAAtB,sBAAsB;gEAd/B,YAAY;YACZ,WAAW;YACX,aAAa;YACb,yBAAyB;YACzB,aAAa;YACb,eAAe;YACf,aAAa;YACb,sBAAsB;YACtB,gBAAgB;;iFAMP,sBAAsB;cAnBlC,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,yBAAyB;iBAC1B;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,aAAa;oBACb,yBAAyB;oBACzB,aAAa;oBACb,eAAe;oBACf,aAAa;oBACb,sBAAsB;oBACtB,gBAAgB;iBACjB;gBACD,OAAO,EAAE;oBACP,yBAAyB;iBAC1B;aACF;;wFACY,sBAAsB,mBAjB/B,yBAAyB,aAGzB,YAAY;QACZ,WAAW;QACX,aAAa;QACb,yBAAyB;QACzB,aAAa;QACb,eAAe;QACf,aAAa;QACb,sBAAsB;QACtB,gBAAgB,aAGhB,yBAAyB"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { Component, Input, EventEmitter, Output } from '@angular/core';
|
|
11
2
|
import { Metadata, RunView } from '@memberjunction/core';
|
|
12
3
|
import { MJNotificationService } from '@memberjunction/ng-notifications';
|
|
@@ -185,147 +176,142 @@ function SimpleRecordListComponent_Conditional_5_Template(rf, ctx) { if (rf & 1)
|
|
|
185
176
|
i0.ɵɵconditional(ctx_r1.CustomActionDialogInfo ? 3 : -1);
|
|
186
177
|
} }
|
|
187
178
|
export class SimpleRecordListComponent {
|
|
179
|
+
router;
|
|
180
|
+
/**
|
|
181
|
+
* Name of the entity to display records for.
|
|
182
|
+
*/
|
|
183
|
+
EntityName = '';
|
|
184
|
+
/**
|
|
185
|
+
* List of columns to display in the grid. If empty and the entity has > 10 columns, those columns marked as DefaultInView=1 will be used, otherwise the first 10 columns will be used.
|
|
186
|
+
*/
|
|
187
|
+
Columns = [];
|
|
188
|
+
/**
|
|
189
|
+
* Name of the column to sort by. If empty, no sorting is done.
|
|
190
|
+
*/
|
|
191
|
+
SortBy = '';
|
|
192
|
+
/**
|
|
193
|
+
* If true, the delete button will be shown for each record.
|
|
194
|
+
*/
|
|
195
|
+
AllowDelete = true;
|
|
196
|
+
/**
|
|
197
|
+
* If true, the new button will be shown.
|
|
198
|
+
*/
|
|
199
|
+
AllowNew = true;
|
|
200
|
+
/**
|
|
201
|
+
* If true, the edit button will be shown for each record.
|
|
202
|
+
*/
|
|
203
|
+
AllowEdit = true;
|
|
204
|
+
/**
|
|
205
|
+
* If true, a custom action button will be shown for each record.
|
|
206
|
+
*/
|
|
207
|
+
AllowCustomAction = false;
|
|
208
|
+
/**
|
|
209
|
+
* The CSS class for the custom action button icon (e.g. 'fa-user-lock')
|
|
210
|
+
*/
|
|
211
|
+
CustomActionIcon = '';
|
|
212
|
+
/**
|
|
213
|
+
* A function that returns the appropriate icon based on the record
|
|
214
|
+
* Signature: (record: BaseEntity) => string
|
|
215
|
+
* If provided, overrides CustomActionIcon
|
|
216
|
+
*/
|
|
217
|
+
CustomActionIconFunction = null;
|
|
218
|
+
/**
|
|
219
|
+
* Tooltip text for the custom action button
|
|
220
|
+
*/
|
|
221
|
+
CustomActionTooltip = '';
|
|
222
|
+
/**
|
|
223
|
+
* A function that returns the appropriate tooltip text based on the record
|
|
224
|
+
* Signature: (record: BaseEntity) => string
|
|
225
|
+
* If provided, overrides CustomActionTooltip
|
|
226
|
+
*/
|
|
227
|
+
CustomActionTooltipFunction = null;
|
|
228
|
+
/**
|
|
229
|
+
* Title for the custom action confirmation dialog
|
|
230
|
+
*/
|
|
231
|
+
CustomActionDialogTitle = 'Confirm Action';
|
|
232
|
+
/**
|
|
233
|
+
* Message for the custom action confirmation dialog
|
|
234
|
+
*/
|
|
235
|
+
CustomActionDialogMessage = 'Are you sure you want to perform this action?';
|
|
236
|
+
/**
|
|
237
|
+
* Optional additional information for the custom action confirmation dialog
|
|
238
|
+
*/
|
|
239
|
+
CustomActionDialogInfo = '';
|
|
240
|
+
/**
|
|
241
|
+
* If AllowEdit or AllowNew is true, this is the section name to display for editing a new or existing record.
|
|
242
|
+
*/
|
|
243
|
+
EditSectionName = 'details';
|
|
244
|
+
RecordSelected = new EventEmitter();
|
|
245
|
+
RecordEdited = new EventEmitter();
|
|
246
|
+
RecordCreated = new EventEmitter();
|
|
247
|
+
CustomActionClicked = new EventEmitter();
|
|
248
|
+
CustomActionConfirmed = new EventEmitter();
|
|
249
|
+
isLoading = false;
|
|
250
|
+
records = [];
|
|
188
251
|
constructor(router) {
|
|
189
252
|
this.router = router;
|
|
190
|
-
/**
|
|
191
|
-
* Name of the entity to display records for.
|
|
192
|
-
*/
|
|
193
|
-
this.EntityName = '';
|
|
194
|
-
/**
|
|
195
|
-
* List of columns to display in the grid. If empty and the entity has > 10 columns, those columns marked as DefaultInView=1 will be used, otherwise the first 10 columns will be used.
|
|
196
|
-
*/
|
|
197
|
-
this.Columns = [];
|
|
198
|
-
/**
|
|
199
|
-
* Name of the column to sort by. If empty, no sorting is done.
|
|
200
|
-
*/
|
|
201
|
-
this.SortBy = '';
|
|
202
|
-
/**
|
|
203
|
-
* If true, the delete button will be shown for each record.
|
|
204
|
-
*/
|
|
205
|
-
this.AllowDelete = true;
|
|
206
|
-
/**
|
|
207
|
-
* If true, the new button will be shown.
|
|
208
|
-
*/
|
|
209
|
-
this.AllowNew = true;
|
|
210
|
-
/**
|
|
211
|
-
* If true, the edit button will be shown for each record.
|
|
212
|
-
*/
|
|
213
|
-
this.AllowEdit = true;
|
|
214
|
-
/**
|
|
215
|
-
* If true, a custom action button will be shown for each record.
|
|
216
|
-
*/
|
|
217
|
-
this.AllowCustomAction = false;
|
|
218
|
-
/**
|
|
219
|
-
* The CSS class for the custom action button icon (e.g. 'fa-user-lock')
|
|
220
|
-
*/
|
|
221
|
-
this.CustomActionIcon = '';
|
|
222
|
-
/**
|
|
223
|
-
* A function that returns the appropriate icon based on the record
|
|
224
|
-
* Signature: (record: BaseEntity) => string
|
|
225
|
-
* If provided, overrides CustomActionIcon
|
|
226
|
-
*/
|
|
227
|
-
this.CustomActionIconFunction = null;
|
|
228
|
-
/**
|
|
229
|
-
* Tooltip text for the custom action button
|
|
230
|
-
*/
|
|
231
|
-
this.CustomActionTooltip = '';
|
|
232
|
-
/**
|
|
233
|
-
* A function that returns the appropriate tooltip text based on the record
|
|
234
|
-
* Signature: (record: BaseEntity) => string
|
|
235
|
-
* If provided, overrides CustomActionTooltip
|
|
236
|
-
*/
|
|
237
|
-
this.CustomActionTooltipFunction = null;
|
|
238
|
-
/**
|
|
239
|
-
* Title for the custom action confirmation dialog
|
|
240
|
-
*/
|
|
241
|
-
this.CustomActionDialogTitle = 'Confirm Action';
|
|
242
|
-
/**
|
|
243
|
-
* Message for the custom action confirmation dialog
|
|
244
|
-
*/
|
|
245
|
-
this.CustomActionDialogMessage = 'Are you sure you want to perform this action?';
|
|
246
|
-
/**
|
|
247
|
-
* Optional additional information for the custom action confirmation dialog
|
|
248
|
-
*/
|
|
249
|
-
this.CustomActionDialogInfo = '';
|
|
250
|
-
/**
|
|
251
|
-
* If AllowEdit or AllowNew is true, this is the section name to display for editing a new or existing record.
|
|
252
|
-
*/
|
|
253
|
-
this.EditSectionName = 'details';
|
|
254
|
-
this.RecordSelected = new EventEmitter();
|
|
255
|
-
this.RecordEdited = new EventEmitter();
|
|
256
|
-
this.RecordCreated = new EventEmitter();
|
|
257
|
-
this.CustomActionClicked = new EventEmitter();
|
|
258
|
-
this.CustomActionConfirmed = new EventEmitter();
|
|
259
|
-
this.isLoading = false;
|
|
260
|
-
this.records = [];
|
|
261
|
-
this.deleteRecordDialogVisible = false;
|
|
262
|
-
this.customActionDialogVisible = false;
|
|
263
|
-
this.showEditOrNewRecordForm = false;
|
|
264
|
-
this.recordMode = 'new';
|
|
265
253
|
}
|
|
266
254
|
ngOnInit() {
|
|
267
255
|
this.Refresh();
|
|
268
256
|
}
|
|
269
|
-
Refresh() {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
if (e)
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
this.Columns = e.Fields.slice(0, 10).map(f => f.Name);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
const rv = new RunView();
|
|
289
|
-
const result = yield rv.RunView({
|
|
290
|
-
EntityName: this.EntityName,
|
|
291
|
-
ResultType: 'entity_object'
|
|
292
|
-
});
|
|
293
|
-
if (result.Success) {
|
|
294
|
-
this.records = result.Results;
|
|
295
|
-
if (this.SortBy && this.SortBy.trim().length > 0) {
|
|
296
|
-
this.records.sort((a, b) => a.Get(this.SortBy).localeCompare(b.Get(this.SortBy)));
|
|
257
|
+
async Refresh() {
|
|
258
|
+
this.isLoading = true;
|
|
259
|
+
const md = new Metadata();
|
|
260
|
+
if (this.Columns.length === 0) {
|
|
261
|
+
// populate this by default by taking all columns if entity has < 10 columns, otherwise include columns that have DefaultInView=1, and if we have no columns with DefaultInView=1, then include the first 10 columns
|
|
262
|
+
const e = md.Entities.find(e => e.Name === this.EntityName);
|
|
263
|
+
if (e) {
|
|
264
|
+
if (e.Fields.length < 10)
|
|
265
|
+
this.Columns = e.Fields.map(f => f.Name);
|
|
266
|
+
else {
|
|
267
|
+
const defaultInViewColumns = e.Fields.filter(c => c.DefaultInView);
|
|
268
|
+
if (defaultInViewColumns.length > 0)
|
|
269
|
+
this.Columns = defaultInViewColumns.map(f => f.Name);
|
|
270
|
+
else
|
|
271
|
+
this.Columns = e.Fields.slice(0, 10).map(f => f.Name);
|
|
297
272
|
}
|
|
298
273
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
this.
|
|
274
|
+
}
|
|
275
|
+
const rv = new RunView();
|
|
276
|
+
const result = await rv.RunView({
|
|
277
|
+
EntityName: this.EntityName,
|
|
278
|
+
ResultType: 'entity_object'
|
|
303
279
|
});
|
|
280
|
+
if (result.Success) {
|
|
281
|
+
this.records = result.Results;
|
|
282
|
+
if (this.SortBy && this.SortBy.trim().length > 0) {
|
|
283
|
+
this.records.sort((a, b) => a.Get(this.SortBy).localeCompare(b.Get(this.SortBy)));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
throw new Error("Error loading records: " + result.ErrorMessage);
|
|
288
|
+
}
|
|
289
|
+
this.isLoading = false;
|
|
304
290
|
}
|
|
305
291
|
selectRecord(event, r) {
|
|
306
292
|
if (event)
|
|
307
293
|
event.stopPropagation(); // prevent row from getting click
|
|
308
294
|
this.RecordSelected.emit(r);
|
|
309
295
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
296
|
+
deleteRecordDialogVisible = false;
|
|
297
|
+
customActionDialogVisible = false;
|
|
298
|
+
deleteRecordItem;
|
|
299
|
+
customActionItem;
|
|
300
|
+
async deleteRecord(event, r) {
|
|
301
|
+
// confirm with the user first
|
|
302
|
+
this.deleteRecordItem = r;
|
|
303
|
+
this.deleteRecordDialogVisible = true;
|
|
304
|
+
if (event)
|
|
305
|
+
event.stopPropagation(); // prevent row from getting click
|
|
318
306
|
}
|
|
319
|
-
performCustomAction(event, r) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
event.stopPropagation(); // prevent row from getting click
|
|
328
|
-
});
|
|
307
|
+
async performCustomAction(event, r) {
|
|
308
|
+
// first emit the clicked event to allow the parent to react
|
|
309
|
+
this.CustomActionClicked.emit(r);
|
|
310
|
+
// confirm with the user
|
|
311
|
+
this.customActionItem = r;
|
|
312
|
+
this.customActionDialogVisible = true;
|
|
313
|
+
if (event)
|
|
314
|
+
event.stopPropagation(); // prevent row from getting click
|
|
329
315
|
}
|
|
330
316
|
/**
|
|
331
317
|
* Gets the custom action icon for a record, using the function if provided, otherwise the static icon
|
|
@@ -345,72 +331,65 @@ export class SimpleRecordListComponent {
|
|
|
345
331
|
}
|
|
346
332
|
return this.CustomActionTooltip;
|
|
347
333
|
}
|
|
348
|
-
closeCustomActionDialog(result) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
this.customActionItem = undefined;
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
closeDeleteDialog(result) {
|
|
359
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
360
|
-
// if the user confirms, delete the record
|
|
361
|
-
this.deleteRecordDialogVisible = false;
|
|
362
|
-
if (result === 'Yes') {
|
|
363
|
-
if (!(yield this.deleteRecordItem.Delete())) {
|
|
364
|
-
// show an error message
|
|
365
|
-
const errorMessage = this.deleteRecordItem.LatestResult.Message;
|
|
366
|
-
MJNotificationService.Instance.CreateSimpleNotification('Error deleting record: ' + errorMessage, 'error', 3000);
|
|
367
|
-
}
|
|
368
|
-
else
|
|
369
|
-
this.Refresh(); // refresh the list
|
|
370
|
-
}
|
|
371
|
-
this.deleteRecordItem = null;
|
|
372
|
-
});
|
|
334
|
+
async closeCustomActionDialog(result) {
|
|
335
|
+
this.customActionDialogVisible = false;
|
|
336
|
+
if (result === 'Yes') {
|
|
337
|
+
// emit the event so the parent can handle the action
|
|
338
|
+
this.CustomActionConfirmed.emit(this.customActionItem);
|
|
339
|
+
}
|
|
340
|
+
this.customActionItem = undefined;
|
|
373
341
|
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
this.
|
|
381
|
-
|
|
382
|
-
this.showEditOrNewRecordForm = true;
|
|
342
|
+
async closeDeleteDialog(result) {
|
|
343
|
+
// if the user confirms, delete the record
|
|
344
|
+
this.deleteRecordDialogVisible = false;
|
|
345
|
+
if (result === 'Yes') {
|
|
346
|
+
if (!await this.deleteRecordItem.Delete()) {
|
|
347
|
+
// show an error message
|
|
348
|
+
const errorMessage = this.deleteRecordItem.LatestResult.Message;
|
|
349
|
+
MJNotificationService.Instance.CreateSimpleNotification('Error deleting record: ' + errorMessage, 'error', 3000);
|
|
383
350
|
}
|
|
384
|
-
|
|
351
|
+
else
|
|
352
|
+
this.Refresh(); // refresh the list
|
|
353
|
+
}
|
|
354
|
+
this.deleteRecordItem = null;
|
|
385
355
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
356
|
+
editOrNewRecord;
|
|
357
|
+
showEditOrNewRecordForm = false;
|
|
358
|
+
recordMode = 'new';
|
|
359
|
+
async createNewRecord() {
|
|
360
|
+
// attempt to create a new record and if success, navigate to the new record
|
|
361
|
+
const md = new Metadata();
|
|
362
|
+
this.editOrNewRecord = await md.GetEntityObject(this.EntityName);
|
|
363
|
+
if (this.editOrNewRecord) {
|
|
364
|
+
this.editOrNewRecord.NewRecord();
|
|
365
|
+
this.recordMode = 'new';
|
|
390
366
|
this.showEditOrNewRecordForm = true;
|
|
391
|
-
|
|
392
|
-
event.stopPropagation(); // prevent row from getting click
|
|
393
|
-
});
|
|
367
|
+
}
|
|
394
368
|
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
369
|
+
async editRecord(event, r) {
|
|
370
|
+
this.editOrNewRecord = r;
|
|
371
|
+
this.recordMode = 'edit';
|
|
372
|
+
this.showEditOrNewRecordForm = true;
|
|
373
|
+
if (event)
|
|
374
|
+
event.stopPropagation(); // prevent row from getting click
|
|
375
|
+
}
|
|
376
|
+
async onEditOrNewRecordFormClosed(result) {
|
|
377
|
+
if (!this.editOrNewRecord)
|
|
378
|
+
return; // this can happen if the user closes the form before the record is loaded
|
|
379
|
+
this.showEditOrNewRecordForm = false;
|
|
380
|
+
if (result === 'Save') {
|
|
381
|
+
// the dialog already saved the record, just check to make sure it was saved and if so, navigate
|
|
382
|
+
if (this.editOrNewRecord.IsSaved) {
|
|
383
|
+
if (this.recordMode === 'edit')
|
|
384
|
+
this.RecordEdited.emit(this.editOrNewRecord);
|
|
410
385
|
else
|
|
411
|
-
|
|
386
|
+
this.RecordCreated.emit(this.editOrNewRecord);
|
|
387
|
+
// refresh our grid now
|
|
388
|
+
await this.Refresh();
|
|
412
389
|
}
|
|
413
|
-
|
|
390
|
+
else
|
|
391
|
+
throw new Error('Record was not saved');
|
|
392
|
+
}
|
|
414
393
|
}
|
|
415
394
|
getRecordName(r) {
|
|
416
395
|
// check to see if we have any columns in the entity that have IsNameField = 1, the fall back from there is to look for a column named "Name", and if that doesn't work we return the primary key(s)
|
|
@@ -432,23 +411,23 @@ export class SimpleRecordListComponent {
|
|
|
432
411
|
}
|
|
433
412
|
}
|
|
434
413
|
}
|
|
414
|
+
static ɵfac = function SimpleRecordListComponent_Factory(t) { return new (t || SimpleRecordListComponent)(i0.ɵɵdirectiveInject(i1.Router)); };
|
|
415
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SimpleRecordListComponent, selectors: [["mj-simple-record-list"]], inputs: { EntityName: "EntityName", Columns: "Columns", SortBy: "SortBy", AllowDelete: "AllowDelete", AllowNew: "AllowNew", AllowEdit: "AllowEdit", AllowCustomAction: "AllowCustomAction", CustomActionIcon: "CustomActionIcon", CustomActionIconFunction: "CustomActionIconFunction", CustomActionTooltip: "CustomActionTooltip", CustomActionTooltipFunction: "CustomActionTooltipFunction", CustomActionDialogTitle: "CustomActionDialogTitle", CustomActionDialogMessage: "CustomActionDialogMessage", CustomActionDialogInfo: "CustomActionDialogInfo", EditSectionName: "EditSectionName" }, outputs: { RecordSelected: "RecordSelected", RecordEdited: "RecordEdited", RecordCreated: "RecordCreated", CustomActionClicked: "CustomActionClicked", CustomActionConfirmed: "CustomActionConfirmed" }, decls: 6, vars: 4, consts: [["entityForm", ""], ["mjFillContainer", "", 1, "wrapper", "scrollable"], [1, "vertical-full-width"], ["Mode", "section", 3, "Record", "SectionName", "Visible", "AutoRevertOnCancel", "HandleSave", "Width", "Height"], [3, "title", "width", "height"], ["kendoButton", ""], [1, "grid"], [1, "sticky-header"], [4, "ngFor", "ngForOf"], [3, "click", 4, "ngFor", "ngForOf"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-plus"], [3, "click"], ["title", "Edit", 1, "fa-solid", "fa-pen-to-square", "icon"], [3, "class", "title"], ["title", "Delete", 1, "fa-solid", "fa-trash-can", "icon"], ["title", "Edit", 1, "fa-solid", "fa-pen-to-square", "icon", 3, "click"], [3, "click", "title"], ["title", "Delete", 1, "fa-solid", "fa-trash-can", "icon", 3, "click"], ["Mode", "section", 3, "DialogClosed", "Record", "SectionName", "Visible", "AutoRevertOnCancel", "HandleSave", "Width", "Height"], [3, "close", "title", "width", "height"], ["kendoButton", "", "themeColor", "primary", 3, "click"]], template: function SimpleRecordListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
416
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
417
|
+
i0.ɵɵtemplate(1, SimpleRecordListComponent_Conditional_1_Template, 2, 0, "div")(2, SimpleRecordListComponent_Conditional_2_Template, 8, 3, "div", 2);
|
|
418
|
+
i0.ɵɵelementEnd();
|
|
419
|
+
i0.ɵɵtemplate(3, SimpleRecordListComponent_Conditional_3_Template, 2, 7, "mj-entity-form-dialog", 3)(4, SimpleRecordListComponent_Conditional_4_Template, 8, 4, "kendo-dialog", 4)(5, SimpleRecordListComponent_Conditional_5_Template, 9, 5, "kendo-dialog", 4);
|
|
420
|
+
} if (rf & 2) {
|
|
421
|
+
i0.ɵɵadvance();
|
|
422
|
+
i0.ɵɵconditional(ctx.isLoading ? 1 : 2);
|
|
423
|
+
i0.ɵɵadvance(2);
|
|
424
|
+
i0.ɵɵconditional(ctx.AllowNew || ctx.AllowEdit ? 3 : -1);
|
|
425
|
+
i0.ɵɵadvance();
|
|
426
|
+
i0.ɵɵconditional(ctx.deleteRecordDialogVisible && ctx.AllowDelete ? 4 : -1);
|
|
427
|
+
i0.ɵɵadvance();
|
|
428
|
+
i0.ɵɵconditional(ctx.customActionDialogVisible && ctx.AllowCustomAction ? 5 : -1);
|
|
429
|
+
} }, dependencies: [i2.NgForOf, i3.DialogComponent, i3.DialogActionsComponent, i4.FillContainer, i5.ButtonComponent, i6.EntityFormDialogComponent, i7.LoaderComponent], styles: ["button[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper[_ngcontent-%COMP%] {\n padding-right: 10px;\n}\n\n\n\ntable[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; \n\n width: 100%;\n}\n \ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: #f2f2f2; \n\n color: black; \n\n font-weight: bold; \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n height: 36px; \n\n padding: 0 8px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n display: flex; \n\n justify-content: space-between; \n\n align-items: center; \n\n padding-right: 8px; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:first-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:last-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child .icon[_ngcontent-%COMP%] {\n margin-left: 10px; \n\n cursor: pointer; \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #e7f4ff; \n\n}\n\n.sticky-header[_ngcontent-%COMP%] {\n position: sticky;\n top: 0;\n}\n\n.scrollable[_ngcontent-%COMP%] {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n width: 100%;\n}"] });
|
|
435
430
|
}
|
|
436
|
-
SimpleRecordListComponent.ɵfac = function SimpleRecordListComponent_Factory(t) { return new (t || SimpleRecordListComponent)(i0.ɵɵdirectiveInject(i1.Router)); };
|
|
437
|
-
SimpleRecordListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SimpleRecordListComponent, selectors: [["mj-simple-record-list"]], inputs: { EntityName: "EntityName", Columns: "Columns", SortBy: "SortBy", AllowDelete: "AllowDelete", AllowNew: "AllowNew", AllowEdit: "AllowEdit", AllowCustomAction: "AllowCustomAction", CustomActionIcon: "CustomActionIcon", CustomActionIconFunction: "CustomActionIconFunction", CustomActionTooltip: "CustomActionTooltip", CustomActionTooltipFunction: "CustomActionTooltipFunction", CustomActionDialogTitle: "CustomActionDialogTitle", CustomActionDialogMessage: "CustomActionDialogMessage", CustomActionDialogInfo: "CustomActionDialogInfo", EditSectionName: "EditSectionName" }, outputs: { RecordSelected: "RecordSelected", RecordEdited: "RecordEdited", RecordCreated: "RecordCreated", CustomActionClicked: "CustomActionClicked", CustomActionConfirmed: "CustomActionConfirmed" }, decls: 6, vars: 4, consts: [["entityForm", ""], ["mjFillContainer", "", 1, "wrapper", "scrollable"], [1, "vertical-full-width"], ["Mode", "section", 3, "Record", "SectionName", "Visible", "AutoRevertOnCancel", "HandleSave", "Width", "Height"], [3, "title", "width", "height"], ["kendoButton", ""], [1, "grid"], [1, "sticky-header"], [4, "ngFor", "ngForOf"], [3, "click", 4, "ngFor", "ngForOf"], ["kendoButton", "", 3, "click"], [1, "fa-solid", "fa-plus"], [3, "click"], ["title", "Edit", 1, "fa-solid", "fa-pen-to-square", "icon"], [3, "class", "title"], ["title", "Delete", 1, "fa-solid", "fa-trash-can", "icon"], ["title", "Edit", 1, "fa-solid", "fa-pen-to-square", "icon", 3, "click"], [3, "click", "title"], ["title", "Delete", 1, "fa-solid", "fa-trash-can", "icon", 3, "click"], ["Mode", "section", 3, "DialogClosed", "Record", "SectionName", "Visible", "AutoRevertOnCancel", "HandleSave", "Width", "Height"], [3, "close", "title", "width", "height"], ["kendoButton", "", "themeColor", "primary", 3, "click"]], template: function SimpleRecordListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
438
|
-
i0.ɵɵelementStart(0, "div", 1);
|
|
439
|
-
i0.ɵɵtemplate(1, SimpleRecordListComponent_Conditional_1_Template, 2, 0, "div")(2, SimpleRecordListComponent_Conditional_2_Template, 8, 3, "div", 2);
|
|
440
|
-
i0.ɵɵelementEnd();
|
|
441
|
-
i0.ɵɵtemplate(3, SimpleRecordListComponent_Conditional_3_Template, 2, 7, "mj-entity-form-dialog", 3)(4, SimpleRecordListComponent_Conditional_4_Template, 8, 4, "kendo-dialog", 4)(5, SimpleRecordListComponent_Conditional_5_Template, 9, 5, "kendo-dialog", 4);
|
|
442
|
-
} if (rf & 2) {
|
|
443
|
-
i0.ɵɵadvance();
|
|
444
|
-
i0.ɵɵconditional(ctx.isLoading ? 1 : 2);
|
|
445
|
-
i0.ɵɵadvance(2);
|
|
446
|
-
i0.ɵɵconditional(ctx.AllowNew || ctx.AllowEdit ? 3 : -1);
|
|
447
|
-
i0.ɵɵadvance();
|
|
448
|
-
i0.ɵɵconditional(ctx.deleteRecordDialogVisible && ctx.AllowDelete ? 4 : -1);
|
|
449
|
-
i0.ɵɵadvance();
|
|
450
|
-
i0.ɵɵconditional(ctx.customActionDialogVisible && ctx.AllowCustomAction ? 5 : -1);
|
|
451
|
-
} }, dependencies: [i2.NgForOf, i3.DialogComponent, i3.DialogActionsComponent, i4.FillContainer, i5.ButtonComponent, i6.EntityFormDialogComponent, i7.LoaderComponent], styles: ["button[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper[_ngcontent-%COMP%] {\n padding-right: 10px;\n}\n\n\n\ntable[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; \n\n width: 100%;\n}\n \ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: #f2f2f2; \n\n color: black; \n\n font-weight: bold; \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n height: 36px; \n\n padding: 0 8px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n display: flex; \n\n justify-content: space-between; \n\n align-items: center; \n\n padding-right: 8px; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:first-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child span[_ngcontent-%COMP%]:last-child {\n border: none; \n\n}\n\n\n\ntd[_ngcontent-%COMP%]:first-child .icon[_ngcontent-%COMP%] {\n margin-left: 10px; \n\n cursor: pointer; \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background-color: #e7f4ff; \n\n}\n\n.sticky-header[_ngcontent-%COMP%] {\n position: sticky;\n top: 0;\n}\n\n.scrollable[_ngcontent-%COMP%] {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n width: 100%;\n}"] });
|
|
452
431
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SimpleRecordListComponent, [{
|
|
453
432
|
type: Component,
|
|
454
433
|
args: [{ selector: 'mj-simple-record-list', template: "<div mjFillContainer class=\"wrapper scrollable\">\n @if(isLoading) {\n <div>\n <kendo-loader></kendo-loader>\n </div>\n }\n @else {\n <div class=\"vertical-full-width\">\n @if(AllowNew) {\n <button kendoButton (click)=\"createNewRecord()\"><span class=\"fa-solid fa-plus\"></span> New</button>\n }\n <table class=\"grid\">\n <thead class=\"sticky-header\">\n <tr>\n <th *ngFor=\"let c of Columns\">\n {{ c }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let r of records\" (click)=\"selectRecord(undefined, r)\">\n <td *ngFor=\"let c of Columns; let i = index\">\n <span>{{ r.Get(c) }}</span>\n @if(i === 0 && (AllowDelete || AllowEdit)) {\n <span>\n @if (AllowEdit) {\n <span class=\"fa-solid fa-pen-to-square icon\" (click)=\"editRecord($event, r)\" title=\"Edit\"></span>\n }\n @if (AllowCustomAction) {\n <span \n class=\"fa-solid {{getCustomActionIcon(r)}} icon\" \n (click)=\"performCustomAction($event, r)\" \n title=\"{{getCustomActionTooltip(r)}}\"\n ></span>\n }\n @if (AllowDelete) {\n <span class=\"fa-solid fa-trash-can icon\" (click)=\"deleteRecord($event, r)\" title=\"Delete\"></span>\n }\n </span> \n }\n </td>\n </tr>\n </tbody>\n </table> \n </div> \n }\n</div>\n \n@if(AllowNew || AllowEdit) {\n<mj-entity-form-dialog #entityForm \n [Record]=\"editOrNewRecord\" \n [SectionName]=\"EditSectionName\"\n Mode=\"section\" \n [Visible]=\"showEditOrNewRecordForm\" \n [AutoRevertOnCancel]=\"true\"\n [HandleSave]=\"true\"\n [Width]=\"550\"\n [Height]=\"450\"\n (DialogClosed)=\"onEditOrNewRecordFormClosed($event)\">\n</mj-entity-form-dialog>\n}\n\n@if(deleteRecordDialogVisible && AllowDelete) {\n<kendo-dialog\n [title]=\"'Delete ' + EntityName + '?'\" \n [width]=\"450\"\n [height]=\"200\"\n (close)=\"closeDeleteDialog('No')\" >\n <div>\n Are you sure you want to delete '{{getRecordName(deleteRecordItem!)}}'?\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeDeleteDialog('Yes')\" themeColor=\"primary\">Yes</button>\n <button kendoButton (click)=\"closeDeleteDialog('No')\">No</button>\n </kendo-dialog-actions>\n</kendo-dialog>\n}\n\n@if(customActionDialogVisible && AllowCustomAction) {\n<kendo-dialog\n [title]=\"CustomActionDialogTitle\" \n [width]=\"450\"\n [height]=\"200\"\n (close)=\"closeCustomActionDialog('No')\" >\n <div>\n {{ CustomActionDialogMessage.replace('{{recordName}}', getRecordName(customActionItem!)) }}\n @if(CustomActionDialogInfo) {\n <p>{{ CustomActionDialogInfo }}</p>\n }\n </div>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeCustomActionDialog('Yes')\" themeColor=\"primary\">Yes</button>\n <button kendoButton (click)=\"closeCustomActionDialog('No')\">No</button>\n </kendo-dialog-actions>\n</kendo-dialog>\n}\n", styles: ["button {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n\n.wrapper {\n padding-right: 10px;\n}\n\n/* Style for the whole table */\ntable {\n margin-left: 5px;\n margin-top: 10px;\n margin-right: 5px;\n border-collapse: collapse; /* Ensures border collapse for a cleaner look */\n width: 100%;\n}\n \ntable th {\n background-color: #f2f2f2; /* Light gray background for headers */\n color: black; /* Black text color for headers */\n font-weight: bold; /* Bold font weight for headers */\n text-align: left;\n}\n\n/* Style for all table cells */\ntable th, table td {\n height: 36px; /* Fixed height for all rows */\n padding: 0 8px; /* Add some padding inside cells */\n}\n\n/* Style for the first column cells */\ntable td:first-child {\n display: flex; /* Make the cell a flex container */\n justify-content: space-between; /* Space out the text and icons */\n align-items: center; /* Center items vertically */\n padding-right: 8px; /* Ensure there is some padding on the right */\n}\n\n/* Style for the text span within the first column */\ntd:first-child span:first-child {\n border: none; /* Ensures no border is applied to the span */\n}\n\n/* Style for the icons container span within the first column */\ntd:first-child span:last-child {\n border: none; /* Ensures no border is applied to the span */\n}\n\n/* Style for the icons within the first column */\ntd:first-child .icon {\n margin-left: 10px; /* Space between icons if needed */\n cursor: pointer; /* Change cursor to pointer on hover */\n}\n\ntable tr {\n cursor: pointer;\n}\n\ntable tr:hover {\n background-color: #e7f4ff; /* Light blue for even rows */\n}\n\n.sticky-header {\n position: sticky;\n top: 0;\n}\n\n.scrollable {\n display: flex;\n overflow-y: scroll;\n max-height: 95%;\n}\n\n.vertical-full-width {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n "] }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-record-list.component.js","sourceRoot":"","sources":["../../../src/lib/simple-record-list/simple-record-list.component.ts","../../../src/lib/simple-record-list/simple-record-list.component.html"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"simple-record-list.component.js","sourceRoot":"","sources":["../../../src/lib/simple-record-list/simple-record-list.component.ts","../../../src/lib/simple-record-list/simple-record-list.component.html"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-simple-record-list",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.49.0",
|
|
4
4
|
"description": "MemberJunction: Very simple and reusable Angular component for displaying, editing, creating and deleting records in any entity",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"@angular/router": "18.0.2"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@memberjunction/core-entities": "2.
|
|
29
|
-
"@memberjunction/global": "2.
|
|
30
|
-
"@memberjunction/core": "2.
|
|
31
|
-
"@memberjunction/ng-container-directives": "2.
|
|
32
|
-
"@memberjunction/ng-notifications": "2.
|
|
33
|
-
"@memberjunction/ng-entity-form-dialog": "2.
|
|
28
|
+
"@memberjunction/core-entities": "2.49.0",
|
|
29
|
+
"@memberjunction/global": "2.49.0",
|
|
30
|
+
"@memberjunction/core": "2.49.0",
|
|
31
|
+
"@memberjunction/ng-container-directives": "2.49.0",
|
|
32
|
+
"@memberjunction/ng-notifications": "2.49.0",
|
|
33
|
+
"@memberjunction/ng-entity-form-dialog": "2.49.0",
|
|
34
34
|
"@progress/kendo-angular-buttons": "16.2.0",
|
|
35
35
|
"@progress/kendo-angular-dialog": "16.2.0",
|
|
36
36
|
"@progress/kendo-angular-layout": "16.2.0",
|