novo-elements 9.3.0-next.2 → 9.3.0-next.3
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/elements/chips/RowChips.scss +9 -1
- package/esm2020/elements/aside/aside.component.mjs +3 -3
- package/esm2020/elements/autocomplete/autocomplete.component.mjs +2 -2
- package/esm2020/elements/button/Button.mjs +2 -2
- package/esm2020/elements/calendar/calendar.component.mjs +2 -2
- package/esm2020/elements/calendar/month-view/month-view.component.mjs +2 -2
- package/esm2020/elements/card/Card.mjs +2 -2
- package/esm2020/elements/checkbox/CheckList.mjs +2 -2
- package/esm2020/elements/checkbox/Checkbox.mjs +2 -2
- package/esm2020/elements/chips/Chip.mjs +2 -2
- package/esm2020/elements/chips/RowChips.mjs +5 -3
- package/esm2020/elements/color-picker/color-picker.component.mjs +2 -2
- package/esm2020/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.mjs +2 -2
- package/esm2020/elements/data-table/data-table.component.mjs +3 -3
- package/esm2020/elements/date-picker/DatePicker.mjs +3 -3
- package/esm2020/elements/date-picker/DatePickerInput.mjs +2 -2
- package/esm2020/elements/date-picker/DateRangeInput.mjs +2 -2
- package/esm2020/elements/date-time-picker/DateTimePicker.mjs +3 -3
- package/esm2020/elements/field/field.mjs +2 -2
- package/esm2020/elements/field/hint/hint.mjs +2 -2
- package/esm2020/elements/form/DynamicForm.mjs +3 -3
- package/esm2020/elements/form/Form.mjs +2 -2
- package/esm2020/elements/form/extras/file/FileInput.mjs +2 -2
- package/esm2020/elements/header/Header.mjs +2 -2
- package/esm2020/elements/layout/container/layout-container.component.mjs +2 -2
- package/esm2020/elements/loading/Loading.mjs +4 -4
- package/esm2020/elements/menu/menu-content.component.mjs +2 -2
- package/esm2020/elements/modal/modal-container.component.mjs +3 -3
- package/esm2020/elements/picker/Picker.mjs +2 -2
- package/esm2020/elements/progress/ProgressBar.mjs +2 -2
- package/esm2020/elements/query-builder/condition-builder/condition-builder.component.mjs +3 -3
- package/esm2020/elements/search/SearchBox.mjs +2 -2
- package/esm2020/elements/select/Select.mjs +2 -2
- package/esm2020/elements/simple-table/table.mjs +5 -5
- package/esm2020/elements/stepper/step-header.component.mjs +2 -2
- package/esm2020/elements/switch/Switch.mjs +2 -2
- package/esm2020/elements/table/Table.mjs +2 -2
- package/esm2020/elements/time-picker/TimePicker.mjs +2 -2
- package/esm2020/elements/time-picker/TimePickerInput.mjs +2 -2
- package/esm2020/elements/toast/Toast.mjs +2 -2
- package/esm2020/elements/tooltip/Tooltip.component.mjs +3 -3
- package/esm2020/elements/value/Value.mjs +2 -2
- package/fesm2015/novo-elements-elements-aside.mjs +2 -2
- package/fesm2015/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-autocomplete.mjs +2 -2
- package/fesm2015/novo-elements-elements-autocomplete.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-button.mjs +2 -2
- package/fesm2015/novo-elements-elements-button.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-calendar.mjs +4 -4
- package/fesm2015/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-card.mjs +2 -2
- package/fesm2015/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-checkbox.mjs +4 -4
- package/fesm2015/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-chips.mjs +6 -4
- package/fesm2015/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-color-picker.mjs +2 -2
- package/fesm2015/novo-elements-elements-color-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-common.mjs +2 -2
- package/fesm2015/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-data-table.mjs +2 -2
- package/fesm2015/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-picker.mjs +6 -6
- package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-time-picker.mjs +2 -2
- package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-field.mjs +4 -4
- package/fesm2015/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-form.mjs +6 -6
- package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-header.mjs +2 -2
- package/fesm2015/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-layout.mjs +2 -2
- package/fesm2015/novo-elements-elements-layout.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-loading.mjs +4 -4
- package/fesm2015/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-menu.mjs +2 -2
- package/fesm2015/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-modal.mjs +2 -2
- package/fesm2015/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-picker.mjs +2 -2
- package/fesm2015/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-progress.mjs +2 -2
- package/fesm2015/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-query-builder.mjs +2 -2
- package/fesm2015/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-search.mjs +2 -2
- package/fesm2015/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-select.mjs +2 -2
- package/fesm2015/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-simple-table.mjs +4 -4
- package/fesm2015/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-stepper.mjs +2 -2
- package/fesm2015/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-switch.mjs +2 -2
- package/fesm2015/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-table.mjs +2 -2
- package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-time-picker.mjs +4 -4
- package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-toast.mjs +2 -2
- package/fesm2015/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tooltip.mjs +2 -2
- package/fesm2015/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-value.mjs +2 -2
- package/fesm2015/novo-elements-elements-value.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-aside.mjs +2 -2
- package/fesm2020/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-autocomplete.mjs +2 -2
- package/fesm2020/novo-elements-elements-autocomplete.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-button.mjs +2 -2
- package/fesm2020/novo-elements-elements-button.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-calendar.mjs +4 -4
- package/fesm2020/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-card.mjs +2 -2
- package/fesm2020/novo-elements-elements-card.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-checkbox.mjs +4 -4
- package/fesm2020/novo-elements-elements-checkbox.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-chips.mjs +6 -4
- package/fesm2020/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-color-picker.mjs +2 -2
- package/fesm2020/novo-elements-elements-color-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-common.mjs +2 -2
- package/fesm2020/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-data-table.mjs +2 -2
- package/fesm2020/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-picker.mjs +6 -6
- package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-time-picker.mjs +2 -2
- package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-field.mjs +4 -4
- package/fesm2020/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-form.mjs +6 -6
- package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-header.mjs +2 -2
- package/fesm2020/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-layout.mjs +2 -2
- package/fesm2020/novo-elements-elements-layout.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-loading.mjs +4 -4
- package/fesm2020/novo-elements-elements-loading.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-menu.mjs +2 -2
- package/fesm2020/novo-elements-elements-menu.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-modal.mjs +2 -2
- package/fesm2020/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-picker.mjs +2 -2
- package/fesm2020/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-progress.mjs +2 -2
- package/fesm2020/novo-elements-elements-progress.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-query-builder.mjs +2 -2
- package/fesm2020/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-search.mjs +2 -2
- package/fesm2020/novo-elements-elements-search.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-select.mjs +2 -2
- package/fesm2020/novo-elements-elements-select.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-simple-table.mjs +4 -4
- package/fesm2020/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-stepper.mjs +2 -2
- package/fesm2020/novo-elements-elements-stepper.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-switch.mjs +2 -2
- package/fesm2020/novo-elements-elements-switch.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-table.mjs +2 -2
- package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-time-picker.mjs +4 -4
- package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-toast.mjs +2 -2
- package/fesm2020/novo-elements-elements-toast.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tooltip.mjs +2 -2
- package/fesm2020/novo-elements-elements-tooltip.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-value.mjs +2 -2
- package/fesm2020/novo-elements-elements-value.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-simple-table.mjs","sources":["../../../projects/novo-elements/src/elements/simple-table/activity-table-renderers.ts","../../../projects/novo-elements/src/elements/simple-table/state.ts","../../../projects/novo-elements/src/elements/simple-table/sort.ts","../../../projects/novo-elements/src/elements/simple-table/cell.ts","../../../projects/novo-elements/src/elements/simple-table/cell-header.ts","../../../projects/novo-elements/src/elements/simple-table/pagination.ts","../../../projects/novo-elements/src/elements/simple-table/row.ts","../../../projects/novo-elements/src/elements/simple-table/table-source.ts","../../../projects/novo-elements/src/elements/simple-table/table.ts","../../../projects/novo-elements/src/elements/simple-table/simple-table.module.ts","../../../projects/novo-elements/src/elements/simple-table/novo-elements-elements-simple-table.ts"],"sourcesContent":["export class ActivityTableRenderers {\n static propertyRenderer<T>(prop: string): Function {\n const ret = (data: T): string => {\n // TODO - allow for dots and sub props\n return data[prop];\n };\n return ret;\n }\n\n static dateRenderer<T>(prop: string): Function {\n const ret = (data: T): string => {\n return data[prop] ? new Date(data[prop]).toLocaleDateString() : '';\n };\n return ret;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { NovoSimpleTableChange } from './interfaces';\n\n@Injectable()\nexport class NovoActivityTableState {\n id: number = Math.random();\n sort: { id: string; value: string } = undefined;\n filter: { id: string; value: string } = undefined;\n page: number = 0;\n pageSize: number = undefined;\n globalSearch: string = undefined;\n selectedRows: Map<string, object> = new Map<string, object>();\n outsideFilter: any;\n\n updates: EventEmitter<NovoSimpleTableChange> = new EventEmitter<NovoSimpleTableChange>();\n onReset: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get userFiltered(): boolean {\n return !!(this.filter || this.sort || this.globalSearch || this.outsideFilter);\n }\n\n public reset(fireUpdate: boolean = true, persistUserFilters?: boolean): void {\n if (!persistUserFilters) {\n this.sort = undefined;\n this.globalSearch = undefined;\n this.filter = undefined;\n }\n this.page = 0;\n this.selectedRows.clear();\n this.onReset.emit(true);\n if (fireUpdate) {\n this.updates.emit({\n sort: this.sort,\n filter: this.filter,\n globalSearch: this.globalSearch,\n });\n }\n }\n}\n","import { Directive, EventEmitter, OnDestroy, Output } from '@angular/core';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoActivityTableState } from './state';\n\n@Directive({\n selector: '[novoSortFilter]',\n})\nexport class NovoSortFilter {\n constructor(private state: NovoActivityTableState) {}\n\n public filter(id: string, value: any, transform: Function): void {\n let filter;\n if (!Helpers.isBlank(value)) {\n filter = { id, value, transform };\n } else {\n filter = undefined;\n }\n this.state.filter = filter;\n this.state.reset(false, true);\n this.state.updates.next({ filter, sort: this.state.sort });\n }\n\n public sort(id: string, value: string, transform: Function): void {\n const sort = { id, value, transform };\n this.state.sort = sort;\n this.state.reset(false, true);\n this.state.updates.next({ sort, filter: this.state.filter });\n }\n}\n\n@Directive({\n selector: '[novoSelection]',\n})\nexport class NovoSelection implements OnDestroy {\n @Output()\n public novoSelectAllToggle = new EventEmitter<boolean>();\n\n public allRows = new Map<string, object>();\n private throttleTimeout: any;\n\n constructor(public state: NovoActivityTableState) {}\n\n public register(id, row): void {\n this.allRows.set(id, row);\n }\n\n public deregister(id): void {\n this.allRows.delete(id);\n this.state.selectedRows.delete(id);\n clearTimeout(this.throttleTimeout);\n this.throttleTimeout = setTimeout(() => {\n if (this.state.selectedRows.size === 0) {\n this.novoSelectAllToggle.emit(false);\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.allRows.clear();\n this.state.selectedRows.clear();\n }\n\n public toggle(id: string, selected: boolean, row: any): void {\n if (selected) {\n this.state.selectedRows.set(id, row);\n } else {\n this.state.selectedRows.delete(id);\n }\n }\n\n public selectAll(value: boolean): void {\n if (value) {\n this.state.selectedRows = new Map<string, object>(this.allRows);\n } else {\n this.state.selectedRows.clear();\n }\n this.novoSelectAllToggle.emit(value);\n }\n}\n","import { CdkCell, CdkCellDef, CdkColumnDef, CdkHeaderCell, CdkHeaderCellDef } from '@angular/cdk/table';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { SimpleTableActionColumn, SimpleTableActionColumnOption, SimpleTableColumn } from './interfaces';\nimport { NovoSelection } from './sort';\n\n/** Workaround for https://github.com/angular/angular/issues/17849 */\nexport const _NovoCellDef = CdkCellDef;\nexport const _NovoHeaderCellDef = CdkHeaderCellDef;\nexport const _NovoColumnDef = CdkColumnDef;\nexport const _NovoHeaderCell = CdkHeaderCell;\nexport const _NovoCell = CdkCell;\n\n@Directive({\n selector: '[novoSimpleCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: NovoSimpleCellDef }],\n})\nexport class NovoSimpleCellDef extends _NovoCellDef {\n // TODO: add explicit constructor\n}\n\n@Directive({\n selector: '[novoSimpleHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: NovoSimpleHeaderCellDef }],\n})\nexport class NovoSimpleHeaderCellDef extends _NovoHeaderCellDef {\n // TODO: add explicit constructor\n}\n\n@Directive({\n selector: '[novoSimpleColumnDef]',\n providers: [{ provide: CdkColumnDef, useExisting: NovoSimpleColumnDef }],\n})\nexport class NovoSimpleColumnDef extends _NovoColumnDef {\n @Input('novoSimpleColumnDef')\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._setNameInput(name);\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n protected _setNameInput(value: string) {\n // If the directive is set without a name (updated programatically), then this setter will\n // trigger with an empty string and should not overwrite the programatically set value.\n if (value) {\n this._name = value;\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/gi, '-');\n this._updateColumnCssClassName();\n }\n }\n}\n\n@Directive({\n selector: 'novo-simple-header-cell',\n})\nexport class NovoSimpleHeaderCell<T> extends _NovoHeaderCell implements OnInit {\n @HostBinding('attr.role')\n public role = 'columnheader';\n\n @Input()\n public column: SimpleTableColumn<T>;\n\n constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-header-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-header-cell');\n }\n\n public ngOnInit(): void {\n if (this.column.width) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'min-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.column.width}px`);\n }\n }\n}\n\n@Directive({\n selector: 'novo-simple-empty-header-cell',\n})\nexport class NovoSimpleEmptyHeaderCell extends _NovoHeaderCell {\n @HostBinding('attr.role')\n public role = 'columnheader';\n\n constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-header-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-empty-header-cell');\n }\n}\n\n@Component({\n selector: 'novo-simple-checkbox-header-cell',\n template: `<novo-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"toggle($event)\"></novo-checkbox>`,\n})\nexport class NovoSimpleCheckboxHeaderCell extends _NovoHeaderCell implements OnDestroy {\n @HostBinding('attr.role')\n public role = 'columnheader';\n\n public selectAll: boolean = false;\n private selectAllSubscription: Subscription;\n\n constructor(\n columnDef: CdkColumnDef,\n elementRef: ElementRef,\n renderer: Renderer2,\n ref: ChangeDetectorRef,\n @Optional() private _selection: NovoSelection,\n ) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-checkbox-column-header-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-checkbox-header-cell');\n\n this.selectAllSubscription = _selection.novoSelectAllToggle.subscribe((value: boolean) => {\n this.selectAll = value;\n ref.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.selectAllSubscription.unsubscribe();\n }\n\n public toggle(value: boolean): void {\n this._selection.selectAll(value);\n }\n}\n\n@Component({\n selector: 'novo-simple-cell',\n template: ` <span [class.clickable]=\"!!column.onClick\" (click)=\"onClick($event)\" #span>{{ column.renderer(row) }}</span> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleCell<T> extends _NovoCell implements OnInit {\n @HostBinding('attr.role')\n public role = 'gridcell';\n\n @Input()\n public row: any;\n @Input()\n public column: SimpleTableColumn<T>;\n\n constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-cell');\n }\n\n public ngOnInit(): void {\n if (this.column.customClass) {\n this.renderer.addClass(this.elementRef.nativeElement, this.column.customClass(this.row));\n }\n if (this.column.width) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'min-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.column.width}px`);\n // TODO - this inhibits resizing the page after the initial load -- but do we care?!?!\n // this.renderer.setStyle(this.spanElement.nativeElement, 'min-width', `${this.column.width - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'max-width', `${this.column.width - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'width', `${this.column.width - 20}px`);\n }\n // else {\n // // TODO - this inhibits resizing the page after the initial load -- but do we care?!?!\n // this.renderer.setStyle(this.spanElement.nativeElement, 'min-width', `${this.elementRef.nativeElement.offsetWidth - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'max-width', `${this.elementRef.nativeElement.offsetWidth - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'width', `${this.elementRef.nativeElement.offsetWidth - 20}px`);\n // }\n }\n\n public onClick(event: MouseEvent): void {\n Helpers.swallowEvent(event);\n if (this.column.onClick) {\n this.column.onClick(this.row);\n }\n return;\n }\n}\n\n@Component({\n selector: 'novo-simple-checkbox-cell',\n template: ` <novo-checkbox [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\"></novo-checkbox> `,\n})\nexport class NovoSimpleCheckboxCell extends _NovoCell implements OnDestroy, OnInit {\n @HostBinding('attr.role')\n public role = 'gridcell';\n\n @Input()\n public row: any;\n @Input()\n public index: any;\n\n public selected: boolean = false;\n private selectAllSubscription: Subscription;\n\n constructor(public columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2, @Optional() public _selection: NovoSelection) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-checkbox-cell');\n\n this.selectAllSubscription = _selection.novoSelectAllToggle.subscribe((value: boolean) => {\n this.selected = value;\n });\n }\n\n public ngOnInit(): void {\n this._selection.register(this.row.id || this.index, this.row);\n this.selected = this._selection.state.selectedRows.has(this.row.id || this.index);\n }\n\n public ngOnDestroy(): void {\n this._selection.deregister(this.row.id || this.index);\n this.selectAllSubscription.unsubscribe();\n }\n\n public toggle(value: boolean): void {\n this._selection.toggle(this.row.id || this.index, value, this.row);\n }\n}\n\n@Component({\n selector: 'novo-simple-action-cell',\n template: `\n <ng-container *ngIf=\"!column.options\">\n <novo-button theme=\"icon\" [icon]=\"column.icon\" (click)=\"column.onClick(row)\" [disabled]=\"isDisabled(column, row)\"></novo-button>\n </ng-container>\n <ng-container *ngIf=\"column.options\">\n <novo-dropdown parentScrollSelector=\".novo-simple-table\" containerClass=\"novo-table-dropdown-cell\">\n <novo-button type=\"button\" theme=\"dialogue\" icon=\"collapse\" inverse>{{ column.label || labels.actions }}</novo-button>\n <list>\n <item *ngFor=\"let option of column.options\" (action)=\"option.onClick(row)\" [disabled]=\"isDisabled(option, row)\">\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </item>\n </list>\n </novo-dropdown>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleActionCell<T> extends _NovoCell implements OnInit {\n @HostBinding('attr.role')\n public role = 'gridcell';\n\n @Input()\n public row: T;\n @Input()\n public column: SimpleTableActionColumn<T>;\n\n constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2, public labels: NovoLabelService) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-action-column-${columnDef.cssClassFriendlyName}`);\n }\n\n public ngOnInit(): void {\n if (this.column.options) {\n this.renderer.addClass(this.elementRef.nativeElement, 'novo-simple-dropdown-cell');\n } else {\n this.renderer.addClass(this.elementRef.nativeElement, 'novo-simple-button-cell');\n }\n }\n\n public isDisabled(check: SimpleTableActionColumn<T> | SimpleTableActionColumnOption<T>, row: T): boolean {\n if (check.disabled === true) {\n return true;\n }\n if (check.disabledCheck) {\n return check.disabledCheck(row);\n }\n return false;\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkColumnDef } from '@angular/cdk/table';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { startOfToday, startOfTomorrow } from 'date-fns';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\nimport { NovoDropdownElement } from 'novo-elements/elements/dropdown';\nimport { NovoSimpleSortFilter, NovoSimpleTableChange, SimpleTableColumnFilterConfig, SimpleTableColumnFilterOption } from './interfaces';\nimport { NovoSortFilter } from './sort';\nimport { NovoActivityTableState } from './state';\n\n@Directive({\n selector: '[novoSimpleFilterFocus]',\n})\nexport class NovoSimpleFilterFocus implements AfterViewInit {\n constructor(private element: ElementRef) {}\n\n ngAfterViewInit() {\n this.element.nativeElement.focus();\n }\n}\n\n@Component({\n selector: '[novo-simple-cell-config]',\n template: `\n <label (click)=\"sort()\" data-automation-id=\"novo-activity-table-label\" [class.sort-disabled]=\"!config.sortable\">\n <ng-content></ng-content>\n </label>\n <div>\n <novo-button\n *ngIf=\"config.sortable\"\n theme=\"icon\"\n [icon]=\"icon\"\n (click)=\"sort()\"\n [class.active]=\"sortActive\"\n data-automation-id=\"novo-activity-table-sort\"\n ></novo-button>\n <novo-dropdown\n *ngIf=\"config.filterable\"\n side=\"right\"\n parentScrollSelector=\".novo-simple-table\"\n containerClass=\"simple-table-dropdown\"\n data-automation-id=\"novo-activity-table-filter\"\n >\n <novo-button type=\"button\" theme=\"icon\" icon=\"filter\" [class.active]=\"filterActive\"></novo-button>\n <div class=\"header\">\n <span>{{ labels.filters }}</span>\n <novo-button\n theme=\"dialogue\"\n color=\"negative\"\n icon=\"times\"\n (click)=\"clearFilter()\"\n *ngIf=\"filter\"\n data-automation-id=\"novo-activity-table-filter-clear\"\n >\n {{ labels.clear }}\n </novo-button>\n </div>\n <ng-container [ngSwitch]=\"config.filterConfig.type\">\n <novo-optgroup *ngSwitchCase=\"'date'\">\n <ng-container *ngIf=\"!showCustomRange\">\n <novo-option\n [class.active]=\"activeDateFilter === option.label\"\n *ngFor=\"let option of config.filterConfig.options\"\n (click)=\"filterData(option)\"\n [attr.data-automation-id]=\"'novo-activity-table-filter-' + option.label\"\n >\n {{ option.label }} <i class=\"bhi-check\" *ngIf=\"activeDateFilter === option.label\"></i>\n </novo-option>\n </ng-container>\n <novo-option\n [class.active]=\"labels.customDateRange === activeDateFilter\"\n (click)=\"toggleCustomRange($event, true)\"\n *ngIf=\"config.filterConfig.allowCustomRange && !showCustomRange\"\n [keepOpen]=\"true\"\n >\n {{ labels.customDateRange }} <i class=\"bhi-check\" *ngIf=\"labels.customDateRange === activeDateFilter\"></i>\n </novo-option>\n <div class=\"calendar-container\" *ngIf=\"showCustomRange\">\n <div (click)=\"toggleCustomRange($event, false)\"><i class=\"bhi-previous\"></i>{{ labels.backToPresetFilters }}</div>\n <novo-date-picker (onSelect)=\"filterData($event)\" [(ngModel)]=\"filter\" range=\"true\"></novo-date-picker>\n </div>\n </novo-optgroup>\n <novo-optgroup *ngSwitchCase=\"'select'\">\n <novo-option\n [class.active]=\"filter === option\"\n *ngFor=\"let option of config.filterConfig.options\"\n (click)=\"filterData(option)\"\n [attr.data-automation-id]=\"'novo-activity-table-filter-' + (option?.label || option)\"\n >\n <span>{{ option?.label || option }}</span>\n <i class=\"bhi-check\" *ngIf=\"option.hasOwnProperty('value') ? filter === option.value : filter === option\"></i>\n </novo-option>\n </novo-optgroup>\n <novo-optgroup *ngSwitchDefault>\n <novo-option class=\"filter-search\" keepOpen>\n <input\n type=\"text\"\n [(ngModel)]=\"filter\"\n (ngModelChange)=\"filterData($event)\"\n novoSimpleFilterFocus\n data-automation-id=\"novo-activity-table-filter-input\"\n />\n </novo-option>\n </novo-optgroup>\n </ng-container>\n </novo-dropdown>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleCellHeader implements NovoSimpleSortFilter, OnInit, OnDestroy {\n @ViewChild(NovoDropdownElement)\n dropdown: NovoDropdownElement;\n\n @Input()\n defaultSort: { id: string; value: string };\n\n @Input('novo-simple-cell-config')\n get config() {\n return this._config;\n }\n\n set config(v) {\n if (!v) {\n this._config = {\n sortable: false,\n filterable: false,\n filterConfig: {\n type: 'text',\n },\n };\n } else {\n this._config = {\n sortable: coerceBooleanProperty(v.sortable),\n filterable: coerceBooleanProperty(v.filterable),\n transforms: v.transforms || {},\n filterConfig: v.filterConfig || {\n type: 'text',\n },\n };\n\n if (this._config.filterConfig.type === 'date' && !this._config.filterConfig.options) {\n this._config.filterConfig.options = this.getDefaultDateFilterOptions();\n }\n }\n }\n\n private _config: {\n sortable: boolean;\n filterable: boolean;\n transforms?: { filter?: Function; sort?: Function };\n filterConfig: SimpleTableColumnFilterConfig;\n };\n\n private _rerenderSubscription: Subscription;\n private changeTimeout: any;\n\n public icon: string = 'sortable';\n public id: string;\n public filter: string | boolean;\n public direction: string;\n public filterActive: boolean = false;\n public sortActive: boolean = false;\n public showCustomRange: boolean = false;\n public activeDateFilter: string;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n public labels: NovoLabelService,\n private state: NovoActivityTableState,\n @Optional() public _sort: NovoSortFilter,\n @Optional() public _cdkColumnDef: CdkColumnDef,\n ) {\n this._rerenderSubscription = state.updates.subscribe((change: NovoSimpleTableChange) => {\n if (change.sort && change.sort.id === this.id) {\n this.icon = `sort-${change.sort.value}`;\n this.sortActive = true;\n } else {\n this.icon = 'sortable';\n this.sortActive = false;\n }\n if (change.filter && change.filter.id === this.id) {\n this.filterActive = true;\n this.filter = change.filter.value;\n } else {\n this.filterActive = false;\n this.filter = undefined;\n }\n changeDetectorRef.markForCheck();\n });\n }\n\n public ngOnInit(): void {\n if (this._cdkColumnDef) {\n this.id = this._cdkColumnDef.name;\n }\n if (this.defaultSort && this.id === this.defaultSort.id) {\n this.icon = `sort-${this.defaultSort.value}`;\n this.sortActive = true;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n public ngOnDestroy(): void {\n this._rerenderSubscription.unsubscribe();\n }\n\n public sort(): void {\n if (this.changeTimeout) {\n clearTimeout(this.changeTimeout);\n }\n this.changeTimeout = setTimeout(() => {\n this.direction = this.getNextSortDirection(this.direction);\n this._sort.sort(this.id, this.direction, this._config.transforms.sort);\n this.changeDetectorRef.markForCheck();\n }, 300);\n }\n\n public toggleCustomRange(event: Event, value: boolean): void {\n Helpers.swallowEvent(event);\n this.showCustomRange = value;\n this.changeDetectorRef.markForCheck();\n this.dropdown.openPanel(); // Ensures that the panel correctly updates to the dynamic size of the dropdown\n }\n\n public filterData(filter?: any): void {\n let actualFilter = filter;\n if (this.config.filterConfig.type === 'date' && filter) {\n this.activeDateFilter = filter.label || this.labels.customDateRange;\n if (filter.startDate && filter.endDate) {\n actualFilter = {\n min: DateUtil.startOfDay(filter.startDate.date),\n max: DateUtil.startOfDay(DateUtil.addDays(DateUtil.startOfDay(filter.endDate.date), 1)),\n };\n } else {\n actualFilter = {\n min: filter.min ? DateUtil.addDays(startOfToday(), filter.min) : startOfToday(),\n max: filter.max ? DateUtil.addDays(startOfTomorrow(), filter.max) : startOfTomorrow(),\n };\n }\n }\n\n if (actualFilter && actualFilter.hasOwnProperty('value')) {\n actualFilter = filter.value;\n }\n\n if (this.changeTimeout) {\n clearTimeout(this.changeTimeout);\n }\n\n this.changeTimeout = setTimeout(() => {\n if (actualFilter === '') {\n actualFilter = undefined;\n }\n this._sort.filter(this.id, actualFilter, this.config.transforms.filter);\n this.changeDetectorRef.markForCheck();\n }, 300);\n }\n\n public clearFilter(): void {\n this.filter = undefined;\n this.activeDateFilter = undefined;\n this.filterData();\n }\n\n private getNextSortDirection(direction: string): string {\n if (!direction) {\n return 'asc';\n }\n if (direction === 'asc') {\n return 'desc';\n }\n return 'asc';\n }\n\n private getDefaultDateFilterOptions(): SimpleTableColumnFilterOption[] {\n const opts: SimpleTableColumnFilterOption[] = [\n { label: this.labels.past1Day, min: -1, max: 0 },\n { label: this.labels.past7Days, min: -7, max: 0 },\n { label: this.labels.past30Days, min: -30, max: 0 },\n { label: this.labels.past90Days, min: -90, max: 0 },\n { label: this.labels.past1Year, min: -366, max: 0 },\n { label: this.labels.next1Day, min: 0, max: 1 },\n { label: this.labels.next7Days, min: 0, max: 7 },\n { label: this.labels.next30Days, min: 0, max: 30 },\n { label: this.labels.next90Days, min: 0, max: 90 },\n { label: this.labels.next1Year, min: 0, max: 366 },\n ];\n return opts;\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { NovoSimplePaginationEvent } from './interfaces';\nimport { NovoActivityTableState } from './state';\n\nconst DEFAULT_PAGE_SIZE = 50;\n\n@Component({\n selector: 'novo-simple-table-pagination',\n template: `\n <div class=\"novo-simple-table-pagination-size\">\n <novo-tiles\n *ngIf=\"displayedPageSizeOptions.length > 1\"\n [(ngModel)]=\"pageSize\"\n [options]=\"displayedPageSizeOptions\"\n (onChange)=\"changePageSize($event)\"\n data-automation-id=\"novo-simple-table-pagination-tiles\"\n >\n </novo-tiles>\n <div *ngIf=\"displayedPageSizeOptions.length <= 1\">{{ pageSize }}</div>\n </div>\n\n <div class=\"novo-simple-table-range-label-long\" data-automation-id=\"novo-simple-table-pagination-range-label-long\">\n {{ longRangeLabel }}\n </div>\n <div class=\"novo-simple-table-range-label-short\" data-automation-id=\"novo-simple-table-pagination-range-label-short\">\n {{ shortRangeLabel }}\n </div>\n\n <novo-button\n theme=\"dialogue\"\n type=\"button\"\n class=\"novo-simple-table-pagination-navigation-previous\"\n (click)=\"previousPage()\"\n icon=\"previous\"\n side=\"left\"\n [disabled]=\"!hasPreviousPage()\"\n data-automation-id=\"novo-simple-table-pagination-previous\"\n >\n <span>{{ labels.previous }}</span>\n </novo-button>\n <novo-button\n theme=\"dialogue\"\n type=\"button\"\n class=\"novo-simple-table-pagination-navigation-next\"\n (click)=\"nextPage()\"\n icon=\"next\"\n side=\"right\"\n [disabled]=\"!hasNextPage()\"\n data-automation-id=\"novo-simple-table-pagination-next\"\n >\n <span>{{ labels.next }}</span>\n </novo-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleTablePagination implements OnInit, OnDestroy {\n private _initialized: boolean;\n\n @Input()\n get page(): number {\n return this._page;\n }\n set page(page: number) {\n this._page = page;\n this.changeDetectorRef.markForCheck();\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n this.state.page = this._page;\n }\n _page: number = 0;\n\n @Input()\n get length(): number {\n return this._length;\n }\n set length(length: number) {\n this._length = length;\n this.changeDetectorRef.markForCheck();\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n }\n _length: number = 0;\n\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n set pageSize(pageSize: number) {\n this._pageSize = pageSize;\n this.updateDisplayedPageSizeOptions();\n this.state.pageSize = this._pageSize;\n }\n private _pageSize: number;\n\n @Input()\n get pageSizeOptions(): number[] {\n return this._pageSizeOptions;\n }\n set pageSizeOptions(pageSizeOptions: number[]) {\n this._pageSizeOptions = pageSizeOptions;\n this.updateDisplayedPageSizeOptions();\n }\n private _pageSizeOptions: number[] = [];\n\n @Output()\n pageChange = new EventEmitter<NovoSimplePaginationEvent>();\n\n public displayedPageSizeOptions: number[];\n public longRangeLabel: string;\n public shortRangeLabel: string;\n\n private resetSubscription: Subscription;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, public labels: NovoLabelService, private state: NovoActivityTableState) {\n if (state && state.onReset) {\n this.resetSubscription = this.state.onReset.subscribe((clear: boolean) => {\n if (clear) {\n this.page = 0;\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n }\n\n public ngOnInit(): void {\n this._initialized = true;\n this.updateDisplayedPageSizeOptions();\n }\n\n public ngOnDestroy(): void {\n this.resetSubscription.unsubscribe();\n }\n\n public nextPage(): void {\n if (!this.hasNextPage()) {\n return;\n }\n this.page++;\n this.emitPageEvent();\n }\n\n public previousPage(): void {\n if (!this.hasPreviousPage()) {\n return;\n }\n this.page--;\n this.emitPageEvent();\n }\n\n public hasPreviousPage(): boolean {\n return this.page >= 1 && this.pageSize !== 0;\n }\n\n public hasNextPage(): boolean {\n const numberOfPages = Math.ceil(this.length / this.pageSize) - 1;\n return this.page < numberOfPages && this.pageSize !== 0;\n }\n\n public changePageSize(pageSize: number): void {\n this.page = 0;\n this.pageSize = pageSize;\n this.emitPageEvent();\n }\n\n private updateDisplayedPageSizeOptions(): void {\n if (!this._initialized) {\n return;\n }\n if (!this.pageSize) {\n this._pageSize = this.pageSizeOptions.length !== 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n }\n this.displayedPageSizeOptions = this.pageSizeOptions.slice();\n if (this.displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\n this.displayedPageSizeOptions.push(this.pageSize);\n }\n this.displayedPageSizeOptions.sort((a, b) => a - b);\n this.changeDetectorRef.markForCheck();\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n }\n\n private emitPageEvent(): void {\n const event = {\n page: this.page,\n pageSize: this.pageSize,\n length: this.length,\n };\n this.pageChange.next(event);\n this.state.page = this.page;\n this.state.pageSize = this.pageSize;\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n this.state.updates.next(event);\n }\n}\n","import { CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef, CDK_ROW_TEMPLATE } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input } from '@angular/core';\n\n/** Workaround for https://github.com/angular/angular/issues/17849 */\nexport const _NovoHeaderRowDef = CdkHeaderRowDef;\nexport const _NovoCdkRowDef = CdkRowDef;\nexport const _NovoHeaderRow = CdkHeaderRow;\nexport const _NovoRow = CdkRow;\n\n@Directive({\n selector: '[novoSimpleHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: NovoSimpleHeaderRowDef }],\n})\nexport class NovoSimpleHeaderRowDef extends _NovoHeaderRowDef {\n // TODO: add explicit constructor\n\n @Input('novoSimpleHeaderRowDef')\n columns;\n}\n\n@Directive({\n selector: '[novoSimpleRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: NovoSimpleRowDef }],\n})\nexport class NovoSimpleRowDef<T> extends _NovoCdkRowDef<T> {\n // TODO: add explicit constructor\n\n @Input('novoSimpleRowDefColumns')\n columns;\n}\n\n@Component({\n selector: 'novo-simple-header-row',\n template: CDK_ROW_TEMPLATE,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleHeaderRow extends _NovoHeaderRow {\n @HostBinding('class')\n public rowClass = 'novo-simple-header-row';\n @HostBinding('attr.role')\n public role = 'row';\n}\n\n@Component({\n selector: 'novo-simple-row',\n template: CDK_ROW_TEMPLATE,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleRow extends _NovoRow {\n @HostBinding('class')\n public rowClass = 'novo-simple-row';\n @HostBinding('attr.role')\n public role = 'row';\n}\n","import { DataSource } from '@angular/cdk/table';\nimport { ChangeDetectorRef } from '@angular/core';\nimport { merge, Observable, of } from 'rxjs';\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoActivityTableState } from './state';\n\nexport interface ActivityTableService<T> {\n getTableResults(\n sort: { id: string; value: string; transform?: Function },\n filter: { id: string; value: string; transform?: Function },\n page: number,\n pageSize: number,\n globalSearch?: string,\n outsideFilter?: any,\n ): Observable<{ results: T[]; total: number }>;\n}\n\nexport abstract class RemoteActivityTableService<T> implements ActivityTableService<T> {\n abstract getTableResults(\n sort: { id: string; value: string; transform?: Function },\n filter: { id: string; value: string; transform?: Function },\n page: number,\n pageSize: number,\n globalSearch?: string,\n outsideFilter?: any,\n ): Observable<{ results: T[]; total: number }>;\n}\n\nexport class StaticActivityTableService<T> implements ActivityTableService<T> {\n constructor(private data: T[] = []) {}\n\n public getTableResults(\n sort: { id: string; value: string; transform?: Function },\n filter: { id: string; value: string; transform?: Function },\n page: number = 0,\n pageSize: number,\n globalSearch?: string,\n outsideFilter?: any,\n ): Observable<{ results: T[]; total: number }> {\n let ret: T[] = Helpers.deepClone(this.data);\n if (ret.length !== 0) {\n if (globalSearch) {\n ret = ret.filter((item) => Object.keys(item).some((key) => `${item[key]}`.toLowerCase().includes(globalSearch.toLowerCase())));\n }\n if (filter) {\n const value = Helpers.isString(filter.value) ? filter.value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') : filter.value;\n ret = ret.filter(Helpers.filterByField(filter.id, value));\n }\n if (sort) {\n ret = ret.sort(Helpers.sortByField(sort.id, sort.value === 'desc'));\n }\n if (!Helpers.isBlank(page) && !Helpers.isBlank(pageSize)) {\n ret = ret.slice(page * pageSize, (page + 1) * pageSize);\n }\n }\n return of({ results: ret, total: this.data.length });\n }\n}\n\nexport class ActivityTableDataSource<T> extends DataSource<T> {\n public total = 0;\n public current = 0;\n public loading = false;\n public pristine = true;\n\n get totallyEmpty(): boolean {\n return this.total === 0;\n }\n\n get currentlyEmpty(): boolean {\n return this.current === 0;\n }\n\n constructor(private tableService: ActivityTableService<T>, private state: NovoActivityTableState, private ref: ChangeDetectorRef) {\n super();\n }\n\n public connect(): Observable<any[]> {\n const displayDataChanges: any = [this.state.updates];\n return merge(...displayDataChanges).pipe(\n startWith(null),\n switchMap(() => {\n this.pristine = false;\n this.loading = true;\n return this.tableService.getTableResults(\n this.state.sort,\n this.state.filter,\n this.state.page,\n this.state.pageSize,\n this.state.globalSearch,\n this.state.outsideFilter,\n );\n }),\n map((data: { results: T[]; total: number }) => {\n this.loading = false;\n this.total = data.total;\n this.current = data.results.length;\n setTimeout(() => {\n this.ref.markForCheck();\n });\n return data.results;\n }),\n catchError((error) => {\n console.error(error); // tslint: disable-line\n this.loading = false;\n return of(null);\n }),\n );\n }\n\n public disconnect(): void {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _VIEW_REPEATER_STRATEGY, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport { CdkTable, CDK_TABLE_TEMPLATE, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler } from '@angular/cdk/table';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { notify } from 'novo-elements/utils';\nimport { SimpleTableActionColumn, SimpleTableColumn, SimpleTablePaginationOptions, SimpleTableSearchOptions } from './interfaces';\nimport { NovoActivityTableState } from './state';\nimport { ActivityTableDataSource, ActivityTableService } from './table-source';\n\n@Component({\n selector: 'novo-simple-table',\n template: CDK_TABLE_TEMPLATE,\n styleUrls: ['./table.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTable<T> extends CdkTable<T> {\n // TODO: add explicit constructor\n}\n\n@Directive({\n selector: 'novo-activity-table-actions',\n})\nexport class NovoActivityTableActions {}\n\n@Directive({\n selector: 'novo-activity-table-custom-header',\n})\nexport class NovoActivityTableCustomHeader {}\n\n@Directive({\n selector: 'novo-activity-table-custom-filter',\n})\nexport class NovoActivityTableCustomFilter {}\n\n@Directive({\n selector: 'novo-activity-table-empty-message',\n})\nexport class NovoActivityTableEmptyMessage {}\n\n@Directive({\n selector: 'novo-activity-table-no-results-message',\n})\nexport class NovoActivityTableNoResultsMessage {}\n\n@Component({\n selector: 'novo-activity-table',\n template: `\n <div *ngIf=\"debug\">\n <p>Total: {{ dataSource?.total }}</p>\n <p>Current: {{ dataSource?.current }}</p>\n <p>Totally Empty: {{ dataSource?.totallyEmpty }}</p>\n <p>Currently Empty: {{ dataSource?.currentlyEmpty }}</p>\n <p>Loading (DataSource): {{ dataSource?.loading }}</p>\n <p>User Filtered: {{ state.userFiltered }}</p>\n <p>Loading (Table): {{ loading }}</p>\n </div>\n <header *ngIf=\"(!(dataSource?.totallyEmpty && !state.userFiltered) && !loading) || forceShowHeader\">\n <ng-content select=\"[novo-activity-table-custom-header]\"></ng-content>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <novo-simple-table-pagination\n *ngIf=\"paginationOptions\"\n [length]=\"dataSource?.total\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n >\n </novo-simple-table-pagination>\n <div class=\"novo-activity-table-actions\">\n <ng-content select=\"[novo-activity-table-actions]\"></ng-content>\n </div>\n </header>\n <div class=\"novo-activity-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-activity-table-loading\">\n <novo-loading></novo-loading>\n </div>\n <div class=\"novo-activity-table-filter-container\">\n <div class=\"novo-activity-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-content select=\"[novo-activity-table-custom-filter]\"></ng-content>\n </div>\n <div class=\"novo-activity-table-container\">\n <novo-simple-table\n *ngIf=\"columns?.length > 0\"\n [dataSource]=\"dataSource\"\n novoSortFilter\n novoSelection\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"dataSource?.totallyEmpty && !state.userFiltered\">\n <ng-content></ng-content>\n <ng-container novoSimpleColumnDef=\"selection\">\n <novo-simple-checkbox-header-cell *novoSimpleHeaderCellDef></novo-simple-checkbox-header-cell>\n <novo-simple-checkbox-cell *novoSimpleCellDef=\"let row; let i = index\" [row]=\"row\" [index]=\"i\"></novo-simple-checkbox-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of actionColumns\" [novoSimpleColumnDef]=\"column.id\">\n <novo-simple-empty-header-cell\n [class.button-header-cell]=\"!column.options\"\n [class.dropdown-header-cell]=\"column.options\"\n *novoSimpleHeaderCellDef\n ></novo-simple-empty-header-cell>\n <novo-simple-action-cell *novoSimpleCellDef=\"let row; let i = index\" [row]=\"row\" [column]=\"column\"></novo-simple-action-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns\" [novoSimpleColumnDef]=\"column.id\">\n <novo-simple-header-cell\n *novoSimpleHeaderCellDef\n [column]=\"column\"\n [novo-simple-cell-config]=\"column.config\"\n [defaultSort]=\"defaultSort\"\n >{{ column.label }}</novo-simple-header-cell>\n <novo-simple-cell *novoSimpleCellDef=\"let row\" [column]=\"column\" [row]=\"row\"></novo-simple-cell>\n </ng-container>\n <novo-simple-header-row *novoSimpleHeaderRowDef=\"displayedColumns\"></novo-simple-header-row>\n <novo-simple-row *novoSimpleRowDef=\"let row; columns: displayedColumns\"></novo-simple-row>\n </novo-simple-table>\n <div\n class=\"novo-activity-table-no-results-container\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div #filtered><ng-content select=\"[novo-activity-table-no-results-message]\"></ng-content></div>\n <div class=\"novo-activity-table-empty-message\" *ngIf=\"filtered.childNodes.length == 0\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n </div>\n </div>\n <div\n class=\"novo-activity-table-empty-container\"\n *ngIf=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div #empty><ng-content select=\"[novo-activity-table-empty-message]\"></ng-content></div>\n <div class=\"novo-activity-table-empty-message\" *ngIf=\"empty.childNodes.length == 0\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./table.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n NovoActivityTableState,\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n ],\n})\nexport class NovoActivityTable<T> implements AfterContentInit, OnChanges, OnDestroy {\n @HostBinding('class.global-search-hidden')\n globalSearchHiddenClassToggle: boolean = false;\n\n @Input()\n activityService: ActivityTableService<T>;\n @Input()\n columns: SimpleTableColumn<T>[];\n @Input()\n displayedColumns: string[];\n @Input()\n actionColumns: SimpleTableActionColumn<T>[];\n @Input()\n paginationOptions: SimpleTablePaginationOptions;\n @Input()\n searchOptions: SimpleTableSearchOptions;\n @Input()\n defaultSort: { id: string; value: string };\n @Input()\n outsideFilter: EventEmitter<any>;\n\n @Input()\n set customFilter(v: boolean) {\n this._customFilter = coerceBooleanProperty(v);\n }\n get customFilter() {\n return this._customFilter;\n }\n private _customFilter: boolean;\n\n @Input()\n set forceShowHeader(v: boolean) {\n this._forceShowHeader = coerceBooleanProperty(v);\n }\n get forceShowHeader() {\n return this._forceShowHeader;\n }\n private _forceShowHeader: boolean;\n\n @Input()\n set hideGlobalSearch(v: boolean) {\n this._hideGlobalSearch = coerceBooleanProperty(v);\n this.globalSearchHiddenClassToggle = this._hideGlobalSearch;\n }\n get hideGlobalSearch() {\n return this._hideGlobalSearch;\n }\n private _hideGlobalSearch: boolean;\n\n @Input()\n set debug(v: boolean) {\n this._debug = coerceBooleanProperty(v);\n }\n get debug() {\n return this._debug;\n }\n private _debug: boolean;\n\n public dataSource: ActivityTableDataSource<T>;\n public loading: boolean = true;\n\n private outsideFilterSubscription: Subscription;\n\n @HostBinding('class.empty')\n get empty() {\n return this.dataSource && this.dataSource.totallyEmpty;\n }\n\n @HostBinding('class.loading')\n get loadingClass() {\n return this.loading || (this.dataSource && this.dataSource.loading);\n }\n\n constructor(public labels: NovoLabelService, private ref: ChangeDetectorRef, public state: NovoActivityTableState) {\n notify('[Deprecated]: The simple table is deprecated. Please migrate to novo-data-tables!');\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.loading = changes.activityService && !changes.activityService.currentValue;\n this.ref.detectChanges();\n if (changes.activityService && changes.activityService.currentValue) {\n this.loading = false;\n this.dataSource = new ActivityTableDataSource<T>(this.activityService, this.state, this.ref);\n this.ref.detectChanges();\n }\n if (changes.outsideFilter && changes.outsideFilter.currentValue) {\n if (!this.outsideFilterSubscription) {\n this.outsideFilterSubscription = this.outsideFilter.subscribe((filter: any) => {\n this.state.outsideFilter = filter;\n this.state.updates.next({ globalSearch: this.state.globalSearch, filter: this.state.filter, sort: this.state.sort });\n this.ref.markForCheck();\n });\n }\n }\n }\n\n public ngOnDestroy(): void {\n if (this.outsideFilterSubscription) {\n this.outsideFilterSubscription.unsubscribe();\n }\n }\n\n public ngAfterContentInit(): void {\n if (this.paginationOptions && !this.paginationOptions.page) {\n this.paginationOptions.page = 0;\n }\n if (this.paginationOptions && !this.paginationOptions.pageSize) {\n this.paginationOptions.pageSize = 50;\n }\n if (this.paginationOptions && !this.paginationOptions.pageSizeOptions) {\n this.paginationOptions.pageSizeOptions = [10, 25, 50, 100];\n }\n this.state.page = this.paginationOptions ? this.paginationOptions.page : undefined;\n this.state.pageSize = this.paginationOptions ? this.paginationOptions.pageSize : undefined;\n this.ref.markForCheck();\n }\n\n public onSearchChange(term: string): void {\n this.state.globalSearch = term;\n this.state.reset(false, true);\n this.state.updates.next({ globalSearch: term, filter: this.state.filter, sort: this.state.sort });\n }\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoCheckboxModule } from 'novo-elements/elements/checkbox';\nimport { NovoCommonModule, NovoOptionModule } from 'novo-elements/elements/common';\nimport { NovoDatePickerModule } from 'novo-elements/elements/date-picker';\nimport { NovoDropdownModule } from 'novo-elements/elements/dropdown';\nimport { NovoFormExtrasModule } from 'novo-elements/elements/form';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoSearchBoxModule } from 'novo-elements/elements/search';\nimport { NovoTilesModule } from 'novo-elements/elements/tiles';\nimport {\n NovoSimpleActionCell,\n NovoSimpleCell,\n NovoSimpleCellDef,\n NovoSimpleCheckboxCell,\n NovoSimpleCheckboxHeaderCell,\n NovoSimpleColumnDef,\n NovoSimpleEmptyHeaderCell,\n NovoSimpleHeaderCell,\n NovoSimpleHeaderCellDef,\n} from './cell';\nimport { NovoSimpleCellHeader, NovoSimpleFilterFocus } from './cell-header';\nimport { NovoSimpleTablePagination } from './pagination';\nimport { NovoSimpleHeaderRow, NovoSimpleHeaderRowDef, NovoSimpleRow, NovoSimpleRowDef } from './row';\nimport { NovoSelection, NovoSortFilter } from './sort';\nimport { NovoActivityTableState } from './state';\nimport {\n NovoActivityTable,\n NovoActivityTableActions,\n NovoActivityTableCustomFilter,\n NovoActivityTableCustomHeader,\n NovoActivityTableEmptyMessage,\n NovoActivityTableNoResultsMessage,\n NovoTable,\n} from './table';\n\n@NgModule({\n imports: [\n NovoDatePickerModule,\n CdkTableModule,\n CommonModule,\n FormsModule,\n NovoCommonModule,\n NovoButtonModule,\n NovoDropdownModule,\n NovoFormExtrasModule,\n NovoLoadingModule,\n NovoTilesModule,\n NovoSearchBoxModule,\n NovoCheckboxModule,\n NovoOptionModule,\n ],\n exports: [\n NovoTable,\n NovoSimpleCellDef,\n NovoSimpleHeaderCellDef,\n NovoSimpleColumnDef,\n NovoActivityTableEmptyMessage,\n NovoActivityTableNoResultsMessage,\n NovoSimpleHeaderRowDef,\n NovoSimpleRowDef,\n NovoSimpleCellHeader,\n NovoSortFilter,\n NovoSimpleActionCell,\n NovoSimpleEmptyHeaderCell,\n NovoSimpleHeaderCell,\n NovoSimpleCell,\n NovoSimpleHeaderRow,\n NovoSimpleRow,\n NovoSimpleFilterFocus,\n NovoSimpleTablePagination,\n NovoActivityTableCustomHeader,\n NovoSimpleCheckboxCell,\n NovoSimpleCheckboxHeaderCell,\n NovoSelection,\n NovoActivityTable,\n NovoActivityTableActions,\n NovoActivityTableCustomFilter,\n ],\n declarations: [\n NovoTable,\n NovoSimpleCellDef,\n NovoSimpleHeaderCellDef,\n NovoSimpleColumnDef,\n NovoActivityTableEmptyMessage,\n NovoActivityTableNoResultsMessage,\n NovoSimpleHeaderRowDef,\n NovoSimpleRowDef,\n NovoSimpleCellHeader,\n NovoSortFilter,\n NovoSimpleActionCell,\n NovoSimpleEmptyHeaderCell,\n NovoSimpleHeaderCell,\n NovoSimpleCell,\n NovoSimpleHeaderRow,\n NovoSimpleRow,\n NovoSimpleFilterFocus,\n NovoSimpleTablePagination,\n NovoActivityTableCustomHeader,\n NovoSimpleCheckboxCell,\n NovoSimpleCheckboxHeaderCell,\n NovoSelection,\n NovoActivityTable,\n NovoActivityTableActions,\n NovoActivityTableCustomFilter,\n ],\n providers: [NovoActivityTableState],\n})\nexport class NovoSimpleTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoActivityTableState","i2.NovoSelection","i5","i8","i9","i1","i2.NovoActivityTableState","i3.NovoSortFilter","i4","i6","i7","i10","i3","i2","i3.NovoActivityTableState","i5.NovoSimpleTablePagination","i7.NovoSimpleCheckboxHeaderCell","i7.NovoSimpleCheckboxCell","i7.NovoSimpleActionCell","i8.NovoSimpleCellHeader","i7.NovoSimpleCell","i9.NovoSimpleHeaderRow","i9.NovoSimpleRow","i11","i12.NovoSortFilter","i12.NovoSelection","i7.NovoSimpleColumnDef","i7.NovoSimpleHeaderCellDef","i7.NovoSimpleCellDef","i7.NovoSimpleEmptyHeaderCell","i7.NovoSimpleHeaderCell","i9.NovoSimpleHeaderRowDef","i9.NovoSimpleRowDef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-simple-table.mjs","sources":["../../../projects/novo-elements/src/elements/simple-table/activity-table-renderers.ts","../../../projects/novo-elements/src/elements/simple-table/state.ts","../../../projects/novo-elements/src/elements/simple-table/sort.ts","../../../projects/novo-elements/src/elements/simple-table/cell.ts","../../../projects/novo-elements/src/elements/simple-table/cell-header.ts","../../../projects/novo-elements/src/elements/simple-table/pagination.ts","../../../projects/novo-elements/src/elements/simple-table/row.ts","../../../projects/novo-elements/src/elements/simple-table/table-source.ts","../../../projects/novo-elements/src/elements/simple-table/table.ts","../../../projects/novo-elements/src/elements/simple-table/simple-table.module.ts","../../../projects/novo-elements/src/elements/simple-table/novo-elements-elements-simple-table.ts"],"sourcesContent":["export class ActivityTableRenderers {\n static propertyRenderer<T>(prop: string): Function {\n const ret = (data: T): string => {\n // TODO - allow for dots and sub props\n return data[prop];\n };\n return ret;\n }\n\n static dateRenderer<T>(prop: string): Function {\n const ret = (data: T): string => {\n return data[prop] ? new Date(data[prop]).toLocaleDateString() : '';\n };\n return ret;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { NovoSimpleTableChange } from './interfaces';\n\n@Injectable()\nexport class NovoActivityTableState {\n id: number = Math.random();\n sort: { id: string; value: string } = undefined;\n filter: { id: string; value: string } = undefined;\n page: number = 0;\n pageSize: number = undefined;\n globalSearch: string = undefined;\n selectedRows: Map<string, object> = new Map<string, object>();\n outsideFilter: any;\n\n updates: EventEmitter<NovoSimpleTableChange> = new EventEmitter<NovoSimpleTableChange>();\n onReset: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n get userFiltered(): boolean {\n return !!(this.filter || this.sort || this.globalSearch || this.outsideFilter);\n }\n\n public reset(fireUpdate: boolean = true, persistUserFilters?: boolean): void {\n if (!persistUserFilters) {\n this.sort = undefined;\n this.globalSearch = undefined;\n this.filter = undefined;\n }\n this.page = 0;\n this.selectedRows.clear();\n this.onReset.emit(true);\n if (fireUpdate) {\n this.updates.emit({\n sort: this.sort,\n filter: this.filter,\n globalSearch: this.globalSearch,\n });\n }\n }\n}\n","import { Directive, EventEmitter, OnDestroy, Output } from '@angular/core';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoActivityTableState } from './state';\n\n@Directive({\n selector: '[novoSortFilter]',\n})\nexport class NovoSortFilter {\n constructor(private state: NovoActivityTableState) {}\n\n public filter(id: string, value: any, transform: Function): void {\n let filter;\n if (!Helpers.isBlank(value)) {\n filter = { id, value, transform };\n } else {\n filter = undefined;\n }\n this.state.filter = filter;\n this.state.reset(false, true);\n this.state.updates.next({ filter, sort: this.state.sort });\n }\n\n public sort(id: string, value: string, transform: Function): void {\n const sort = { id, value, transform };\n this.state.sort = sort;\n this.state.reset(false, true);\n this.state.updates.next({ sort, filter: this.state.filter });\n }\n}\n\n@Directive({\n selector: '[novoSelection]',\n})\nexport class NovoSelection implements OnDestroy {\n @Output()\n public novoSelectAllToggle = new EventEmitter<boolean>();\n\n public allRows = new Map<string, object>();\n private throttleTimeout: any;\n\n constructor(public state: NovoActivityTableState) {}\n\n public register(id, row): void {\n this.allRows.set(id, row);\n }\n\n public deregister(id): void {\n this.allRows.delete(id);\n this.state.selectedRows.delete(id);\n clearTimeout(this.throttleTimeout);\n this.throttleTimeout = setTimeout(() => {\n if (this.state.selectedRows.size === 0) {\n this.novoSelectAllToggle.emit(false);\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.allRows.clear();\n this.state.selectedRows.clear();\n }\n\n public toggle(id: string, selected: boolean, row: any): void {\n if (selected) {\n this.state.selectedRows.set(id, row);\n } else {\n this.state.selectedRows.delete(id);\n }\n }\n\n public selectAll(value: boolean): void {\n if (value) {\n this.state.selectedRows = new Map<string, object>(this.allRows);\n } else {\n this.state.selectedRows.clear();\n }\n this.novoSelectAllToggle.emit(value);\n }\n}\n","import { CdkCell, CdkCellDef, CdkColumnDef, CdkHeaderCell, CdkHeaderCellDef } from '@angular/cdk/table';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport { SimpleTableActionColumn, SimpleTableActionColumnOption, SimpleTableColumn } from './interfaces';\nimport { NovoSelection } from './sort';\n\n/** Workaround for https://github.com/angular/angular/issues/17849 */\nexport const _NovoCellDef = CdkCellDef;\nexport const _NovoHeaderCellDef = CdkHeaderCellDef;\nexport const _NovoColumnDef = CdkColumnDef;\nexport const _NovoHeaderCell = CdkHeaderCell;\nexport const _NovoCell = CdkCell;\n\n@Directive({\n selector: '[novoSimpleCellDef]',\n providers: [{ provide: CdkCellDef, useExisting: NovoSimpleCellDef }],\n})\nexport class NovoSimpleCellDef extends _NovoCellDef {\n // TODO: add explicit constructor\n}\n\n@Directive({\n selector: '[novoSimpleHeaderCellDef]',\n providers: [{ provide: CdkHeaderCellDef, useExisting: NovoSimpleHeaderCellDef }],\n})\nexport class NovoSimpleHeaderCellDef extends _NovoHeaderCellDef {\n // TODO: add explicit constructor\n}\n\n@Directive({\n selector: '[novoSimpleColumnDef]',\n providers: [{ provide: CdkColumnDef, useExisting: NovoSimpleColumnDef }],\n})\nexport class NovoSimpleColumnDef extends _NovoColumnDef {\n @Input('novoSimpleColumnDef')\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._setNameInput(name);\n }\n /**\n * This has been extracted to a util because of TS 4 and VE.\n * View Engine doesn't support property rename inheritance.\n * TS 4.0 doesn't allow properties to override accessors or vice-versa.\n * @docs-private\n */\n protected _setNameInput(value: string) {\n // If the directive is set without a name (updated programatically), then this setter will\n // trigger with an empty string and should not overwrite the programatically set value.\n if (value) {\n this._name = value;\n this.cssClassFriendlyName = value.replace(/[^a-z0-9_-]/gi, '-');\n this._updateColumnCssClassName();\n }\n }\n}\n\n@Directive({\n selector: 'novo-simple-header-cell',\n})\nexport class NovoSimpleHeaderCell<T> extends _NovoHeaderCell implements OnInit {\n @HostBinding('attr.role')\n public role = 'columnheader';\n\n @Input()\n public column: SimpleTableColumn<T>;\n\n constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-header-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-header-cell');\n }\n\n public ngOnInit(): void {\n if (this.column.width) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'min-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.column.width}px`);\n }\n }\n}\n\n@Directive({\n selector: 'novo-simple-empty-header-cell',\n})\nexport class NovoSimpleEmptyHeaderCell extends _NovoHeaderCell {\n @HostBinding('attr.role')\n public role = 'columnheader';\n\n constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-header-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-empty-header-cell');\n }\n}\n\n@Component({\n selector: 'novo-simple-checkbox-header-cell',\n template: `<novo-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"toggle($event)\"></novo-checkbox>`,\n})\nexport class NovoSimpleCheckboxHeaderCell extends _NovoHeaderCell implements OnDestroy {\n @HostBinding('attr.role')\n public role = 'columnheader';\n\n public selectAll: boolean = false;\n private selectAllSubscription: Subscription;\n\n constructor(\n columnDef: CdkColumnDef,\n elementRef: ElementRef,\n renderer: Renderer2,\n ref: ChangeDetectorRef,\n @Optional() private _selection: NovoSelection,\n ) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-checkbox-column-header-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-checkbox-header-cell');\n\n this.selectAllSubscription = _selection.novoSelectAllToggle.subscribe((value: boolean) => {\n this.selectAll = value;\n ref.markForCheck();\n });\n }\n\n public ngOnDestroy(): void {\n this.selectAllSubscription.unsubscribe();\n }\n\n public toggle(value: boolean): void {\n this._selection.selectAll(value);\n }\n}\n\n@Component({\n selector: 'novo-simple-cell',\n template: ` <span [class.clickable]=\"!!column.onClick\" (click)=\"onClick($event)\" #span>{{ column.renderer(row) }}</span> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleCell<T> extends _NovoCell implements OnInit {\n @HostBinding('attr.role')\n public role = 'gridcell';\n\n @Input()\n public row: any;\n @Input()\n public column: SimpleTableColumn<T>;\n\n constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-cell');\n }\n\n public ngOnInit(): void {\n if (this.column.customClass) {\n this.renderer.addClass(this.elementRef.nativeElement, this.column.customClass(this.row));\n }\n if (this.column.width) {\n this.renderer.setStyle(this.elementRef.nativeElement, 'min-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'max-width', `${this.column.width}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.column.width}px`);\n // TODO - this inhibits resizing the page after the initial load -- but do we care?!?!\n // this.renderer.setStyle(this.spanElement.nativeElement, 'min-width', `${this.column.width - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'max-width', `${this.column.width - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'width', `${this.column.width - 20}px`);\n }\n // else {\n // // TODO - this inhibits resizing the page after the initial load -- but do we care?!?!\n // this.renderer.setStyle(this.spanElement.nativeElement, 'min-width', `${this.elementRef.nativeElement.offsetWidth - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'max-width', `${this.elementRef.nativeElement.offsetWidth - 20}px`);\n // this.renderer.setStyle(this.spanElement.nativeElement, 'width', `${this.elementRef.nativeElement.offsetWidth - 20}px`);\n // }\n }\n\n public onClick(event: MouseEvent): void {\n Helpers.swallowEvent(event);\n if (this.column.onClick) {\n this.column.onClick(this.row);\n }\n return;\n }\n}\n\n@Component({\n selector: 'novo-simple-checkbox-cell',\n template: ` <novo-checkbox [ngModel]=\"selected\" (ngModelChange)=\"toggle($event)\"></novo-checkbox> `,\n})\nexport class NovoSimpleCheckboxCell extends _NovoCell implements OnDestroy, OnInit {\n @HostBinding('attr.role')\n public role = 'gridcell';\n\n @Input()\n public row: any;\n @Input()\n public index: any;\n\n public selected: boolean = false;\n private selectAllSubscription: Subscription;\n\n constructor(public columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2, @Optional() public _selection: NovoSelection) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, `novo-checkbox-column-${columnDef.cssClassFriendlyName}`);\n renderer.addClass(elementRef.nativeElement, 'novo-simple-checkbox-cell');\n\n this.selectAllSubscription = _selection.novoSelectAllToggle.subscribe((value: boolean) => {\n this.selected = value;\n });\n }\n\n public ngOnInit(): void {\n this._selection.register(this.row.id || this.index, this.row);\n this.selected = this._selection.state.selectedRows.has(this.row.id || this.index);\n }\n\n public ngOnDestroy(): void {\n this._selection.deregister(this.row.id || this.index);\n this.selectAllSubscription.unsubscribe();\n }\n\n public toggle(value: boolean): void {\n this._selection.toggle(this.row.id || this.index, value, this.row);\n }\n}\n\n@Component({\n selector: 'novo-simple-action-cell',\n template: `\n <ng-container *ngIf=\"!column.options\">\n <novo-button theme=\"icon\" [icon]=\"column.icon\" (click)=\"column.onClick(row)\" [disabled]=\"isDisabled(column, row)\"></novo-button>\n </ng-container>\n <ng-container *ngIf=\"column.options\">\n <novo-dropdown parentScrollSelector=\".novo-simple-table\" containerClass=\"novo-table-dropdown-cell\">\n <novo-button type=\"button\" theme=\"dialogue\" icon=\"collapse\" inverse>{{ column.label || labels.actions }}</novo-button>\n <list>\n <item *ngFor=\"let option of column.options\" (action)=\"option.onClick(row)\" [disabled]=\"isDisabled(option, row)\">\n <span [attr.data-automation-id]=\"option.label\">{{ option.label }}</span>\n </item>\n </list>\n </novo-dropdown>\n </ng-container>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleActionCell<T> extends _NovoCell implements OnInit {\n @HostBinding('attr.role')\n public role = 'gridcell';\n\n @Input()\n public row: T;\n @Input()\n public column: SimpleTableActionColumn<T>;\n\n constructor(columnDef: CdkColumnDef, private elementRef: ElementRef, private renderer: Renderer2, public labels: NovoLabelService) {\n super(columnDef, elementRef);\n renderer.setAttribute(elementRef.nativeElement, 'data-automation-id', `novo-action-column-${columnDef.cssClassFriendlyName}`);\n }\n\n public ngOnInit(): void {\n if (this.column.options) {\n this.renderer.addClass(this.elementRef.nativeElement, 'novo-simple-dropdown-cell');\n } else {\n this.renderer.addClass(this.elementRef.nativeElement, 'novo-simple-button-cell');\n }\n }\n\n public isDisabled(check: SimpleTableActionColumn<T> | SimpleTableActionColumnOption<T>, row: T): boolean {\n if (check.disabled === true) {\n return true;\n }\n if (check.disabledCheck) {\n return check.disabledCheck(row);\n }\n return false;\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CdkColumnDef } from '@angular/cdk/table';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { startOfToday, startOfTomorrow } from 'date-fns';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\nimport { NovoDropdownElement } from 'novo-elements/elements/dropdown';\nimport { NovoSimpleSortFilter, NovoSimpleTableChange, SimpleTableColumnFilterConfig, SimpleTableColumnFilterOption } from './interfaces';\nimport { NovoSortFilter } from './sort';\nimport { NovoActivityTableState } from './state';\n\n@Directive({\n selector: '[novoSimpleFilterFocus]',\n})\nexport class NovoSimpleFilterFocus implements AfterViewInit {\n constructor(private element: ElementRef) {}\n\n ngAfterViewInit() {\n this.element.nativeElement.focus();\n }\n}\n\n@Component({\n selector: '[novo-simple-cell-config]',\n template: `\n <label (click)=\"sort()\" data-automation-id=\"novo-activity-table-label\" [class.sort-disabled]=\"!config.sortable\">\n <ng-content></ng-content>\n </label>\n <div>\n <novo-button\n *ngIf=\"config.sortable\"\n theme=\"icon\"\n [icon]=\"icon\"\n (click)=\"sort()\"\n [class.active]=\"sortActive\"\n data-automation-id=\"novo-activity-table-sort\"\n ></novo-button>\n <novo-dropdown\n *ngIf=\"config.filterable\"\n side=\"right\"\n parentScrollSelector=\".novo-simple-table\"\n containerClass=\"simple-table-dropdown\"\n data-automation-id=\"novo-activity-table-filter\"\n >\n <novo-button type=\"button\" theme=\"icon\" icon=\"filter\" [class.active]=\"filterActive\"></novo-button>\n <div class=\"header\">\n <span>{{ labels.filters }}</span>\n <novo-button\n theme=\"dialogue\"\n color=\"negative\"\n icon=\"times\"\n (click)=\"clearFilter()\"\n *ngIf=\"filter\"\n data-automation-id=\"novo-activity-table-filter-clear\"\n >\n {{ labels.clear }}\n </novo-button>\n </div>\n <ng-container [ngSwitch]=\"config.filterConfig.type\">\n <novo-optgroup *ngSwitchCase=\"'date'\">\n <ng-container *ngIf=\"!showCustomRange\">\n <novo-option\n [class.active]=\"activeDateFilter === option.label\"\n *ngFor=\"let option of config.filterConfig.options\"\n (click)=\"filterData(option)\"\n [attr.data-automation-id]=\"'novo-activity-table-filter-' + option.label\"\n >\n {{ option.label }} <i class=\"bhi-check\" *ngIf=\"activeDateFilter === option.label\"></i>\n </novo-option>\n </ng-container>\n <novo-option\n [class.active]=\"labels.customDateRange === activeDateFilter\"\n (click)=\"toggleCustomRange($event, true)\"\n *ngIf=\"config.filterConfig.allowCustomRange && !showCustomRange\"\n [keepOpen]=\"true\"\n >\n {{ labels.customDateRange }} <i class=\"bhi-check\" *ngIf=\"labels.customDateRange === activeDateFilter\"></i>\n </novo-option>\n <div class=\"calendar-container\" *ngIf=\"showCustomRange\">\n <div (click)=\"toggleCustomRange($event, false)\"><i class=\"bhi-previous\"></i>{{ labels.backToPresetFilters }}</div>\n <novo-date-picker (onSelect)=\"filterData($event)\" [(ngModel)]=\"filter\" range=\"true\"></novo-date-picker>\n </div>\n </novo-optgroup>\n <novo-optgroup *ngSwitchCase=\"'select'\">\n <novo-option\n [class.active]=\"filter === option\"\n *ngFor=\"let option of config.filterConfig.options\"\n (click)=\"filterData(option)\"\n [attr.data-automation-id]=\"'novo-activity-table-filter-' + (option?.label || option)\"\n >\n <span>{{ option?.label || option }}</span>\n <i class=\"bhi-check\" *ngIf=\"option.hasOwnProperty('value') ? filter === option.value : filter === option\"></i>\n </novo-option>\n </novo-optgroup>\n <novo-optgroup *ngSwitchDefault>\n <novo-option class=\"filter-search\" keepOpen>\n <input\n type=\"text\"\n [(ngModel)]=\"filter\"\n (ngModelChange)=\"filterData($event)\"\n novoSimpleFilterFocus\n data-automation-id=\"novo-activity-table-filter-input\"\n />\n </novo-option>\n </novo-optgroup>\n </ng-container>\n </novo-dropdown>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleCellHeader implements NovoSimpleSortFilter, OnInit, OnDestroy {\n @ViewChild(NovoDropdownElement)\n dropdown: NovoDropdownElement;\n\n @Input()\n defaultSort: { id: string; value: string };\n\n @Input('novo-simple-cell-config')\n get config() {\n return this._config;\n }\n\n set config(v) {\n if (!v) {\n this._config = {\n sortable: false,\n filterable: false,\n filterConfig: {\n type: 'text',\n },\n };\n } else {\n this._config = {\n sortable: coerceBooleanProperty(v.sortable),\n filterable: coerceBooleanProperty(v.filterable),\n transforms: v.transforms || {},\n filterConfig: v.filterConfig || {\n type: 'text',\n },\n };\n\n if (this._config.filterConfig.type === 'date' && !this._config.filterConfig.options) {\n this._config.filterConfig.options = this.getDefaultDateFilterOptions();\n }\n }\n }\n\n private _config: {\n sortable: boolean;\n filterable: boolean;\n transforms?: { filter?: Function; sort?: Function };\n filterConfig: SimpleTableColumnFilterConfig;\n };\n\n private _rerenderSubscription: Subscription;\n private changeTimeout: any;\n\n public icon: string = 'sortable';\n public id: string;\n public filter: string | boolean;\n public direction: string;\n public filterActive: boolean = false;\n public sortActive: boolean = false;\n public showCustomRange: boolean = false;\n public activeDateFilter: string;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n public labels: NovoLabelService,\n private state: NovoActivityTableState,\n @Optional() public _sort: NovoSortFilter,\n @Optional() public _cdkColumnDef: CdkColumnDef,\n ) {\n this._rerenderSubscription = state.updates.subscribe((change: NovoSimpleTableChange) => {\n if (change.sort && change.sort.id === this.id) {\n this.icon = `sort-${change.sort.value}`;\n this.sortActive = true;\n } else {\n this.icon = 'sortable';\n this.sortActive = false;\n }\n if (change.filter && change.filter.id === this.id) {\n this.filterActive = true;\n this.filter = change.filter.value;\n } else {\n this.filterActive = false;\n this.filter = undefined;\n }\n changeDetectorRef.markForCheck();\n });\n }\n\n public ngOnInit(): void {\n if (this._cdkColumnDef) {\n this.id = this._cdkColumnDef.name;\n }\n if (this.defaultSort && this.id === this.defaultSort.id) {\n this.icon = `sort-${this.defaultSort.value}`;\n this.sortActive = true;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n public ngOnDestroy(): void {\n this._rerenderSubscription.unsubscribe();\n }\n\n public sort(): void {\n if (this.changeTimeout) {\n clearTimeout(this.changeTimeout);\n }\n this.changeTimeout = setTimeout(() => {\n this.direction = this.getNextSortDirection(this.direction);\n this._sort.sort(this.id, this.direction, this._config.transforms.sort);\n this.changeDetectorRef.markForCheck();\n }, 300);\n }\n\n public toggleCustomRange(event: Event, value: boolean): void {\n Helpers.swallowEvent(event);\n this.showCustomRange = value;\n this.changeDetectorRef.markForCheck();\n this.dropdown.openPanel(); // Ensures that the panel correctly updates to the dynamic size of the dropdown\n }\n\n public filterData(filter?: any): void {\n let actualFilter = filter;\n if (this.config.filterConfig.type === 'date' && filter) {\n this.activeDateFilter = filter.label || this.labels.customDateRange;\n if (filter.startDate && filter.endDate) {\n actualFilter = {\n min: DateUtil.startOfDay(filter.startDate.date),\n max: DateUtil.startOfDay(DateUtil.addDays(DateUtil.startOfDay(filter.endDate.date), 1)),\n };\n } else {\n actualFilter = {\n min: filter.min ? DateUtil.addDays(startOfToday(), filter.min) : startOfToday(),\n max: filter.max ? DateUtil.addDays(startOfTomorrow(), filter.max) : startOfTomorrow(),\n };\n }\n }\n\n if (actualFilter && actualFilter.hasOwnProperty('value')) {\n actualFilter = filter.value;\n }\n\n if (this.changeTimeout) {\n clearTimeout(this.changeTimeout);\n }\n\n this.changeTimeout = setTimeout(() => {\n if (actualFilter === '') {\n actualFilter = undefined;\n }\n this._sort.filter(this.id, actualFilter, this.config.transforms.filter);\n this.changeDetectorRef.markForCheck();\n }, 300);\n }\n\n public clearFilter(): void {\n this.filter = undefined;\n this.activeDateFilter = undefined;\n this.filterData();\n }\n\n private getNextSortDirection(direction: string): string {\n if (!direction) {\n return 'asc';\n }\n if (direction === 'asc') {\n return 'desc';\n }\n return 'asc';\n }\n\n private getDefaultDateFilterOptions(): SimpleTableColumnFilterOption[] {\n const opts: SimpleTableColumnFilterOption[] = [\n { label: this.labels.past1Day, min: -1, max: 0 },\n { label: this.labels.past7Days, min: -7, max: 0 },\n { label: this.labels.past30Days, min: -30, max: 0 },\n { label: this.labels.past90Days, min: -90, max: 0 },\n { label: this.labels.past1Year, min: -366, max: 0 },\n { label: this.labels.next1Day, min: 0, max: 1 },\n { label: this.labels.next7Days, min: 0, max: 7 },\n { label: this.labels.next30Days, min: 0, max: 30 },\n { label: this.labels.next90Days, min: 0, max: 90 },\n { label: this.labels.next1Year, min: 0, max: 366 },\n ];\n return opts;\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { NovoSimplePaginationEvent } from './interfaces';\nimport { NovoActivityTableState } from './state';\n\nconst DEFAULT_PAGE_SIZE = 50;\n\n@Component({\n selector: 'novo-simple-table-pagination',\n template: `\n <div class=\"novo-simple-table-pagination-size\">\n <novo-tiles\n *ngIf=\"displayedPageSizeOptions.length > 1\"\n [(ngModel)]=\"pageSize\"\n [options]=\"displayedPageSizeOptions\"\n (onChange)=\"changePageSize($event)\"\n data-automation-id=\"novo-simple-table-pagination-tiles\"\n >\n </novo-tiles>\n <div *ngIf=\"displayedPageSizeOptions.length <= 1\">{{ pageSize }}</div>\n </div>\n\n <div class=\"novo-simple-table-range-label-long\" data-automation-id=\"novo-simple-table-pagination-range-label-long\">\n {{ longRangeLabel }}\n </div>\n <div class=\"novo-simple-table-range-label-short\" data-automation-id=\"novo-simple-table-pagination-range-label-short\">\n {{ shortRangeLabel }}\n </div>\n\n <novo-button\n theme=\"dialogue\"\n type=\"button\"\n class=\"novo-simple-table-pagination-navigation-previous\"\n (click)=\"previousPage()\"\n icon=\"previous\"\n side=\"left\"\n [disabled]=\"!hasPreviousPage()\"\n data-automation-id=\"novo-simple-table-pagination-previous\"\n >\n <span>{{ labels.previous }}</span>\n </novo-button>\n <novo-button\n theme=\"dialogue\"\n type=\"button\"\n class=\"novo-simple-table-pagination-navigation-next\"\n (click)=\"nextPage()\"\n icon=\"next\"\n side=\"right\"\n [disabled]=\"!hasNextPage()\"\n data-automation-id=\"novo-simple-table-pagination-next\"\n >\n <span>{{ labels.next }}</span>\n </novo-button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleTablePagination implements OnInit, OnDestroy {\n private _initialized: boolean;\n\n @Input()\n get page(): number {\n return this._page;\n }\n set page(page: number) {\n this._page = page;\n this.changeDetectorRef.markForCheck();\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n this.state.page = this._page;\n }\n _page: number = 0;\n\n @Input()\n get length(): number {\n return this._length;\n }\n set length(length: number) {\n this._length = length;\n this.changeDetectorRef.markForCheck();\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n }\n _length: number = 0;\n\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n set pageSize(pageSize: number) {\n this._pageSize = pageSize;\n this.updateDisplayedPageSizeOptions();\n this.state.pageSize = this._pageSize;\n }\n private _pageSize: number;\n\n @Input()\n get pageSizeOptions(): number[] {\n return this._pageSizeOptions;\n }\n set pageSizeOptions(pageSizeOptions: number[]) {\n this._pageSizeOptions = pageSizeOptions;\n this.updateDisplayedPageSizeOptions();\n }\n private _pageSizeOptions: number[] = [];\n\n @Output()\n pageChange = new EventEmitter<NovoSimplePaginationEvent>();\n\n public displayedPageSizeOptions: number[];\n public longRangeLabel: string;\n public shortRangeLabel: string;\n\n private resetSubscription: Subscription;\n\n constructor(private changeDetectorRef: ChangeDetectorRef, public labels: NovoLabelService, private state: NovoActivityTableState) {\n if (state && state.onReset) {\n this.resetSubscription = this.state.onReset.subscribe((clear: boolean) => {\n if (clear) {\n this.page = 0;\n this.changeDetectorRef.markForCheck();\n }\n });\n }\n }\n\n public ngOnInit(): void {\n this._initialized = true;\n this.updateDisplayedPageSizeOptions();\n }\n\n public ngOnDestroy(): void {\n this.resetSubscription.unsubscribe();\n }\n\n public nextPage(): void {\n if (!this.hasNextPage()) {\n return;\n }\n this.page++;\n this.emitPageEvent();\n }\n\n public previousPage(): void {\n if (!this.hasPreviousPage()) {\n return;\n }\n this.page--;\n this.emitPageEvent();\n }\n\n public hasPreviousPage(): boolean {\n return this.page >= 1 && this.pageSize !== 0;\n }\n\n public hasNextPage(): boolean {\n const numberOfPages = Math.ceil(this.length / this.pageSize) - 1;\n return this.page < numberOfPages && this.pageSize !== 0;\n }\n\n public changePageSize(pageSize: number): void {\n this.page = 0;\n this.pageSize = pageSize;\n this.emitPageEvent();\n }\n\n private updateDisplayedPageSizeOptions(): void {\n if (!this._initialized) {\n return;\n }\n if (!this.pageSize) {\n this._pageSize = this.pageSizeOptions.length !== 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n }\n this.displayedPageSizeOptions = this.pageSizeOptions.slice();\n if (this.displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\n this.displayedPageSizeOptions.push(this.pageSize);\n }\n this.displayedPageSizeOptions.sort((a, b) => a - b);\n this.changeDetectorRef.markForCheck();\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n }\n\n private emitPageEvent(): void {\n const event = {\n page: this.page,\n pageSize: this.pageSize,\n length: this.length,\n };\n this.pageChange.next(event);\n this.state.page = this.page;\n this.state.pageSize = this.pageSize;\n this.longRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, false);\n this.shortRangeLabel = this.labels.getRangeText(this.page, this.pageSize, this.length, true);\n this.state.updates.next(event);\n }\n}\n","import { CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef, CDK_ROW_TEMPLATE } from '@angular/cdk/table';\nimport { ChangeDetectionStrategy, Component, Directive, HostBinding, Input } from '@angular/core';\n\n/** Workaround for https://github.com/angular/angular/issues/17849 */\nexport const _NovoHeaderRowDef = CdkHeaderRowDef;\nexport const _NovoCdkRowDef = CdkRowDef;\nexport const _NovoHeaderRow = CdkHeaderRow;\nexport const _NovoRow = CdkRow;\n\n@Directive({\n selector: '[novoSimpleHeaderRowDef]',\n providers: [{ provide: CdkHeaderRowDef, useExisting: NovoSimpleHeaderRowDef }],\n})\nexport class NovoSimpleHeaderRowDef extends _NovoHeaderRowDef {\n // TODO: add explicit constructor\n\n @Input('novoSimpleHeaderRowDef')\n columns;\n}\n\n@Directive({\n selector: '[novoSimpleRowDef]',\n providers: [{ provide: CdkRowDef, useExisting: NovoSimpleRowDef }],\n})\nexport class NovoSimpleRowDef<T> extends _NovoCdkRowDef<T> {\n // TODO: add explicit constructor\n\n @Input('novoSimpleRowDefColumns')\n columns;\n}\n\n@Component({\n selector: 'novo-simple-header-row',\n template: CDK_ROW_TEMPLATE,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleHeaderRow extends _NovoHeaderRow {\n @HostBinding('class')\n public rowClass = 'novo-simple-header-row';\n @HostBinding('attr.role')\n public role = 'row';\n}\n\n@Component({\n selector: 'novo-simple-row',\n template: CDK_ROW_TEMPLATE,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoSimpleRow extends _NovoRow {\n @HostBinding('class')\n public rowClass = 'novo-simple-row';\n @HostBinding('attr.role')\n public role = 'row';\n}\n","import { DataSource } from '@angular/cdk/table';\nimport { ChangeDetectorRef } from '@angular/core';\nimport { merge, Observable, of } from 'rxjs';\nimport { catchError, map, startWith, switchMap } from 'rxjs/operators';\nimport { Helpers } from 'novo-elements/utils';\nimport { NovoActivityTableState } from './state';\n\nexport interface ActivityTableService<T> {\n getTableResults(\n sort: { id: string; value: string; transform?: Function },\n filter: { id: string; value: string; transform?: Function },\n page: number,\n pageSize: number,\n globalSearch?: string,\n outsideFilter?: any,\n ): Observable<{ results: T[]; total: number }>;\n}\n\nexport abstract class RemoteActivityTableService<T> implements ActivityTableService<T> {\n abstract getTableResults(\n sort: { id: string; value: string; transform?: Function },\n filter: { id: string; value: string; transform?: Function },\n page: number,\n pageSize: number,\n globalSearch?: string,\n outsideFilter?: any,\n ): Observable<{ results: T[]; total: number }>;\n}\n\nexport class StaticActivityTableService<T> implements ActivityTableService<T> {\n constructor(private data: T[] = []) {}\n\n public getTableResults(\n sort: { id: string; value: string; transform?: Function },\n filter: { id: string; value: string; transform?: Function },\n page: number = 0,\n pageSize: number,\n globalSearch?: string,\n outsideFilter?: any,\n ): Observable<{ results: T[]; total: number }> {\n let ret: T[] = Helpers.deepClone(this.data);\n if (ret.length !== 0) {\n if (globalSearch) {\n ret = ret.filter((item) => Object.keys(item).some((key) => `${item[key]}`.toLowerCase().includes(globalSearch.toLowerCase())));\n }\n if (filter) {\n const value = Helpers.isString(filter.value) ? filter.value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&') : filter.value;\n ret = ret.filter(Helpers.filterByField(filter.id, value));\n }\n if (sort) {\n ret = ret.sort(Helpers.sortByField(sort.id, sort.value === 'desc'));\n }\n if (!Helpers.isBlank(page) && !Helpers.isBlank(pageSize)) {\n ret = ret.slice(page * pageSize, (page + 1) * pageSize);\n }\n }\n return of({ results: ret, total: this.data.length });\n }\n}\n\nexport class ActivityTableDataSource<T> extends DataSource<T> {\n public total = 0;\n public current = 0;\n public loading = false;\n public pristine = true;\n\n get totallyEmpty(): boolean {\n return this.total === 0;\n }\n\n get currentlyEmpty(): boolean {\n return this.current === 0;\n }\n\n constructor(private tableService: ActivityTableService<T>, private state: NovoActivityTableState, private ref: ChangeDetectorRef) {\n super();\n }\n\n public connect(): Observable<any[]> {\n const displayDataChanges: any = [this.state.updates];\n return merge(...displayDataChanges).pipe(\n startWith(null),\n switchMap(() => {\n this.pristine = false;\n this.loading = true;\n return this.tableService.getTableResults(\n this.state.sort,\n this.state.filter,\n this.state.page,\n this.state.pageSize,\n this.state.globalSearch,\n this.state.outsideFilter,\n );\n }),\n map((data: { results: T[]; total: number }) => {\n this.loading = false;\n this.total = data.total;\n this.current = data.results.length;\n setTimeout(() => {\n this.ref.markForCheck();\n });\n return data.results;\n }),\n catchError((error) => {\n console.error(error); // tslint: disable-line\n this.loading = false;\n return of(null);\n }),\n );\n }\n\n public disconnect(): void {}\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _VIEW_REPEATER_STRATEGY, _DisposeViewRepeaterStrategy } from '@angular/cdk/collections';\nimport { CdkTable, CDK_TABLE_TEMPLATE, _COALESCED_STYLE_SCHEDULER, _CoalescedStyleScheduler } from '@angular/cdk/table';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { notify } from 'novo-elements/utils';\nimport { SimpleTableActionColumn, SimpleTableColumn, SimpleTablePaginationOptions, SimpleTableSearchOptions } from './interfaces';\nimport { NovoActivityTableState } from './state';\nimport { ActivityTableDataSource, ActivityTableService } from './table-source';\n\n@Component({\n selector: 'novo-simple-table',\n template: CDK_TABLE_TEMPLATE,\n styleUrls: ['./table.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoTable<T> extends CdkTable<T> {\n // TODO: add explicit constructor\n}\n\n@Directive({\n selector: 'novo-activity-table-actions',\n})\nexport class NovoActivityTableActions {}\n\n@Directive({\n selector: 'novo-activity-table-custom-header',\n})\nexport class NovoActivityTableCustomHeader {}\n\n@Directive({\n selector: 'novo-activity-table-custom-filter',\n})\nexport class NovoActivityTableCustomFilter {}\n\n@Directive({\n selector: 'novo-activity-table-empty-message',\n})\nexport class NovoActivityTableEmptyMessage {}\n\n@Directive({\n selector: 'novo-activity-table-no-results-message',\n})\nexport class NovoActivityTableNoResultsMessage {}\n\n@Component({\n selector: 'novo-activity-table',\n template: `\n <div *ngIf=\"debug\">\n <p>Total: {{ dataSource?.total }}</p>\n <p>Current: {{ dataSource?.current }}</p>\n <p>Totally Empty: {{ dataSource?.totallyEmpty }}</p>\n <p>Currently Empty: {{ dataSource?.currentlyEmpty }}</p>\n <p>Loading (DataSource): {{ dataSource?.loading }}</p>\n <p>User Filtered: {{ state.userFiltered }}</p>\n <p>Loading (Table): {{ loading }}</p>\n </div>\n <header *ngIf=\"(!(dataSource?.totallyEmpty && !state.userFiltered) && !loading) || forceShowHeader\">\n <ng-content select=\"[novo-activity-table-custom-header]\"></ng-content>\n <novo-search\n alwaysOpen=\"true\"\n (searchChanged)=\"onSearchChange($event)\"\n [(ngModel)]=\"state.globalSearch\"\n *ngIf=\"!hideGlobalSearch\"\n [placeholder]=\"searchOptions?.placeholder\"\n [hint]=\"searchOptions?.tooltip\"\n >\n </novo-search>\n <novo-simple-table-pagination\n *ngIf=\"paginationOptions\"\n [length]=\"dataSource?.total\"\n [page]=\"paginationOptions.page\"\n [pageSize]=\"paginationOptions.pageSize\"\n [pageSizeOptions]=\"paginationOptions.pageSizeOptions\"\n >\n </novo-simple-table-pagination>\n <div class=\"novo-activity-table-actions\">\n <ng-content select=\"[novo-activity-table-actions]\"></ng-content>\n </div>\n </header>\n <div class=\"novo-activity-table-loading-mask\" *ngIf=\"dataSource?.loading || loading\" data-automation-id=\"novo-activity-table-loading\">\n <novo-loading></novo-loading>\n </div>\n <div class=\"novo-activity-table-filter-container\">\n <div class=\"novo-activity-table-custom-filter\" *ngIf=\"customFilter\">\n <ng-content select=\"[novo-activity-table-custom-filter]\"></ng-content>\n </div>\n <div class=\"novo-activity-table-container\">\n <novo-simple-table\n *ngIf=\"columns?.length > 0\"\n [dataSource]=\"dataSource\"\n novoSortFilter\n novoSelection\n [class.empty]=\"dataSource?.currentlyEmpty && state.userFiltered\"\n [hidden]=\"dataSource?.totallyEmpty && !state.userFiltered\">\n <ng-content></ng-content>\n <ng-container novoSimpleColumnDef=\"selection\">\n <novo-simple-checkbox-header-cell *novoSimpleHeaderCellDef></novo-simple-checkbox-header-cell>\n <novo-simple-checkbox-cell *novoSimpleCellDef=\"let row; let i = index\" [row]=\"row\" [index]=\"i\"></novo-simple-checkbox-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of actionColumns\" [novoSimpleColumnDef]=\"column.id\">\n <novo-simple-empty-header-cell\n [class.button-header-cell]=\"!column.options\"\n [class.dropdown-header-cell]=\"column.options\"\n *novoSimpleHeaderCellDef\n ></novo-simple-empty-header-cell>\n <novo-simple-action-cell *novoSimpleCellDef=\"let row; let i = index\" [row]=\"row\" [column]=\"column\"></novo-simple-action-cell>\n </ng-container>\n <ng-container *ngFor=\"let column of columns\" [novoSimpleColumnDef]=\"column.id\">\n <novo-simple-header-cell\n *novoSimpleHeaderCellDef\n [column]=\"column\"\n [novo-simple-cell-config]=\"column.config\"\n [defaultSort]=\"defaultSort\"\n >{{ column.label }}</novo-simple-header-cell>\n <novo-simple-cell *novoSimpleCellDef=\"let row\" [column]=\"column\" [row]=\"row\"></novo-simple-cell>\n </ng-container>\n <novo-simple-header-row *novoSimpleHeaderRowDef=\"displayedColumns\"></novo-simple-header-row>\n <novo-simple-row *novoSimpleRowDef=\"let row; columns: displayedColumns\"></novo-simple-row>\n </novo-simple-table>\n <div\n class=\"novo-activity-table-no-results-container\"\n *ngIf=\"dataSource?.currentlyEmpty && state.userFiltered && !dataSource?.loading && !loading && !dataSource.pristine\"\n >\n <div #filtered><ng-content select=\"[novo-activity-table-no-results-message]\"></ng-content></div>\n <div class=\"novo-activity-table-empty-message\" *ngIf=\"filtered.childNodes.length == 0\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.noMatchingRecordsMessage }}</h4>\n </div>\n </div>\n <div\n class=\"novo-activity-table-empty-container\"\n *ngIf=\"dataSource?.totallyEmpty && !dataSource?.loading && !loading && !state.userFiltered && !dataSource.pristine\"\n >\n <div #empty><ng-content select=\"[novo-activity-table-empty-message]\"></ng-content></div>\n <div class=\"novo-activity-table-empty-message\" *ngIf=\"empty.childNodes.length == 0\">\n <h4><i class=\"bhi-search-question\"></i> {{ labels.emptyTableMessage }}</h4>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./table.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n NovoActivityTableState,\n { provide: _VIEW_REPEATER_STRATEGY, useClass: _DisposeViewRepeaterStrategy },\n { provide: _COALESCED_STYLE_SCHEDULER, useClass: _CoalescedStyleScheduler },\n ],\n})\nexport class NovoActivityTable<T> implements AfterContentInit, OnChanges, OnDestroy {\n @HostBinding('class.global-search-hidden')\n globalSearchHiddenClassToggle: boolean = false;\n\n @Input()\n activityService: ActivityTableService<T>;\n @Input()\n columns: SimpleTableColumn<T>[];\n @Input()\n displayedColumns: string[];\n @Input()\n actionColumns: SimpleTableActionColumn<T>[];\n @Input()\n paginationOptions: SimpleTablePaginationOptions;\n @Input()\n searchOptions: SimpleTableSearchOptions;\n @Input()\n defaultSort: { id: string; value: string };\n @Input()\n outsideFilter: EventEmitter<any>;\n\n @Input()\n set customFilter(v: boolean) {\n this._customFilter = coerceBooleanProperty(v);\n }\n get customFilter() {\n return this._customFilter;\n }\n private _customFilter: boolean;\n\n @Input()\n set forceShowHeader(v: boolean) {\n this._forceShowHeader = coerceBooleanProperty(v);\n }\n get forceShowHeader() {\n return this._forceShowHeader;\n }\n private _forceShowHeader: boolean;\n\n @Input()\n set hideGlobalSearch(v: boolean) {\n this._hideGlobalSearch = coerceBooleanProperty(v);\n this.globalSearchHiddenClassToggle = this._hideGlobalSearch;\n }\n get hideGlobalSearch() {\n return this._hideGlobalSearch;\n }\n private _hideGlobalSearch: boolean;\n\n @Input()\n set debug(v: boolean) {\n this._debug = coerceBooleanProperty(v);\n }\n get debug() {\n return this._debug;\n }\n private _debug: boolean;\n\n public dataSource: ActivityTableDataSource<T>;\n public loading: boolean = true;\n\n private outsideFilterSubscription: Subscription;\n\n @HostBinding('class.empty')\n get empty() {\n return this.dataSource && this.dataSource.totallyEmpty;\n }\n\n @HostBinding('class.loading')\n get loadingClass() {\n return this.loading || (this.dataSource && this.dataSource.loading);\n }\n\n constructor(public labels: NovoLabelService, private ref: ChangeDetectorRef, public state: NovoActivityTableState) {\n notify('[Deprecated]: The simple table is deprecated. Please migrate to novo-data-tables!');\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.loading = changes.activityService && !changes.activityService.currentValue;\n this.ref.detectChanges();\n if (changes.activityService && changes.activityService.currentValue) {\n this.loading = false;\n this.dataSource = new ActivityTableDataSource<T>(this.activityService, this.state, this.ref);\n this.ref.detectChanges();\n }\n if (changes.outsideFilter && changes.outsideFilter.currentValue) {\n if (!this.outsideFilterSubscription) {\n this.outsideFilterSubscription = this.outsideFilter.subscribe((filter: any) => {\n this.state.outsideFilter = filter;\n this.state.updates.next({ globalSearch: this.state.globalSearch, filter: this.state.filter, sort: this.state.sort });\n this.ref.markForCheck();\n });\n }\n }\n }\n\n public ngOnDestroy(): void {\n if (this.outsideFilterSubscription) {\n this.outsideFilterSubscription.unsubscribe();\n }\n }\n\n public ngAfterContentInit(): void {\n if (this.paginationOptions && !this.paginationOptions.page) {\n this.paginationOptions.page = 0;\n }\n if (this.paginationOptions && !this.paginationOptions.pageSize) {\n this.paginationOptions.pageSize = 50;\n }\n if (this.paginationOptions && !this.paginationOptions.pageSizeOptions) {\n this.paginationOptions.pageSizeOptions = [10, 25, 50, 100];\n }\n this.state.page = this.paginationOptions ? this.paginationOptions.page : undefined;\n this.state.pageSize = this.paginationOptions ? this.paginationOptions.pageSize : undefined;\n this.ref.markForCheck();\n }\n\n public onSearchChange(term: string): void {\n this.state.globalSearch = term;\n this.state.reset(false, true);\n this.state.updates.next({ globalSearch: term, filter: this.state.filter, sort: this.state.sort });\n }\n}\n","import { CdkTableModule } from '@angular/cdk/table';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoCheckboxModule } from 'novo-elements/elements/checkbox';\nimport { NovoCommonModule, NovoOptionModule } from 'novo-elements/elements/common';\nimport { NovoDatePickerModule } from 'novo-elements/elements/date-picker';\nimport { NovoDropdownModule } from 'novo-elements/elements/dropdown';\nimport { NovoFormExtrasModule } from 'novo-elements/elements/form';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoSearchBoxModule } from 'novo-elements/elements/search';\nimport { NovoTilesModule } from 'novo-elements/elements/tiles';\nimport {\n NovoSimpleActionCell,\n NovoSimpleCell,\n NovoSimpleCellDef,\n NovoSimpleCheckboxCell,\n NovoSimpleCheckboxHeaderCell,\n NovoSimpleColumnDef,\n NovoSimpleEmptyHeaderCell,\n NovoSimpleHeaderCell,\n NovoSimpleHeaderCellDef,\n} from './cell';\nimport { NovoSimpleCellHeader, NovoSimpleFilterFocus } from './cell-header';\nimport { NovoSimpleTablePagination } from './pagination';\nimport { NovoSimpleHeaderRow, NovoSimpleHeaderRowDef, NovoSimpleRow, NovoSimpleRowDef } from './row';\nimport { NovoSelection, NovoSortFilter } from './sort';\nimport { NovoActivityTableState } from './state';\nimport {\n NovoActivityTable,\n NovoActivityTableActions,\n NovoActivityTableCustomFilter,\n NovoActivityTableCustomHeader,\n NovoActivityTableEmptyMessage,\n NovoActivityTableNoResultsMessage,\n NovoTable,\n} from './table';\n\n@NgModule({\n imports: [\n NovoDatePickerModule,\n CdkTableModule,\n CommonModule,\n FormsModule,\n NovoCommonModule,\n NovoButtonModule,\n NovoDropdownModule,\n NovoFormExtrasModule,\n NovoLoadingModule,\n NovoTilesModule,\n NovoSearchBoxModule,\n NovoCheckboxModule,\n NovoOptionModule,\n ],\n exports: [\n NovoTable,\n NovoSimpleCellDef,\n NovoSimpleHeaderCellDef,\n NovoSimpleColumnDef,\n NovoActivityTableEmptyMessage,\n NovoActivityTableNoResultsMessage,\n NovoSimpleHeaderRowDef,\n NovoSimpleRowDef,\n NovoSimpleCellHeader,\n NovoSortFilter,\n NovoSimpleActionCell,\n NovoSimpleEmptyHeaderCell,\n NovoSimpleHeaderCell,\n NovoSimpleCell,\n NovoSimpleHeaderRow,\n NovoSimpleRow,\n NovoSimpleFilterFocus,\n NovoSimpleTablePagination,\n NovoActivityTableCustomHeader,\n NovoSimpleCheckboxCell,\n NovoSimpleCheckboxHeaderCell,\n NovoSelection,\n NovoActivityTable,\n NovoActivityTableActions,\n NovoActivityTableCustomFilter,\n ],\n declarations: [\n NovoTable,\n NovoSimpleCellDef,\n NovoSimpleHeaderCellDef,\n NovoSimpleColumnDef,\n NovoActivityTableEmptyMessage,\n NovoActivityTableNoResultsMessage,\n NovoSimpleHeaderRowDef,\n NovoSimpleRowDef,\n NovoSimpleCellHeader,\n NovoSortFilter,\n NovoSimpleActionCell,\n NovoSimpleEmptyHeaderCell,\n NovoSimpleHeaderCell,\n NovoSimpleCell,\n NovoSimpleHeaderRow,\n NovoSimpleRow,\n NovoSimpleFilterFocus,\n NovoSimpleTablePagination,\n NovoActivityTableCustomHeader,\n NovoSimpleCheckboxCell,\n NovoSimpleCheckboxHeaderCell,\n NovoSelection,\n NovoActivityTable,\n NovoActivityTableActions,\n NovoActivityTableCustomFilter,\n ],\n providers: [NovoActivityTableState],\n})\nexport class NovoSimpleTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoActivityTableState","i2.NovoSelection","i5","i8","i9","i1","i2.NovoActivityTableState","i3.NovoSortFilter","i4","i6","i7","i10","i3","i2","i3.NovoActivityTableState","i5.NovoSimpleTablePagination","i7.NovoSimpleCheckboxHeaderCell","i7.NovoSimpleCheckboxCell","i7.NovoSimpleActionCell","i8.NovoSimpleCellHeader","i7.NovoSimpleCell","i9.NovoSimpleHeaderRow","i9.NovoSimpleRow","i11","i12.NovoSortFilter","i12.NovoSelection","i7.NovoSimpleColumnDef","i7.NovoSimpleHeaderCellDef","i7.NovoSimpleCellDef","i7.NovoSimpleEmptyHeaderCell","i7.NovoSimpleHeaderCell","i9.NovoSimpleHeaderRowDef","i9.NovoSimpleRowDef"],"mappings":"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"}
|
|
@@ -99,13 +99,13 @@ class NovoStepHeader extends CdkStepHeader {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
NovoStepHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoStepHeader, deps: [{ token: i1$1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
NovoStepHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoStepHeader, selector: "novo-step-header", inputs: { theme: "theme", color: "color", icon: "icon", state: "state", label: "label", iconOverrides: "iconOverrides", index: "index", selected: "selected", active: "active", optional: "optional" }, host: { attributes: { "role": "tab" }, classAttribute: "novo-step-header" }, usesInheritance: true, ngImport: i0, template: "<div [class.novo-step-icon]=\"touched\"\n [class.novo-step-icon-not-touched]=\"!touched\">\n <ng-container *ngIf=\"icon\">\n <novo-icon raised=\"true\" [theme]=\"theme\">{{icon}}</novo-icon>\n </ng-container>\n <ng-container *ngIf=\"!icon\">\n <span class=\"novo-step-number\">{{index + 1}}</span>\n </ng-container>\n</div>\n<div class=\"novo-step-label\"\n [class.novo-step-label-active]=\"active\"\n [class.novo-step-label-selected]=\"selected\">\n <!-- If there is a label template, use it. -->\n <ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\">\n </ng-container>\n <!-- It there is no label template, fall back to the text label. -->\n <div class=\"novo-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n</div>\n<novo-step-status [state]=\"state\"></novo-step-status>", styles: [":host{overflow:visible;outline:none;cursor:pointer;position:relative}:host .novo-step-optional{font-size:12px}:host .novo-step-icon,:host .novo-step-icon-not-touched{border-radius:50%;height:24px;width:24px;align-items:center;justify-content:center;display:flex}:host .novo-step-icon .novo-step-number,:host .novo-step-icon-not-touched .novo-step-number{font-size:1em;min-width:1.6em;height:1.6em;box-shadow:2px 2px #0003;display:flex;align-items:center;justify-content:center;border-radius:4px}:host .novo-step-icon .novo-step-number{background:#4a89dc;color:#fff}:host .novo-step-icon-not-touched .novo-step-number{background:#a9adbb;color:#fff}:host .novo-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;text-align:center;padding:4px 0}:host .novo-step-text-label{text-align:center;text-overflow:ellipsis;overflow:hidden}:host.novo-vertical-stepper-header{display:flex;align-items:center;padding:24px;max-height:24px}:host.novo-vertical-stepper-header .novo-step-icon,:host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:12px}[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon,[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:0;margin-left:12px}:host.novo-vertical-stepper-header novo-step-status{position:absolute;left:35px;top:25px;transform:scale(.8)}:host.novo-horizontal-stepper-header{display:flex;height:80px;flex-flow:column;overflow:visible;align-items:center;justify-content:center;padding:0 24px}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status{display:flex;width:100%;justify-content:center;align-items:center;position:absolute;height:1px;bottom:
|
|
102
|
+
NovoStepHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoStepHeader, selector: "novo-step-header", inputs: { theme: "theme", color: "color", icon: "icon", state: "state", label: "label", iconOverrides: "iconOverrides", index: "index", selected: "selected", active: "active", optional: "optional" }, host: { attributes: { "role": "tab" }, classAttribute: "novo-step-header" }, usesInheritance: true, ngImport: i0, template: "<div [class.novo-step-icon]=\"touched\"\n [class.novo-step-icon-not-touched]=\"!touched\">\n <ng-container *ngIf=\"icon\">\n <novo-icon raised=\"true\" [theme]=\"theme\">{{icon}}</novo-icon>\n </ng-container>\n <ng-container *ngIf=\"!icon\">\n <span class=\"novo-step-number\">{{index + 1}}</span>\n </ng-container>\n</div>\n<div class=\"novo-step-label\"\n [class.novo-step-label-active]=\"active\"\n [class.novo-step-label-selected]=\"selected\">\n <!-- If there is a label template, use it. -->\n <ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\">\n </ng-container>\n <!-- It there is no label template, fall back to the text label. -->\n <div class=\"novo-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n</div>\n<novo-step-status [state]=\"state\"></novo-step-status>", styles: [":host{overflow:visible;outline:none;cursor:pointer;position:relative}:host .novo-step-optional{font-size:12px}:host .novo-step-icon,:host .novo-step-icon-not-touched{border-radius:50%;height:24px;width:24px;align-items:center;justify-content:center;display:flex}:host .novo-step-icon .novo-step-number,:host .novo-step-icon-not-touched .novo-step-number{font-size:1em;min-width:1.6em;height:1.6em;box-shadow:2px 2px #0003;display:flex;align-items:center;justify-content:center;border-radius:4px}:host .novo-step-icon .novo-step-number{background:#4a89dc;color:#fff}:host .novo-step-icon-not-touched .novo-step-number{background:#a9adbb;color:#fff}:host .novo-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;text-align:center;padding:4px 0}:host .novo-step-text-label{text-align:center;text-overflow:ellipsis;overflow:hidden}:host.novo-vertical-stepper-header{display:flex;align-items:center;padding:24px;max-height:24px}:host.novo-vertical-stepper-header .novo-step-icon,:host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:12px}[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon,[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:0;margin-left:12px}:host.novo-vertical-stepper-header novo-step-status{position:absolute;left:35px;top:25px;transform:scale(.8)}:host.novo-horizontal-stepper-header{display:flex;height:80px;flex-flow:column;overflow:visible;align-items:center;justify-content:center;padding:0 24px}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status{display:flex;width:100%;justify-content:center;align-items:center;position:absolute;height:1px;bottom:0}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line{width:100%;position:absolute}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line:before{content:\"\";display:block;width:calc(50% - 8px);margin-right:8px;border-bottom:1px solid #dbdbdb}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line:after{content:\"\";display:block;width:calc(50% - 8px);margin-left:calc(50% + 8px);margin-top:-1px;border-top:1px solid #dbdbdb}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line.edit:before{border-bottom:1px solid #4a89dc}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line.done:before{border-bottom:1px solid #4a89dc}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line.done:after{border-top:1px solid #4a89dc}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-icon{position:relative}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-icon:before{content:\"\";display:block;background:#ffffff;border-radius:50%;position:absolute;z-index:0;inset:1px}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-icon>*{position:relative;z-index:1}\n"], components: [{ type: i1.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: NovoStepStatus, selector: "novo-step-status", inputs: ["state"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoStepHeader, decorators: [{
|
|
104
104
|
type: Component,
|
|
105
105
|
args: [{ selector: 'novo-step-header', host: {
|
|
106
106
|
class: 'novo-step-header',
|
|
107
107
|
role: 'tab',
|
|
108
|
-
}, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.novo-step-icon]=\"touched\"\n [class.novo-step-icon-not-touched]=\"!touched\">\n <ng-container *ngIf=\"icon\">\n <novo-icon raised=\"true\" [theme]=\"theme\">{{icon}}</novo-icon>\n </ng-container>\n <ng-container *ngIf=\"!icon\">\n <span class=\"novo-step-number\">{{index + 1}}</span>\n </ng-container>\n</div>\n<div class=\"novo-step-label\"\n [class.novo-step-label-active]=\"active\"\n [class.novo-step-label-selected]=\"selected\">\n <!-- If there is a label template, use it. -->\n <ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\">\n </ng-container>\n <!-- It there is no label template, fall back to the text label. -->\n <div class=\"novo-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n</div>\n<novo-step-status [state]=\"state\"></novo-step-status>", styles: [":host{overflow:visible;outline:none;cursor:pointer;position:relative}:host .novo-step-optional{font-size:12px}:host .novo-step-icon,:host .novo-step-icon-not-touched{border-radius:50%;height:24px;width:24px;align-items:center;justify-content:center;display:flex}:host .novo-step-icon .novo-step-number,:host .novo-step-icon-not-touched .novo-step-number{font-size:1em;min-width:1.6em;height:1.6em;box-shadow:2px 2px #0003;display:flex;align-items:center;justify-content:center;border-radius:4px}:host .novo-step-icon .novo-step-number{background:#4a89dc;color:#fff}:host .novo-step-icon-not-touched .novo-step-number{background:#a9adbb;color:#fff}:host .novo-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;text-align:center;padding:4px 0}:host .novo-step-text-label{text-align:center;text-overflow:ellipsis;overflow:hidden}:host.novo-vertical-stepper-header{display:flex;align-items:center;padding:24px;max-height:24px}:host.novo-vertical-stepper-header .novo-step-icon,:host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:12px}[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon,[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:0;margin-left:12px}:host.novo-vertical-stepper-header novo-step-status{position:absolute;left:35px;top:25px;transform:scale(.8)}:host.novo-horizontal-stepper-header{display:flex;height:80px;flex-flow:column;overflow:visible;align-items:center;justify-content:center;padding:0 24px}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status{display:flex;width:100%;justify-content:center;align-items:center;position:absolute;height:1px;bottom:
|
|
108
|
+
}, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class.novo-step-icon]=\"touched\"\n [class.novo-step-icon-not-touched]=\"!touched\">\n <ng-container *ngIf=\"icon\">\n <novo-icon raised=\"true\" [theme]=\"theme\">{{icon}}</novo-icon>\n </ng-container>\n <ng-container *ngIf=\"!icon\">\n <span class=\"novo-step-number\">{{index + 1}}</span>\n </ng-container>\n</div>\n<div class=\"novo-step-label\"\n [class.novo-step-label-active]=\"active\"\n [class.novo-step-label-selected]=\"selected\">\n <!-- If there is a label template, use it. -->\n <ng-container *ngIf=\"_templateLabel()\" [ngTemplateOutlet]=\"_templateLabel()!.template\">\n </ng-container>\n <!-- It there is no label template, fall back to the text label. -->\n <div class=\"novo-step-text-label\" *ngIf=\"_stringLabel()\">{{label}}</div>\n</div>\n<novo-step-status [state]=\"state\"></novo-step-status>", styles: [":host{overflow:visible;outline:none;cursor:pointer;position:relative}:host .novo-step-optional{font-size:12px}:host .novo-step-icon,:host .novo-step-icon-not-touched{border-radius:50%;height:24px;width:24px;align-items:center;justify-content:center;display:flex}:host .novo-step-icon .novo-step-number,:host .novo-step-icon-not-touched .novo-step-number{font-size:1em;min-width:1.6em;height:1.6em;box-shadow:2px 2px #0003;display:flex;align-items:center;justify-content:center;border-radius:4px}:host .novo-step-icon .novo-step-number{background:#4a89dc;color:#fff}:host .novo-step-icon-not-touched .novo-step-number{background:#a9adbb;color:#fff}:host .novo-step-label{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;text-align:center;padding:4px 0}:host .novo-step-text-label{text-align:center;text-overflow:ellipsis;overflow:hidden}:host.novo-vertical-stepper-header{display:flex;align-items:center;padding:24px;max-height:24px}:host.novo-vertical-stepper-header .novo-step-icon,:host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:12px}[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon,[dir=rtl] :host.novo-vertical-stepper-header .novo-step-icon-not-touched{margin-right:0;margin-left:12px}:host.novo-vertical-stepper-header novo-step-status{position:absolute;left:35px;top:25px;transform:scale(.8)}:host.novo-horizontal-stepper-header{display:flex;height:80px;flex-flow:column;overflow:visible;align-items:center;justify-content:center;padding:0 24px}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status{display:flex;width:100%;justify-content:center;align-items:center;position:absolute;height:1px;bottom:0}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line{width:100%;position:absolute}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line:before{content:\"\";display:block;width:calc(50% - 8px);margin-right:8px;border-bottom:1px solid #dbdbdb}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line:after{content:\"\";display:block;width:calc(50% - 8px);margin-left:calc(50% + 8px);margin-top:-1px;border-top:1px solid #dbdbdb}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line.edit:before{border-bottom:1px solid #4a89dc}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line.done:before{border-bottom:1px solid #4a89dc}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-line.done:after{border-top:1px solid #4a89dc}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-icon{position:relative}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-icon:before{content:\"\";display:block;background:#ffffff;border-radius:50%;position:absolute;z-index:0;inset:1px}:host.novo-horizontal-stepper-header ::ng-deep .novo-step-status .novo-stepper-status-icon>*{position:relative;z-index:1}\n"] }]
|
|
109
109
|
}], ctorParameters: function () { return [{ type: i1$1.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { theme: [{
|
|
110
110
|
type: Input
|
|
111
111
|
}], color: [{
|