@memberjunction/ng-join-grid 2.48.0 → 2.50.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.
|
@@ -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 } from '@angular/core';
|
|
11
2
|
import { EntityFieldTSType, LogError, Metadata, RunView } from '@memberjunction/core';
|
|
12
3
|
import { MJEventType, MJGlobal } from '@memberjunction/global';
|
|
@@ -243,14 +234,27 @@ function JoinGridComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
243
234
|
i0.ɵɵrepeater(ctx_r1._GridData);
|
|
244
235
|
} }
|
|
245
236
|
export class JoinGridCell {
|
|
237
|
+
index;
|
|
238
|
+
RowForeignKeyValue;
|
|
239
|
+
ColumnForeignKeyValue;
|
|
240
|
+
/**
|
|
241
|
+
* Used when the ColumnsMode is set to Entity. This is the BaseEntity object that represents the data in the JoinEntity that links the Row and Column entities together.
|
|
242
|
+
*/
|
|
243
|
+
data;
|
|
244
|
+
/**
|
|
245
|
+
* Used when the ColumnsMode is set to Fields. This is an array of values from the JoinEntity that are displayed as columns in the grid.
|
|
246
|
+
*/
|
|
247
|
+
value;
|
|
246
248
|
}
|
|
247
249
|
export class JoinGridRow {
|
|
250
|
+
FirstColValue;
|
|
251
|
+
JoinExists = false;
|
|
252
|
+
RowForeignKeyValue;
|
|
253
|
+
ColumnData = [];
|
|
248
254
|
GetColumnValue(colIndex) {
|
|
249
255
|
return this.ColumnData && this.ColumnData.length > colIndex ? this.ColumnData[colIndex].value : undefined;
|
|
250
256
|
}
|
|
251
257
|
constructor(data) {
|
|
252
|
-
this.JoinExists = false;
|
|
253
|
-
this.ColumnData = [];
|
|
254
258
|
this.FirstColValue = data.FirstColValue;
|
|
255
259
|
this.JoinExists = data.JoinExists;
|
|
256
260
|
this.RowForeignKeyValue = data.RowForeignKeyValue;
|
|
@@ -258,166 +262,245 @@ export class JoinGridRow {
|
|
|
258
262
|
}
|
|
259
263
|
}
|
|
260
264
|
export class JoinGridComponent {
|
|
265
|
+
cdr;
|
|
266
|
+
elementRef;
|
|
267
|
+
/**
|
|
268
|
+
* Required: the name of the entity that will be used for displaying data for rows. This means that each row in the RowsEntity will be shown as a row in the grid
|
|
269
|
+
* where the RowsEntityDisplayField will be used in the first column of the grid.
|
|
270
|
+
*/
|
|
271
|
+
RowsEntityName;
|
|
272
|
+
/**
|
|
273
|
+
* Optional: if provided, this value will be shown in the top-left corner of the grid instead of the RowsEntityName
|
|
274
|
+
*/
|
|
275
|
+
RowsEntityDisplayName;
|
|
261
276
|
get RowsEntityDisplayNameOrName() {
|
|
262
277
|
return this.RowsEntityDisplayName ? this.RowsEntityDisplayName : this.RowsEntityName;
|
|
263
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Required: the field name in the RowsEntityName that will be shown in the first column in the grid
|
|
281
|
+
*/
|
|
282
|
+
RowsEntityDisplayField;
|
|
283
|
+
/**
|
|
284
|
+
* Determines how the row data will be fetched.
|
|
285
|
+
* * When set to FullEntity, all rows in the specified RowEntityName will be used.
|
|
286
|
+
* * When set to ViewName, the RowsEntityViewName will be used to fetch the rows from a defined User View
|
|
287
|
+
* * When set to Array, the RowsEntityData array will be used to fetch the rows
|
|
288
|
+
*/
|
|
289
|
+
RowsEntityDataSource = 'FullEntity';
|
|
290
|
+
/**
|
|
291
|
+
* For RowsEntityDataSource = FullEntity or ViewName, this is the extra filter to apply to the rows entity when fetching data. This is optional.
|
|
292
|
+
*/
|
|
293
|
+
RowsExtraFilter;
|
|
294
|
+
/**
|
|
295
|
+
* For RowsEntityDataSource = FullEntity or ViewName, this is the order by clause to apply to the rows entity when fetching data. This is optional.
|
|
296
|
+
*/
|
|
297
|
+
RowsOrderBy;
|
|
298
|
+
/**
|
|
299
|
+
* Used when RowsEntityDataSource = ViewName, this will be the name of the User View for the specified RowsEntity to run to get data
|
|
300
|
+
*/
|
|
301
|
+
RowsEntityViewName;
|
|
302
|
+
/**
|
|
303
|
+
* Required: provide an array of BaseEntity objects that will be used to display the rows in the grid.
|
|
304
|
+
*/
|
|
305
|
+
RowsEntityArray;
|
|
306
|
+
/**
|
|
307
|
+
* When set to Entity, the ColumnsEntity and related settings will be used to build the columns in the grid. When set to Fields, fields from the JoinEntity will be used to build the columns in the grid.
|
|
308
|
+
*/
|
|
309
|
+
ColumnsMode = 'Entity';
|
|
310
|
+
/**
|
|
311
|
+
* Required when ColumnsMode is set to Entity: the name of the entity that will be used for displaying data for columns. This means that each row in the ColumnsEntity will be shown as a column in the grid
|
|
312
|
+
*/
|
|
313
|
+
ColumnsEntityName;
|
|
314
|
+
/**
|
|
315
|
+
* Required when ColumnsMode is set to Entity: the field name in the ColumnsEntityName that will be shown as columns in the grid
|
|
316
|
+
*/
|
|
317
|
+
ColumnsEntityDisplayField;
|
|
318
|
+
/**
|
|
319
|
+
* Determines how the column data will be fetched.
|
|
320
|
+
* * When set to FullEntity, all columns in the specified ColumnsEntityName will be used.
|
|
321
|
+
* * When set to ViewName, the ColumnsEntityViewName will be used to fetch the columns from a defined User View
|
|
322
|
+
* * When set to Array, the ColumnsEntityArray array will be used to fetch the columns
|
|
323
|
+
*/
|
|
324
|
+
ColumnsEntityDataSource = 'FullEntity';
|
|
325
|
+
/**
|
|
326
|
+
* For ColumnsEntityDataSource = FullEntity or ViewName, this is the extra filter to apply to the columns entity when fetching data. This is optional.
|
|
327
|
+
*/
|
|
328
|
+
ColumnsExtraFilter;
|
|
329
|
+
/**
|
|
330
|
+
* For ColumnsEntityDataSource = FullEntity or ViewName, this is the order by clause to apply to the columns entity when fetching data. This is optional.
|
|
331
|
+
*/
|
|
332
|
+
ColumnsOrderBy;
|
|
333
|
+
/**
|
|
334
|
+
* Used when ColumnsEntityDataSource = ViewName, this will be the name of the User View for the specified ColumnsEntity to run to get data
|
|
335
|
+
*/
|
|
336
|
+
ColumnsEntityViewName;
|
|
337
|
+
/**
|
|
338
|
+
* Required when ColumnsMode is set to Entity: provide an array of BaseEntity objects that will be used to display the columns in the grid.
|
|
339
|
+
*/
|
|
340
|
+
ColumnsEntityArray;
|
|
341
|
+
/**
|
|
342
|
+
* The name of the entity that will be used for joining the RowsEntity and ColumnsEntity. Or, in the case of ColumnsMode = Fields, there is no true "joining" happening but we are joining the data from the RowsEntity and JoinEntity together.
|
|
343
|
+
*/
|
|
344
|
+
JoinEntityName;
|
|
345
|
+
/**
|
|
346
|
+
* The name of the foreign key field in the JoinEntity that will be used to link to the Primary Key field in the RowsEntity
|
|
347
|
+
*/
|
|
348
|
+
JoinEntityRowForeignKey;
|
|
349
|
+
/**
|
|
350
|
+
* The name of the foreign key field in the JoinEntity that will be used to link to the Primary Key field in the ColumnsEntity
|
|
351
|
+
*/
|
|
352
|
+
JoinEntityColumnForeignKey;
|
|
353
|
+
/**
|
|
354
|
+
* The names of the columns from the JoinEntity to display as columns in the grid. This is only used when ColumnsMode is set to Fields.
|
|
355
|
+
*/
|
|
356
|
+
JoinEntityDisplayColumns;
|
|
357
|
+
/**
|
|
358
|
+
* When specified, this filter is used to further constrain the data in the JoinEntity. This is optional but is generally
|
|
359
|
+
* most useful when ColumnsMode is set to Fields and you want to filter the data in the JoinEntity based on some criteria.
|
|
360
|
+
*/
|
|
361
|
+
JoinEntityExtraFilter;
|
|
362
|
+
/**
|
|
363
|
+
* ONLY USED WHEN ColumnsMode=Entity
|
|
364
|
+
* When this property is set to JoinRecordExists the grid will operate as follows:
|
|
365
|
+
* * When a user checks the checkbox in the grid, a record will be created in the JoinEntity with the Row and Column foreign keys.
|
|
366
|
+
* * When a user unchecks the checkbox in the grid, the record in the JoinEntity will be deleted.
|
|
367
|
+
* In comparison, when the CheckBoxValueMode is set to ColumnValue, the grid will operate as follows:
|
|
368
|
+
* * When a user checks the checkbox in the grid, a value in the JoinEntity will be set to true in the CheckBoxValueField field.
|
|
369
|
+
* * When a user unchecks the checkbox in the grid, the value in the JoinEntity will be set to false in the CheckBoxValueField field.
|
|
370
|
+
*/
|
|
371
|
+
CheckBoxValueMode = 'RecordExists';
|
|
372
|
+
/**
|
|
373
|
+
* Required when CheckBoxValueMode is set to ColumnValue: the name of the field in the JoinEntity that will be used to store the value of the checkbox.
|
|
374
|
+
*/
|
|
375
|
+
CheckBoxValueField;
|
|
376
|
+
/**
|
|
377
|
+
* When the CheckBoxValueMode is set to RecordExists this means the grid will be adding and removing records from the JoinEntity. In some cases, entities require additional values
|
|
378
|
+
* beyond the foreign keys that are automatically set, in those cases, use this property to provide additional default values for the new records that are created.
|
|
379
|
+
*/
|
|
380
|
+
NewRecordDefaultValues;
|
|
381
|
+
/**
|
|
382
|
+
* When set to true, the Save button is shown
|
|
383
|
+
*/
|
|
384
|
+
ShowSaveButton = true;
|
|
385
|
+
/**
|
|
386
|
+
* When set to true, the Cancel button is shown
|
|
387
|
+
*/
|
|
388
|
+
ShowCancelButton = true;
|
|
389
|
+
/**
|
|
390
|
+
* Change the value of this property to true or false when you want to enter or exit edit mode. Only use this when the grid
|
|
391
|
+
* is embedded in another form and you are not showing the built-in save/cancel buttons
|
|
392
|
+
*/
|
|
393
|
+
EditMode = 'None';
|
|
264
394
|
constructor(cdr, elementRef) {
|
|
265
395
|
this.cdr = cdr;
|
|
266
396
|
this.elementRef = elementRef;
|
|
267
|
-
/**
|
|
268
|
-
* Determines how the row data will be fetched.
|
|
269
|
-
* * When set to FullEntity, all rows in the specified RowEntityName will be used.
|
|
270
|
-
* * When set to ViewName, the RowsEntityViewName will be used to fetch the rows from a defined User View
|
|
271
|
-
* * When set to Array, the RowsEntityData array will be used to fetch the rows
|
|
272
|
-
*/
|
|
273
|
-
this.RowsEntityDataSource = 'FullEntity';
|
|
274
|
-
/**
|
|
275
|
-
* When set to Entity, the ColumnsEntity and related settings will be used to build the columns in the grid. When set to Fields, fields from the JoinEntity will be used to build the columns in the grid.
|
|
276
|
-
*/
|
|
277
|
-
this.ColumnsMode = 'Entity';
|
|
278
|
-
/**
|
|
279
|
-
* Determines how the column data will be fetched.
|
|
280
|
-
* * When set to FullEntity, all columns in the specified ColumnsEntityName will be used.
|
|
281
|
-
* * When set to ViewName, the ColumnsEntityViewName will be used to fetch the columns from a defined User View
|
|
282
|
-
* * When set to Array, the ColumnsEntityArray array will be used to fetch the columns
|
|
283
|
-
*/
|
|
284
|
-
this.ColumnsEntityDataSource = 'FullEntity';
|
|
285
|
-
/**
|
|
286
|
-
* ONLY USED WHEN ColumnsMode=Entity
|
|
287
|
-
* When this property is set to JoinRecordExists the grid will operate as follows:
|
|
288
|
-
* * When a user checks the checkbox in the grid, a record will be created in the JoinEntity with the Row and Column foreign keys.
|
|
289
|
-
* * When a user unchecks the checkbox in the grid, the record in the JoinEntity will be deleted.
|
|
290
|
-
* In comparison, when the CheckBoxValueMode is set to ColumnValue, the grid will operate as follows:
|
|
291
|
-
* * When a user checks the checkbox in the grid, a value in the JoinEntity will be set to true in the CheckBoxValueField field.
|
|
292
|
-
* * When a user unchecks the checkbox in the grid, the value in the JoinEntity will be set to false in the CheckBoxValueField field.
|
|
293
|
-
*/
|
|
294
|
-
this.CheckBoxValueMode = 'RecordExists';
|
|
295
|
-
/**
|
|
296
|
-
* When set to true, the Save button is shown
|
|
297
|
-
*/
|
|
298
|
-
this.ShowSaveButton = true;
|
|
299
|
-
/**
|
|
300
|
-
* When set to true, the Cancel button is shown
|
|
301
|
-
*/
|
|
302
|
-
this.ShowCancelButton = true;
|
|
303
|
-
/**
|
|
304
|
-
* Change the value of this property to true or false when you want to enter or exit edit mode. Only use this when the grid
|
|
305
|
-
* is embedded in another form and you are not showing the built-in save/cancel buttons
|
|
306
|
-
*/
|
|
307
|
-
this.EditMode = 'None';
|
|
308
|
-
/*The below members are public because the Angular template needs access to them, but by naming convention we prefix with an _ so that it is clear they are not to be used outside of the component */
|
|
309
|
-
this._GridData = [];
|
|
310
|
-
this._IsLoading = false;
|
|
311
|
-
/* protected internal members */
|
|
312
|
-
this._rowsEntityInfo = null;
|
|
313
|
-
this._columnsEntityInfo = null;
|
|
314
|
-
this._columnsEntityData = undefined;
|
|
315
|
-
this._rowsEntityData = undefined;
|
|
316
|
-
this._joinEntityData = undefined;
|
|
317
|
-
this._pendingDeletes = [];
|
|
318
|
-
this._pendingInserts = [];
|
|
319
397
|
}
|
|
398
|
+
/*The below members are public because the Angular template needs access to them, but by naming convention we prefix with an _ so that it is clear they are not to be used outside of the component */
|
|
399
|
+
_GridData = [];
|
|
400
|
+
_IsLoading = false;
|
|
401
|
+
/* protected internal members */
|
|
402
|
+
_rowsEntityInfo = null;
|
|
403
|
+
_columnsEntityInfo = null;
|
|
404
|
+
_columnsEntityData = undefined;
|
|
405
|
+
_rowsEntityData = undefined;
|
|
406
|
+
_joinEntityData = undefined;
|
|
320
407
|
/**
|
|
321
408
|
* Saves all of the changes made in the grid. This includes adding new records, updating existing records, and deleting records.
|
|
322
409
|
*/
|
|
323
|
-
Save() {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
if (
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
return false;
|
|
348
|
-
}
|
|
349
|
-
else {
|
|
350
|
-
yield this.Refresh(); // refresh afterwards
|
|
351
|
-
return true;
|
|
352
|
-
}
|
|
410
|
+
async Save() {
|
|
411
|
+
// for each pending delete, we need to delete the record
|
|
412
|
+
// for each pending insert, we need to save the record
|
|
413
|
+
// do it all in one transaction
|
|
414
|
+
const md = new Metadata();
|
|
415
|
+
const tg = await md.CreateTransactionGroup();
|
|
416
|
+
if (this.ColumnsMode === 'Entity') {
|
|
417
|
+
let validated = true;
|
|
418
|
+
const valErrors = [];
|
|
419
|
+
for (const obj of this._pendingDeletes) {
|
|
420
|
+
obj.TransactionGroup = tg;
|
|
421
|
+
await obj.Delete();
|
|
422
|
+
}
|
|
423
|
+
for (const obj of this._pendingInserts) {
|
|
424
|
+
obj.TransactionGroup = tg;
|
|
425
|
+
const valResult = obj.Validate();
|
|
426
|
+
validated = validated && valResult.Success;
|
|
427
|
+
valErrors.push(valResult.Errors);
|
|
428
|
+
await obj.Save();
|
|
429
|
+
}
|
|
430
|
+
if (validated) {
|
|
431
|
+
if (!await tg.Submit()) {
|
|
432
|
+
alert('Error saving changes');
|
|
433
|
+
return false;
|
|
353
434
|
}
|
|
354
435
|
else {
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
return false;
|
|
436
|
+
await this.Refresh(); // refresh afterwards
|
|
437
|
+
return true;
|
|
358
438
|
}
|
|
359
439
|
}
|
|
360
440
|
else {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
441
|
+
alert('Error validating changes, details in console');
|
|
442
|
+
console.log(valErrors);
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
// in fields mode we use the _joinEntityData array to save the changes
|
|
448
|
+
let validated = true;
|
|
449
|
+
const valErrors = [];
|
|
450
|
+
if (this._joinEntityData) {
|
|
451
|
+
for (const obj of this._joinEntityData) {
|
|
452
|
+
if (obj.Dirty) {
|
|
453
|
+
obj.TransactionGroup = tg;
|
|
454
|
+
const valResult = obj.Validate();
|
|
455
|
+
validated = validated && valResult.Success;
|
|
456
|
+
valErrors.push(valResult.Errors);
|
|
457
|
+
await obj.Save();
|
|
373
458
|
}
|
|
374
459
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
else {
|
|
381
|
-
yield this.Refresh(); // refresh afterwards
|
|
382
|
-
return true;
|
|
383
|
-
}
|
|
460
|
+
}
|
|
461
|
+
if (validated) {
|
|
462
|
+
if (!await tg.Submit()) {
|
|
463
|
+
alert('Error saving changes');
|
|
464
|
+
return false;
|
|
384
465
|
}
|
|
385
466
|
else {
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
return false;
|
|
467
|
+
await this.Refresh(); // refresh afterwards
|
|
468
|
+
return true;
|
|
389
469
|
}
|
|
390
470
|
}
|
|
391
|
-
|
|
471
|
+
else {
|
|
472
|
+
alert('Error validating changes, details in console');
|
|
473
|
+
console.log(valErrors);
|
|
474
|
+
return false;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
392
477
|
}
|
|
393
478
|
/**
|
|
394
479
|
* Cancels any changes and reverts to the prior state of the grid that reflects the last saved state.
|
|
395
480
|
*/
|
|
396
|
-
CancelEdit() {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
this._pendingInserts.splice(this._pendingInserts.indexOf(match), 1);
|
|
410
|
-
}
|
|
481
|
+
async CancelEdit() {
|
|
482
|
+
// go through all of the pending deletes and remove them from the array
|
|
483
|
+
// and go through all of the pending inserts and remove them from the array
|
|
484
|
+
// before removing stuff from arrays we need to go back through all of hte grid cells and restore to original data
|
|
485
|
+
this._GridData.forEach(row => {
|
|
486
|
+
row.ColumnData.forEach(cell => {
|
|
487
|
+
// for each cell, if we have a data object, look for a match in the pending inserts array, that means it is a NEW record
|
|
488
|
+
if (cell.data) {
|
|
489
|
+
const match = this._pendingInserts.find(obj => obj.Get(this.JoinEntityColumnForeignKey) === cell.ColumnForeignKeyValue && obj.Get(this.JoinEntityRowForeignKey) === row.RowForeignKeyValue);
|
|
490
|
+
if (match) {
|
|
491
|
+
// means that the current cell is a new record, so we need to remove it
|
|
492
|
+
cell.data = undefined;
|
|
493
|
+
this._pendingInserts.splice(this._pendingInserts.indexOf(match), 1);
|
|
411
494
|
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
// we need to check if a match exists in the pending deletes array, if so, we need to restore the data
|
|
498
|
+
const match = this._pendingDeletes.find(obj => obj.Get(this.JoinEntityColumnForeignKey) === cell.ColumnForeignKeyValue && obj.Get(this.JoinEntityRowForeignKey) === row.RowForeignKeyValue);
|
|
499
|
+
if (match) {
|
|
500
|
+
cell.data = match;
|
|
501
|
+
this._pendingDeletes.splice(this._pendingDeletes.indexOf(match), 1);
|
|
419
502
|
}
|
|
420
|
-
}
|
|
503
|
+
}
|
|
421
504
|
});
|
|
422
505
|
});
|
|
423
506
|
}
|
|
@@ -445,279 +528,256 @@ export class JoinGridComponent {
|
|
|
445
528
|
/**
|
|
446
529
|
* This method is called automatically when the component is first loaded. Call the method anytime if you want to refresh the grid.
|
|
447
530
|
*/
|
|
448
|
-
Refresh() {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
ResultType: 'entity_object'
|
|
480
|
-
});
|
|
481
|
-
if (result && result.Success) {
|
|
482
|
-
// we have the data, now we need to build the grid
|
|
483
|
-
this._joinEntityData = result.Results;
|
|
484
|
-
this.PopulateGridData();
|
|
485
|
-
}
|
|
486
|
-
this._IsLoading = false; // turn off the loading spinner
|
|
487
|
-
this.cdr.detectChanges(); // let Angular know we have changes
|
|
531
|
+
async Refresh() {
|
|
532
|
+
this._IsLoading = true; // turn on the loading spinner
|
|
533
|
+
this.cdr.detectChanges(); // let angular know we have changes
|
|
534
|
+
this._pendingDeletes = [];
|
|
535
|
+
this._pendingInserts = [];
|
|
536
|
+
this._joinEntityData = undefined;
|
|
537
|
+
// we are provided an array of Column and Row objects. We need to get the rows from the JoinEntity that link them up.
|
|
538
|
+
const md = new Metadata();
|
|
539
|
+
if (this.ColumnsMode === 'Entity') {
|
|
540
|
+
this._columnsEntityInfo = md.EntityByName(this.ColumnsEntityName);
|
|
541
|
+
if (!this._columnsEntityInfo)
|
|
542
|
+
throw new Error('Invalid entity name provided for columns entity.');
|
|
543
|
+
}
|
|
544
|
+
this._rowsEntityInfo = md.EntityByName(this.RowsEntityName);
|
|
545
|
+
if (!this._rowsEntityInfo)
|
|
546
|
+
throw new Error('Invalid entity name provided for rows entity.');
|
|
547
|
+
await this.PopulateRowsAndColsData();
|
|
548
|
+
const rowQuotes = this._rowsEntityInfo.FirstPrimaryKey.NeedsQuotes ? "'" : "";
|
|
549
|
+
let filter = `${this.JoinEntityRowForeignKey} IN (${this._rowsEntityData.map(obj => `${rowQuotes}${obj.Get(this._rowsEntityInfo.FirstPrimaryKey.Name)}${rowQuotes}`).join(',')})`;
|
|
550
|
+
if (this.ColumnsMode === 'Entity' && this._columnsEntityInfo) {
|
|
551
|
+
const colQuotes = this._columnsEntityInfo.FirstPrimaryKey.NeedsQuotes ? "'" : "";
|
|
552
|
+
filter += ` AND ${this.JoinEntityColumnForeignKey} IN (${this._columnsEntityData.map(obj => `${colQuotes}${obj.Get(this._columnsEntityInfo.FirstPrimaryKey.Name)}${colQuotes}`).join(',')})`;
|
|
553
|
+
}
|
|
554
|
+
if (this.JoinEntityExtraFilter) {
|
|
555
|
+
filter = `(${filter}) AND (${this.JoinEntityExtraFilter})`;
|
|
556
|
+
}
|
|
557
|
+
const rv = new RunView();
|
|
558
|
+
const result = await rv.RunView({
|
|
559
|
+
EntityName: this.JoinEntityName,
|
|
560
|
+
ExtraFilter: filter,
|
|
561
|
+
ResultType: 'entity_object'
|
|
488
562
|
});
|
|
563
|
+
if (result && result.Success) {
|
|
564
|
+
// we have the data, now we need to build the grid
|
|
565
|
+
this._joinEntityData = result.Results;
|
|
566
|
+
this.PopulateGridData();
|
|
567
|
+
}
|
|
568
|
+
this._IsLoading = false; // turn off the loading spinner
|
|
569
|
+
this.cdr.detectChanges(); // let Angular know we have changes
|
|
489
570
|
}
|
|
490
|
-
PopulateRowsAndColsData() {
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
if
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
this._columnsEntityData = this.ColumnsEntityArray;
|
|
497
|
-
}
|
|
498
|
-
else {
|
|
499
|
-
this._columnsEntityData = yield this.RunColumnsOrRowsView(this.ColumnsEntityDataSource, this.ColumnsEntityName, this.ColumnsEntityViewName, this.ColumnsExtraFilter, this.ColumnsOrderBy);
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
if (this.RowsEntityDataSource === 'Array') {
|
|
503
|
-
this._rowsEntityData = this.RowsEntityArray;
|
|
571
|
+
async PopulateRowsAndColsData() {
|
|
572
|
+
const rv = new RunView();
|
|
573
|
+
if (this.ColumnsMode === 'Entity') {
|
|
574
|
+
// only populate the columns if we are using the entity mode, otherwise the array from JoinGridDisplayColumns will be used
|
|
575
|
+
if (this.ColumnsEntityDataSource === 'Array') {
|
|
576
|
+
this._columnsEntityData = this.ColumnsEntityArray;
|
|
504
577
|
}
|
|
505
578
|
else {
|
|
506
|
-
this.
|
|
579
|
+
this._columnsEntityData = await this.RunColumnsOrRowsView(this.ColumnsEntityDataSource, this.ColumnsEntityName, this.ColumnsEntityViewName, this.ColumnsExtraFilter, this.ColumnsOrderBy);
|
|
507
580
|
}
|
|
508
|
-
}
|
|
581
|
+
}
|
|
582
|
+
if (this.RowsEntityDataSource === 'Array') {
|
|
583
|
+
this._rowsEntityData = this.RowsEntityArray;
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
this._rowsEntityData = await this.RunColumnsOrRowsView(this.RowsEntityDataSource, this.RowsEntityName, this.RowsEntityViewName, this.RowsExtraFilter, this.RowsOrderBy);
|
|
587
|
+
}
|
|
509
588
|
}
|
|
510
|
-
RunColumnsOrRowsView(dataSource, entityName, viewName, extraFilter, orderBy) {
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
589
|
+
async RunColumnsOrRowsView(dataSource, entityName, viewName, extraFilter, orderBy) {
|
|
590
|
+
const rv = new RunView();
|
|
591
|
+
const params = dataSource === 'FullEntity' ? { EntityName: entityName } : { ViewName: viewName };
|
|
592
|
+
if (extraFilter)
|
|
593
|
+
params.ExtraFilter = extraFilter;
|
|
594
|
+
if (orderBy)
|
|
595
|
+
params.OrderBy = orderBy;
|
|
596
|
+
params.ResultType = 'entity_object';
|
|
597
|
+
const data = await rv.RunView(params);
|
|
598
|
+
if (data && data.Success) {
|
|
599
|
+
return data.Results;
|
|
600
|
+
}
|
|
601
|
+
else {
|
|
602
|
+
return [];
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
async PopulateGridData() {
|
|
606
|
+
// we have the data, now we need to build the grid
|
|
607
|
+
// we need to build the grid data
|
|
608
|
+
if (!this._joinEntityData)
|
|
609
|
+
throw new Error('_joinEntityData must be populated before calling PopulateGridData()');
|
|
610
|
+
const gridData = [];
|
|
611
|
+
this._rowsEntityData.forEach((row, rowIndex) => {
|
|
612
|
+
let rowData = new JoinGridRow({
|
|
613
|
+
FirstColValue: row.Get(this.RowsEntityDisplayField),
|
|
614
|
+
JoinExists: false,
|
|
615
|
+
RowForeignKeyValue: row.Get(this._rowsEntityInfo.FirstPrimaryKey.Name),
|
|
616
|
+
ColumnData: [] // start off with an empty array
|
|
617
|
+
});
|
|
618
|
+
// for the mode where we are using columns, do the following
|
|
619
|
+
if (this.ColumnsMode === 'Entity') {
|
|
620
|
+
for (let i = 0; i < this._columnsEntityData.length; i++) {
|
|
621
|
+
const column = this._columnsEntityData[i];
|
|
622
|
+
const join = this._joinEntityData.find(j => j.Get(this.JoinEntityRowForeignKey) === row.Get(this._rowsEntityInfo.FirstPrimaryKey.Name) &&
|
|
623
|
+
j.Get(this.JoinEntityColumnForeignKey) === column.Get(this._columnsEntityInfo.FirstPrimaryKey.Name));
|
|
624
|
+
rowData.JoinExists = true;
|
|
625
|
+
rowData.ColumnData.push({
|
|
626
|
+
index: i,
|
|
627
|
+
ColumnForeignKeyValue: column.Get(this._columnsEntityInfo.FirstPrimaryKey.Name),
|
|
628
|
+
RowForeignKeyValue: rowData.RowForeignKeyValue,
|
|
629
|
+
data: join
|
|
630
|
+
});
|
|
631
|
+
}
|
|
522
632
|
}
|
|
523
633
|
else {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
// we need to build the grid data
|
|
532
|
-
if (!this._joinEntityData)
|
|
533
|
-
throw new Error('_joinEntityData must be populated before calling PopulateGridData()');
|
|
534
|
-
const gridData = [];
|
|
535
|
-
this._rowsEntityData.forEach((row, rowIndex) => {
|
|
536
|
-
let rowData = new JoinGridRow({
|
|
537
|
-
FirstColValue: row.Get(this.RowsEntityDisplayField),
|
|
538
|
-
JoinExists: false,
|
|
539
|
-
RowForeignKeyValue: row.Get(this._rowsEntityInfo.FirstPrimaryKey.Name),
|
|
540
|
-
ColumnData: [] // start off with an empty array
|
|
541
|
-
});
|
|
542
|
-
// for the mode where we are using columns, do the following
|
|
543
|
-
if (this.ColumnsMode === 'Entity') {
|
|
544
|
-
for (let i = 0; i < this._columnsEntityData.length; i++) {
|
|
545
|
-
const column = this._columnsEntityData[i];
|
|
546
|
-
const join = this._joinEntityData.find(j => j.Get(this.JoinEntityRowForeignKey) === row.Get(this._rowsEntityInfo.FirstPrimaryKey.Name) &&
|
|
547
|
-
j.Get(this.JoinEntityColumnForeignKey) === column.Get(this._columnsEntityInfo.FirstPrimaryKey.Name));
|
|
634
|
+
if (!this.JoinEntityDisplayColumns)
|
|
635
|
+
throw new Error('JoinEntityDisplayColumns is required when ColumnsMode is set to Fields');
|
|
636
|
+
// we are display the values from the JoinEntity as columns from the JoinEntityDisplayColumns array
|
|
637
|
+
this.JoinEntityDisplayColumns.forEach((col, i) => {
|
|
638
|
+
const joinData = this._joinEntityData.find(jed => jed.Get(this.JoinEntityRowForeignKey) === row.FirstPrimaryKey.Value);
|
|
639
|
+
// joinData being undefined/null is a valid condition just means no join data for the row specified
|
|
640
|
+
if (joinData) {
|
|
548
641
|
rowData.JoinExists = true;
|
|
549
642
|
rowData.ColumnData.push({
|
|
550
643
|
index: i,
|
|
551
|
-
ColumnForeignKeyValue: column.Get(this._columnsEntityInfo.FirstPrimaryKey.Name),
|
|
552
644
|
RowForeignKeyValue: rowData.RowForeignKeyValue,
|
|
553
|
-
|
|
645
|
+
value: joinData.Get(col)
|
|
554
646
|
});
|
|
555
647
|
}
|
|
556
|
-
}
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
throw new Error('JoinEntityDisplayColumns is required when ColumnsMode is set to Fields');
|
|
560
|
-
// we are display the values from the JoinEntity as columns from the JoinEntityDisplayColumns array
|
|
561
|
-
this.JoinEntityDisplayColumns.forEach((col, i) => {
|
|
562
|
-
const joinData = this._joinEntityData.find(jed => jed.Get(this.JoinEntityRowForeignKey) === row.FirstPrimaryKey.Value);
|
|
563
|
-
// joinData being undefined/null is a valid condition just means no join data for the row specified
|
|
564
|
-
if (joinData) {
|
|
565
|
-
rowData.JoinExists = true;
|
|
566
|
-
rowData.ColumnData.push({
|
|
567
|
-
index: i,
|
|
568
|
-
RowForeignKeyValue: rowData.RowForeignKeyValue,
|
|
569
|
-
value: joinData.Get(col)
|
|
570
|
-
});
|
|
571
|
-
}
|
|
572
|
-
});
|
|
573
|
-
}
|
|
574
|
-
gridData.push(rowData);
|
|
575
|
-
});
|
|
576
|
-
this._GridData = gridData;
|
|
648
|
+
});
|
|
649
|
+
}
|
|
650
|
+
gridData.push(rowData);
|
|
577
651
|
});
|
|
652
|
+
this._GridData = gridData;
|
|
578
653
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
else {
|
|
591
|
-
// we need to find the record in the pending inserts and remove it from that array
|
|
592
|
-
const index = this._pendingInserts.indexOf(cell.data);
|
|
593
|
-
if (index >= 0)
|
|
594
|
-
this._pendingInserts.splice(index, 1);
|
|
595
|
-
}
|
|
596
|
-
// Now take data off the item
|
|
597
|
-
cell.data = undefined;
|
|
654
|
+
_pendingDeletes = [];
|
|
655
|
+
_pendingInserts = [];
|
|
656
|
+
async _FlipRecord(event, row, cell, stopPropagation = false) {
|
|
657
|
+
if (stopPropagation)
|
|
658
|
+
event.stopPropagation();
|
|
659
|
+
if (!cell)
|
|
660
|
+
throw new Error('cell is a required parameter');
|
|
661
|
+
if (cell.data) {
|
|
662
|
+
if (cell.data.IsSaved) {
|
|
663
|
+
// If this is a record that is saved, put into an array of pending deletes
|
|
664
|
+
this._pendingDeletes.push(cell.data);
|
|
598
665
|
}
|
|
599
666
|
else {
|
|
600
|
-
//
|
|
601
|
-
|
|
602
|
-
if (
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
667
|
+
// we need to find the record in the pending inserts and remove it from that array
|
|
668
|
+
const index = this._pendingInserts.indexOf(cell.data);
|
|
669
|
+
if (index >= 0)
|
|
670
|
+
this._pendingInserts.splice(index, 1);
|
|
671
|
+
}
|
|
672
|
+
// Now take data off the item
|
|
673
|
+
cell.data = undefined;
|
|
674
|
+
}
|
|
675
|
+
else {
|
|
676
|
+
// We need to add the record, first see if the record is in the _pendingDeletes array
|
|
677
|
+
let record = this._pendingDeletes.find(obj => obj.Get(this.JoinEntityColumnForeignKey) === cell.ColumnForeignKeyValue && obj.Get(this.JoinEntityRowForeignKey) === row.RowForeignKeyValue);
|
|
678
|
+
if (!record) {
|
|
679
|
+
const md = new Metadata();
|
|
680
|
+
record = await md.GetEntityObject(this.JoinEntityName);
|
|
681
|
+
record.Set(this.JoinEntityRowForeignKey, row.RowForeignKeyValue);
|
|
682
|
+
record.Set(this.JoinEntityColumnForeignKey, cell.ColumnForeignKeyValue);
|
|
683
|
+
for (const key in this.NewRecordDefaultValues) {
|
|
684
|
+
record.Set(key, this.NewRecordDefaultValues[key]);
|
|
611
685
|
}
|
|
612
|
-
|
|
686
|
+
this._pendingInserts.push(record);
|
|
613
687
|
}
|
|
614
|
-
|
|
615
|
-
}
|
|
688
|
+
cell.data = record;
|
|
689
|
+
}
|
|
690
|
+
this.cdr.detectChanges();
|
|
616
691
|
}
|
|
617
692
|
_IsColumnChecked(cell) {
|
|
618
|
-
return
|
|
693
|
+
return cell?.data !== undefined;
|
|
619
694
|
}
|
|
620
|
-
UpdateCellValueDirect(row, colIndex, newValue) {
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
}
|
|
636
|
-
});
|
|
695
|
+
async UpdateCellValueDirect(row, colIndex, newValue) {
|
|
696
|
+
// find the associated baseEntity object and update the value and then refresh the grid state from it
|
|
697
|
+
if (this.ColumnsMode !== 'Fields')
|
|
698
|
+
throw new Error("This method should only be called when ColumnsMode=Entity");
|
|
699
|
+
// we are good now, so now proceed to find the related object that ties to the rowForeignKey in
|
|
700
|
+
// the join entity data array
|
|
701
|
+
const joinData = this._joinEntityData.find(jed => jed.Get(this.JoinEntityRowForeignKey) === row.RowForeignKeyValue);
|
|
702
|
+
if (!joinData)
|
|
703
|
+
LogError('Could not find join data for rowForeignKey ' + row.RowForeignKeyValue);
|
|
704
|
+
else {
|
|
705
|
+
const colName = this.JoinEntityDisplayColumns[colIndex];
|
|
706
|
+
joinData.Set(colName, newValue);
|
|
707
|
+
// also update the row's column array
|
|
708
|
+
row.ColumnData[colIndex].value = joinData.Get(colName);
|
|
709
|
+
}
|
|
637
710
|
}
|
|
638
|
-
UpdateCellValue(row, colIndex, event) {
|
|
639
|
-
|
|
640
|
-
this.UpdateCellValueDirect(row, colIndex, event.target.value);
|
|
641
|
-
});
|
|
711
|
+
async UpdateCellValue(row, colIndex, event) {
|
|
712
|
+
this.UpdateCellValueDirect(row, colIndex, event.target.value);
|
|
642
713
|
}
|
|
643
714
|
/**
|
|
644
715
|
* Only used when ColumnsMode = Fields
|
|
645
716
|
* @param row
|
|
646
717
|
*/
|
|
647
|
-
RemoveJoinEntityRecord(row) {
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
this.PopulateGridData(); // refresh the grid's grid data array that is derived from all of the source data
|
|
661
|
-
}
|
|
662
|
-
});
|
|
718
|
+
async RemoveJoinEntityRecord(row) {
|
|
719
|
+
// this method is called when the user wnats to remove a record that maps to the cell for the row specified and the colIndex
|
|
720
|
+
// only used when Mode = Fields
|
|
721
|
+
if (this.ColumnsMode !== 'Fields')
|
|
722
|
+
throw new Error('This method should only be called when ColumnsMode=Entity');
|
|
723
|
+
const joinData = this._joinEntityData.find(jed => jed.Get(this.JoinEntityRowForeignKey) === row.RowForeignKeyValue);
|
|
724
|
+
if (!joinData)
|
|
725
|
+
LogError('Could not find join data for rowForeignKey ' + row.RowForeignKeyValue);
|
|
726
|
+
else {
|
|
727
|
+
this._pendingDeletes.push(joinData);
|
|
728
|
+
this._joinEntityData?.splice(this._joinEntityData.indexOf(joinData), 1);
|
|
729
|
+
this.PopulateGridData(); // refresh the grid's grid data array that is derived from all of the source data
|
|
730
|
+
}
|
|
663
731
|
}
|
|
664
732
|
/**
|
|
665
733
|
* Only used when ColumnsMode = Fields
|
|
666
734
|
*/
|
|
667
|
-
AddJoinEntityRecord(row) {
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
735
|
+
async AddJoinEntityRecord(row) {
|
|
736
|
+
// this method is called when the user wnats to create a new record that maps to the cell for the row specified and the colIndex
|
|
737
|
+
// only used when Mode = Fields
|
|
738
|
+
if (this.ColumnsMode !== 'Fields')
|
|
739
|
+
throw new Error('This method should only be called when ColumnsMode=Entity');
|
|
740
|
+
const md = new Metadata();
|
|
741
|
+
// first check to see if this is in the _pendingDeletes array, if so, we need to remove it from there
|
|
742
|
+
let newObj = this._pendingDeletes.find(pd => pd.Get(this.JoinEntityRowForeignKey) === row.RowForeignKeyValue);
|
|
743
|
+
if (newObj) {
|
|
744
|
+
this._pendingDeletes.splice(this._pendingDeletes.indexOf(newObj), 1);
|
|
745
|
+
}
|
|
746
|
+
else {
|
|
747
|
+
newObj = await md.GetEntityObject(this.JoinEntityName);
|
|
748
|
+
newObj.Set(this.JoinEntityRowForeignKey, row.RowForeignKeyValue);
|
|
749
|
+
}
|
|
750
|
+
const keys = this.NewRecordDefaultValues ? Object.keys(this.NewRecordDefaultValues) : [];
|
|
751
|
+
for (const k of keys) {
|
|
752
|
+
newObj.Set(k, this.NewRecordDefaultValues[k]);
|
|
753
|
+
}
|
|
754
|
+
this._joinEntityData?.push(newObj); // add to join data array
|
|
755
|
+
if (this.EditMode === 'Save') {
|
|
756
|
+
if (await newObj.Save()) {
|
|
757
|
+
// all good
|
|
679
758
|
}
|
|
680
759
|
else {
|
|
681
|
-
|
|
682
|
-
newObj.Set(this.JoinEntityRowForeignKey, row.RowForeignKeyValue);
|
|
760
|
+
SharedService.Instance.CreateSimpleNotification('Error saving new ' + this.JoinEntityName + ' record', 'error', 2500);
|
|
683
761
|
}
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
newObj.Set(k, this.NewRecordDefaultValues[k]);
|
|
687
|
-
}
|
|
688
|
-
(_a = this._joinEntityData) === null || _a === void 0 ? void 0 : _a.push(newObj); // add to join data array
|
|
689
|
-
if (this.EditMode === 'Save') {
|
|
690
|
-
if (yield newObj.Save()) {
|
|
691
|
-
// all good
|
|
692
|
-
}
|
|
693
|
-
else {
|
|
694
|
-
SharedService.Instance.CreateSimpleNotification('Error saving new ' + this.JoinEntityName + ' record', 'error', 2500);
|
|
695
|
-
}
|
|
696
|
-
}
|
|
697
|
-
this.PopulateGridData(); // refresh the grid's grid data array that is derived from all of the source data
|
|
698
|
-
});
|
|
762
|
+
}
|
|
763
|
+
this.PopulateGridData(); // refresh the grid's grid data array that is derived from all of the source data
|
|
699
764
|
}
|
|
700
|
-
EditingComplete() {
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
}
|
|
707
|
-
});
|
|
765
|
+
async EditingComplete() {
|
|
766
|
+
// we've been told that editing is done. If we are in queue mode for editing, we do nothing because we've
|
|
767
|
+
// already submitted our pending changes via events (below) but if we're in save mode we save stuff now
|
|
768
|
+
if (this.EditMode === 'Save') {
|
|
769
|
+
await this.Save();
|
|
770
|
+
}
|
|
708
771
|
}
|
|
709
|
-
RevertPendingChanges() {
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
yield this.Refresh();
|
|
714
|
-
});
|
|
772
|
+
async RevertPendingChanges() {
|
|
773
|
+
// this method means we should revert back to the last saved state
|
|
774
|
+
// so just call Refresh
|
|
775
|
+
await this.Refresh();
|
|
715
776
|
}
|
|
716
777
|
ngAfterViewInit() {
|
|
717
778
|
this.Refresh();
|
|
718
779
|
// setup event listener for MJGlobal because we might have a parent component that sends us messages
|
|
719
780
|
MJGlobal.Instance.GetEventListener(false).subscribe((e) => {
|
|
720
|
-
var _a;
|
|
721
781
|
switch (e.event) {
|
|
722
782
|
case MJEventType.ComponentEvent:
|
|
723
783
|
const b = BaseFormComponentEventCodes; // having issues using the const vs the type if we refer to it below directly for comparison so assign the const to a local variable first
|
|
@@ -735,7 +795,7 @@ export class JoinGridComponent {
|
|
|
735
795
|
break;
|
|
736
796
|
case b.POPULATE_PENDING_RECORDS:
|
|
737
797
|
// provide all of our pending records back to the caller
|
|
738
|
-
|
|
798
|
+
this._joinEntityData?.forEach((r) => {
|
|
739
799
|
// for anything that's changed, we need to add it to the pending records
|
|
740
800
|
const editingEvent = event;
|
|
741
801
|
if (r.Dirty) {
|
|
@@ -774,22 +834,22 @@ export class JoinGridComponent {
|
|
|
774
834
|
get EntityFieldTSType() {
|
|
775
835
|
return EntityFieldTSType;
|
|
776
836
|
}
|
|
837
|
+
static ɵfac = function JoinGridComponent_Factory(t) { return new (t || JoinGridComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
838
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JoinGridComponent, selectors: [["mj-join-grid"]], inputs: { RowsEntityName: "RowsEntityName", RowsEntityDisplayName: "RowsEntityDisplayName", RowsEntityDisplayField: "RowsEntityDisplayField", RowsEntityDataSource: "RowsEntityDataSource", RowsExtraFilter: "RowsExtraFilter", RowsOrderBy: "RowsOrderBy", RowsEntityViewName: "RowsEntityViewName", RowsEntityArray: "RowsEntityArray", ColumnsMode: "ColumnsMode", ColumnsEntityName: "ColumnsEntityName", ColumnsEntityDisplayField: "ColumnsEntityDisplayField", ColumnsEntityDataSource: "ColumnsEntityDataSource", ColumnsExtraFilter: "ColumnsExtraFilter", ColumnsOrderBy: "ColumnsOrderBy", ColumnsEntityViewName: "ColumnsEntityViewName", ColumnsEntityArray: "ColumnsEntityArray", JoinEntityName: "JoinEntityName", JoinEntityRowForeignKey: "JoinEntityRowForeignKey", JoinEntityColumnForeignKey: "JoinEntityColumnForeignKey", JoinEntityDisplayColumns: "JoinEntityDisplayColumns", JoinEntityExtraFilter: "JoinEntityExtraFilter", CheckBoxValueMode: "CheckBoxValueMode", CheckBoxValueField: "CheckBoxValueField", NewRecordDefaultValues: "NewRecordDefaultValues", ShowSaveButton: "ShowSaveButton", ShowCancelButton: "ShowCancelButton", EditMode: "EditMode" }, decls: 5, vars: 4, consts: [["mjFillContainer", "", 1, "wrapper"], ["kendoButton", "", 3, "disabled"], [1, "grid"], ["kendoButton", "", 3, "click", "disabled"], [3, "ngClass"], [1, "checkbox-column"], [1, "first-column"], [1, "column-cell"], ["kendoButton", "", 1, "cellButton"], ["kendoButton", "", 1, "cellButton", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-minus"], ["class", "column-cell", 4, "ngFor", "ngForOf"], [3, "data", "value"], ["type", "checkbox", 3, "checked"], [3, "value"], ["type", "checkbox", 3, "change", "checked"], [3, "change", "value"], [3, "selectionChange", "data", "value"], [1, "checkbox-column", 3, "ngClass"], [1, "checkbox-column", 3, "click", "ngClass"], ["type", "checkbox", "kendoCheckBox", "", 3, "checked"], ["type", "checkbox", "kendoCheckBox", "", 3, "click", "checked"]], template: function JoinGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
839
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
840
|
+
i0.ɵɵtemplate(1, JoinGridComponent_Conditional_1_Template, 2, 0, "div")(2, JoinGridComponent_Conditional_2_Template, 2, 1, "button", 1)(3, JoinGridComponent_Conditional_3_Template, 2, 1, "button", 1)(4, JoinGridComponent_Conditional_4_Template, 10, 2, "table", 2);
|
|
841
|
+
i0.ɵɵelementEnd();
|
|
842
|
+
} if (rf & 2) {
|
|
843
|
+
i0.ɵɵadvance();
|
|
844
|
+
i0.ɵɵconditional(ctx._IsLoading ? 1 : -1);
|
|
845
|
+
i0.ɵɵadvance();
|
|
846
|
+
i0.ɵɵconditional(ctx.ShowSaveButton ? 2 : -1);
|
|
847
|
+
i0.ɵɵadvance();
|
|
848
|
+
i0.ɵɵconditional(ctx.ShowCancelButton ? 3 : -1);
|
|
849
|
+
i0.ɵɵadvance();
|
|
850
|
+
i0.ɵɵconditional(!ctx._IsLoading ? 4 : -1);
|
|
851
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i2.TextBoxComponent, i2.CheckBoxDirective, i3.ButtonComponent, i4.DropDownListComponent, i5.LoaderComponent, i6.FillContainer], styles: [".wrapper[_ngcontent-%COMP%] {\n overflow: auto;\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\n}\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: #f2f2f2; \n\n color: black; \n\n font-weight: bold; \n\n}\n\n\n\n\n\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border: 1px solid gray; \n\n height: 36px; \n\n text-align: center;\n padding: 0 8px; \n\n}\n\ntd.column-cell[_ngcontent-%COMP%] {\n margin: 0;\n \n\n \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n min-width: 150px; \n\n text-align: left;\n vertical-align: middle;\n}\n\n.checkbox-column[_ngcontent-%COMP%] {\n width: 100px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd) {\n background-color: white; \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(even) {\n background-color: #e7f4ff; \n\n}\n\ntable[_ngcontent-%COMP%] tr.dirty-row[_ngcontent-%COMP%] {\n font-style: italic;\n background-color: #ffcccc;\n}\n\ntable[_ngcontent-%COMP%] td.dirty-cell[_ngcontent-%COMP%] {\n font-style: italic;\n background-color: #ffcccc;\n}"] });
|
|
777
852
|
}
|
|
778
|
-
JoinGridComponent.ɵfac = function JoinGridComponent_Factory(t) { return new (t || JoinGridComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
779
|
-
JoinGridComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JoinGridComponent, selectors: [["mj-join-grid"]], inputs: { RowsEntityName: "RowsEntityName", RowsEntityDisplayName: "RowsEntityDisplayName", RowsEntityDisplayField: "RowsEntityDisplayField", RowsEntityDataSource: "RowsEntityDataSource", RowsExtraFilter: "RowsExtraFilter", RowsOrderBy: "RowsOrderBy", RowsEntityViewName: "RowsEntityViewName", RowsEntityArray: "RowsEntityArray", ColumnsMode: "ColumnsMode", ColumnsEntityName: "ColumnsEntityName", ColumnsEntityDisplayField: "ColumnsEntityDisplayField", ColumnsEntityDataSource: "ColumnsEntityDataSource", ColumnsExtraFilter: "ColumnsExtraFilter", ColumnsOrderBy: "ColumnsOrderBy", ColumnsEntityViewName: "ColumnsEntityViewName", ColumnsEntityArray: "ColumnsEntityArray", JoinEntityName: "JoinEntityName", JoinEntityRowForeignKey: "JoinEntityRowForeignKey", JoinEntityColumnForeignKey: "JoinEntityColumnForeignKey", JoinEntityDisplayColumns: "JoinEntityDisplayColumns", JoinEntityExtraFilter: "JoinEntityExtraFilter", CheckBoxValueMode: "CheckBoxValueMode", CheckBoxValueField: "CheckBoxValueField", NewRecordDefaultValues: "NewRecordDefaultValues", ShowSaveButton: "ShowSaveButton", ShowCancelButton: "ShowCancelButton", EditMode: "EditMode" }, decls: 5, vars: 4, consts: [["mjFillContainer", "", 1, "wrapper"], ["kendoButton", "", 3, "disabled"], [1, "grid"], ["kendoButton", "", 3, "click", "disabled"], [3, "ngClass"], [1, "checkbox-column"], [1, "first-column"], [1, "column-cell"], ["kendoButton", "", 1, "cellButton"], ["kendoButton", "", 1, "cellButton", 3, "click"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-minus"], ["class", "column-cell", 4, "ngFor", "ngForOf"], [3, "data", "value"], ["type", "checkbox", 3, "checked"], [3, "value"], ["type", "checkbox", 3, "change", "checked"], [3, "change", "value"], [3, "selectionChange", "data", "value"], [1, "checkbox-column", 3, "ngClass"], [1, "checkbox-column", 3, "click", "ngClass"], ["type", "checkbox", "kendoCheckBox", "", 3, "checked"], ["type", "checkbox", "kendoCheckBox", "", 3, "click", "checked"]], template: function JoinGridComponent_Template(rf, ctx) { if (rf & 1) {
|
|
780
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
781
|
-
i0.ɵɵtemplate(1, JoinGridComponent_Conditional_1_Template, 2, 0, "div")(2, JoinGridComponent_Conditional_2_Template, 2, 1, "button", 1)(3, JoinGridComponent_Conditional_3_Template, 2, 1, "button", 1)(4, JoinGridComponent_Conditional_4_Template, 10, 2, "table", 2);
|
|
782
|
-
i0.ɵɵelementEnd();
|
|
783
|
-
} if (rf & 2) {
|
|
784
|
-
i0.ɵɵadvance();
|
|
785
|
-
i0.ɵɵconditional(ctx._IsLoading ? 1 : -1);
|
|
786
|
-
i0.ɵɵadvance();
|
|
787
|
-
i0.ɵɵconditional(ctx.ShowSaveButton ? 2 : -1);
|
|
788
|
-
i0.ɵɵadvance();
|
|
789
|
-
i0.ɵɵconditional(ctx.ShowCancelButton ? 3 : -1);
|
|
790
|
-
i0.ɵɵadvance();
|
|
791
|
-
i0.ɵɵconditional(!ctx._IsLoading ? 4 : -1);
|
|
792
|
-
} }, dependencies: [i1.NgClass, i1.NgForOf, i2.TextBoxComponent, i2.CheckBoxDirective, i3.ButtonComponent, i4.DropDownListComponent, i5.LoaderComponent, i6.FillContainer], styles: [".wrapper[_ngcontent-%COMP%] {\n overflow: auto;\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\n}\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background-color: #f2f2f2; \n\n color: black; \n\n font-weight: bold; \n\n}\n\n\n\n\n\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%], table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n border: 1px solid gray; \n\n height: 36px; \n\n text-align: center;\n padding: 0 8px; \n\n}\n\ntd.column-cell[_ngcontent-%COMP%] {\n margin: 0;\n \n\n \n\n text-align: left;\n}\n\n\n\ntable[_ngcontent-%COMP%] th[_ngcontent-%COMP%]:first-child, table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child {\n min-width: 150px; \n\n text-align: left;\n vertical-align: middle;\n}\n\n.checkbox-column[_ngcontent-%COMP%] {\n width: 100px; \n\n}\n\n\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(odd) {\n background-color: white; \n\n}\n\ntable[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:nth-child(even) {\n background-color: #e7f4ff; \n\n}\n\ntable[_ngcontent-%COMP%] tr.dirty-row[_ngcontent-%COMP%] {\n font-style: italic;\n background-color: #ffcccc;\n}\n\ntable[_ngcontent-%COMP%] td.dirty-cell[_ngcontent-%COMP%] {\n font-style: italic;\n background-color: #ffcccc;\n}"] });
|
|
793
853
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JoinGridComponent, [{
|
|
794
854
|
type: Component,
|
|
795
855
|
args: [{ selector: 'mj-join-grid', template: "<div mjFillContainer class=\"wrapper\"> \n @if (_IsLoading) {\n <div><kendo-loader></kendo-loader></div>\n }\n @if (ShowSaveButton) {\n <button [disabled]=\"NumDirtyRecords === 0\" kendoButton (click)=\"Save()\">Save</button>\n }\n @if (ShowCancelButton) {\n <button [disabled]=\"NumDirtyRecords === 0\" kendoButton (click)=\"CancelEdit()\">Cancel</button>\n }\n @if (!_IsLoading) {\n <table class=\"grid\">\n <thead>\n <tr>\n <!-- First column is the name of the Rows Entity -->\n <th>{{RowsEntityDisplayNameOrName}}</th>\n @if (ColumnsMode === 'Entity') {\n @for (colRecord of this._columnsEntityData; track colRecord) {\n <th class=\"checkbox-column\">{{colRecord.Get(this.ColumnsEntityDisplayField)}}</th>\n }\n }\n @else {\n <!-- we need one column for each of the fields in the JoinEntityDisplayColumns array -->\n @for (colName of JoinEntityDisplayColumns; track colName) {\n <th>{{colName}}</th>\n }\n }\n </tr>\n </thead>\n <tbody>\n @for (row of _GridData; track row) {\n <tr [ngClass]=\"IsRecordReallyDirty(row) ? 'dirty-row' : ''\">\n <td class=\"first-column\">\n <span>{{row.FirstColValue}}</span>\n @if (EditMode !== 'None'){\n @if (!row.JoinExists) {\n <button kendoButton class=\"cellButton\" (click)=\"AddJoinEntityRecord(row)\"><span class=\"fa-solid fa-plus\"></span></button>\n }\n @else {\n <button kendoButton class=\"cellButton\" (click)=\"RemoveJoinEntityRecord(row)\"><span class=\"fa-solid fa-minus\"></span></button>\n } \n }\n </td>\n @if (ColumnsMode === 'Fields') {\n <td class=\"column-cell\" *ngFor=\"let colName of JoinEntityDisplayColumns; let i = index\">\n @if (EditMode !== 'None') {\n @if (row.JoinExists) {\n @if (GetJoinEntityField(colName).ValueListType === \"None\") {\n @if (GetJoinEntityField(colName).TSType === EntityFieldTSType.Boolean) {\n <input type=\"checkbox\" [checked]=\"row.GetColumnValue(i)\" (change)=\"UpdateCellValue(row, i, $event)\" />\n }\n @else {\n <kendo-textbox [value]=\"row.GetColumnValue(i)\" (change)=\"UpdateCellValue(row, i, $event)\" /> \n }\n }\n @else {\n <kendo-dropdownlist\n [data]=\"GetJoinEntityFieldValues(colName)\"\n [value]=\"row.GetColumnValue(i)\"\n (selectionChange)=\"UpdateCellValueDirect(row, i, $event)\"\n >\n </kendo-dropdownlist>\n }\n }\n }\n @else {\n {{row.GetColumnValue(i)}}\n }\n </td>\n }\n @else {\n @for (cell of row.ColumnData; track cell) {\n <!-- loop through all the columns and display a checkbox and check it if we have a match in the current row -->\n <td class=\"checkbox-column\" (click)=\"_FlipRecord($event, row, cell)\"\n [ngClass]=\"IsCellReallyDirty(cell) ? 'dirty-cell' : ''\">\n @if (EditMode !== 'None') {\n <input type=\"checkbox\" \n kendoCheckBox \n [checked]=\"_IsColumnChecked(cell)\" \n (click)=\"_FlipRecord($event, row, cell, true)\">\n }\n @else {\n {{cell.value ? '\u2713' : ''}}\n }\n </td>\n }\n }\n </tr> \n } \n </tbody>\n </table>\n }\n</div>", styles: [".wrapper {\n overflow: auto;\n}\n\nbutton {\n margin-left: 5px;\n margin-top: 5px;\n width: 125px;\n}\n \nbutton.cellButton {\n margin-left: 5px;\n margin-top: 5px;\n width: 30px;\n margin-bottom: 5px;\n float: right;\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}\n/* \n.permission-left-col {\n cursor: pointer;\n} */\n\n/* Style for all table cells */\ntable th, table td {\n border: 1px solid gray; /* Gray border for cells */\n height: 36px; /* Fixed height for all rows */\n text-align: center;\n padding: 0 8px; /* Add some padding inside cells */\n}\n\ntd.column-cell {\n margin: 0;\n /* display: flex; */\n /* align-items: center; */\n text-align: left;\n}\n\n/* Specific styles for the first column */\ntable th:first-child, table td:first-child {\n min-width: 150px; /* Set width for the first column */\n text-align: left;\n vertical-align: middle;\n}\n\n.checkbox-column {\n width: 100px; /* Set width for \"Can\" columns */\n}\n\n/* Alternating row background colors */\ntable tr:nth-child(odd) {\n background-color: white; /* Light color for odd rows */\n}\n\ntable tr:nth-child(even) {\n background-color: #e7f4ff; /* Light blue for even rows */\n}\n\ntable tr.dirty-row {\n font-style: italic;\n background-color: #ffcccc;\n}\n\ntable td.dirty-cell {\n font-style: italic;\n background-color: #ffcccc;\n}"] }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-grid.component.js","sourceRoot":"","sources":["../../../src/lib/join-grid/join-grid.component.ts","../../../src/lib/join-grid/join-grid.component.html"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgD,MAAM,eAAe,CAAC;AAE/F,OAAO,EAA+B,iBAAiB,EAAc,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAsC,MAAM,sBAAsB,CAAC;AACnK,OAAO,EAAW,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAA0B,2BAA2B,EAA4B,MAAM,+BAA+B,CAAC;;;;;;;;;ICHtH,2BAAK;IAAA,+BAA6B;IAAA,iBAAM;;;;IAGxC,iCAAwE;IAAjB,qLAAS,aAAM,KAAC;IAAC,oBAAI;IAAA,iBAAS;;;IAA7E,uDAAkC;;;;IAG1C,iCAA8E;IAAvB,qLAAS,mBAAY,KAAC;IAAC,sBAAM;IAAA,iBAAS;;;IAArF,uDAAkC;;;IAUtB,6BAA4B;IAAA,YAAiD;IAAA,iBAAK;;;;IAAtD,cAAiD;IAAjD,wEAAiD;;;IADjF,iIAEC;;;IAFD,wCAEC;;;IAKG,0BAAI;IAAA,YAAW;IAAA,iBAAK;;;IAAhB,cAAW;IAAX,gCAAW;;;IADnB,oIAEC;;;IAFD,8CAEC;;;;IAWW,iCAA0E;IAAnC,sQAAS,kCAAwB,KAAC;IAAC,2BAAsC;IAAA,iBAAS;;;;IAGzH,iCAA6E;IAAtC,sQAAS,qCAA2B,KAAC;IAAC,2BAAuC;IAAA,iBAAS;;;IADjI,AAHA,+GAAuB,kGAGhB;;;IAHP,4CAKC;;;;IASe,iCAAsG;IAA7C,qWAAU,6CAA+B,KAAC;IAAnG,iBAAsG;;;;IAA/E,sDAAiC;;;;IAGxD,yCAA4F;IAA7C,8WAAU,6CAA+B,KAAC;IAAzF,iBAA4F;;;;IAA7E,oDAA+B;;;IADlD,AAHA,8JAAwE,yJAGjE;;;;IAHP,4GAKC;;;;IAGD,8CAIC;IADG,uXAAmB,mDAAqC,KAAC;IAE7D,iBAAqB;;;;;;;IAHjB,AADA,mEAA0C,uCACX;;;IAHvC,AARA,mIAA4D,gJAQrD;;;;IARP,yFAeC;;;IAhBL,qHAAsB;;;IAAtB,4CAiBC;;;IAGD,YACJ;;;;IADI,6DACJ;;;IAvBJ,6BAAwF;IAqBpF,AApBA,uGAA2B,0FAoBpB;IAGX,iBAAK;;;IAvBD,cAsBC;IAtBD,oDAsBC;;;IAvBL,mGAAwF;;;IAA5C,yDAA6B;;;;IAgC7D,iCAG+C;IAA/C,iUAAS,6CAA+B,IAAI,CAAC,KAAC;IAH9C,iBAG+C;;;;IAD/C,2DAAkC;;;IAIlC,YACJ;;;IADI,+DACJ;;;;IAVJ,8BAC4D;IADhC,4RAAS,4CAA8B,KAAC;IAQhE,AANA,qHAA2B,2FAMpB;IAGX,iBAAK;;;;IAVD,gFAAuD;IACvD,cAQC;IARD,oDAQC;;;IAZT,wIAcC;;;IAdD,gCAcC;;;IApDD,AADJ,AADJ,6BAA4D,YAC/B,WACf;IAAA,YAAqB;IAAA,iBAAO;IAClC,oFAA0B;IAQ9B,iBAAK;IA4BL,AA3BA,6FAAgC,uEA2BzB;IAiBX,iBAAK;;;;IAxDD,+EAAuD;IAE7C,eAAqB;IAArB,0CAAqB;IAC3B,cAOC;IAPD,qDAOC;IAEL,cA2CC;IA3CD,yDA2CC;;;IAvEL,AAFJ,AADJ,AADJ,gCAAoB,YACT,SACC,SAEI;IAAA,YAA+B;IAAA,iBAAK;IAMxC,AALA,8EAAgC,iEAKzB;IAOf,AADI,iBAAK,EACD;IACR,6BAAO;IACH,mHA0DC;IAET,AADI,iBAAQ,EACJ;;;IA3EQ,eAA+B;IAA/B,wDAA+B;IACnC,cAUC;IAVD,yDAUC;IAIL,eA0DC;IA1DD,+BA0DC;;ADjFjB,MAAM,OAAO,YAAY;CAYxB;AACD,MAAM,OAAO,WAAW;IAKtB,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3G,CAAC;IACD,YAAa,IAAS;QANtB,eAAU,GAAY,KAAK,CAAC;QAE5B,eAAU,GAAmB,EAAE,CAAA;QAK7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;CACF;AAOD,MAAM,OAAO,iBAAiB;IAW5B,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACvF,CAAC;IA4ID,YAAoB,GAAsB,EAAU,UAAsB;QAAtD,QAAG,GAAH,GAAG,CAAmB;QAAU,eAAU,GAAV,UAAU,CAAY;QAtI1E;;;;;WAKG;QACM,yBAAoB,GAAwC,YAAY,CAAA;QAsBjF;;WAEG;QACM,gBAAW,GAAwB,QAAQ,CAAA;QAYpD;;;;;WAKG;QACM,4BAAuB,GAAwC,YAAY,CAAA;QAgDpF;;;;;;;;WAQG;QACM,sBAAiB,GAAmC,cAAc,CAAA;QAa3E;;WAEG;QACM,mBAAc,GAAY,IAAI,CAAA;QACvC;;WAEG;QACM,qBAAgB,GAAY,IAAI,CAAC;QAE1C;;;WAGG;QACM,aAAQ,GAA8B,MAAM,CAAC;QAOtD,sMAAsM;QAC/L,cAAS,GAAkB,EAAE,CAAC;QAC9B,eAAU,GAAY,KAAK,CAAC;QAEnC,gCAAgC;QACtB,oBAAe,GAAsB,IAAI,CAAC;QAC1C,uBAAkB,GAAsB,IAAI,CAAC;QAC7C,uBAAkB,GAA6B,SAAS,CAAC;QACzD,oBAAe,GAA6B,SAAS,CAAC;QACtD,oBAAe,GAA6B,SAAS,CAAC;QAiRtD,oBAAe,GAAiB,EAAE,CAAC;QACnC,oBAAe,GAAiB,EAAE,CAAC;IA9R7C,CAAC;IAcD;;OAEG;IACU,IAAI;;YACf,wDAAwD;YACxD,sDAAsD;YACtD,+BAA+B;YAC/B,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,sBAAsB,EAAE,CAAC;YAE7C,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,SAAS,GAAG,IAAI,CAAC;gBACrB,MAAM,SAAS,GAA4B,EAAE,CAAC;gBAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAC1B,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACrB,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;oBAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;oBAChC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;oBAC3C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACjC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBACnB,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,CAAA,MAAM,EAAE,CAAC,MAAM,EAAE,CAAA,EAAE,CAAC;wBACvB,KAAK,CAAE,sBAAsB,CAAC,CAAC;wBAC/B,OAAO,KAAK,CAAC;oBACf,CAAC;yBACI,CAAC;wBACJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,KAAK,CAAE,8CAA8C,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,sEAAsE;gBACtE,IAAI,SAAS,GAAG,IAAI,CAAC;gBACrB,MAAM,SAAS,GAA4B,EAAE,CAAC;gBAC9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACd,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;4BAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;4BAChC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;4BAC3C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;4BACjC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;wBACnB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,CAAA,MAAM,EAAE,CAAC,MAAM,EAAE,CAAA,EAAE,CAAC;wBACvB,KAAK,CAAE,sBAAsB,CAAC,CAAC;wBAC/B,OAAO,KAAK,CAAC;oBACf,CAAC;yBACI,CAAC;wBACJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB;wBAC3C,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,KAAK,CAAE,8CAA8C,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;OAEG;IACU,UAAU;;YACrB,uEAAuE;YACvE,2EAA2E;YAC3E,kHAAkH;YAClH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC5B,wHAAwH;oBACxH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBAC5L,IAAI,KAAK,EAAE,CAAC;4BACV,uEAAuE;4BACvE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;4BACtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtE,CAAC;oBACH,CAAC;yBACI,CAAC;wBACJ,sGAAsG;wBACtG,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBAC5L,IAAI,KAAK,EAAE,CAAC;4BACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;4BAClB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;wBACtE,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IACnE,CAAC;IAEM,mBAAmB,CAAC,GAAgB;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,iBAAiB,CAAC,IAAkB;QACzC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,+DAA+D;YAC/D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,CAAC;YACJ,iIAAiI;YACjI,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB;gBACvE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnH,IAAI,MAAM;gBACR,OAAO,IAAI,CAAC,CAAC,sCAAsC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACU,OAAO;;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAI,8BAA8B;YACzD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,mCAAmC;YAE7D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YAEjC,qHAAqH;YACrH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,kBAAkB;oBAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,eAAe;gBACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAEnE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAErC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,QAAQ,IAAI,CAAC,eAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;YACnL,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,QAAQ,IAAI,CAAC,0BAA0B,QAAQ,IAAI,CAAC,kBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YACjM,CAAC;YACD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,MAAM,GAAG,IAAI,MAAM,UAAU,IAAI,CAAC,qBAAqB,GAAG,CAAC;YAC7D,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B;gBACE,UAAU,EAAE,IAAI,CAAC,cAAc;gBAC/B,WAAW,EAAE,MAAM;gBACnB,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;YACL,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,kDAAkD;gBAClD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,+BAA+B;YACxD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,mCAAmC;QAC/D,CAAC;KAAA;IAEe,uBAAuB;;YACrC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,WAAW,KAAG,QAAQ,EAAE,CAAC;gBAChC,0HAA0H;gBAC1H,IAAI,IAAI,CAAC,uBAAuB,KAAK,OAAO,EAAE,CAAC;oBAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACpD,CAAC;qBACI,CAAC;oBACJ,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5L,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,OAAO,EAAE,CAAC;gBAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;YAC9C,CAAC;iBACI,CAAC;gBACJ,IAAI,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1K,CAAC;QACH,CAAC;KAAA;IAEe,oBAAoB,CAAC,UAAqC,EAAE,UAAkB,EAAE,QAAiB,EAAE,WAAoB,EAAE,OAAgB;;YACvJ,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAkB,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAChH,IAAI,WAAW;gBACb,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;YACnC,IAAI,OAAO;gBACT,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YAE3B,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,OAAO,CAAC;YACtB,CAAC;iBACI,CAAC;gBACJ,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;KAAA;IAEe,gBAAgB;;YAC9B,kDAAkD;YAClD,iCAAiC;YACjC,IAAI,CAAC,IAAI,CAAC,eAAe;gBACvB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;YAExF,MAAM,QAAQ,GAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC9C,IAAI,OAAO,GAAgB,IAAI,WAAW,CAAC;oBACzC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;oBACnD,UAAU,EAAE,KAAK;oBACjB,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;oBACvE,UAAU,EAAE,EAAE,CAAC,gCAAgC;iBAChD,CAAC,CAAC;gBAEH,4DAA4D;gBAC5D,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;oBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC,CAAC;wBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;4BAClG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5I,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,CAAC;4BACR,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC;4BAChF,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,IAAI,EAAE,IAAI;yBACX,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,wBAAwB;wBAChC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;oBAE5F,mGAAmG;oBACnG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;wBACvH,mGAAmG;wBACnG,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;4BAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;gCACtB,KAAK,EAAE,CAAC;gCACR,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;gCAC9C,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;6BACzB,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,CAAC;KAAA;IAOY,WAAW;6DAAC,KAAiB,EAAE,GAAgB,EAAE,IAAkB,EAAE,kBAA2B,KAAK;YAChH,IAAI,eAAe;gBACf,KAAK,CAAC,eAAe,EAAE,CAAC;YAE5B,IAAI,CAAC,IAAI;gBACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACtB,0EAA0E;oBAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC;gBACxC,CAAC;qBACI,CAAC;oBACJ,kFAAkF;oBAClF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,KAAK,IAAI,CAAC;wBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBAGD,6BAA6B;gBAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACJ,qFAAqF;gBACrF,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC3L,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC1B,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBACjE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACpD,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;KAAA;IAEM,gBAAgB,CAAC,IAAkB;QACxC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,CAAC;IAClC,CAAC;IAEY,qBAAqB,CAAC,GAAgB,EAAE,QAAgB,EAAE,QAAgB;;YACrF,qGAAqG;YACrG,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;gBAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;YAE9E,+FAA+F;YAC/F,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACpH,IAAI,CAAC,QAAQ;gBACX,QAAQ,CAAC,6CAA6C,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAA;iBAC7E,CAAC;gBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAyB,CAAC,QAAQ,CAAC,CAAC;gBACzD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,qCAAqC;gBACrC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;KAAA;IACY,eAAe,CAAC,GAAgB,EAAE,QAAgB,EAAE,KAAY;;YAC3E,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC;QACtF,CAAC;KAAA;IAED;;;OAGG;IACU,sBAAsB,CAAC,GAAgB;;;YAClD,4HAA4H;YAC5H,+BAA+B;YAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;gBAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;YAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAA;YACpH,IAAI,CAAC,QAAQ;gBACX,QAAQ,CAAC,6CAA6C,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAA;iBAC7E,CAAC;gBACJ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,iFAAiF;YAC5G,CAAC;QACH,CAAC;KAAA;IAED;;OAEG;IACU,mBAAmB,CAAC,GAAgB;;;YAC/C,gIAAgI;YAChI,+BAA+B;YAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;gBAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;YAE9E,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,qGAAqG;YACrG,IAAI,MAAM,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAA;YAC9G,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;iBACI,CAAC;gBACJ,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACxF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB;YAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,WAAW;gBACb,CAAC;qBACI,CAAC;oBACJ,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,GAAG,SAAS,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACtH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,iFAAiF;QAC5G,CAAC;KAAA;IAEe,eAAe;;YAC7B,yGAAyG;YACzG,uGAAuG;YACvG,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;KAAA;IAEe,oBAAoB;;YAClC,kEAAkE;YAClE,uBAAuB;YACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;KAAA;IAED,eAAe;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,oGAAoG;QACpG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAU,EAAE,EAAE;;YACjE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,WAAW,CAAC,cAAc;oBAC7B,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,0IAA0I;oBACjL,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;wBAChC,+GAA+G;wBAC/G,MAAM,KAAK,GAA2B,CAAC,CAAC,IAA8B,CAAC;wBACvE,IAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;4BAClE,oFAAoF;4BACpF,QAAQ,KAAK,CAAC,YAAY,EAAE,CAAC;gCAC3B,KAAK,CAAC,CAAC,gBAAgB;oCACrB,IAAI,CAAC,eAAe,EAAE,CAAC;oCACvB,MAAM;gCACR,KAAK,CAAC,CAAC,sBAAsB;oCAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;oCAC5B,MAAM;gCACR,KAAK,CAAC,CAAC,wBAAwB;oCAC7B,wDAAwD;oCACxD,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,CAAC,CAAC,CAAa,EAAE,EAAE;wCAC9C,wEAAwE;wCACxE,MAAM,YAAY,GAA6B,KAAiC,CAAC;wCACjF,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;4CACZ,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;wCACtE,CAAC;oCACH,CAAC,CAAC,CAAC;oCAEH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAa,EAAE,EAAE;wCAC7C,MAAM,YAAY,GAA6B,KAAiC,CAAC;wCACjF,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;oCACxE,CAAC,CAAC,CAAC;oCACH,MAAM;4BACV,CAAC;wBACH,CAAC;oBACF,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAe;QACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,wBAAwB,CAAC,OAAe;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjF,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;;kFAroBU,iBAAiB;oEAAjB,iBAAiB;QCzC9B,8BAAqC;QAUjC,AAHA,AAHA,AAHA,uEAAkB,gEAGI,gEAGE,gEAGL;QAkFvB,iBAAM;;QA3FF,cAEC;QAFD,yCAEC;QACD,cAEC;QAFD,6CAEC;QACD,cAEC;QAFD,+CAEC;QACD,cAiFC;QAjFD,0CAiFC;;iFDlDQ,iBAAiB;cAL7B,SAAS;2BACE,cAAc;2EASf,cAAc;kBAAtB,KAAK;YAIG,qBAAqB;kBAA7B,KAAK;YASG,sBAAsB;kBAA9B,KAAK;YAOG,oBAAoB;kBAA5B,KAAK;YAKG,eAAe;kBAAvB,KAAK;YAKG,WAAW;kBAAnB,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAKG,eAAe;kBAAvB,KAAK;YAKG,WAAW;kBAAnB,KAAK;YAKG,iBAAiB;kBAAzB,KAAK;YAKG,yBAAyB;kBAAjC,KAAK;YAQG,uBAAuB;kBAA/B,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAKG,cAAc;kBAAtB,KAAK;YAKG,qBAAqB;kBAA7B,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAKG,cAAc;kBAAtB,KAAK;YAKG,uBAAuB;kBAA/B,KAAK;YAKG,0BAA0B;kBAAlC,KAAK;YAKG,wBAAwB;kBAAhC,KAAK;YAMG,qBAAqB;kBAA7B,KAAK;YAWG,iBAAiB;kBAAzB,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAMG,sBAAsB;kBAA9B,KAAK;YAKG,cAAc;kBAAtB,KAAK;YAIG,gBAAgB;kBAAxB,KAAK;YAMG,QAAQ;kBAAhB,KAAK;;kFAvJK,iBAAiB"}
|
|
1
|
+
{"version":3,"file":"join-grid.component.js","sourceRoot":"","sources":["../../../src/lib/join-grid/join-grid.component.ts","../../../src/lib/join-grid/join-grid.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgD,MAAM,eAAe,CAAC;AAE/F,OAAO,EAA+B,iBAAiB,EAAc,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAsC,MAAM,sBAAsB,CAAC;AACnK,OAAO,EAAW,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAA0B,2BAA2B,EAA4B,MAAM,+BAA+B,CAAC;;;;;;;;;ICHtH,2BAAK;IAAA,+BAA6B;IAAA,iBAAM;;;;IAGxC,iCAAwE;IAAjB,qLAAS,aAAM,KAAC;IAAC,oBAAI;IAAA,iBAAS;;;IAA7E,uDAAkC;;;;IAG1C,iCAA8E;IAAvB,qLAAS,mBAAY,KAAC;IAAC,sBAAM;IAAA,iBAAS;;;IAArF,uDAAkC;;;IAUtB,6BAA4B;IAAA,YAAiD;IAAA,iBAAK;;;;IAAtD,cAAiD;IAAjD,wEAAiD;;;IADjF,iIAEC;;;IAFD,wCAEC;;;IAKG,0BAAI;IAAA,YAAW;IAAA,iBAAK;;;IAAhB,cAAW;IAAX,gCAAW;;;IADnB,oIAEC;;;IAFD,8CAEC;;;;IAWW,iCAA0E;IAAnC,sQAAS,kCAAwB,KAAC;IAAC,2BAAsC;IAAA,iBAAS;;;;IAGzH,iCAA6E;IAAtC,sQAAS,qCAA2B,KAAC;IAAC,2BAAuC;IAAA,iBAAS;;;IADjI,AAHA,+GAAuB,kGAGhB;;;IAHP,4CAKC;;;;IASe,iCAAsG;IAA7C,qWAAU,6CAA+B,KAAC;IAAnG,iBAAsG;;;;IAA/E,sDAAiC;;;;IAGxD,yCAA4F;IAA7C,8WAAU,6CAA+B,KAAC;IAAzF,iBAA4F;;;;IAA7E,oDAA+B;;;IADlD,AAHA,8JAAwE,yJAGjE;;;;IAHP,4GAKC;;;;IAGD,8CAIC;IADG,uXAAmB,mDAAqC,KAAC;IAE7D,iBAAqB;;;;;;;IAHjB,AADA,mEAA0C,uCACX;;;IAHvC,AARA,mIAA4D,gJAQrD;;;;IARP,yFAeC;;;IAhBL,qHAAsB;;;IAAtB,4CAiBC;;;IAGD,YACJ;;;;IADI,6DACJ;;;IAvBJ,6BAAwF;IAqBpF,AApBA,uGAA2B,0FAoBpB;IAGX,iBAAK;;;IAvBD,cAsBC;IAtBD,oDAsBC;;;IAvBL,mGAAwF;;;IAA5C,yDAA6B;;;;IAgC7D,iCAG+C;IAA/C,iUAAS,6CAA+B,IAAI,CAAC,KAAC;IAH9C,iBAG+C;;;;IAD/C,2DAAkC;;;IAIlC,YACJ;;;IADI,+DACJ;;;;IAVJ,8BAC4D;IADhC,4RAAS,4CAA8B,KAAC;IAQhE,AANA,qHAA2B,2FAMpB;IAGX,iBAAK;;;;IAVD,gFAAuD;IACvD,cAQC;IARD,oDAQC;;;IAZT,wIAcC;;;IAdD,gCAcC;;;IApDD,AADJ,AADJ,6BAA4D,YAC/B,WACf;IAAA,YAAqB;IAAA,iBAAO;IAClC,oFAA0B;IAQ9B,iBAAK;IA4BL,AA3BA,6FAAgC,uEA2BzB;IAiBX,iBAAK;;;;IAxDD,+EAAuD;IAE7C,eAAqB;IAArB,0CAAqB;IAC3B,cAOC;IAPD,qDAOC;IAEL,cA2CC;IA3CD,yDA2CC;;;IAvEL,AAFJ,AADJ,AADJ,gCAAoB,YACT,SACC,SAEI;IAAA,YAA+B;IAAA,iBAAK;IAMxC,AALA,8EAAgC,iEAKzB;IAOf,AADI,iBAAK,EACD;IACR,6BAAO;IACH,mHA0DC;IAET,AADI,iBAAQ,EACJ;;;IA3EQ,eAA+B;IAA/B,wDAA+B;IACnC,cAUC;IAVD,yDAUC;IAIL,eA0DC;IA1DD,+BA0DC;;ADjFjB,MAAM,OAAO,YAAY;IACvB,KAAK,CAAU;IACf,kBAAkB,CAAM;IACxB,qBAAqB,CAAO;IAC5B;;OAEG;IACH,IAAI,CAA0B;IAC9B;;OAEG;IACH,KAAK,CAAM;CACZ;AACD,MAAM,OAAO,WAAW;IACtB,aAAa,CAAM;IACnB,UAAU,GAAY,KAAK,CAAC;IAC5B,kBAAkB,CAAM;IACxB,UAAU,GAAmB,EAAE,CAAA;IAC/B,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3G,CAAC;IACD,YAAa,IAAS;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;CACF;AAOD,MAAM,OAAO,iBAAiB;IAyJR;IAAgC;IAxJpD;;;OAGG;IACM,cAAc,CAAS;IAChC;;OAEG;IACM,qBAAqB,CAAS;IAEvC,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IACvF,CAAC;IAED;;OAEG;IACM,sBAAsB,CAAS;IACxC;;;;;OAKG;IACM,oBAAoB,GAAwC,YAAY,CAAA;IAEjF;;OAEG;IACM,eAAe,CAAS;IAEjC;;OAEG;IACM,WAAW,CAAS;IAE7B;;OAEG;IACM,kBAAkB,CAAS;IAEpC;;OAEG;IACM,eAAe,CAAgB;IAExC;;OAEG;IACM,WAAW,GAAwB,QAAQ,CAAA;IAEpD;;OAEG;IACM,iBAAiB,CAAS;IAEnC;;OAEG;IACM,yBAAyB,CAAS;IAE3C;;;;;OAKG;IACM,uBAAuB,GAAwC,YAAY,CAAA;IAEpF;;OAEG;IACM,kBAAkB,CAAS;IAEpC;;OAEG;IACM,cAAc,CAAS;IAEhC;;OAEG;IACM,qBAAqB,CAAS;IAEvC;;OAEG;IACM,kBAAkB,CAAe;IAE1C;;OAEG;IACM,cAAc,CAAS;IAEhC;;OAEG;IACM,uBAAuB,CAAS;IAEzC;;OAEG;IACM,0BAA0B,CAAS;IAE5C;;OAEG;IACM,wBAAwB,CAAW;IAE5C;;;OAGG;IACM,qBAAqB,CAAS;IAEvC;;;;;;;;OAQG;IACM,iBAAiB,GAAmC,cAAc,CAAA;IAE3E;;OAEG;IACM,kBAAkB,CAAS;IAEpC;;;OAGG;IACM,sBAAsB,CAAyB;IAExD;;OAEG;IACM,cAAc,GAAY,IAAI,CAAA;IACvC;;OAEG;IACM,gBAAgB,GAAY,IAAI,CAAC;IAE1C;;;OAGG;IACM,QAAQ,GAA8B,MAAM,CAAC;IAEtD,YAAoB,GAAsB,EAAU,UAAsB;QAAtD,QAAG,GAAH,GAAG,CAAmB;QAAU,eAAU,GAAV,UAAU,CAAY;IAE1E,CAAC;IAGD,sMAAsM;IAC/L,SAAS,GAAkB,EAAE,CAAC;IAC9B,UAAU,GAAY,KAAK,CAAC;IAEnC,gCAAgC;IACtB,eAAe,GAAsB,IAAI,CAAC;IAC1C,kBAAkB,GAAsB,IAAI,CAAC;IAC7C,kBAAkB,GAA6B,SAAS,CAAC;IACzD,eAAe,GAA6B,SAAS,CAAC;IACtD,eAAe,GAA6B,SAAS,CAAC;IAEhE;;OAEG;IACI,KAAK,CAAC,IAAI;QACf,wDAAwD;QACxD,sDAAsD;QACtD,+BAA+B;QAC/B,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,sBAAsB,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAM,SAAS,GAA4B,EAAE,CAAC;YAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC1B,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;gBAChC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;gBAC3C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnB,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;oBACvB,KAAK,CAAE,sBAAsB,CAAC,CAAC;oBAC/B,OAAO,KAAK,CAAC;gBACf,CAAC;qBACI,CAAC;oBACJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,KAAK,CAAE,8CAA8C,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aACI,CAAC;YACJ,sEAAsE;YACtE,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,MAAM,SAAS,GAA4B,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wBACd,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;wBAChC,SAAS,GAAG,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;wBAC3C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBACjC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;oBACvB,KAAK,CAAE,sBAAsB,CAAC,CAAC;oBAC/B,OAAO,KAAK,CAAC;gBACf,CAAC;qBACI,CAAC;oBACJ,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,KAAK,CAAE,8CAA8C,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACrB,uEAAuE;QACvE,2EAA2E;QAC3E,kHAAkH;QAClH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC3B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC5B,wHAAwH;gBACxH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAC5L,IAAI,KAAK,EAAE,CAAC;wBACV,uEAAuE;wBACvE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;wBACtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,sGAAsG;oBACtG,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAC5L,IAAI,KAAK,EAAE,CAAC;wBACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;wBAClB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;IACnE,CAAC;IAEM,mBAAmB,CAAC,GAAgB;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,iBAAiB,CAAC,IAAkB;QACzC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,+DAA+D;YAC/D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,CAAC;YACJ,iIAAiI;YACjI,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB;gBACvE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnH,IAAI,MAAM;gBACR,OAAO,IAAI,CAAC,CAAC,sCAAsC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAI,8BAA8B;QACzD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,mCAAmC;QAE7D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,qHAAqH;QACrH,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,eAAe;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAEnE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAErC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,QAAQ,IAAI,CAAC,eAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;QACnL,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,QAAQ,IAAI,CAAC,0BAA0B,QAAQ,IAAI,CAAC,kBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACjM,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,MAAM,GAAG,IAAI,MAAM,UAAU,IAAI,CAAC,qBAAqB,GAAG,CAAC;QAC7D,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B;YACE,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,WAAW,EAAE,MAAM;YACnB,UAAU,EAAE,eAAe;SAC5B,CAAC,CAAC;QACL,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,kDAAkD;YAClD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;YACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,+BAA+B;QACxD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,mCAAmC;IAC/D,CAAC;IAES,KAAK,CAAC,uBAAuB;QACrC,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,KAAG,QAAQ,EAAE,CAAC;YAChC,0HAA0H;YAC1H,IAAI,IAAI,CAAC,uBAAuB,KAAK,OAAO,EAAE,CAAC;gBAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACpD,CAAC;iBACI,CAAC;gBACJ,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5L,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1K,CAAC;IACH,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,UAAqC,EAAE,UAAkB,EAAE,QAAiB,EAAE,WAAoB,EAAE,OAAgB;QACvJ,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAkB,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAChH,IAAI,WAAW;YACb,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,IAAI,OAAO;YACT,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QAE3B,MAAM,CAAC,UAAU,GAAG,eAAe,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aACI,CAAC;YACJ,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAES,KAAK,CAAC,gBAAgB;QAC9B,kDAAkD;QAClD,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,eAAe;YACvB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAA;QAExF,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAC9C,IAAI,OAAO,GAAgB,IAAI,WAAW,CAAC;gBACzC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;gBACnD,UAAU,EAAE,KAAK;gBACjB,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;gBACvE,UAAU,EAAE,EAAE,CAAC,gCAAgC;aAChD,CAAC,CAAC;YAEH,4DAA4D;YAC5D,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,kBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC,CAAC;oBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAgB,CAAC,eAAe,CAAC,IAAI,CAAC;wBAClG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC5I,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;wBACtB,KAAK,EAAE,CAAC;wBACR,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC;wBAChF,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;wBAC9C,IAAI,EAAE,IAAI;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,wBAAwB;oBAChC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;gBAE5F,mGAAmG;gBACnG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;oBACvH,mGAAmG;oBACnG,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;wBAC1B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;4BACtB,KAAK,EAAE,CAAC;4BACR,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;4BAC9C,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;yBACzB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAGS,eAAe,GAAiB,EAAE,CAAC;IACnC,eAAe,GAAiB,EAAE,CAAC;IAGtC,KAAK,CAAC,WAAW,CAAC,KAAiB,EAAE,GAAgB,EAAE,IAAkB,EAAE,kBAA2B,KAAK;QAChH,IAAI,eAAe;YACf,KAAK,CAAC,eAAe,EAAE,CAAC;QAE5B,IAAI,CAAC,IAAI;YACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtB,0EAA0E;gBAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,CAAC;YACxC,CAAC;iBACI,CAAC;gBACJ,kFAAkF;gBAClF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,KAAK,IAAI,CAAC;oBACZ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;YAGD,6BAA6B;YAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,qFAAqF;YACrF,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC3L,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACjE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC3B,CAAC;IAEM,gBAAgB,CAAC,IAAkB;QACxC,OAAO,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,GAAgB,EAAE,QAAgB,EAAE,QAAgB;QACrF,qGAAqG;QACrG,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;YAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAE9E,+FAA+F;QAC/F,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACpH,IAAI,CAAC,QAAQ;YACX,QAAQ,CAAC,6CAA6C,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAA;aAC7E,CAAC;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,wBAAyB,CAAC,QAAQ,CAAC,CAAC;YACzD,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChC,qCAAqC;YACrC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACM,KAAK,CAAC,eAAe,CAAC,GAAgB,EAAE,QAAgB,EAAE,KAAY;QAC3E,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAG,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,sBAAsB,CAAC,GAAgB;QAClD,4HAA4H;QAC5H,+BAA+B;QAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;YAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACpH,IAAI,CAAC,QAAQ;YACX,QAAQ,CAAC,6CAA6C,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAA;aAC7E,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,iFAAiF;QAC5G,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAAC,GAAgB;QAC/C,gIAAgI;QAChI,+BAA+B;QAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,QAAQ;YAC/B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAE9E,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,qGAAqG;QACrG,IAAI,MAAM,GAAG,IAAI,CAAC,eAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC,kBAAkB,CAAC,CAAA;QAC9G,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;aACI,CAAC;YACJ,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACxF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB;QAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,WAAW;YACb,CAAC;iBACI,CAAC;gBACJ,aAAa,CAAC,QAAQ,CAAC,wBAAwB,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,GAAG,SAAS,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACtH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,iFAAiF;IAC5G,CAAC;IAES,KAAK,CAAC,eAAe;QAC7B,yGAAyG;QACzG,uGAAuG;QACvG,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,oBAAoB;QAClC,kEAAkE;QAClE,uBAAuB;QACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,oGAAoG;QACpG,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAU,EAAE,EAAE;YACjE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChB,KAAK,WAAW,CAAC,cAAc;oBAC7B,MAAM,CAAC,GAAG,2BAA2B,CAAC,CAAC,0IAA0I;oBACjL,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;wBAChC,+GAA+G;wBAC/G,MAAM,KAAK,GAA2B,CAAC,CAAC,IAA8B,CAAC;wBACvE,IAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;4BAClE,oFAAoF;4BACpF,QAAQ,KAAK,CAAC,YAAY,EAAE,CAAC;gCAC3B,KAAK,CAAC,CAAC,gBAAgB;oCACrB,IAAI,CAAC,eAAe,EAAE,CAAC;oCACvB,MAAM;gCACR,KAAK,CAAC,CAAC,sBAAsB;oCAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;oCAC5B,MAAM;gCACR,KAAK,CAAC,CAAC,wBAAwB;oCAC7B,wDAAwD;oCACxD,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAa,EAAE,EAAE;wCAC9C,wEAAwE;wCACxE,MAAM,YAAY,GAA6B,KAAiC,CAAC;wCACjF,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;4CACZ,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;wCACtE,CAAC;oCACH,CAAC,CAAC,CAAC;oCAEH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAa,EAAE,EAAE;wCAC7C,MAAM,YAAY,GAA6B,KAAiC,CAAC;wCACjF,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;oCACxE,CAAC,CAAC,CAAC;oCACH,MAAM;4BACV,CAAC;wBACH,CAAC;oBACF,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,OAAe;QACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,wBAAwB,CAAC,OAAe;QAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACjF,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;2EAroBU,iBAAiB;6DAAjB,iBAAiB;YCzC9B,8BAAqC;YAUjC,AAHA,AAHA,AAHA,uEAAkB,gEAGI,gEAGE,gEAGL;YAkFvB,iBAAM;;YA3FF,cAEC;YAFD,yCAEC;YACD,cAEC;YAFD,6CAEC;YACD,cAEC;YAFD,+CAEC;YACD,cAiFC;YAjFD,0CAiFC;;;iFDlDQ,iBAAiB;cAL7B,SAAS;2BACE,cAAc;2EASf,cAAc;kBAAtB,KAAK;YAIG,qBAAqB;kBAA7B,KAAK;YASG,sBAAsB;kBAA9B,KAAK;YAOG,oBAAoB;kBAA5B,KAAK;YAKG,eAAe;kBAAvB,KAAK;YAKG,WAAW;kBAAnB,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAKG,eAAe;kBAAvB,KAAK;YAKG,WAAW;kBAAnB,KAAK;YAKG,iBAAiB;kBAAzB,KAAK;YAKG,yBAAyB;kBAAjC,KAAK;YAQG,uBAAuB;kBAA/B,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAKG,cAAc;kBAAtB,KAAK;YAKG,qBAAqB;kBAA7B,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAKG,cAAc;kBAAtB,KAAK;YAKG,uBAAuB;kBAA/B,KAAK;YAKG,0BAA0B;kBAAlC,KAAK;YAKG,wBAAwB;kBAAhC,KAAK;YAMG,qBAAqB;kBAA7B,KAAK;YAWG,iBAAiB;kBAAzB,KAAK;YAKG,kBAAkB;kBAA1B,KAAK;YAMG,sBAAsB;kBAA9B,KAAK;YAKG,cAAc;kBAAtB,KAAK;YAIG,gBAAgB;kBAAxB,KAAK;YAMG,QAAQ;kBAAhB,KAAK;;kFAvJK,iBAAiB"}
|
package/dist/lib/module.js
CHANGED
|
@@ -13,19 +13,19 @@ import { GridModule } from '@progress/kendo-angular-grid';
|
|
|
13
13
|
import { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
export class JoinGridModule {
|
|
16
|
+
static ɵfac = function JoinGridModule_Factory(t) { return new (t || JoinGridModule)(); };
|
|
17
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: JoinGridModule });
|
|
18
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
19
|
+
FormsModule,
|
|
20
|
+
DialogsModule,
|
|
21
|
+
GridModule,
|
|
22
|
+
InputsModule,
|
|
23
|
+
ButtonsModule,
|
|
24
|
+
DropDownsModule,
|
|
25
|
+
DialogsModule,
|
|
26
|
+
IndicatorsModule,
|
|
27
|
+
ContainerDirectivesModule] });
|
|
16
28
|
}
|
|
17
|
-
JoinGridModule.ɵfac = function JoinGridModule_Factory(t) { return new (t || JoinGridModule)(); };
|
|
18
|
-
JoinGridModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: JoinGridModule });
|
|
19
|
-
JoinGridModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
20
|
-
FormsModule,
|
|
21
|
-
DialogsModule,
|
|
22
|
-
GridModule,
|
|
23
|
-
InputsModule,
|
|
24
|
-
ButtonsModule,
|
|
25
|
-
DropDownsModule,
|
|
26
|
-
DialogsModule,
|
|
27
|
-
IndicatorsModule,
|
|
28
|
-
ContainerDirectivesModule] });
|
|
29
29
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JoinGridModule, [{
|
|
30
30
|
type: NgModule,
|
|
31
31
|
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;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,QAAQ;AACR,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;;AAsBpF,MAAM,OAAO,cAAc
|
|
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;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,QAAQ;AACR,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;;AAsBpF,MAAM,OAAO,cAAc;wEAAd,cAAc;4DAAd,cAAc;gEAfvB,YAAY;YACZ,WAAW;YACX,aAAa;YACb,UAAU;YACV,YAAY;YACZ,aAAa;YACb,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,yBAAyB;;iFAMhB,cAAc;cApB1B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,iBAAiB;iBAClB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,aAAa;oBACb,UAAU;oBACV,YAAY;oBACZ,aAAa;oBACb,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,yBAAyB;iBAC1B;gBACD,OAAO,EAAE;oBACP,iBAAiB;iBAClB;aACF;;wFACY,cAAc,mBAlBvB,iBAAiB,aAGjB,YAAY;QACZ,WAAW;QACX,aAAa;QACb,UAAU;QACV,YAAY;QACZ,aAAa;QACb,eAAe;QACf,aAAa;QACb,gBAAgB;QAChB,yBAAyB,aAGzB,iBAAiB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-join-grid",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.50.0",
|
|
4
4
|
"description": "MemberJunction: Grid component that is able to display/edit the relationship between two entities. For example being able to edit Users + Roles in a single grid.",
|
|
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-base-types": "2.
|
|
32
|
-
"@memberjunction/ng-container-directives": "2.
|
|
33
|
-
"@memberjunction/ng-shared": "2.
|
|
28
|
+
"@memberjunction/core-entities": "2.50.0",
|
|
29
|
+
"@memberjunction/global": "2.50.0",
|
|
30
|
+
"@memberjunction/core": "2.50.0",
|
|
31
|
+
"@memberjunction/ng-base-types": "2.50.0",
|
|
32
|
+
"@memberjunction/ng-container-directives": "2.50.0",
|
|
33
|
+
"@memberjunction/ng-shared": "2.50.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",
|