@trudb/tru-common-lib 0.1.283 → 0.1.286

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.
@@ -2628,10 +2628,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
2628
2628
  }]
2629
2629
  }], ctorParameters: () => [] });
2630
2630
 
2631
+ class TruSearchResultViewManager {
2632
+ _searchViewToolbarTemplate;
2633
+ constructor() { }
2634
+ set searchViewToolbarTemplate(temp) {
2635
+ this._searchViewToolbarTemplate = temp;
2636
+ }
2637
+ get searchViewToolbarTemplate() {
2638
+ return this._searchViewToolbarTemplate;
2639
+ }
2640
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruSearchResultViewManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2641
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruSearchResultViewManager });
2642
+ }
2643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruSearchResultViewManager, decorators: [{
2644
+ type: Injectable
2645
+ }], ctorParameters: () => [] });
2646
+
2631
2647
  class TruCardColumn {
2632
2648
  dataContext;
2633
2649
  modelTypeLookup;
2634
2650
  searchViewEventHandler;
2651
+ searchResultViewManager;
2635
2652
  config;
2636
2653
  name;
2637
2654
  portal;
@@ -2668,10 +2685,12 @@ class TruCardColumn {
2668
2685
  unassignedVisible;
2669
2686
  unassignedName;
2670
2687
  userHasParentTableRole = true; //parentTableModel.canDisplay;
2671
- constructor(dataContext, modelTypeLookup, searchViewEventHandler) {
2688
+ parentToolbarTemplate = null;
2689
+ constructor(dataContext, modelTypeLookup, searchViewEventHandler, searchResultViewManager) {
2672
2690
  this.dataContext = dataContext;
2673
2691
  this.modelTypeLookup = modelTypeLookup;
2674
2692
  this.searchViewEventHandler = searchViewEventHandler;
2693
+ this.searchResultViewManager = searchResultViewManager;
2675
2694
  }
2676
2695
  parentTableModel = null; //dataService.model.tables[parentTableName];
2677
2696
  createDataForEntity = (entity) => {
@@ -3053,6 +3072,12 @@ class TruCardColumn {
3053
3072
  this.uniqueId = v4();
3054
3073
  this.subscribeTo();
3055
3074
  }
3075
+ ngAfterViewInit() {
3076
+ //setTimeout to prevent: ERROR Error: NG0100: ExpressionChangedAfterItHasBeenCheckedError.
3077
+ setTimeout(() => {
3078
+ this.parentToolbarTemplate = this.searchResultViewManager.searchViewToolbarTemplate;
3079
+ }, 0);
3080
+ }
3056
3081
  removeSelection = (card) => {
3057
3082
  var index = this.selectedCards.indexOf(card);
3058
3083
  if (index !== -1)
@@ -3060,13 +3085,13 @@ class TruCardColumn {
3060
3085
  card.cardElement.classList.remove('tru-card-selected');
3061
3086
  //scope.config.onSelectionChanged(selectedCards);
3062
3087
  };
3063
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruCardColumn, deps: [{ token: TruDataContext }, { token: TruModelTypeLookup }, { token: TruSearchViewEventHandler }], target: i0.ɵɵFactoryTarget.Component });
3064
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruCardColumn, selector: "tru-card-column", inputs: { config: "config", name: "name" }, viewQueries: [{ propertyName: "portal", first: true, predicate: ["cardPortal"], descendants: true }], ngImport: i0, template: "<div class=\"tru-card\">\r\n <div *ngIf=\"isBusy\"\r\n class=\"tru-card-busy-indicator\">\r\n <p>Searching for {{config.childTablePluralLabel}}...</p>\r\n </div>\r\n <!--<tru-toolbar [config]=\"config.toolbarConfig\" class=\"main-toolbar\"></tru-toolbar>-->\r\n <div class=\"tru-card-portal\" #cardPortal>\r\n <div [ngStyle]=\"{'width': ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1)) + 'px' }\"\r\n [ngClass]=\"{'tru-card-portal-locked-columns-divider': lockedColumns.length}\"\r\n *ngIf=\"lockedColumns.length\"\r\n class=\"tru-card-portal-locked-columns locked-columns\">\r\n\r\n </div>\r\n <div [ngStyle]=\"{'left': lockedColumns.length ? ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1) + 22) + 'px' : 0 }\"\r\n class=\"tru-card-portal-columns unlocked-columns\">\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .tru-card-busy-indicator{position:absolute;inset:25px 0 0;z-index:10000;background-color:transparent}::ng-deep .tru-card-busy-indicator p{position:relative;float:left;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}::ng-deep .tru-card-filter{position:absolute;top:0;left:0;right:0;height:30px;line-height:30px;padding-left:10px}::ng-deep .tru-card-portal{position:absolute;inset:30px 10px 0;border:1px solid #ddd;padding:10px;background-color:#0079bf}::ng-deep .tru-card-portal-disabled>*{opacity:.75;pointer-events:none}::ng-deep .tru-card-portal-locked-columns{position:absolute;top:10px;left:0;bottom:0;padding:0 5px 10px 10px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column{margin-left:0;margin-bottom:0}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column:not(:first-child){margin-left:10px!important}::ng-deep .tru-card-portal-locked-columns-divider{border-right:1px solid #cdd2d4}::ng-deep .tru-card-portal-columns{position:absolute;inset:10px 10px 10px 222px;padding-top:0;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;overflow-x:auto;overflow-y:hidden}::ng-deep .tru-card-portal-column{position:relative;border:1px solid #ddd;border-radius:4px;background:#e2e4e6;vertical-align:top;max-height:calc(100% + 8px);margin-left:10px;margin-bottom:10px;display:flex;flex-direction:column}::ng-deep .tru-card-portal-column-inactive *{font-style:italic;opacity:.7}::ng-deep .tru-card-portal-column-header{flex:0 0 auto;padding:5px;position:relative;min-height:18px}::ng-deep .tru-card-portal-column-header-extras{position:absolute;right:5px;top:4px}::ng-deep .tru-card-portal-column-header-extra-button{border-radius:3px;background:transparent}::ng-deep .tru-card-portal-column-header-extra-button:hover{border-radius:3px;background:#cdd2d4}::ng-deep .tru-card-portal-column-footer{flex:0 0 auto;padding:0 3px 3px;position:relative;height:25px;line-height:25px;display:none}::ng-deep .tru-card-portal-column-footer-text{font-size:14px;color:#777;padding-left:5px;text-decoration:none}::ng-deep .tru-card-portal-column-footer-text:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-portal-column-footer-text:active,::ng-deep .tru-card-portal-column-footer-text:visited{color:#777}::ng-deep .tru-card-icon-small{color:#999;height:18px;font-size:14px;line-height:18px;width:19px;-webkit-font-smoothing:antialiased;display:inline-block!important;font-style:normal;font-weight:400;text-align:center;text-decoration:none;position:relative}::ng-deep .tru-card-portal-column-headertext{font-weight:700;font-size:16px;color:#333;padding-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:20px}::ng-deep .tru-card-portal-column-headertext-hover:hover{text-decoration:underline}::ng-deep .tru-card-portal-card-scroll-port{overflow-y:auto;overflow-x:hidden}::ng-deep .tru-card-portal-card-container{margin:0 3px;padding:0 2px;height:37px;transition:all .4s ease-out;opacity:1}::ng-deep .tru-card-portal-card-container.show{opacity:1}::ng-deep .tru-card-portal-card-container *{pointer-events:none}::ng-deep .tru-card-portal-card{background-color:#fff;border:1px solid #fff;border-radius:3px;padding:2px 6px 2px 8px;position:relative;cursor:pointer;display:block;min-height:15px;text-decoration:none;z-index:0;outline:none;box-shadow:0 .5px #ccc}::ng-deep .tru-card-portal-card:hover{background-color:#efefef;border:1px solid #efefef}::ng-deep .tru-card-portal-card p{word-wrap:break-word}::ng-deep .tru-card-portal-card:focus{outline:none}::ng-deep .tru-card-portal-card.empty{border:1px dashed #999}::ng-deep .tru-card-placeholder{position:absolute;left:0;right:0;margin:0;z-index:100;border-color:#0079bf;border-top-style:dashed;border-bottom-style:dashed}::ng-deep .tru-card-selected{border-color:#52a8eccc!important;background-color:#52a8eccc!important}::ng-deep .tru-card-selected p{color:#000!important}::ng-deep .tru-card-menu{position:absolute;top:20px;right:0;background:#fff;border:1px #ccc solid;border-radius:3px;z-index:1;padding:7px;width:200px}::ng-deep .tru-card-menu hr{height:1px;border:1px #ccc solid;border-bottom:0;border-left:0;border-right:0;width:100%;margin:0;padding:0}::ng-deep .tru-card-menu a{color:#777;text-decoration:none;float:left;line-height:16px;margin-top:2px;margin-bottom:2px}::ng-deep .tru-card-menu span{color:#777;float:left;line-height:16px;margin-top:3px}::ng-deep .tru-card-menu a:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-menu a:active,::ng-deep .tru-card-menu a:visited{color:#777}::ng-deep .tru-card-menu-move-container{width:100%!important;display:inline-flex}::ng-deep .tru-card-menu-move-container select{width:100%!important}::ng-deep .tru-card-menu-move-container a{margin-top:1px;margin-left:3px;display:block}::ng-deep .tru-card-menu-move-container span{color:#0079bf;margin-top:0}::ng-deep .tru-card-menu-move-container .move-button-disabled{pointer-events:none;opacity:.75}::ng-deep .tru-card-menu-move-container .move-button-disabled span{color:#ccc}::ng-deep .tru-card-portal-column-filtered{display:none}::ng-deep .tru-card-portal-card-filtered{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3088
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruCardColumn, deps: [{ token: TruDataContext }, { token: TruModelTypeLookup }, { token: TruSearchViewEventHandler }, { token: TruSearchResultViewManager }], target: i0.ɵɵFactoryTarget.Component });
3089
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruCardColumn, selector: "tru-card-column", inputs: { config: "config", name: "name" }, viewQueries: [{ propertyName: "portal", first: true, predicate: ["cardPortal"], descendants: true }], ngImport: i0, template: "<div class=\"tru-card\">\r\n <div *ngIf=\"isBusy\"\r\n class=\"tru-card-busy-indicator\">\r\n <p>Searching for {{config.childTablePluralLabel}}...</p>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"parentToolbarTemplate\"></ng-container>\r\n <!--<tru-toolbar [config]=\"config.toolbarConfig\" class=\"main-toolbar\"></tru-toolbar>-->\r\n <div class=\"tru-card-portal\" #cardPortal>\r\n <div [ngStyle]=\"{'width': ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1)) + 'px' }\"\r\n [ngClass]=\"{'tru-card-portal-locked-columns-divider': lockedColumns.length}\"\r\n *ngIf=\"lockedColumns.length\"\r\n class=\"tru-card-portal-locked-columns locked-columns\">\r\n\r\n </div>\r\n <div [ngStyle]=\"{'left': lockedColumns.length ? ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1) + 22) + 'px' : 0 }\"\r\n class=\"tru-card-portal-columns unlocked-columns\">\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .tru-card-busy-indicator{position:absolute;inset:25px 0 0;z-index:10000;background-color:transparent}::ng-deep .tru-card-busy-indicator p{position:relative;float:left;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}::ng-deep .tru-card-filter{position:absolute;top:0;left:0;right:0;height:30px;line-height:30px;padding-left:10px}::ng-deep .tru-card-portal{position:absolute;inset:30px 10px 0;border:1px solid #ddd;padding:10px;background-color:#0079bf}::ng-deep .tru-card-portal-disabled>*{opacity:.75;pointer-events:none}::ng-deep .tru-card-portal-locked-columns{position:absolute;top:10px;left:0;bottom:0;padding:0 5px 10px 10px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column{margin-left:0;margin-bottom:0}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column:not(:first-child){margin-left:10px!important}::ng-deep .tru-card-portal-locked-columns-divider{border-right:1px solid #cdd2d4}::ng-deep .tru-card-portal-columns{position:absolute;inset:10px 10px 10px 222px;padding-top:0;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;overflow-x:auto;overflow-y:hidden}::ng-deep .tru-card-portal-column{position:relative;border:1px solid #ddd;border-radius:4px;background:#e2e4e6;vertical-align:top;max-height:calc(100% + 8px);margin-left:10px;margin-bottom:10px;display:flex;flex-direction:column}::ng-deep .tru-card-portal-column-inactive *{font-style:italic;opacity:.7}::ng-deep .tru-card-portal-column-header{flex:0 0 auto;padding:5px;position:relative;min-height:18px}::ng-deep .tru-card-portal-column-header-extras{position:absolute;right:5px;top:4px}::ng-deep .tru-card-portal-column-header-extra-button{border-radius:3px;background:transparent}::ng-deep .tru-card-portal-column-header-extra-button:hover{border-radius:3px;background:#cdd2d4}::ng-deep .tru-card-portal-column-footer{flex:0 0 auto;padding:0 3px 3px;position:relative;height:25px;line-height:25px;display:none}::ng-deep .tru-card-portal-column-footer-text{font-size:14px;color:#777;padding-left:5px;text-decoration:none}::ng-deep .tru-card-portal-column-footer-text:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-portal-column-footer-text:active,::ng-deep .tru-card-portal-column-footer-text:visited{color:#777}::ng-deep .tru-card-icon-small{color:#999;height:18px;font-size:14px;line-height:18px;width:19px;-webkit-font-smoothing:antialiased;display:inline-block!important;font-style:normal;font-weight:400;text-align:center;text-decoration:none;position:relative}::ng-deep .tru-card-portal-column-headertext{font-weight:700;font-size:16px;color:#333;padding-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:20px}::ng-deep .tru-card-portal-column-headertext-hover:hover{text-decoration:underline}::ng-deep .tru-card-portal-card-scroll-port{overflow-y:auto;overflow-x:hidden}::ng-deep .tru-card-portal-card-container{margin:0 3px;padding:0 2px;height:37px;transition:all .4s ease-out;opacity:1}::ng-deep .tru-card-portal-card-container.show{opacity:1}::ng-deep .tru-card-portal-card-container *{pointer-events:none}::ng-deep .tru-card-portal-card{background-color:#fff;border:1px solid #fff;border-radius:3px;padding:2px 6px 2px 8px;position:relative;cursor:pointer;display:block;min-height:15px;text-decoration:none;z-index:0;outline:none;box-shadow:0 .5px #ccc}::ng-deep .tru-card-portal-card:hover{background-color:#efefef;border:1px solid #efefef}::ng-deep .tru-card-portal-card p{word-wrap:break-word}::ng-deep .tru-card-portal-card:focus{outline:none}::ng-deep .tru-card-portal-card.empty{border:1px dashed #999}::ng-deep .tru-card-placeholder{position:absolute;left:0;right:0;margin:0;z-index:100;border-color:#0079bf;border-top-style:dashed;border-bottom-style:dashed}::ng-deep .tru-card-selected{border-color:#52a8eccc!important;background-color:#52a8eccc!important}::ng-deep .tru-card-selected p{color:#000!important}::ng-deep .tru-card-menu{position:absolute;top:20px;right:0;background:#fff;border:1px #ccc solid;border-radius:3px;z-index:1;padding:7px;width:200px}::ng-deep .tru-card-menu hr{height:1px;border:1px #ccc solid;border-bottom:0;border-left:0;border-right:0;width:100%;margin:0;padding:0}::ng-deep .tru-card-menu a{color:#777;text-decoration:none;float:left;line-height:16px;margin-top:2px;margin-bottom:2px}::ng-deep .tru-card-menu span{color:#777;float:left;line-height:16px;margin-top:3px}::ng-deep .tru-card-menu a:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-menu a:active,::ng-deep .tru-card-menu a:visited{color:#777}::ng-deep .tru-card-menu-move-container{width:100%!important;display:inline-flex}::ng-deep .tru-card-menu-move-container select{width:100%!important}::ng-deep .tru-card-menu-move-container a{margin-top:1px;margin-left:3px;display:block}::ng-deep .tru-card-menu-move-container span{color:#0079bf;margin-top:0}::ng-deep .tru-card-menu-move-container .move-button-disabled{pointer-events:none;opacity:.75}::ng-deep .tru-card-menu-move-container .move-button-disabled span{color:#ccc}::ng-deep .tru-card-portal-column-filtered{display:none}::ng-deep .tru-card-portal-card-filtered{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3065
3090
  }
