@resolveio/client-lib-core 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/core.module.mjs +13 -6
- package/esm2020/lib/models/dialog.model.mjs +1 -1
- package/esm2020/lib/widgets/dialog/dialog.select-array-objs.content.mjs +200 -0
- package/esm2020/lib/widgets/dialog/dialog.service.mjs +10 -1
- package/fesm2015/resolveio-client-lib-core.mjs +284 -77
- package/fesm2015/resolveio-client-lib-core.mjs.map +1 -1
- package/fesm2020/resolveio-client-lib-core.mjs +284 -77
- package/fesm2020/resolveio-client-lib-core.mjs.map +1 -1
- package/lib/core.module.d.ts +10 -8
- package/lib/models/dialog.model.d.ts +5 -0
- package/lib/widgets/dialog/dialog.select-array-objs.content.d.ts +23 -0
- package/lib/widgets/dialog/dialog.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -3379,6 +3379,272 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
3379
3379
|
}]
|
|
3380
3380
|
}], ctorParameters: function () { return [{ type: i1$4.NgbActiveModal }, { type: i2.FormBuilder }]; } });
|
|
3381
3381
|
|
|
3382
|
+
class CollapseTableComponent {
|
|
3383
|
+
constructor(_resizeService, _account) {
|
|
3384
|
+
this._resizeService = _resizeService;
|
|
3385
|
+
this._account = _account;
|
|
3386
|
+
this.headerFixed = false;
|
|
3387
|
+
this.secondaryColor = false;
|
|
3388
|
+
this.tertiaryColor = false;
|
|
3389
|
+
this.windowSize = window.innerWidth;
|
|
3390
|
+
this.windowSizeSubscription = null;
|
|
3391
|
+
}
|
|
3392
|
+
ngOnInit() {
|
|
3393
|
+
this.windowSizeSubscription = this._resizeService.onResize$.subscribe((val) => {
|
|
3394
|
+
this.windowSize = val.innerWidth;
|
|
3395
|
+
});
|
|
3396
|
+
if (this._account.getUser() && this._account.getUser().settings) {
|
|
3397
|
+
document.documentElement.style.setProperty('--primary-table-color', this._account.getUser().settings.table_color);
|
|
3398
|
+
document.documentElement.style.setProperty('--primary-table-font-color', this._account.getUser().settings.table_font_color);
|
|
3399
|
+
document.documentElement.style.setProperty('--font-size', this._account.getUser().settings.font_size + 'px');
|
|
3400
|
+
document.documentElement.style.setProperty('--secondary-table-color', this._account.getUser().settings.secondary_table_color);
|
|
3401
|
+
document.documentElement.style.setProperty('--secondary-table-font-color', this._account.getUser().settings.secondary_table_font_color);
|
|
3402
|
+
document.documentElement.style.setProperty('--tertiary-table-color', this._account.getUser().settings.tertiary_table_color);
|
|
3403
|
+
document.documentElement.style.setProperty('--tertiary-table-font-color', this._account.getUser().settings.tertiary_table_font_color);
|
|
3404
|
+
}
|
|
3405
|
+
}
|
|
3406
|
+
ngOnDestroy() {
|
|
3407
|
+
this.windowSizeSubscription.unsubscribe();
|
|
3408
|
+
}
|
|
3409
|
+
onClick(event) {
|
|
3410
|
+
// if (event.target.localName === 'th') {
|
|
3411
|
+
// console.log('You Clicked Header: ' + event.target.innerHTML);
|
|
3412
|
+
// }
|
|
3413
|
+
}
|
|
3414
|
+
getCollapseClass() {
|
|
3415
|
+
let res = ['table'];
|
|
3416
|
+
if (this.secondaryColor) {
|
|
3417
|
+
res.push('collapseTable-sec');
|
|
3418
|
+
}
|
|
3419
|
+
else if (this.tertiaryColor) {
|
|
3420
|
+
res.push('collapseTable-tert');
|
|
3421
|
+
}
|
|
3422
|
+
else {
|
|
3423
|
+
res.push('collapseTable');
|
|
3424
|
+
}
|
|
3425
|
+
// if (this.tableFixed) {
|
|
3426
|
+
// res.push('fixed');
|
|
3427
|
+
// }
|
|
3428
|
+
// else if (this.headerFixed) {
|
|
3429
|
+
// res.push('headerFixed');
|
|
3430
|
+
// }
|
|
3431
|
+
return res;
|
|
3432
|
+
}
|
|
3433
|
+
getPrimaryColor() {
|
|
3434
|
+
return this._account.getUser() ? this._account.getUser().settings.table_color : '#3b3ee3';
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3437
|
+
CollapseTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CollapseTableComponent, deps: [{ token: ResizeService }, { token: AccountManagerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3438
|
+
CollapseTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: CollapseTableComponent, selector: "collapse-table", inputs: { collapseSize: "collapseSize", tableFixed: "tableFixed", headerFixed: "headerFixed", secondaryColor: "secondaryColor", tertiaryColor: "tertiaryColor" }, ngImport: i0, template: "<style>\n ::ng-deep :root {\n --primary-table-color: #3b3ee3;\n --primary-table-font-color: white;\n --font-size: 12px;\n --secondary-table-color: #87ceeb;\n --secondary-table-font-color: #000000;\n --tertiary-table-color: #ff4500;\n --tertiary-table-font-color: #000000;\n }\n\n\t:host /deep/ .collapseTable {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n /*table-layout: fixed;*/ \n }\n :host /deep/ .collapseTable tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable th, :host /deep/ .collapseTable td {\n padding: 0.625em;\n text-align: center;\n vertical-align: middle;\n }\n :host /deep/ .collapseTable th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--primary-table-color);\n color: var(--primary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-sec {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-sec tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-sec th, :host /deep/ .collapseTable-sec td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-sec th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--secondary-table-color);\n color: var(--secondary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-tert {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-tert tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-tert th, :host /deep/ .collapseTable-tert td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-tert th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--tertiary-table-color);\n color: var(--tertiary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n }\n \n .fixed {\n table-layout: fixed;\n }\n\n :host /deep/ .headerFixed thead, :host /deep/ .headerFixed tbody tr {\n display:table;\n width:100%;\n table-layout:fixed;\n }\n\n .hide {\n display: none;\n }\n</style>\n\n<div class=\"table-responsive-xl\">\n <table [ngClass]=\"getCollapseClass()\" [style.border]=\"secondaryColor || tertiaryColor ? '3px solid black' : 'none'\" cellspacing=\"0\" cellpadding=\"0\">\n <ng-content></ng-content>\n </table>\n</div>", styles: ["\n ::ng-deep :root {\n --primary-table-color: #3b3ee3;\n --primary-table-font-color: white;\n --font-size: 12px;\n --secondary-table-color: #87ceeb;\n --secondary-table-font-color: #000000;\n --tertiary-table-color: #ff4500;\n --tertiary-table-font-color: #000000;\n }\n\n\t:host /deep/ .collapseTable {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n /*table-layout: fixed;*/ \n }\n :host /deep/ .collapseTable tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable th, :host /deep/ .collapseTable td {\n padding: 0.625em;\n text-align: center;\n vertical-align: middle;\n }\n :host /deep/ .collapseTable th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--primary-table-color);\n color: var(--primary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-sec {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-sec tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-sec th, :host /deep/ .collapseTable-sec td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-sec th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--secondary-table-color);\n color: var(--secondary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-tert {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-tert tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-tert th, :host /deep/ .collapseTable-tert td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-tert th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--tertiary-table-color);\n color: var(--tertiary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n }\n \n .fixed {\n table-layout: fixed;\n }\n\n :host /deep/ .headerFixed thead, :host /deep/ .headerFixed tbody tr {\n display:table;\n width:100%;\n table-layout:fixed;\n }\n\n .hide {\n display: none;\n }\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
3439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CollapseTableComponent, decorators: [{
|
|
3440
|
+
type: Component,
|
|
3441
|
+
args: [{ selector: 'collapse-table', template: "<style>\n ::ng-deep :root {\n --primary-table-color: #3b3ee3;\n --primary-table-font-color: white;\n --font-size: 12px;\n --secondary-table-color: #87ceeb;\n --secondary-table-font-color: #000000;\n --tertiary-table-color: #ff4500;\n --tertiary-table-font-color: #000000;\n }\n\n\t:host /deep/ .collapseTable {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n /*table-layout: fixed;*/ \n }\n :host /deep/ .collapseTable tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable th, :host /deep/ .collapseTable td {\n padding: 0.625em;\n text-align: center;\n vertical-align: middle;\n }\n :host /deep/ .collapseTable th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--primary-table-color);\n color: var(--primary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-sec {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-sec tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-sec th, :host /deep/ .collapseTable-sec td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-sec th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--secondary-table-color);\n color: var(--secondary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-tert {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-tert tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-tert th, :host /deep/ .collapseTable-tert td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-tert th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--tertiary-table-color);\n color: var(--tertiary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n }\n \n .fixed {\n table-layout: fixed;\n }\n\n :host /deep/ .headerFixed thead, :host /deep/ .headerFixed tbody tr {\n display:table;\n width:100%;\n table-layout:fixed;\n }\n\n .hide {\n display: none;\n }\n</style>\n\n<div class=\"table-responsive-xl\">\n <table [ngClass]=\"getCollapseClass()\" [style.border]=\"secondaryColor || tertiaryColor ? '3px solid black' : 'none'\" cellspacing=\"0\" cellpadding=\"0\">\n <ng-content></ng-content>\n </table>\n</div>" }]
|
|
3442
|
+
}], ctorParameters: function () { return [{ type: ResizeService }, { type: AccountManagerService }]; }, propDecorators: { collapseSize: [{
|
|
3443
|
+
type: Input
|
|
3444
|
+
}], tableFixed: [{
|
|
3445
|
+
type: Input
|
|
3446
|
+
}], headerFixed: [{
|
|
3447
|
+
type: Input
|
|
3448
|
+
}], secondaryColor: [{
|
|
3449
|
+
type: Input
|
|
3450
|
+
}], tertiaryColor: [{
|
|
3451
|
+
type: Input
|
|
3452
|
+
}] } });
|
|
3453
|
+
|
|
3454
|
+
// tslint:disable-next-line:component-class-suffix
|
|
3455
|
+
class DialogSelectArrayObjsContent {
|
|
3456
|
+
constructor(_activeModal) {
|
|
3457
|
+
this._activeModal = _activeModal;
|
|
3458
|
+
this.title = '';
|
|
3459
|
+
this.objects = [];
|
|
3460
|
+
this.multiple = false;
|
|
3461
|
+
this.allowNone = false;
|
|
3462
|
+
this.selectedIndex = null;
|
|
3463
|
+
this.selectedItem = null;
|
|
3464
|
+
this.selectedIndexes = [];
|
|
3465
|
+
this.selectedItems = [];
|
|
3466
|
+
}
|
|
3467
|
+
ngAfterViewInit() {
|
|
3468
|
+
setTimeout(() => {
|
|
3469
|
+
let foundElement = this.recursiveFindFirstElement(this.allElements.nativeElement);
|
|
3470
|
+
if (foundElement) {
|
|
3471
|
+
foundElement.focus();
|
|
3472
|
+
}
|
|
3473
|
+
else {
|
|
3474
|
+
this.close.nativeElement.focus();
|
|
3475
|
+
this.close.nativeElement.blur();
|
|
3476
|
+
}
|
|
3477
|
+
}, 100);
|
|
3478
|
+
this.objects.forEach((obj, objIdx) => {
|
|
3479
|
+
if (obj.selected) {
|
|
3480
|
+
this.selectedIndexes.push(objIdx);
|
|
3481
|
+
this.selectedItems.push(obj);
|
|
3482
|
+
}
|
|
3483
|
+
});
|
|
3484
|
+
}
|
|
3485
|
+
recursiveFindFirstElement(element) {
|
|
3486
|
+
let foundElement = null;
|
|
3487
|
+
let htmlCol = element.children;
|
|
3488
|
+
for (let i = 0; i < Object.keys(htmlCol).length; i++) {
|
|
3489
|
+
let key = Object.keys(htmlCol)[i];
|
|
3490
|
+
let htmlElem = htmlCol[key];
|
|
3491
|
+
if (htmlElem.children && htmlElem.children.length) {
|
|
3492
|
+
foundElement = this.recursiveFindFirstElement(htmlElem);
|
|
3493
|
+
}
|
|
3494
|
+
else if (htmlElem.tagName === 'BUTTON' && htmlElem.classList.contains('close')) {
|
|
3495
|
+
return null;
|
|
3496
|
+
}
|
|
3497
|
+
else if ((htmlElem.tagName === 'BUTTON' || htmlElem.tagName === 'INPUT' || htmlElem.tagName === 'SELECT' || htmlElem.tagName === 'TEXTAREA') && !htmlElem.hidden && !htmlElem.disabled) {
|
|
3498
|
+
return htmlElem;
|
|
3499
|
+
}
|
|
3500
|
+
if (foundElement) {
|
|
3501
|
+
break;
|
|
3502
|
+
}
|
|
3503
|
+
}
|
|
3504
|
+
return foundElement;
|
|
3505
|
+
}
|
|
3506
|
+
onSelectItem(index) {
|
|
3507
|
+
if (!this.multiple) {
|
|
3508
|
+
if (this.objects[index] === this.selectedItem) {
|
|
3509
|
+
this.selectedItem = null;
|
|
3510
|
+
this.selectedIndex = null;
|
|
3511
|
+
}
|
|
3512
|
+
else {
|
|
3513
|
+
this.selectedItem = this.objects[index];
|
|
3514
|
+
this.selectedIndex = index;
|
|
3515
|
+
}
|
|
3516
|
+
}
|
|
3517
|
+
else {
|
|
3518
|
+
if (this.selectedItems.some(a => a.value === this.objects[index].value)) {
|
|
3519
|
+
this.selectedIndexes.splice(this.selectedIndexes.indexOf(index), 1);
|
|
3520
|
+
this.selectedItems.splice(this.selectedItems.map(a => a.value).indexOf(this.objects[index].value), 1);
|
|
3521
|
+
}
|
|
3522
|
+
else {
|
|
3523
|
+
this.selectedIndexes.push(index);
|
|
3524
|
+
this.selectedItems.push(this.objects[index]);
|
|
3525
|
+
}
|
|
3526
|
+
}
|
|
3527
|
+
}
|
|
3528
|
+
}
|
|
3529
|
+
DialogSelectArrayObjsContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DialogSelectArrayObjsContent, deps: [{ token: i1$4.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
3530
|
+
DialogSelectArrayObjsContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: DialogSelectArrayObjsContent, selector: "ng-component", inputs: { title: "title", objects: "objects", multiple: "multiple", allowNone: "allowNone" }, viewQueries: [{ propertyName: "close", first: true, predicate: ["close"], descendants: true }, { propertyName: "allElements", first: true, predicate: ["allElements"], descendants: true }], ngImport: i0, template: `
|
|
3531
|
+
<style>
|
|
3532
|
+
collapse-table tr:hover {
|
|
3533
|
+
background-color: lightblue;
|
|
3534
|
+
cursor: pointer;
|
|
3535
|
+
}
|
|
3536
|
+
|
|
3537
|
+
.selected {
|
|
3538
|
+
background-color: lightblue;
|
|
3539
|
+
}
|
|
3540
|
+
|
|
3541
|
+
collapse-table {
|
|
3542
|
+
width: 100%;
|
|
3543
|
+
}
|
|
3544
|
+
</style>
|
|
3545
|
+
<div #allElements>
|
|
3546
|
+
<div class="modal-header">
|
|
3547
|
+
<h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
|
|
3548
|
+
<button type="button" class="close" aria-label="Close" (click)="_activeModal.dismiss()" #close>
|
|
3549
|
+
<span aria-hidden="true">×</span>
|
|
3550
|
+
</button>
|
|
3551
|
+
</div>
|
|
3552
|
+
<div class="modal-body">
|
|
3553
|
+
<div style="height: 60vh; overflow-y: auto">
|
|
3554
|
+
<collapse-table collapseSize="900">
|
|
3555
|
+
<thead>
|
|
3556
|
+
<tr>
|
|
3557
|
+
<th>List</th>
|
|
3558
|
+
</tr>
|
|
3559
|
+
</thead>
|
|
3560
|
+
<tbody>
|
|
3561
|
+
<tr *ngFor="let object of objects; let i = index" (click)="onSelectItem(i)" [ngClass]="{'selected' : i === selectedIndex || selectedIndexes.includes(i)}">
|
|
3562
|
+
<td>{{object.text}}</td>
|
|
3563
|
+
</tr>
|
|
3564
|
+
</tbody>
|
|
3565
|
+
</collapse-table>
|
|
3566
|
+
</div>
|
|
3567
|
+
</div>
|
|
3568
|
+
<div class="modal-footer">
|
|
3569
|
+
<ng-container *ngIf="!allowNone">
|
|
3570
|
+
<button type="button" [ngClass]="['btn', (selectedItem || selectedItems.length) ? 'btn-success' : 'btn-danger']" [disabled]="!selectedItem && !selectedItems.length" (click)="_activeModal.close(selectedItem || selectedItems)">Submit</button>
|
|
3571
|
+
</ng-container>
|
|
3572
|
+
<ng-container *ngIf="allowNone">
|
|
3573
|
+
<button type="button" class="btn btn-success" (click)="_activeModal.close(selectedItem || selectedItems)">Submit</button>
|
|
3574
|
+
</ng-container>
|
|
3575
|
+
<button type="button" class="btn btn-secondary" (click)="_activeModal.dismiss()">Cancel</button>
|
|
3576
|
+
</div>
|
|
3577
|
+
</div>
|
|
3578
|
+
`, isInline: true, styles: ["\n\t\t\tcollapse-table tr:hover {\n\t\t\t\tbackground-color: lightblue;\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t.selected {\n\t\t\t\tbackground-color: lightblue;\n\t\t\t}\n\n\t\t\tcollapse-table {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t"], components: [{ type: CollapseTableComponent, selector: "collapse-table", inputs: ["collapseSize", "tableFixed", "headerFixed", "secondaryColor", "tertiaryColor"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
3579
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DialogSelectArrayObjsContent, decorators: [{
|
|
3580
|
+
type: Component,
|
|
3581
|
+
args: [{
|
|
3582
|
+
template: `
|
|
3583
|
+
<style>
|
|
3584
|
+
collapse-table tr:hover {
|
|
3585
|
+
background-color: lightblue;
|
|
3586
|
+
cursor: pointer;
|
|
3587
|
+
}
|
|
3588
|
+
|
|
3589
|
+
.selected {
|
|
3590
|
+
background-color: lightblue;
|
|
3591
|
+
}
|
|
3592
|
+
|
|
3593
|
+
collapse-table {
|
|
3594
|
+
width: 100%;
|
|
3595
|
+
}
|
|
3596
|
+
</style>
|
|
3597
|
+
<div #allElements>
|
|
3598
|
+
<div class="modal-header">
|
|
3599
|
+
<h4 class="modal-title"><i class="fa fa-question-circle" style="color: blue; font-size: 0.85em" aria-hidden="true"></i> {{ title }}</h4>
|
|
3600
|
+
<button type="button" class="close" aria-label="Close" (click)="_activeModal.dismiss()" #close>
|
|
3601
|
+
<span aria-hidden="true">×</span>
|
|
3602
|
+
</button>
|
|
3603
|
+
</div>
|
|
3604
|
+
<div class="modal-body">
|
|
3605
|
+
<div style="height: 60vh; overflow-y: auto">
|
|
3606
|
+
<collapse-table collapseSize="900">
|
|
3607
|
+
<thead>
|
|
3608
|
+
<tr>
|
|
3609
|
+
<th>List</th>
|
|
3610
|
+
</tr>
|
|
3611
|
+
</thead>
|
|
3612
|
+
<tbody>
|
|
3613
|
+
<tr *ngFor="let object of objects; let i = index" (click)="onSelectItem(i)" [ngClass]="{'selected' : i === selectedIndex || selectedIndexes.includes(i)}">
|
|
3614
|
+
<td>{{object.text}}</td>
|
|
3615
|
+
</tr>
|
|
3616
|
+
</tbody>
|
|
3617
|
+
</collapse-table>
|
|
3618
|
+
</div>
|
|
3619
|
+
</div>
|
|
3620
|
+
<div class="modal-footer">
|
|
3621
|
+
<ng-container *ngIf="!allowNone">
|
|
3622
|
+
<button type="button" [ngClass]="['btn', (selectedItem || selectedItems.length) ? 'btn-success' : 'btn-danger']" [disabled]="!selectedItem && !selectedItems.length" (click)="_activeModal.close(selectedItem || selectedItems)">Submit</button>
|
|
3623
|
+
</ng-container>
|
|
3624
|
+
<ng-container *ngIf="allowNone">
|
|
3625
|
+
<button type="button" class="btn btn-success" (click)="_activeModal.close(selectedItem || selectedItems)">Submit</button>
|
|
3626
|
+
</ng-container>
|
|
3627
|
+
<button type="button" class="btn btn-secondary" (click)="_activeModal.dismiss()">Cancel</button>
|
|
3628
|
+
</div>
|
|
3629
|
+
</div>
|
|
3630
|
+
`
|
|
3631
|
+
}]
|
|
3632
|
+
}], ctorParameters: function () { return [{ type: i1$4.NgbActiveModal }]; }, propDecorators: { title: [{
|
|
3633
|
+
type: Input
|
|
3634
|
+
}], objects: [{
|
|
3635
|
+
type: Input
|
|
3636
|
+
}], multiple: [{
|
|
3637
|
+
type: Input
|
|
3638
|
+
}], allowNone: [{
|
|
3639
|
+
type: Input
|
|
3640
|
+
}], close: [{
|
|
3641
|
+
type: ViewChild,
|
|
3642
|
+
args: ['close', { static: false }]
|
|
3643
|
+
}], allElements: [{
|
|
3644
|
+
type: ViewChild,
|
|
3645
|
+
args: ['allElements', { static: false }]
|
|
3646
|
+
}] } });
|
|
3647
|
+
|
|
3382
3648
|
class DialogService {
|
|
3383
3649
|
constructor(modalService) {
|
|
3384
3650
|
this.modalService = modalService;
|
|
@@ -3431,6 +3697,14 @@ class DialogService {
|
|
|
3431
3697
|
const modalRef = this.openDialog(DialogRegisterContent);
|
|
3432
3698
|
return modalRef.result;
|
|
3433
3699
|
}
|
|
3700
|
+
selectWithArrayObjs(title, objects, multiple = false, allowNone = false) {
|
|
3701
|
+
const modalRef = this.openDialog(DialogSelectArrayObjsContent);
|
|
3702
|
+
modalRef.componentInstance.title = title;
|
|
3703
|
+
modalRef.componentInstance.objects = objects;
|
|
3704
|
+
modalRef.componentInstance.multiple = multiple;
|
|
3705
|
+
modalRef.componentInstance.allowNone = allowNone;
|
|
3706
|
+
return modalRef.result;
|
|
3707
|
+
}
|
|
3434
3708
|
}
|
|
3435
3709
|
DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DialogService, deps: [{ token: i1$4.NgbModal }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3436
3710
|
DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: DialogService });
|
|
@@ -4893,78 +5167,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
4893
5167
|
}]
|
|
4894
5168
|
}] });
|
|
4895
5169
|
|
|
4896
|
-
class CollapseTableComponent {
|
|
4897
|
-
constructor(_resizeService, _account) {
|
|
4898
|
-
this._resizeService = _resizeService;
|
|
4899
|
-
this._account = _account;
|
|
4900
|
-
this.headerFixed = false;
|
|
4901
|
-
this.secondaryColor = false;
|
|
4902
|
-
this.tertiaryColor = false;
|
|
4903
|
-
this.windowSize = window.innerWidth;
|
|
4904
|
-
this.windowSizeSubscription = null;
|
|
4905
|
-
}
|
|
4906
|
-
ngOnInit() {
|
|
4907
|
-
this.windowSizeSubscription = this._resizeService.onResize$.subscribe((val) => {
|
|
4908
|
-
this.windowSize = val.innerWidth;
|
|
4909
|
-
});
|
|
4910
|
-
if (this._account.getUser() && this._account.getUser().settings) {
|
|
4911
|
-
document.documentElement.style.setProperty('--primary-table-color', this._account.getUser().settings.table_color);
|
|
4912
|
-
document.documentElement.style.setProperty('--primary-table-font-color', this._account.getUser().settings.table_font_color);
|
|
4913
|
-
document.documentElement.style.setProperty('--font-size', this._account.getUser().settings.font_size + 'px');
|
|
4914
|
-
document.documentElement.style.setProperty('--secondary-table-color', this._account.getUser().settings.secondary_table_color);
|
|
4915
|
-
document.documentElement.style.setProperty('--secondary-table-font-color', this._account.getUser().settings.secondary_table_font_color);
|
|
4916
|
-
document.documentElement.style.setProperty('--tertiary-table-color', this._account.getUser().settings.tertiary_table_color);
|
|
4917
|
-
document.documentElement.style.setProperty('--tertiary-table-font-color', this._account.getUser().settings.tertiary_table_font_color);
|
|
4918
|
-
}
|
|
4919
|
-
}
|
|
4920
|
-
ngOnDestroy() {
|
|
4921
|
-
this.windowSizeSubscription.unsubscribe();
|
|
4922
|
-
}
|
|
4923
|
-
onClick(event) {
|
|
4924
|
-
// if (event.target.localName === 'th') {
|
|
4925
|
-
// console.log('You Clicked Header: ' + event.target.innerHTML);
|
|
4926
|
-
// }
|
|
4927
|
-
}
|
|
4928
|
-
getCollapseClass() {
|
|
4929
|
-
let res = ['table'];
|
|
4930
|
-
if (this.secondaryColor) {
|
|
4931
|
-
res.push('collapseTable-sec');
|
|
4932
|
-
}
|
|
4933
|
-
else if (this.tertiaryColor) {
|
|
4934
|
-
res.push('collapseTable-tert');
|
|
4935
|
-
}
|
|
4936
|
-
else {
|
|
4937
|
-
res.push('collapseTable');
|
|
4938
|
-
}
|
|
4939
|
-
// if (this.tableFixed) {
|
|
4940
|
-
// res.push('fixed');
|
|
4941
|
-
// }
|
|
4942
|
-
// else if (this.headerFixed) {
|
|
4943
|
-
// res.push('headerFixed');
|
|
4944
|
-
// }
|
|
4945
|
-
return res;
|
|
4946
|
-
}
|
|
4947
|
-
getPrimaryColor() {
|
|
4948
|
-
return this._account.getUser() ? this._account.getUser().settings.table_color : '#3b3ee3';
|
|
4949
|
-
}
|
|
4950
|
-
}
|
|
4951
|
-
CollapseTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CollapseTableComponent, deps: [{ token: ResizeService }, { token: AccountManagerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4952
|
-
CollapseTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: CollapseTableComponent, selector: "collapse-table", inputs: { collapseSize: "collapseSize", tableFixed: "tableFixed", headerFixed: "headerFixed", secondaryColor: "secondaryColor", tertiaryColor: "tertiaryColor" }, ngImport: i0, template: "<style>\n ::ng-deep :root {\n --primary-table-color: #3b3ee3;\n --primary-table-font-color: white;\n --font-size: 12px;\n --secondary-table-color: #87ceeb;\n --secondary-table-font-color: #000000;\n --tertiary-table-color: #ff4500;\n --tertiary-table-font-color: #000000;\n }\n\n\t:host /deep/ .collapseTable {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n /*table-layout: fixed;*/ \n }\n :host /deep/ .collapseTable tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable th, :host /deep/ .collapseTable td {\n padding: 0.625em;\n text-align: center;\n vertical-align: middle;\n }\n :host /deep/ .collapseTable th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--primary-table-color);\n color: var(--primary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-sec {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-sec tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-sec th, :host /deep/ .collapseTable-sec td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-sec th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--secondary-table-color);\n color: var(--secondary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-tert {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-tert tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-tert th, :host /deep/ .collapseTable-tert td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-tert th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--tertiary-table-color);\n color: var(--tertiary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n }\n \n .fixed {\n table-layout: fixed;\n }\n\n :host /deep/ .headerFixed thead, :host /deep/ .headerFixed tbody tr {\n display:table;\n width:100%;\n table-layout:fixed;\n }\n\n .hide {\n display: none;\n }\n</style>\n\n<div class=\"table-responsive-xl\">\n <table [ngClass]=\"getCollapseClass()\" [style.border]=\"secondaryColor || tertiaryColor ? '3px solid black' : 'none'\" cellspacing=\"0\" cellpadding=\"0\">\n <ng-content></ng-content>\n </table>\n</div>", styles: ["\n ::ng-deep :root {\n --primary-table-color: #3b3ee3;\n --primary-table-font-color: white;\n --font-size: 12px;\n --secondary-table-color: #87ceeb;\n --secondary-table-font-color: #000000;\n --tertiary-table-color: #ff4500;\n --tertiary-table-font-color: #000000;\n }\n\n\t:host /deep/ .collapseTable {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n /*table-layout: fixed;*/ \n }\n :host /deep/ .collapseTable tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable th, :host /deep/ .collapseTable td {\n padding: 0.625em;\n text-align: center;\n vertical-align: middle;\n }\n :host /deep/ .collapseTable th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--primary-table-color);\n color: var(--primary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-sec {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-sec tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-sec th, :host /deep/ .collapseTable-sec td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-sec th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--secondary-table-color);\n color: var(--secondary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-tert {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-tert tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-tert th, :host /deep/ .collapseTable-tert td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-tert th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--tertiary-table-color);\n color: var(--tertiary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n }\n \n .fixed {\n table-layout: fixed;\n }\n\n :host /deep/ .headerFixed thead, :host /deep/ .headerFixed tbody tr {\n display:table;\n width:100%;\n table-layout:fixed;\n }\n\n .hide {\n display: none;\n }\n"], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
4953
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CollapseTableComponent, decorators: [{
|
|
4954
|
-
type: Component,
|
|
4955
|
-
args: [{ selector: 'collapse-table', template: "<style>\n ::ng-deep :root {\n --primary-table-color: #3b3ee3;\n --primary-table-font-color: white;\n --font-size: 12px;\n --secondary-table-color: #87ceeb;\n --secondary-table-font-color: #000000;\n --tertiary-table-color: #ff4500;\n --tertiary-table-font-color: #000000;\n }\n\n\t:host /deep/ .collapseTable {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n /*table-layout: fixed;*/ \n }\n :host /deep/ .collapseTable tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable th, :host /deep/ .collapseTable td {\n padding: 0.625em;\n text-align: center;\n vertical-align: middle;\n }\n :host /deep/ .collapseTable th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--primary-table-color);\n color: var(--primary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-sec {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-sec tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-sec th, :host /deep/ .collapseTable-sec td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-sec th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--secondary-table-color);\n color: var(--secondary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n } \n :host /deep/ .collapseTable-tert {\n border: 1px solid #ccc;\n margin: 0;\n padding: 0;\n width: 100%;\n }\n :host /deep/ .collapseTable-tert tr {\n border: 1px solid #ddd;\n padding: 0.35em;\n }\n :host /deep/ .collapseTable-tert th, :host /deep/ .collapseTable-tert td {\n padding: 0.625em;\n text-align: center;\n }\n :host /deep/ .collapseTable-tert th {\n letter-spacing: 0.1em;\n text-transform: uppercase;\n background-color: var(--tertiary-table-color);\n color: var(--tertiary-table-font-color);\n font-size: var(--font-size);\n position: sticky;\n z-index: 10;\n top: 0;\n }\n \n .fixed {\n table-layout: fixed;\n }\n\n :host /deep/ .headerFixed thead, :host /deep/ .headerFixed tbody tr {\n display:table;\n width:100%;\n table-layout:fixed;\n }\n\n .hide {\n display: none;\n }\n</style>\n\n<div class=\"table-responsive-xl\">\n <table [ngClass]=\"getCollapseClass()\" [style.border]=\"secondaryColor || tertiaryColor ? '3px solid black' : 'none'\" cellspacing=\"0\" cellpadding=\"0\">\n <ng-content></ng-content>\n </table>\n</div>" }]
|
|
4956
|
-
}], ctorParameters: function () { return [{ type: ResizeService }, { type: AccountManagerService }]; }, propDecorators: { collapseSize: [{
|
|
4957
|
-
type: Input
|
|
4958
|
-
}], tableFixed: [{
|
|
4959
|
-
type: Input
|
|
4960
|
-
}], headerFixed: [{
|
|
4961
|
-
type: Input
|
|
4962
|
-
}], secondaryColor: [{
|
|
4963
|
-
type: Input
|
|
4964
|
-
}], tertiaryColor: [{
|
|
4965
|
-
type: Input
|
|
4966
|
-
}] } });
|
|
4967
|
-
|
|
4968
5170
|
class CollapseTableModule {
|
|
4969
5171
|
}
|
|
4970
5172
|
CollapseTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CollapseTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -6738,10 +6940,12 @@ CoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
|
|
|
6738
6940
|
DialogSelectDateTimeContent,
|
|
6739
6941
|
DialogSelectDataLabelsContent,
|
|
6740
6942
|
DialogLoginContent,
|
|
6741
|
-
DialogRegisterContent
|
|
6943
|
+
DialogRegisterContent,
|
|
6944
|
+
DialogSelectArrayObjsContent], imports: [SharedModule,
|
|
6742
6945
|
HttpClientModule,
|
|
6743
6946
|
NgbModule, i1$1.ToastrModule, i1$2.NgxLocalStorageModule, UserSettingsModule,
|
|
6744
|
-
BrowserAnimationsModule
|
|
6947
|
+
BrowserAnimationsModule,
|
|
6948
|
+
CollapseTableModule], exports: [CoreComponent,
|
|
6745
6949
|
HomeComponent,
|
|
6746
6950
|
LoggerComponent,
|
|
6747
6951
|
NavbarMainComponent,
|
|
@@ -6777,7 +6981,8 @@ CoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13
|
|
|
6777
6981
|
prefix: 'ResolveIO'
|
|
6778
6982
|
}),
|
|
6779
6983
|
UserSettingsModule,
|
|
6780
|
-
BrowserAnimationsModule
|
|
6984
|
+
BrowserAnimationsModule,
|
|
6985
|
+
CollapseTableModule
|
|
6781
6986
|
]] });
|
|
6782
6987
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: CoreModule, decorators: [{
|
|
6783
6988
|
type: NgModule,
|
|
@@ -6791,7 +6996,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
6791
6996
|
prefix: 'ResolveIO'
|
|
6792
6997
|
}),
|
|
6793
6998
|
UserSettingsModule,
|
|
6794
|
-
BrowserAnimationsModule
|
|
6999
|
+
BrowserAnimationsModule,
|
|
7000
|
+
CollapseTableModule
|
|
6795
7001
|
],
|
|
6796
7002
|
declarations: [
|
|
6797
7003
|
CoreComponent,
|
|
@@ -6811,7 +7017,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
|
|
|
6811
7017
|
DialogSelectDateTimeContent,
|
|
6812
7018
|
DialogSelectDataLabelsContent,
|
|
6813
7019
|
DialogLoginContent,
|
|
6814
|
-
DialogRegisterContent
|
|
7020
|
+
DialogRegisterContent,
|
|
7021
|
+
DialogSelectArrayObjsContent
|
|
6815
7022
|
],
|
|
6816
7023
|
providers: [
|
|
6817
7024
|
CoreService,
|