Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@twnd/ux / table / row.ts
Size: Mime:
/**
 * @license
 * FOURBURNER CONFIDENTIAL
 * Unpublished Copyright (C) 2021 FourBurner Technologies, Inc. All Rights Reserved.
 *
 * NOTICE: All information contained herein is, and remains the property of FOURBURNER TECHNOLOGIES,
 * INC. The intellectual and technical concepts contained herein are proprietary to FOURBURNER
 * TECHNOLOGIES, INC. and may be covered by U.S. and Foreign Patents, patents in process, and are
 * protected by trade secret or copyright law. Dissemination of this information or reproduction of
 * this material is strictly forbidden unless prior written permission is obtained from FOURBURNER
 * TECHNOLOGIES, INC. Access to the source code contained herein is hereby forbidden to anyone
 * except current FOURBURNER TECHNOLOGIES, INC. employees, managers or contractors who have executed
 * Confidentiality and Non-disclosure agreements explicitly covering such access.
 *
 * The copyright notice above does not evidence any actual or intended publication or disclosure of
 * this source code, which includes information that is confidential and/or proprietary, and is a
 * trade secret, of FOURBURNER TECHNOLOGIES, INC. ANY REPRODUCTION, MODIFICATION, DISTRIBUTION,
 * PUBLIC PERFORMANCE, OR PUBLIC DISPLAY OF OR THROUGH USE OF THIS SOURCE CODE WITHOUT THE EXPRESS
 * WRITTEN CONSENT OF FOURBURNER TECHNOLOGIES, INC. IS STRICTLY PROHIBITED, AND IN VIOLATION OF
 * APPLICABLE LAWS AND INTERNATIONAL TREATIES. THE RECEIPT OR POSSESSION OF THIS SOURCE CODE AND/OR
 * RELATED INFORMATION DOES NOT CONVEY OR IMPLY ANY RIGHTS TO REPRODUCE, DISCLOSE OR DISTRIBUTE ITS
 * CONTENTS, OR TO MANUFACTURE, USE, OR SELL ANYTHING THAT IT MAY DESCRIBE, IN WHOLE OR IN PART.
 */

import {
  CDK_ROW_TEMPLATE,
  CdkFooterRow,
  CdkFooterRowDef,
  CdkHeaderRow,
  CdkHeaderRowDef,
  CdkRow,
  CdkRowDef,
  CdkNoDataRow,
} from '@angular/cdk/table';
import {ChangeDetectionStrategy, Component, Directive, ViewEncapsulation} from '@angular/core';

/**
 * Header row definition for the twnd-table.
 * Captures the header row's template and other header properties such as the columns to display.
 */
@Directive({
  selector : '[twndHeaderRowDef]',
  providers : [ {provide : CdkHeaderRowDef, useExisting : TWNDHeaderRowDef} ],
  inputs : [ 'columns: twndHeaderRowDef', 'sticky: twndHeaderRowDefSticky' ],
})
export class TWNDHeaderRowDef extends CdkHeaderRowDef
{}

/**
 * Footer row definition for the twnd-table.
 * Captures the footer row's template and other footer properties such as the columns to display.
 */
@Directive({
  selector : '[twndFooterRowDef]',
  providers : [ {provide : CdkFooterRowDef, useExisting : TWNDFooterRowDef} ],
  inputs : [ 'columns: twndFooterRowDef', 'sticky: twndFooterRowDefSticky' ],
})
export class TWNDFooterRowDef extends CdkFooterRowDef
{}

/**
 * Data row definition for the twnd-table.
 * Captures the data row's template and other properties such as the columns to display and
 * a when predicate that describes when this row should be used.
 */
@Directive({
  selector : '[twndRowDef]',
  providers : [ {provide : CdkRowDef, useExisting : TWNDRowDef} ],
  inputs : [ 'columns: twndRowDefColumns', 'when: twndRowDefWhen' ],
})
export class TWNDRowDef<T> extends CdkRowDef<T>
{}

/** Header template container that contains the cell outlet. Adds the right class and role. */
@Component({
  selector : 'twnd-header-row, tr[twnd-header-row]',
  template : CDK_ROW_TEMPLATE,
  host : {
          'class' : 'twnd-header-row',
          'role' : 'row',
          },
 // See note on CdkTable for explanation on why this uses the default change detection strategy.
  // tslint:disable-next-line:validate-decorators
  changeDetection : ChangeDetectionStrategy.Default,
  encapsulation : ViewEncapsulation.None,
  exportAs : 'twndHeaderRow',
  providers : [ {provide : CdkHeaderRow,                                      useExisting : TWNDHeaderRow}
    ],
})
export class TWNDHeaderRow extends CdkHeaderRow
{}

/** Footer template container that contains the cell outlet. Adds the right class and role. */
@Component({
  selector : 'twnd-footer-row, tr[twnd-footer-row]',
  template : CDK_ROW_TEMPLATE,
  host : {
          'class' : 'twnd-footer-row',
          'role' : 'row',
          },
 // See note on CdkTable for explanation on why this uses the default change detection strategy.
  // tslint:disable-next-line:validate-decorators
  changeDetection : ChangeDetectionStrategy.Default,
  encapsulation : ViewEncapsulation.None,
  exportAs : 'twndFooterRow',
  providers : [ {provide : CdkFooterRow,                                      useExisting : TWNDFooterRow}
    ],
})
export class TWNDFooterRow extends CdkFooterRow
{}

/** Data row template container that contains the cell outlet. Adds the right class and role. */
@Component({
  selector : 'twnd-row, tr[twnd-row]',
  template : CDK_ROW_TEMPLATE,
  host : {
          'class' : 'twnd-row',
          'role' : 'row',
          },
 // See note on CdkTable for explanation on why this uses the default change detection strategy.
  // tslint:disable-next-line:validate-decorators
  changeDetection : ChangeDetectionStrategy.Default,
  encapsulation : ViewEncapsulation.None,
  exportAs : 'twndRow',
  providers : [ {provide : CdkRow,                               useExisting : TWNDRow}
    ],
})
export class TWNDRow extends CdkRow
{}

/** Row that can be used to display a message when no data is shown in the table. */
@Directive({
  selector : 'ng-template[twndNoDataRow]',
  providers : [ {provide : CdkNoDataRow, useExisting : TWNDNoDataRow} ],
})
export class TWNDNoDataRow extends CdkNoDataRow
{
  // override _contentClassName = 'twnd-no-data-row';
}