3066
3091
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruCardColumn, decorators: [{
3067
3092
  type: Component,
3068
- args: [{ selector: 'tru-card-column', template: "<div class=\"tru-card\">\r\n <div *ngIf=\"isBusy\"\r\n class=\"tru-card-busy-indicator\">\r\n <p>Searching for {{config.childTablePluralLabel}}...</p>\r\n </div>\r\n <!--<tru-toolbar [config]=\"config.toolbarConfig\" class=\"main-toolbar\"></tru-toolbar>-->\r\n <div class=\"tru-card-portal\" #cardPortal>\r\n <div [ngStyle]=\"{'width': ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1)) + 'px' }\"\r\n [ngClass]=\"{'tru-card-portal-locked-columns-divider': lockedColumns.length}\"\r\n *ngIf=\"lockedColumns.length\"\r\n class=\"tru-card-portal-locked-columns locked-columns\">\r\n\r\n </div>\r\n <div [ngStyle]=\"{'left': lockedColumns.length ? ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1) + 22) + 'px' : 0 }\"\r\n class=\"tru-card-portal-columns unlocked-columns\">\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .tru-card-busy-indicator{position:absolute;inset:25px 0 0;z-index:10000;background-color:transparent}::ng-deep .tru-card-busy-indicator p{position:relative;float:left;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}::ng-deep .tru-card-filter{position:absolute;top:0;left:0;right:0;height:30px;line-height:30px;padding-left:10px}::ng-deep .tru-card-portal{position:absolute;inset:30px 10px 0;border:1px solid #ddd;padding:10px;background-color:#0079bf}::ng-deep .tru-card-portal-disabled>*{opacity:.75;pointer-events:none}::ng-deep .tru-card-portal-locked-columns{position:absolute;top:10px;left:0;bottom:0;padding:0 5px 10px 10px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column{margin-left:0;margin-bottom:0}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column:not(:first-child){margin-left:10px!important}::ng-deep .tru-card-portal-locked-columns-divider{border-right:1px solid #cdd2d4}::ng-deep .tru-card-portal-columns{position:absolute;inset:10px 10px 10px 222px;padding-top:0;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;overflow-x:auto;overflow-y:hidden}::ng-deep .tru-card-portal-column{position:relative;border:1px solid #ddd;border-radius:4px;background:#e2e4e6;vertical-align:top;max-height:calc(100% + 8px);margin-left:10px;margin-bottom:10px;display:flex;flex-direction:column}::ng-deep .tru-card-portal-column-inactive *{font-style:italic;opacity:.7}::ng-deep .tru-card-portal-column-header{flex:0 0 auto;padding:5px;position:relative;min-height:18px}::ng-deep .tru-card-portal-column-header-extras{position:absolute;right:5px;top:4px}::ng-deep .tru-card-portal-column-header-extra-button{border-radius:3px;background:transparent}::ng-deep .tru-card-portal-column-header-extra-button:hover{border-radius:3px;background:#cdd2d4}::ng-deep .tru-card-portal-column-footer{flex:0 0 auto;padding:0 3px 3px;position:relative;height:25px;line-height:25px;display:none}::ng-deep .tru-card-portal-column-footer-text{font-size:14px;color:#777;padding-left:5px;text-decoration:none}::ng-deep .tru-card-portal-column-footer-text:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-portal-column-footer-text:active,::ng-deep .tru-card-portal-column-footer-text:visited{color:#777}::ng-deep .tru-card-icon-small{color:#999;height:18px;font-size:14px;line-height:18px;width:19px;-webkit-font-smoothing:antialiased;display:inline-block!important;font-style:normal;font-weight:400;text-align:center;text-decoration:none;position:relative}::ng-deep .tru-card-portal-column-headertext{font-weight:700;font-size:16px;color:#333;padding-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:20px}::ng-deep .tru-card-portal-column-headertext-hover:hover{text-decoration:underline}::ng-deep .tru-card-portal-card-scroll-port{overflow-y:auto;overflow-x:hidden}::ng-deep .tru-card-portal-card-container{margin:0 3px;padding:0 2px;height:37px;transition:all .4s ease-out;opacity:1}::ng-deep .tru-card-portal-card-container.show{opacity:1}::ng-deep .tru-card-portal-card-container *{pointer-events:none}::ng-deep .tru-card-portal-card{background-color:#fff;border:1px solid #fff;border-radius:3px;padding:2px 6px 2px 8px;position:relative;cursor:pointer;display:block;min-height:15px;text-decoration:none;z-index:0;outline:none;box-shadow:0 .5px #ccc}::ng-deep .tru-card-portal-card:hover{background-color:#efefef;border:1px solid #efefef}::ng-deep .tru-card-portal-card p{word-wrap:break-word}::ng-deep .tru-card-portal-card:focus{outline:none}::ng-deep .tru-card-portal-card.empty{border:1px dashed #999}::ng-deep .tru-card-placeholder{position:absolute;left:0;right:0;margin:0;z-index:100;border-color:#0079bf;border-top-style:dashed;border-bottom-style:dashed}::ng-deep .tru-card-selected{border-color:#52a8eccc!important;background-color:#52a8eccc!important}::ng-deep .tru-card-selected p{color:#000!important}::ng-deep .tru-card-menu{position:absolute;top:20px;right:0;background:#fff;border:1px #ccc solid;border-radius:3px;z-index:1;padding:7px;width:200px}::ng-deep .tru-card-menu hr{height:1px;border:1px #ccc solid;border-bottom:0;border-left:0;border-right:0;width:100%;margin:0;padding:0}::ng-deep .tru-card-menu a{color:#777;text-decoration:none;float:left;line-height:16px;margin-top:2px;margin-bottom:2px}::ng-deep .tru-card-menu span{color:#777;float:left;line-height:16px;margin-top:3px}::ng-deep .tru-card-menu a:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-menu a:active,::ng-deep .tru-card-menu a:visited{color:#777}::ng-deep .tru-card-menu-move-container{width:100%!important;display:inline-flex}::ng-deep .tru-card-menu-move-container select{width:100%!important}::ng-deep .tru-card-menu-move-container a{margin-top:1px;margin-left:3px;display:block}::ng-deep .tru-card-menu-move-container span{color:#0079bf;margin-top:0}::ng-deep .tru-card-menu-move-container .move-button-disabled{pointer-events:none;opacity:.75}::ng-deep .tru-card-menu-move-container .move-button-disabled span{color:#ccc}::ng-deep .tru-card-portal-column-filtered{display:none}::ng-deep .tru-card-portal-card-filtered{display:none}\n"] }]
3069
- }], ctorParameters: () => [{ type: TruDataContext }, { type: TruModelTypeLookup }, { type: TruSearchViewEventHandler }], propDecorators: { config: [{
3093
+ args: [{ selector: 'tru-card-column', template: "<div class=\"tru-card\">\r\n <div *ngIf=\"isBusy\"\r\n class=\"tru-card-busy-indicator\">\r\n <p>Searching for {{config.childTablePluralLabel}}...</p>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"parentToolbarTemplate\"></ng-container>\r\n <!--<tru-toolbar [config]=\"config.toolbarConfig\" class=\"main-toolbar\"></tru-toolbar>-->\r\n <div class=\"tru-card-portal\" #cardPortal>\r\n <div [ngStyle]=\"{'width': ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1)) + 'px' }\"\r\n [ngClass]=\"{'tru-card-portal-locked-columns-divider': lockedColumns.length}\"\r\n *ngIf=\"lockedColumns.length\"\r\n class=\"tru-card-portal-locked-columns locked-columns\">\r\n\r\n </div>\r\n <div [ngStyle]=\"{'left': lockedColumns.length ? ((config.width * lockedColumns.length) + (10 * lockedColumns.length - 1) + 22) + 'px' : 0 }\"\r\n class=\"tru-card-portal-columns unlocked-columns\">\r\n\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep .tru-card-busy-indicator{position:absolute;inset:25px 0 0;z-index:10000;background-color:transparent}::ng-deep .tru-card-busy-indicator p{position:relative;float:left;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff}::ng-deep .tru-card-filter{position:absolute;top:0;left:0;right:0;height:30px;line-height:30px;padding-left:10px}::ng-deep .tru-card-portal{position:absolute;inset:30px 10px 0;border:1px solid #ddd;padding:10px;background-color:#0079bf}::ng-deep .tru-card-portal-disabled>*{opacity:.75;pointer-events:none}::ng-deep .tru-card-portal-locked-columns{position:absolute;top:10px;left:0;bottom:0;padding:0 5px 10px 10px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column{margin-left:0;margin-bottom:0}::ng-deep .tru-card-portal-locked-columns .tru-card-portal-column:not(:first-child){margin-left:10px!important}::ng-deep .tru-card-portal-locked-columns-divider{border-right:1px solid #cdd2d4}::ng-deep .tru-card-portal-columns{position:absolute;inset:10px 10px 10px 222px;padding-top:0;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;overflow-x:auto;overflow-y:hidden}::ng-deep .tru-card-portal-column{position:relative;border:1px solid #ddd;border-radius:4px;background:#e2e4e6;vertical-align:top;max-height:calc(100% + 8px);margin-left:10px;margin-bottom:10px;display:flex;flex-direction:column}::ng-deep .tru-card-portal-column-inactive *{font-style:italic;opacity:.7}::ng-deep .tru-card-portal-column-header{flex:0 0 auto;padding:5px;position:relative;min-height:18px}::ng-deep .tru-card-portal-column-header-extras{position:absolute;right:5px;top:4px}::ng-deep .tru-card-portal-column-header-extra-button{border-radius:3px;background:transparent}::ng-deep .tru-card-portal-column-header-extra-button:hover{border-radius:3px;background:#cdd2d4}::ng-deep .tru-card-portal-column-footer{flex:0 0 auto;padding:0 3px 3px;position:relative;height:25px;line-height:25px;display:none}::ng-deep .tru-card-portal-column-footer-text{font-size:14px;color:#777;padding-left:5px;text-decoration:none}::ng-deep .tru-card-portal-column-footer-text:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-portal-column-footer-text:active,::ng-deep .tru-card-portal-column-footer-text:visited{color:#777}::ng-deep .tru-card-icon-small{color:#999;height:18px;font-size:14px;line-height:18px;width:19px;-webkit-font-smoothing:antialiased;display:inline-block!important;font-style:normal;font-weight:400;text-align:center;text-decoration:none;position:relative}::ng-deep .tru-card-portal-column-headertext{font-weight:700;font-size:16px;color:#333;padding-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:20px}::ng-deep .tru-card-portal-column-headertext-hover:hover{text-decoration:underline}::ng-deep .tru-card-portal-card-scroll-port{overflow-y:auto;overflow-x:hidden}::ng-deep .tru-card-portal-card-container{margin:0 3px;padding:0 2px;height:37px;transition:all .4s ease-out;opacity:1}::ng-deep .tru-card-portal-card-container.show{opacity:1}::ng-deep .tru-card-portal-card-container *{pointer-events:none}::ng-deep .tru-card-portal-card{background-color:#fff;border:1px solid #fff;border-radius:3px;padding:2px 6px 2px 8px;position:relative;cursor:pointer;display:block;min-height:15px;text-decoration:none;z-index:0;outline:none;box-shadow:0 .5px #ccc}::ng-deep .tru-card-portal-card:hover{background-color:#efefef;border:1px solid #efefef}::ng-deep .tru-card-portal-card p{word-wrap:break-word}::ng-deep .tru-card-portal-card:focus{outline:none}::ng-deep .tru-card-portal-card.empty{border:1px dashed #999}::ng-deep .tru-card-placeholder{position:absolute;left:0;right:0;margin:0;z-index:100;border-color:#0079bf;border-top-style:dashed;border-bottom-style:dashed}::ng-deep .tru-card-selected{border-color:#52a8eccc!important;background-color:#52a8eccc!important}::ng-deep .tru-card-selected p{color:#000!important}::ng-deep .tru-card-menu{position:absolute;top:20px;right:0;background:#fff;border:1px #ccc solid;border-radius:3px;z-index:1;padding:7px;width:200px}::ng-deep .tru-card-menu hr{height:1px;border:1px #ccc solid;border-bottom:0;border-left:0;border-right:0;width:100%;margin:0;padding:0}::ng-deep .tru-card-menu a{color:#777;text-decoration:none;float:left;line-height:16px;margin-top:2px;margin-bottom:2px}::ng-deep .tru-card-menu span{color:#777;float:left;line-height:16px;margin-top:3px}::ng-deep .tru-card-menu a:hover{text-decoration:underline;color:#777}::ng-deep .tru-card-menu a:active,::ng-deep .tru-card-menu a:visited{color:#777}::ng-deep .tru-card-menu-move-container{width:100%!important;display:inline-flex}::ng-deep .tru-card-menu-move-container select{width:100%!important}::ng-deep .tru-card-menu-move-container a{margin-top:1px;margin-left:3px;display:block}::ng-deep .tru-card-menu-move-container span{color:#0079bf;margin-top:0}::ng-deep .tru-card-menu-move-container .move-button-disabled{pointer-events:none;opacity:.75}::ng-deep .tru-card-menu-move-container .move-button-disabled span{color:#ccc}::ng-deep .tru-card-portal-column-filtered{display:none}::ng-deep .tru-card-portal-card-filtered{display:none}\n"] }]
3094
+ }], ctorParameters: () => [{ type: TruDataContext }, { type: TruModelTypeLookup }, { type: TruSearchViewEventHandler }, { type: TruSearchResultViewManager }], propDecorators: { config: [{
3070
3095
  type: Input
3071
3096
  }], name: [{
3072
3097
  type: Input
@@ -3140,6 +3165,7 @@ class Column {
3140
3165
  selectAllButton;
3141
3166
  constructor(cardColumn, data, parentElement, locked, index) {
3142
3167
  this.cardColumn = cardColumn;
3168
+ this.data = data;
3143
3169
  this.locked = locked;
3144
3170
  this.parentElement = parentElement;
3145
3171
  let columnElement = document.createElement('div');
@@ -4936,22 +4962,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
4936
4962
  type: Injectable
4937
4963
  }] });
4938
4964
 
4939
- class TruSearchResultViewManager {
4940
- _searchViewToolbarTemplate;
4941
- constructor() { }
4942
- set searchViewToolbarTemplate(temp) {
4943
- this._searchViewToolbarTemplate = temp;
4944
- }
4945
- get searchViewToolbarTemplate() {
4946
- return this._searchViewToolbarTemplate;
4947
- }
4948
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruSearchResultViewManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4949
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruSearchResultViewManager });
4950
- }
4951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruSearchResultViewManager, decorators: [{
4952
- type: Injectable
4953
- }], ctorParameters: () => [] });
4954
-
4955
4965
  class TruMergeData {
4956
4966
  _value;
4957
4967
  _modifiedBy;