@rivet-health/design-system 40.35.2 → 40.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/layout/setting-row/setting-row.component.mjs +111 -0
- package/esm2020/lib/riv.module.mjs +6 -1
- package/esm2020/lib/table/table/state-helpers/column-helpers.mjs +48 -10
- package/esm2020/lib/table/table/state.mjs +17 -9
- package/esm2020/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +8 -18
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/rivet-health-design-system.mjs +166 -29
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +178 -35
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/layout/setting-row/setting-row.component.d.ts +72 -0
- package/lib/riv.module.d.ts +44 -43
- package/lib/table/table/state-helpers/column-helpers.d.ts +11 -1
- package/lib/table/table/state.d.ts +3 -0
- package/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.d.ts +3 -9
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -6351,6 +6351,110 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
6351
6351
|
CardMediaComponent.Fits = ['cover', 'contain', 'fill'];
|
|
6352
6352
|
})(CardMediaComponent || (CardMediaComponent = {}));
|
|
6353
6353
|
|
|
6354
|
+
/**
|
|
6355
|
+
* One labelled setting that is read in place and edited inline.
|
|
6356
|
+
*
|
|
6357
|
+
* Reading shows the label, the current value, and an edit button. Editing
|
|
6358
|
+
* swaps the value for a consumer-supplied field plus Cancel and Save buttons.
|
|
6359
|
+
* The row holds no state of its own — bind `editing` and act on `edit`,
|
|
6360
|
+
* `cancel`, and `save`.
|
|
6361
|
+
*
|
|
6362
|
+
* Set the value shown while reading with `value` for plain text, or project
|
|
6363
|
+
* richer content such as a `riv-badge` into the `[display-value]` slot. Use
|
|
6364
|
+
* one or the other: when `value` is set, the slot isn't shown.
|
|
6365
|
+
*
|
|
6366
|
+
* Two content slots:
|
|
6367
|
+
* - `[display-value]` — content shown while reading, when `value` is empty
|
|
6368
|
+
* - `#editor` template — any field component to edit the value with, such as
|
|
6369
|
+
* `riv-text-field`, `riv-currency-field`, or `riv-simple-select`. The row
|
|
6370
|
+
* wraps it in a `<label>` named after `label`, so don't give the field its
|
|
6371
|
+
* own label. Only the first control in the template gets that name, so keep
|
|
6372
|
+
* it to one field.
|
|
6373
|
+
*
|
|
6374
|
+
* ```html
|
|
6375
|
+
* <riv-setting-row
|
|
6376
|
+
* [label]="'Threshold'"
|
|
6377
|
+
* [infoTooltip]="'Applies to new claims only'"
|
|
6378
|
+
* [editing]="editing"
|
|
6379
|
+
* [saving]="saving"
|
|
6380
|
+
* (edit)="editing = true"
|
|
6381
|
+
* (cancel)="editing = false"
|
|
6382
|
+
* (save)="save()"
|
|
6383
|
+
* [value]="threshold + '%'"
|
|
6384
|
+
* >
|
|
6385
|
+
* <ng-template #editor>
|
|
6386
|
+
* <riv-text-field [(value)]="draft"></riv-text-field>
|
|
6387
|
+
* </ng-template>
|
|
6388
|
+
* </riv-setting-row>
|
|
6389
|
+
* ```
|
|
6390
|
+
*
|
|
6391
|
+
* Stack rows directly to build a settings list; each row pads itself
|
|
6392
|
+
* vertically and lays out on a shared twelve-column grid so labels, values,
|
|
6393
|
+
* and actions line up between rows.
|
|
6394
|
+
*/
|
|
6395
|
+
class SettingRowComponent {
|
|
6396
|
+
constructor() {
|
|
6397
|
+
/** Names the setting. Also gives the edit button its screen-reader name, "Edit {label}". */
|
|
6398
|
+
this.label = '';
|
|
6399
|
+
/**
|
|
6400
|
+
* The value shown while reading, as plain text and already formatted, such
|
|
6401
|
+
* as `'$250'`. For anything richer, leave this empty and project it into
|
|
6402
|
+
* `[display-value]` instead.
|
|
6403
|
+
*/
|
|
6404
|
+
this.value = '';
|
|
6405
|
+
/** Explains the setting from an info icon beside the label. */
|
|
6406
|
+
this.infoTooltip = '';
|
|
6407
|
+
/**
|
|
6408
|
+
* Whether the edit field is shown. The consumer (the parent component) owns
|
|
6409
|
+
* this state, so it can keep only one row open for editing at a time.
|
|
6410
|
+
*/
|
|
6411
|
+
this.editing = false;
|
|
6412
|
+
/** Blocks Save, for a draft that is not yet valid. */
|
|
6413
|
+
this.saveDisabled = false;
|
|
6414
|
+
/** Shows Save as loading and blocks Save and Cancel while a save is in flight. */
|
|
6415
|
+
this.saving = false;
|
|
6416
|
+
this.tooltipMaxWidth = '320px';
|
|
6417
|
+
this.edit = new EventEmitter();
|
|
6418
|
+
this.cancel = new EventEmitter();
|
|
6419
|
+
this.save = new EventEmitter();
|
|
6420
|
+
}
|
|
6421
|
+
get editingClass() {
|
|
6422
|
+
return this.editing;
|
|
6423
|
+
}
|
|
6424
|
+
}
|
|
6425
|
+
SettingRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SettingRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6426
|
+
SettingRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SettingRowComponent, selector: "riv-setting-row", inputs: { label: "label", value: "value", infoTooltip: "infoTooltip", editing: "editing", saveDisabled: "saveDisabled", saving: "saving", tooltipMaxWidth: "tooltipMaxWidth" }, outputs: { edit: "edit", cancel: "cancel", save: "save" }, host: { properties: { "class.editing": "this.editingClass" } }, queries: [{ propertyName: "editor", first: true, predicate: ["editor"], descendants: true }], ngImport: i0, template: "<span class=\"label\">\n <riv-icon\n *ngIf=\"infoTooltip\"\n [name]=\"'Info'\"\n [size]=\"16\"\n [rivTooltip]=\"infoTooltip\"\n [rivTooltipMaxWidth]=\"tooltipMaxWidth\"\n ></riv-icon>\n {{ label }}\n</span>\n\n<ng-container *ngIf=\"!editing; else editMode\">\n <span class=\"value\">\n <ng-container *ngIf=\"value; else projectedValue\">{{ value }}</ng-container>\n <ng-template #projectedValue>\n <ng-content select=\"[display-value]\"></ng-content>\n </ng-template>\n </span>\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [icon]=\"'Edit2'\"\n [rivTooltip]=\"'Edit'\"\n [variant]=\"'ghost'\"\n [attr.aria-label]=\"'Edit ' + label\"\n (click)=\"edit.emit()\"\n ></button>\n </div>\n</ng-container>\n\n<ng-template #editMode>\n <label class=\"field\">\n <riv-sr-only>{{ label }}</riv-sr-only>\n <ng-container *ngTemplateOutlet=\"editor ?? null\"></ng-container>\n </label>\n\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [variant]=\"'basic'\"\n [size]=\"'medium'\"\n [disabled]=\"saving\"\n (click)=\"cancel.emit()\"\n >\n Cancel\n </button>\n <button\n rivButton\n type=\"button\"\n [variant]=\"'primary'\"\n [size]=\"'medium'\"\n [disabled]=\"saveDisabled || saving\"\n [loading]=\"saving\"\n (click)=\"save.emit()\"\n >\n Save\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--size-large);align-items:center;padding-block:var(--size-medium);color:var(--type-light-high-contrast)}.label,.value,.actions{display:flex;align-items:center;gap:var(--size-small)}.label{grid-column-end:span 4;font:var(--title-02)}.value{grid-column-end:span 7;font:var(--body-medium)}.field{grid-column-end:span 4}.actions{grid-column-end:span 1;justify-content:flex-end}:host.editing .actions{grid-column-end:span 4}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: SrOnlyComponent, selector: "riv-sr-only" }, { kind: "directive", type: TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipAnchor", "rivTooltipCloseDelay", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SettingRowComponent, decorators: [{
|
|
6428
|
+
type: Component,
|
|
6429
|
+
args: [{ selector: 'riv-setting-row', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"label\">\n <riv-icon\n *ngIf=\"infoTooltip\"\n [name]=\"'Info'\"\n [size]=\"16\"\n [rivTooltip]=\"infoTooltip\"\n [rivTooltipMaxWidth]=\"tooltipMaxWidth\"\n ></riv-icon>\n {{ label }}\n</span>\n\n<ng-container *ngIf=\"!editing; else editMode\">\n <span class=\"value\">\n <ng-container *ngIf=\"value; else projectedValue\">{{ value }}</ng-container>\n <ng-template #projectedValue>\n <ng-content select=\"[display-value]\"></ng-content>\n </ng-template>\n </span>\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [icon]=\"'Edit2'\"\n [rivTooltip]=\"'Edit'\"\n [variant]=\"'ghost'\"\n [attr.aria-label]=\"'Edit ' + label\"\n (click)=\"edit.emit()\"\n ></button>\n </div>\n</ng-container>\n\n<ng-template #editMode>\n <label class=\"field\">\n <riv-sr-only>{{ label }}</riv-sr-only>\n <ng-container *ngTemplateOutlet=\"editor ?? null\"></ng-container>\n </label>\n\n <div class=\"actions\">\n <button\n rivButton\n type=\"button\"\n [variant]=\"'basic'\"\n [size]=\"'medium'\"\n [disabled]=\"saving\"\n (click)=\"cancel.emit()\"\n >\n Cancel\n </button>\n <button\n rivButton\n type=\"button\"\n [variant]=\"'primary'\"\n [size]=\"'medium'\"\n [disabled]=\"saveDisabled || saving\"\n [loading]=\"saving\"\n (click)=\"save.emit()\"\n >\n Save\n </button>\n </div>\n</ng-template>\n", styles: [":host{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--size-large);align-items:center;padding-block:var(--size-medium);color:var(--type-light-high-contrast)}.label,.value,.actions{display:flex;align-items:center;gap:var(--size-small)}.label{grid-column-end:span 4;font:var(--title-02)}.value{grid-column-end:span 7;font:var(--body-medium)}.field{grid-column-end:span 4}.actions{grid-column-end:span 1;justify-content:flex-end}:host.editing .actions{grid-column-end:span 4}\n"] }]
|
|
6430
|
+
}], propDecorators: { label: [{
|
|
6431
|
+
type: Input
|
|
6432
|
+
}], value: [{
|
|
6433
|
+
type: Input
|
|
6434
|
+
}], infoTooltip: [{
|
|
6435
|
+
type: Input
|
|
6436
|
+
}], editing: [{
|
|
6437
|
+
type: Input
|
|
6438
|
+
}], saveDisabled: [{
|
|
6439
|
+
type: Input
|
|
6440
|
+
}], saving: [{
|
|
6441
|
+
type: Input
|
|
6442
|
+
}], tooltipMaxWidth: [{
|
|
6443
|
+
type: Input
|
|
6444
|
+
}], edit: [{
|
|
6445
|
+
type: Output
|
|
6446
|
+
}], cancel: [{
|
|
6447
|
+
type: Output
|
|
6448
|
+
}], save: [{
|
|
6449
|
+
type: Output
|
|
6450
|
+
}], editor: [{
|
|
6451
|
+
type: ContentChild,
|
|
6452
|
+
args: ['editor']
|
|
6453
|
+
}], editingClass: [{
|
|
6454
|
+
type: HostBinding,
|
|
6455
|
+
args: ['class.editing']
|
|
6456
|
+
}] } });
|
|
6457
|
+
|
|
6354
6458
|
/**
|
|
6355
6459
|
* A borderless heading with a click-to-edit title and an optional
|
|
6356
6460
|
* click-to-edit description, plus a projected slot for actions.
|
|
@@ -8432,10 +8536,10 @@ var TableColumnHelpers;
|
|
|
8432
8536
|
function getAlignment(metadata, index, allowSelection) {
|
|
8433
8537
|
return getColumnAlignment(metadata.dataType, index === 0 && !allowSelection);
|
|
8434
8538
|
}
|
|
8435
|
-
function resolveColumns(state, supportedColumns, columnNameMap, allowSelection) {
|
|
8539
|
+
function resolveColumns(state, supportedColumns, columnNameMap, allowSelection, filterTo) {
|
|
8436
8540
|
const allColumns = getAllColumns(state, supportedColumns, columnNameMap);
|
|
8437
8541
|
return allColumns
|
|
8438
|
-
.filter(({ enabled }) => enabled)
|
|
8542
|
+
.filter(({ enabled }) => (filterTo === 'enabled' ? enabled : !enabled))
|
|
8439
8543
|
.reduce((fullColumns, settings, i) => {
|
|
8440
8544
|
const metadata = supportedColumns.get(settings.key);
|
|
8441
8545
|
const resolvedWidth = settings.preferredWidth === 'auto'
|
|
@@ -8547,11 +8651,21 @@ var TableColumnHelpers;
|
|
|
8547
8651
|
TableColumnHelpers.changeColumnEnabled = changeColumnEnabled;
|
|
8548
8652
|
function enableAllColumns(state, columns, columnNameMap, enabled) {
|
|
8549
8653
|
const allColumns = getAllColumns(state, columns, columnNameMap);
|
|
8550
|
-
if (enabled && allColumns.length > RivTable.ColumnsMaxShown)
|
|
8654
|
+
if (enabled && allColumns.length > RivTable.ColumnsMaxShown) {
|
|
8551
8655
|
return state;
|
|
8552
|
-
|
|
8553
|
-
|
|
8554
|
-
|
|
8656
|
+
}
|
|
8657
|
+
const updatedColumnSettings = allColumns.map(currentColumnSettings => {
|
|
8658
|
+
var _a;
|
|
8659
|
+
const currentColumnMetadata = columns.get(currentColumnSettings.key);
|
|
8660
|
+
const isColumnAlwaysVisible = (_a = currentColumnMetadata === null || currentColumnMetadata === void 0 ? void 0 : currentColumnMetadata.alwaysVisible) !== null && _a !== void 0 ? _a : false;
|
|
8661
|
+
if (isColumnAlwaysVisible) {
|
|
8662
|
+
return Object.assign(Object.assign({}, currentColumnSettings), { enabled: true });
|
|
8663
|
+
}
|
|
8664
|
+
return Object.assign(Object.assign({}, currentColumnSettings), { enabled: enabled,
|
|
8665
|
+
// Unpin if being unchecked
|
|
8666
|
+
pinned: !enabled ? false : currentColumnSettings.pinned });
|
|
8667
|
+
});
|
|
8668
|
+
return Object.assign(Object.assign({}, state), { display: Object.assign(Object.assign({}, state.display), { columnSettings: orderIntentionally(updatedColumnSettings, columnNameMap) }) });
|
|
8555
8669
|
}
|
|
8556
8670
|
TableColumnHelpers.enableAllColumns = enableAllColumns;
|
|
8557
8671
|
function changeColumnWidth(state, columns, columnNameMap, column, preferredWidth) {
|
|
@@ -8577,10 +8691,29 @@ var TableColumnHelpers;
|
|
|
8577
8691
|
clickPreventDefault: metadata.clickPreventDefault,
|
|
8578
8692
|
clickStopPropagation: metadata.clickStopPropagation,
|
|
8579
8693
|
displayName: metadata.displayName,
|
|
8694
|
+
alwaysVisible: metadata.alwaysVisible,
|
|
8695
|
+
tooltipForHideIcon: metadata.tooltipForHideIcon,
|
|
8580
8696
|
},
|
|
8581
8697
|
]));
|
|
8582
8698
|
}
|
|
8583
8699
|
TableColumnHelpers.createColumnMetadataMap = createColumnMetadataMap;
|
|
8700
|
+
function getColumnSettingsColumnList(state) {
|
|
8701
|
+
const allColumnMetadata = [
|
|
8702
|
+
...state.display.columns,
|
|
8703
|
+
...state.display.disabledColumns,
|
|
8704
|
+
];
|
|
8705
|
+
const columnsLength = state.display.allColumns.length;
|
|
8706
|
+
const allColumns = state.display.allColumns.map((column, i) => {
|
|
8707
|
+
var _a, _b;
|
|
8708
|
+
const nextColumnPinned = i + 2 <= columnsLength
|
|
8709
|
+
? state.display.allColumns[i + 1].pinned
|
|
8710
|
+
: false;
|
|
8711
|
+
const currentColumnMetadata = allColumnMetadata.find(metadata => metadata.key === column.key);
|
|
8712
|
+
return Object.assign(Object.assign({}, column), { resolvedName: (_a = state.display.columnNameMap.get(column.key)) !== null && _a !== void 0 ? _a : column.key, stateIndex: i, isLastPinnedColumn: column.pinned && !nextColumnPinned, alwaysVisible: (_b = currentColumnMetadata === null || currentColumnMetadata === void 0 ? void 0 : currentColumnMetadata.alwaysVisible) !== null && _b !== void 0 ? _b : false, tooltipForHideIcon: currentColumnMetadata === null || currentColumnMetadata === void 0 ? void 0 : currentColumnMetadata.tooltipForHideIcon, highlightIndices: [] });
|
|
8713
|
+
});
|
|
8714
|
+
return allColumns;
|
|
8715
|
+
}
|
|
8716
|
+
TableColumnHelpers.getColumnSettingsColumnList = getColumnSettingsColumnList;
|
|
8584
8717
|
})(TableColumnHelpers || (TableColumnHelpers = {}));
|
|
8585
8718
|
|
|
8586
8719
|
var TableResultHelpers;
|
|
@@ -9384,7 +9517,8 @@ var RivTable;
|
|
|
9384
9517
|
const csvExportAllowed = !((options === null || options === void 0 ? void 0 : options.getRowSpanForCell) || (options === null || options === void 0 ? void 0 : options.customSummaryRow));
|
|
9385
9518
|
// Augment state with derived state, and subscribe.
|
|
9386
9519
|
const state = connectable(coreState.pipe(map(({ state: s }) => {
|
|
9387
|
-
const resolvedColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!(options === null || options === void 0 ? void 0 : options.allowSelection));
|
|
9520
|
+
const resolvedColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!(options === null || options === void 0 ? void 0 : options.allowSelection), 'enabled');
|
|
9521
|
+
const resolvedDisabledColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!(options === null || options === void 0 ? void 0 : options.allowSelection), 'disabled');
|
|
9388
9522
|
if (TableResultHelpers.isGroupResult(s.result)) {
|
|
9389
9523
|
return deriveFullStateFromGroupResult({
|
|
9390
9524
|
s,
|
|
@@ -9394,6 +9528,7 @@ var RivTable;
|
|
|
9394
9528
|
pluralEntityName,
|
|
9395
9529
|
columnNameMap,
|
|
9396
9530
|
resolvedColumns,
|
|
9531
|
+
resolvedDisabledColumns,
|
|
9397
9532
|
searchableColumnMap,
|
|
9398
9533
|
csvExportAllowed,
|
|
9399
9534
|
options,
|
|
@@ -9408,6 +9543,7 @@ var RivTable;
|
|
|
9408
9543
|
pluralEntityName,
|
|
9409
9544
|
columnNameMap,
|
|
9410
9545
|
resolvedColumns,
|
|
9546
|
+
resolvedDisabledColumns,
|
|
9411
9547
|
searchableColumnMap,
|
|
9412
9548
|
csvExportAllowed,
|
|
9413
9549
|
options,
|
|
@@ -9422,6 +9558,7 @@ var RivTable;
|
|
|
9422
9558
|
pluralEntityName,
|
|
9423
9559
|
columnNameMap,
|
|
9424
9560
|
resolvedColumns,
|
|
9561
|
+
resolvedDisabledColumns,
|
|
9425
9562
|
searchableColumnMap,
|
|
9426
9563
|
csvExportAllowed,
|
|
9427
9564
|
options,
|
|
@@ -9443,7 +9580,7 @@ var RivTable;
|
|
|
9443
9580
|
}
|
|
9444
9581
|
RivTable.createManager = createManager;
|
|
9445
9582
|
function deriveFullStateFromGroupResult(props) {
|
|
9446
|
-
const { s, stateResult, source, columns, pluralEntityName, columnNameMap, resolvedColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9583
|
+
const { s, stateResult, source, columns, pluralEntityName, columnNameMap, resolvedColumns, resolvedDisabledColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9447
9584
|
if (options === null || options === void 0 ? void 0 : options.getRowSpanForCell) {
|
|
9448
9585
|
// eslint-disable-next-line no-console
|
|
9449
9586
|
console.warn('Heads up! Custom row spans are not supported for grouped tables.');
|
|
@@ -9474,7 +9611,7 @@ var RivTable;
|
|
|
9474
9611
|
if (!TableResultHelpers.isGroupResult(dataSet)) {
|
|
9475
9612
|
throw new Error('Returned non-grouped CSV data for grouped table');
|
|
9476
9613
|
}
|
|
9477
|
-
const fullColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!options.allowSelection);
|
|
9614
|
+
const fullColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!options.allowSelection, 'enabled');
|
|
9478
9615
|
const data = [];
|
|
9479
9616
|
data.push(fullColumns.map(({ key }) => { var _a; return (_a = columnNameMap.get(key)) !== null && _a !== void 0 ? _a : key; }));
|
|
9480
9617
|
if (groupCellFormatter) {
|
|
@@ -9506,13 +9643,14 @@ var RivTable;
|
|
|
9506
9643
|
pluralEntityName: pluralEntityName,
|
|
9507
9644
|
columnNameMap: columnNameMap,
|
|
9508
9645
|
resolvedColumns: resolvedColumns,
|
|
9646
|
+
resolvedDisabledColumns: resolvedDisabledColumns,
|
|
9509
9647
|
searchableColumnMap: searchableColumnMap,
|
|
9510
9648
|
csvExportAllowed: csvExportAllowed,
|
|
9511
9649
|
options: options,
|
|
9512
9650
|
}), selection: derivedFullStateSelection(s, options), result: Object.assign(Object.assign({}, stateResult), { isGrouped: true, resultType: 'table-grouping', rowGroups, rows: rowGroups.flatMap(group => group.rows), csvData, csvFilename: TableResultHelpers.getCsvFilename(pluralEntityName, options) }) });
|
|
9513
9651
|
}
|
|
9514
9652
|
function deriveFullStateFromNestedResult(props) {
|
|
9515
|
-
const { s, stateResult, source, columns, pluralEntityName, columnNameMap, resolvedColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9653
|
+
const { s, stateResult, source, columns, pluralEntityName, columnNameMap, resolvedColumns, resolvedDisabledColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9516
9654
|
if (options === null || options === void 0 ? void 0 : options.getRowSpanForCell) {
|
|
9517
9655
|
// eslint-disable-next-line no-console
|
|
9518
9656
|
console.warn('Heads up! Custom row spans are not supported for tables with nested data.');
|
|
@@ -9546,7 +9684,7 @@ var RivTable;
|
|
|
9546
9684
|
if (TableResultHelpers.isGroupResult(dataSet)) {
|
|
9547
9685
|
throw new Error('Returned grouped CSV data for a nested with header result table');
|
|
9548
9686
|
}
|
|
9549
|
-
const fullColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!options.allowSelection);
|
|
9687
|
+
const fullColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!options.allowSelection, 'enabled');
|
|
9550
9688
|
const data = [];
|
|
9551
9689
|
data.push(fullColumns.map(({ key }) => { var _a; return (_a = columnNameMap.get(key)) !== null && _a !== void 0 ? _a : key; }));
|
|
9552
9690
|
const allRows = TableResultHelpers.getAllRowsFromResult(dataSet);
|
|
@@ -9570,13 +9708,14 @@ var RivTable;
|
|
|
9570
9708
|
pluralEntityName: pluralEntityName,
|
|
9571
9709
|
columnNameMap: columnNameMap,
|
|
9572
9710
|
resolvedColumns: resolvedColumns,
|
|
9711
|
+
resolvedDisabledColumns: resolvedDisabledColumns,
|
|
9573
9712
|
searchableColumnMap: searchableColumnMap,
|
|
9574
9713
|
csvExportAllowed: csvExportAllowed,
|
|
9575
9714
|
options: options,
|
|
9576
9715
|
}), selection: derivedFullStateSelection(s, options), result: Object.assign(Object.assign({}, stateResult), { rows: [], isGrouped: false, resultType: 'nested-rows', nestedHeaderRows: fullNestedHeaderRows, csvData, csvFilename: TableResultHelpers.getCsvFilename(pluralEntityName, options) }) });
|
|
9577
9716
|
}
|
|
9578
9717
|
function deriveFullStateFromRegularResult(props) {
|
|
9579
|
-
const { s, stateResult, source, columns, pluralEntityName, columnNameMap, resolvedColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9718
|
+
const { s, stateResult, source, columns, pluralEntityName, columnNameMap, resolvedColumns, resolvedDisabledColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9580
9719
|
const rows = stateResult.currentPageData.map(row => (Object.assign(Object.assign({}, row), { rowLink: (options === null || options === void 0 ? void 0 : options.rowLink) ? options.rowLink(row) : null, selected: TableSelectionHelpers.isRowSelected(s, row.id), isCollapsed: false })));
|
|
9581
9720
|
const cellRowSpanCache = TableDisplayHelpers.memoizedCellRowSpan(s, resolvedColumns, options);
|
|
9582
9721
|
const cellRowSpan = (rowIndex, column) => { var _a, _b; return (_b = (_a = cellRowSpanCache === null || cellRowSpanCache === void 0 ? void 0 : cellRowSpanCache.get(column)) === null || _a === void 0 ? void 0 : _a[rowIndex]) !== null && _b !== void 0 ? _b : 1; };
|
|
@@ -9603,7 +9742,7 @@ var RivTable;
|
|
|
9603
9742
|
if (TableResultHelpers.isNestedResult(dataSet)) {
|
|
9604
9743
|
throw new Error('Returned nested CSV data for non-nested table');
|
|
9605
9744
|
}
|
|
9606
|
-
const fullColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!options.allowSelection);
|
|
9745
|
+
const fullColumns = TableColumnHelpers.resolveColumns(s, columns, columnNameMap, !!options.allowSelection, 'enabled');
|
|
9607
9746
|
const data = [];
|
|
9608
9747
|
data.push(fullColumns.map(({ key }) => { var _a; return (_a = columnNameMap.get(key)) !== null && _a !== void 0 ? _a : key; }));
|
|
9609
9748
|
for (const record of dataSet.currentPageData) {
|
|
@@ -9627,6 +9766,7 @@ var RivTable;
|
|
|
9627
9766
|
pluralEntityName: pluralEntityName,
|
|
9628
9767
|
columnNameMap: columnNameMap,
|
|
9629
9768
|
resolvedColumns: resolvedColumns,
|
|
9769
|
+
resolvedDisabledColumns: resolvedDisabledColumns,
|
|
9630
9770
|
searchableColumnMap: searchableColumnMap,
|
|
9631
9771
|
csvExportAllowed: csvExportAllowed,
|
|
9632
9772
|
options: options,
|
|
@@ -9656,8 +9796,8 @@ var RivTable;
|
|
|
9656
9796
|
}
|
|
9657
9797
|
function derivedFullStateDisplay(props, partialDisplay = {}) {
|
|
9658
9798
|
var _a;
|
|
9659
|
-
const { coreState, columns, pluralEntityName, columnNameMap, resolvedColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9660
|
-
return Object.assign(Object.assign(Object.assign({}, coreState.display), { columns: resolvedColumns, allColumns: TableColumnHelpers.getAllColumns(coreState, columns, columnNameMap), columnNameMap: columnNameMap, searchableColumnMap: searchableColumnMap, zeroStateMessage: TableDisplayHelpers.getZeroStateMessage(coreState, pluralEntityName), columnsAreFreezable: !!(options === null || options === void 0 ? void 0 : options.columnsAreFreezable), columnsAreHideable: !!(options === null || options === void 0 ? void 0 : options.columnsAreHideable), columnsAreReorderable: (_a = options === null || options === void 0 ? void 0 : options.columnsAreReorderable) !== null && _a !== void 0 ? _a : true, rowsAreGrayed: !!(options === null || options === void 0 ? void 0 : options.rowsAreGrayed), customSummaryRow: !!(options === null || options === void 0 ? void 0 : options.customSummaryRow), csvExportAllowed: csvExportAllowed, enabledCount: resolvedColumns.length, hidePageSizeSelector: !!(options === null || options === void 0 ? void 0 : options.hidePageSizeSelector), cellRowSpan: (_i, _column) => 1, needsRightBorder: () => false }), partialDisplay);
|
|
9799
|
+
const { coreState, columns, pluralEntityName, columnNameMap, resolvedColumns, resolvedDisabledColumns, searchableColumnMap, csvExportAllowed, options, } = props;
|
|
9800
|
+
return Object.assign(Object.assign(Object.assign({}, coreState.display), { columns: resolvedColumns, disabledColumns: resolvedDisabledColumns, allColumns: TableColumnHelpers.getAllColumns(coreState, columns, columnNameMap), columnNameMap: columnNameMap, searchableColumnMap: searchableColumnMap, zeroStateMessage: TableDisplayHelpers.getZeroStateMessage(coreState, pluralEntityName), columnsAreFreezable: !!(options === null || options === void 0 ? void 0 : options.columnsAreFreezable), columnsAreHideable: !!(options === null || options === void 0 ? void 0 : options.columnsAreHideable), columnsAreReorderable: (_a = options === null || options === void 0 ? void 0 : options.columnsAreReorderable) !== null && _a !== void 0 ? _a : true, rowsAreGrayed: !!(options === null || options === void 0 ? void 0 : options.rowsAreGrayed), customSummaryRow: !!(options === null || options === void 0 ? void 0 : options.customSummaryRow), csvExportAllowed: csvExportAllowed, enabledCount: resolvedColumns.length, hidePageSizeSelector: !!(options === null || options === void 0 ? void 0 : options.hidePageSizeSelector), cellRowSpan: (_i, _column) => 1, needsRightBorder: () => false }), partialDisplay);
|
|
9661
9801
|
}
|
|
9662
9802
|
function derivedFullStateSelection(coreState, options) {
|
|
9663
9803
|
var _a;
|
|
@@ -10300,14 +10440,7 @@ class TableColumnSettingsSideSheetComponent {
|
|
|
10300
10440
|
ngOnInit() {
|
|
10301
10441
|
this.columnList = combineLatest([
|
|
10302
10442
|
this.manager.state.pipe(map(s => {
|
|
10303
|
-
const
|
|
10304
|
-
const allColumns = s.display.allColumns.map((column, i) => {
|
|
10305
|
-
var _a;
|
|
10306
|
-
const nextColumnPinned = i + 2 <= columnsLength
|
|
10307
|
-
? s.display.allColumns[i + 1].pinned
|
|
10308
|
-
: false;
|
|
10309
|
-
return Object.assign(Object.assign({}, column), { resolvedName: (_a = s.display.columnNameMap.get(column.key)) !== null && _a !== void 0 ? _a : column.key, stateIndex: i, isLastPinnedColumn: column.pinned && !nextColumnPinned });
|
|
10310
|
-
});
|
|
10443
|
+
const allColumns = TableColumnHelpers.getColumnSettingsColumnList(s);
|
|
10311
10444
|
const fuse = new Fuse(allColumns, {
|
|
10312
10445
|
keys: ['resolvedName'],
|
|
10313
10446
|
ignoreLocation: true,
|
|
@@ -10333,9 +10466,9 @@ class TableColumnSettingsSideSheetComponent {
|
|
|
10333
10466
|
disabledColumns,
|
|
10334
10467
|
};
|
|
10335
10468
|
}
|
|
10336
|
-
const
|
|
10337
|
-
const enabledColumns =
|
|
10338
|
-
const disabledColumns =
|
|
10469
|
+
const allVisibleColumns = allColumns.map(column => (Object.assign(Object.assign({}, column), { highlightIndices: [] })));
|
|
10470
|
+
const enabledColumns = allVisibleColumns.filter(column => column.enabled);
|
|
10471
|
+
const disabledColumns = allVisibleColumns.filter(column => !column.enabled);
|
|
10339
10472
|
return {
|
|
10340
10473
|
enabledColumns: enabledColumns,
|
|
10341
10474
|
disabledColumns: disabledColumns,
|
|
@@ -10460,10 +10593,10 @@ class TableColumnSettingsSideSheetComponent {
|
|
|
10460
10593
|
}
|
|
10461
10594
|
}
|
|
10462
10595
|
TableColumnSettingsSideSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableColumnSettingsSideSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10463
|
-
TableColumnSettingsSideSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableColumnSettingsSideSheetComponent, selector: "riv-table-column-settings-side-sheet", inputs: { manager: "manager" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["trigger"], descendants: true, read: ElementRef }], ngImport: i0, template: "<button type=\"button\" #trigger rivButton (click)=\"open.next(true)\">\n Columns\n</button>\n\n<ng-container *ngIf=\"columnList | async; let columns\">\n <ng-container *ngIf=\"open | async\">\n <riv-side-sheet (close)=\"open.next(false); filterQuery.next('')\">\n <div class=\"content\">\n <div class=\"title\">\n <span>Columns</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n [icon]=\"'X'\"\n (click)=\"open.next(false); filterQuery.next('')\"\n ></button>\n </div>\n <riv-search\n [name]=\"'column-search'\"\n [value]=\"(filterQuery | async) || ''\"\n (valueChange)=\"filterQuery.next($event)\"\n ></riv-search>\n <riv-banner\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n disableEnablingColumns(columns)\n \"\n [iconTooltip]=\"iconLimitTooltip()\"\n >\n Column limit reached\n </riv-banner>\n <div class=\"columns\">\n <div *ngIf=\"columns.enabledColumns.length > 0\">\n <div\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span class=\"column-header-label\">Shown in table</span>\n <button\n type=\"button\"\n *ngIf=\"(searching | async) === false\"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsEnabled(columns)\"\n (click)=\"enableAllColumns(false)\"\n >\n Hide all\n </button>\n </div>\n\n <div class=\"options\">\n <ng-container\n *ngFor=\"let column of columns.enabledColumns; let i = index\"\n >\n <div\n class=\"option drop-zone\"\n [attr.draggable]=\"(searching | async) === false\"\n [attr.droppable]=\"(searching | async) === false\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"\n drop(\n i,\n column.stateIndex,\n true,\n columns.enabledColumns.length\n )\n \"\n [class.dragged-over-top]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx < i\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n <div\n *ngIf=\"\n column.isLastPinnedColumn && (searching | async) === false\n \"\n class=\"column scroll-padding\"\n >\n <div class=\"frozen\">\n <span class=\"pinned\">\n <riv-icon [name]=\"'PinInactive'\" [size]=\"20\"></riv-icon>\n </span>\n <span>Frozen through here</span>\n </div>\n\n <button\n type=\"button\"\n class=\"hidden\"\n rivButton\n [rivTooltip]=\"'Un-freeze columns'\"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"'X'\"\n (click)=\"\n columnFreezeUpTo(\n false,\n column.stateIndex,\n 'freezeDivider'\n )\n \"\n ></button>\n </div>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"\n columns.enabledColumns.length === 0 &&\n (searching | async) === false\n \"\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span>No columns shown</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n (click)=\"resetToDefault()\"\n >\n Reset to default\n </button>\n </div>\n <div\n class=\"divider\"\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n ((searching | async) === false ||\n ((searching | async) && columns.enabledColumns.length > 0))\n \"\n ></div>\n <div\n *ngIf=\"columns.disabledColumns.length > 0\"\n (drop)=\"dropEnabledState(false, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <div class=\"column-header\">\n <span class=\"column-header-label\">Hidden from table</span>\n\n <button\n type=\"button\"\n *ngIf=\"\n (searching | async) === false &&\n showAllColumnsVisible(columns)\n \"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsDisabled(columns)\"\n (click)=\"enableAllColumns(true)\"\n >\n Show all\n </button>\n </div>\n\n <div class=\"options\">\n <div\n *ngFor=\"let column of columns.disabledColumns; let i = index\"\n [attr.draggable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [attr.droppable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [class.drop-zone]=\"!disableEnablingColumns(columns)\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"\n $event.preventDefault();\n dragOver(i + columns.enabledColumns.length)\n \"\n (drop)=\"\n drop(\n i + columns.enabledColumns.length,\n column.stateIndex,\n false,\n columns.enabledColumns.length\n )\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </riv-side-sheet>\n </ng-container>\n</ng-container>\n\n<ng-template #columnTemplate let-column=\"column\" let-columns=\"columns\">\n <div\n class=\"column scroll-padding\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <div class=\"column\">\n <span\n class=\"reorder\"\n *ngIf=\"(searching | async) === false\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <riv-icon [name]=\"'Reorder'\" [size]=\"20\"></riv-icon>\n </span>\n <riv-highlight\n [text]=\"column.resolvedName\"\n [indices]=\"column.highlightIndices\"\n ></riv-highlight>\n </div>\n <div>\n <riv-menu\n class=\"hidden\"\n *ngIf=\"column.enabled || !disableEnablingColumns(columns)\"\n >\n <button\n type=\"button\"\n *ngIf=\"column.enabled && !column.pinned\"\n riv-menu-item\n (click)=\"\n columnFreezeUpTo(true, column.stateIndex, 'optionsMenu', column.key)\n \"\n >\n Freeze up to column\n </button>\n <button\n type=\"button\"\n *ngIf=\"column.enabled && column.pinned\"\n riv-menu-item\n (click)=\"columnFreezeUpTo(false, 0, 'optionsMenu', column.key)\"\n >\n Un-freeze columns\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'start')\"\n >\n Move to start\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'end')\"\n >\n Move to end\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnEnabledChange(column, !column.enabled, 'optionsMenu')\"\n >\n {{ column.enabled ? 'Hide column' : 'Show column' }}\n </button>\n </riv-menu>\n <button\n type=\"button\"\n rivButton\n [rivTooltip]=\"\n column.enabled\n ? 'Hide column'\n : disableEnablingColumns(columns)\n ? limitTooltip()\n : 'Show column'\n \"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [disabled]=\"disableEnablingColumn(column, columns)\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"column.enabled ? 'Eye' : 'EyeOff'\"\n (click)=\"columnEnabledChange(column, !column.enabled, 'eyeIcon')\"\n ></button>\n </div>\n </div>\n</ng-template>\n", styles: [".content{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:100%}.title{font:var(--title-02);display:flex;justify-content:space-between;align-items:center}.column-header{color:var(--type-light-low-contrast);display:flex;justify-content:space-between;align-items:center;font:var(--input-medium)}.column-header-label{padding:var(--size-small) 0}.column{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium)}.column:hover{background-color:var(--surface-light-1)}.column:hover .hidden{opacity:1}.column.disabled{color:var(--type-light-low-contrast)}.reorder{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch;color:var(--type-light-low-contrast);cursor:grab}.reorder.disabled{cursor:not-allowed}.pinned{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch}.frozen{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium);color:var(--type-light-low-contrast)}.disable-override.disabled:hover{cursor:pointer}.hidden{opacity:0}.columns{flex-grow:1;overflow-y:auto}.options{display:flex;flex-direction:column}.option{position:relative}.option.dragged-over-top:before,.option.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.option.dragged-over-top:before{top:0}.option.dragged-over-bottom:before{bottom:0}.scroll-padding{padding-right:var(--base-grid-size)}.divider{border-top:var(--border-width) solid var(--border-light);margin-top:var(--size-medium);margin-bottom:var(--size-medium)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BannerComponent, selector: "riv-banner", inputs: ["variant", "icon", "iconTooltip", "heading", "dismissable"], outputs: ["dismiss"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: MenuComponent, selector: "riv-menu", inputs: ["preferredPosition", "disabled"] }, { kind: "component", type: MenuItemComponent, selector: "[riv-menu-item]", inputs: ["locked", "disabled", "variant"] }, { kind: "component", type: SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "component", type: SideSheetComponent, selector: "riv-side-sheet", inputs: ["topOffset", "width", "obscure"], outputs: ["close"] }, { kind: "directive", type: TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipAnchor", "rivTooltipCloseDelay", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10596
|
+
TableColumnSettingsSideSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableColumnSettingsSideSheetComponent, selector: "riv-table-column-settings-side-sheet", inputs: { manager: "manager" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: ["trigger"], descendants: true, read: ElementRef }], ngImport: i0, template: "<button type=\"button\" #trigger rivButton (click)=\"open.next(true)\">\n Columns\n</button>\n\n<ng-container *ngIf=\"columnList | async; let columns\">\n <ng-container *ngIf=\"open | async\">\n <riv-side-sheet (close)=\"open.next(false); filterQuery.next('')\">\n <div class=\"content\">\n <div class=\"title\">\n <span>Columns</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n [icon]=\"'X'\"\n (click)=\"open.next(false); filterQuery.next('')\"\n ></button>\n </div>\n <riv-search\n [name]=\"'column-search'\"\n [value]=\"(filterQuery | async) || ''\"\n (valueChange)=\"filterQuery.next($event)\"\n ></riv-search>\n <riv-banner\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n disableEnablingColumns(columns)\n \"\n [iconTooltip]=\"iconLimitTooltip()\"\n >\n Column limit reached\n </riv-banner>\n <div class=\"columns\">\n <div *ngIf=\"columns.enabledColumns.length > 0\">\n <div\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span class=\"column-header-label\">Shown in table</span>\n <button\n type=\"button\"\n *ngIf=\"(searching | async) === false\"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsEnabled(columns)\"\n (click)=\"enableAllColumns(false)\"\n >\n Hide all\n </button>\n </div>\n\n <div class=\"options\">\n <ng-container\n *ngFor=\"let column of columns.enabledColumns; let i = index\"\n >\n <div\n class=\"option drop-zone\"\n [attr.draggable]=\"(searching | async) === false\"\n [attr.droppable]=\"(searching | async) === false\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"\n drop(\n i,\n column.stateIndex,\n true,\n columns.enabledColumns.length\n )\n \"\n [class.dragged-over-top]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx < i\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n <div\n *ngIf=\"\n column.isLastPinnedColumn && (searching | async) === false\n \"\n class=\"column scroll-padding\"\n >\n <div class=\"frozen\">\n <span class=\"pinned\">\n <riv-icon [name]=\"'PinInactive'\" [size]=\"20\"></riv-icon>\n </span>\n <span>Frozen through here</span>\n </div>\n\n <button\n type=\"button\"\n class=\"hidden\"\n rivButton\n [rivTooltip]=\"'Un-freeze columns'\"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"'X'\"\n (click)=\"\n columnFreezeUpTo(\n false,\n column.stateIndex,\n 'freezeDivider'\n )\n \"\n ></button>\n </div>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"\n columns.enabledColumns.length === 0 &&\n (searching | async) === false\n \"\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span>No columns shown</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n (click)=\"resetToDefault()\"\n >\n Reset to default\n </button>\n </div>\n <div\n class=\"divider\"\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n ((searching | async) === false ||\n ((searching | async) && columns.enabledColumns.length > 0))\n \"\n ></div>\n <div\n *ngIf=\"columns.disabledColumns.length > 0\"\n (drop)=\"dropEnabledState(false, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <div class=\"column-header\">\n <span class=\"column-header-label\">Hidden from table</span>\n\n <button\n type=\"button\"\n *ngIf=\"\n (searching | async) === false &&\n showAllColumnsVisible(columns)\n \"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsDisabled(columns)\"\n (click)=\"enableAllColumns(true)\"\n >\n Show all\n </button>\n </div>\n\n <div class=\"options\">\n <div\n *ngFor=\"let column of columns.disabledColumns; let i = index\"\n [attr.draggable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [attr.droppable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [class.drop-zone]=\"!disableEnablingColumns(columns)\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"\n $event.preventDefault();\n dragOver(i + columns.enabledColumns.length)\n \"\n (drop)=\"\n drop(\n i + columns.enabledColumns.length,\n column.stateIndex,\n false,\n columns.enabledColumns.length\n )\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </riv-side-sheet>\n </ng-container>\n</ng-container>\n\n<ng-template #columnTemplate let-column=\"column\" let-columns=\"columns\">\n <div\n class=\"column scroll-padding\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <div class=\"column\">\n <ng-container\n *ngTemplateOutlet=\"reorderIcon; context: { column, columns }\"\n ></ng-container>\n\n <riv-highlight\n [text]=\"column.resolvedName\"\n [indices]=\"column.highlightIndices\"\n ></riv-highlight>\n </div>\n <div>\n <riv-menu\n class=\"hidden\"\n *ngIf=\"column.enabled || !disableEnablingColumns(columns)\"\n >\n <button\n type=\"button\"\n *ngIf=\"column.enabled && !column.pinned\"\n riv-menu-item\n (click)=\"\n columnFreezeUpTo(true, column.stateIndex, 'optionsMenu', column.key)\n \"\n >\n Freeze up to column\n </button>\n <button\n type=\"button\"\n *ngIf=\"column.enabled && column.pinned\"\n riv-menu-item\n (click)=\"columnFreezeUpTo(false, 0, 'optionsMenu', column.key)\"\n >\n Un-freeze columns\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'start')\"\n >\n Move to start\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'end')\"\n >\n Move to end\n </button>\n <button\n *ngIf=\"!column.alwaysVisible\"\n type=\"button\"\n riv-menu-item\n (click)=\"columnEnabledChange(column, !column.enabled, 'optionsMenu')\"\n >\n {{ column.enabled ? 'Hide column' : 'Show column' }}\n </button>\n </riv-menu>\n\n <ng-container\n *ngTemplateOutlet=\"enableIcon; context: { column, columns }\"\n ></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #reorderIcon let-column=\"column\" let-columns=\"columns\">\n <span\n class=\"reorder\"\n *ngIf=\"(searching | async) === false\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <riv-icon [name]=\"'Reorder'\" [size]=\"20\"></riv-icon>\n </span>\n</ng-template>\n\n<ng-template #enableIcon let-column=\"column\" let-columns=\"columns\">\n <button\n *ngIf=\"!column.alwaysVisible\"\n type=\"button\"\n rivButton\n [rivTooltip]=\"\n column.enabled\n ? 'Hide column'\n : disableEnablingColumns(columns)\n ? limitTooltip()\n : 'Show column'\n \"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [disabled]=\"disableEnablingColumn(column, columns)\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"column.enabled ? 'Eye' : 'EyeOff'\"\n (click)=\"columnEnabledChange(column, !column.enabled, 'eyeIcon')\"\n ></button>\n\n <button\n *ngIf=\"column.alwaysVisible\"\n type=\"button\"\n rivButton\n [rivTooltip]=\"column.tooltipForHideIcon\"\n [disabled]=\"true\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"'Lock'\"\n ></button>\n</ng-template>\n", styles: [".content{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:100%}.title{font:var(--title-02);display:flex;justify-content:space-between;align-items:center}.column-header{color:var(--type-light-low-contrast);display:flex;justify-content:space-between;align-items:center;font:var(--input-medium)}.column-header-label{padding:var(--size-small) 0}.column{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium)}.column:hover{background-color:var(--surface-light-1)}.column:hover .hidden{opacity:1}.column.disabled{color:var(--type-light-low-contrast)}.reorder{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch;color:var(--type-light-low-contrast);cursor:grab}.reorder.disabled{cursor:not-allowed}.pinned{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch}.frozen{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium);color:var(--type-light-low-contrast)}.disable-override.disabled:hover{cursor:pointer}.hidden{opacity:0}.columns{flex-grow:1;overflow-y:auto}.options{display:flex;flex-direction:column}.option{position:relative}.option.dragged-over-top:before,.option.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.option.dragged-over-top:before{top:0}.option.dragged-over-bottom:before{bottom:0}.scroll-padding{padding-right:var(--base-grid-size)}.divider{border-top:var(--border-width) solid var(--border-light);margin-top:var(--size-medium);margin-bottom:var(--size-medium)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BannerComponent, selector: "riv-banner", inputs: ["variant", "icon", "iconTooltip", "heading", "dismissable"], outputs: ["dismiss"] }, { kind: "component", type: ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: MenuComponent, selector: "riv-menu", inputs: ["preferredPosition", "disabled"] }, { kind: "component", type: MenuItemComponent, selector: "[riv-menu-item]", inputs: ["locked", "disabled", "variant"] }, { kind: "component", type: SearchComponent, selector: "riv-search", inputs: ["placeholder", "name", "labelTemplate"] }, { kind: "component", type: SideSheetComponent, selector: "riv-side-sheet", inputs: ["topOffset", "width", "obscure"], outputs: ["close"] }, { kind: "directive", type: TooltipDirective, selector: "[rivTooltip]", inputs: ["rivTooltip", "rivTooltipTheme", "rivTooltipMaxWidth", "rivTooltipPreferredPosition", "rivTooltipAnchor", "rivTooltipCloseDelay", "rivTooltipOpenDelay", "rivTooltipGracePeriod"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10464
10597
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableColumnSettingsSideSheetComponent, decorators: [{
|
|
10465
10598
|
type: Component,
|
|
10466
|
-
args: [{ selector: 'riv-table-column-settings-side-sheet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" #trigger rivButton (click)=\"open.next(true)\">\n Columns\n</button>\n\n<ng-container *ngIf=\"columnList | async; let columns\">\n <ng-container *ngIf=\"open | async\">\n <riv-side-sheet (close)=\"open.next(false); filterQuery.next('')\">\n <div class=\"content\">\n <div class=\"title\">\n <span>Columns</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n [icon]=\"'X'\"\n (click)=\"open.next(false); filterQuery.next('')\"\n ></button>\n </div>\n <riv-search\n [name]=\"'column-search'\"\n [value]=\"(filterQuery | async) || ''\"\n (valueChange)=\"filterQuery.next($event)\"\n ></riv-search>\n <riv-banner\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n disableEnablingColumns(columns)\n \"\n [iconTooltip]=\"iconLimitTooltip()\"\n >\n Column limit reached\n </riv-banner>\n <div class=\"columns\">\n <div *ngIf=\"columns.enabledColumns.length > 0\">\n <div\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span class=\"column-header-label\">Shown in table</span>\n <button\n type=\"button\"\n *ngIf=\"(searching | async) === false\"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsEnabled(columns)\"\n (click)=\"enableAllColumns(false)\"\n >\n Hide all\n </button>\n </div>\n\n <div class=\"options\">\n <ng-container\n *ngFor=\"let column of columns.enabledColumns; let i = index\"\n >\n <div\n class=\"option drop-zone\"\n [attr.draggable]=\"(searching | async) === false\"\n [attr.droppable]=\"(searching | async) === false\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"\n drop(\n i,\n column.stateIndex,\n true,\n columns.enabledColumns.length\n )\n \"\n [class.dragged-over-top]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx < i\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n <div\n *ngIf=\"\n column.isLastPinnedColumn && (searching | async) === false\n \"\n class=\"column scroll-padding\"\n >\n <div class=\"frozen\">\n <span class=\"pinned\">\n <riv-icon [name]=\"'PinInactive'\" [size]=\"20\"></riv-icon>\n </span>\n <span>Frozen through here</span>\n </div>\n\n <button\n type=\"button\"\n class=\"hidden\"\n rivButton\n [rivTooltip]=\"'Un-freeze columns'\"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"'X'\"\n (click)=\"\n columnFreezeUpTo(\n false,\n column.stateIndex,\n 'freezeDivider'\n )\n \"\n ></button>\n </div>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"\n columns.enabledColumns.length === 0 &&\n (searching | async) === false\n \"\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span>No columns shown</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n (click)=\"resetToDefault()\"\n >\n Reset to default\n </button>\n </div>\n <div\n class=\"divider\"\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n ((searching | async) === false ||\n ((searching | async) && columns.enabledColumns.length > 0))\n \"\n ></div>\n <div\n *ngIf=\"columns.disabledColumns.length > 0\"\n (drop)=\"dropEnabledState(false, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <div class=\"column-header\">\n <span class=\"column-header-label\">Hidden from table</span>\n\n <button\n type=\"button\"\n *ngIf=\"\n (searching | async) === false &&\n showAllColumnsVisible(columns)\n \"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsDisabled(columns)\"\n (click)=\"enableAllColumns(true)\"\n >\n Show all\n </button>\n </div>\n\n <div class=\"options\">\n <div\n *ngFor=\"let column of columns.disabledColumns; let i = index\"\n [attr.draggable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [attr.droppable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [class.drop-zone]=\"!disableEnablingColumns(columns)\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"\n $event.preventDefault();\n dragOver(i + columns.enabledColumns.length)\n \"\n (drop)=\"\n drop(\n i + columns.enabledColumns.length,\n column.stateIndex,\n false,\n columns.enabledColumns.length\n )\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </riv-side-sheet>\n </ng-container>\n</ng-container>\n\n<ng-template #columnTemplate let-column=\"column\" let-columns=\"columns\">\n <div\n class=\"column scroll-padding\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <div class=\"column\">\n <span\n class=\"reorder\"\n *ngIf=\"(searching | async) === false\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <riv-icon [name]=\"'Reorder'\" [size]=\"20\"></riv-icon>\n </span>\n <riv-highlight\n [text]=\"column.resolvedName\"\n [indices]=\"column.highlightIndices\"\n ></riv-highlight>\n </div>\n <div>\n <riv-menu\n class=\"hidden\"\n *ngIf=\"column.enabled || !disableEnablingColumns(columns)\"\n >\n <button\n type=\"button\"\n *ngIf=\"column.enabled && !column.pinned\"\n riv-menu-item\n (click)=\"\n columnFreezeUpTo(true, column.stateIndex, 'optionsMenu', column.key)\n \"\n >\n Freeze up to column\n </button>\n <button\n type=\"button\"\n *ngIf=\"column.enabled && column.pinned\"\n riv-menu-item\n (click)=\"columnFreezeUpTo(false, 0, 'optionsMenu', column.key)\"\n >\n Un-freeze columns\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'start')\"\n >\n Move to start\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'end')\"\n >\n Move to end\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnEnabledChange(column, !column.enabled, 'optionsMenu')\"\n >\n {{ column.enabled ? 'Hide column' : 'Show column' }}\n </button>\n </riv-menu>\n <button\n type=\"button\"\n rivButton\n [rivTooltip]=\"\n column.enabled\n ? 'Hide column'\n : disableEnablingColumns(columns)\n ? limitTooltip()\n : 'Show column'\n \"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [disabled]=\"disableEnablingColumn(column, columns)\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"column.enabled ? 'Eye' : 'EyeOff'\"\n (click)=\"columnEnabledChange(column, !column.enabled, 'eyeIcon')\"\n ></button>\n </div>\n </div>\n</ng-template>\n", styles: [".content{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:100%}.title{font:var(--title-02);display:flex;justify-content:space-between;align-items:center}.column-header{color:var(--type-light-low-contrast);display:flex;justify-content:space-between;align-items:center;font:var(--input-medium)}.column-header-label{padding:var(--size-small) 0}.column{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium)}.column:hover{background-color:var(--surface-light-1)}.column:hover .hidden{opacity:1}.column.disabled{color:var(--type-light-low-contrast)}.reorder{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch;color:var(--type-light-low-contrast);cursor:grab}.reorder.disabled{cursor:not-allowed}.pinned{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch}.frozen{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium);color:var(--type-light-low-contrast)}.disable-override.disabled:hover{cursor:pointer}.hidden{opacity:0}.columns{flex-grow:1;overflow-y:auto}.options{display:flex;flex-direction:column}.option{position:relative}.option.dragged-over-top:before,.option.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.option.dragged-over-top:before{top:0}.option.dragged-over-bottom:before{bottom:0}.scroll-padding{padding-right:var(--base-grid-size)}.divider{border-top:var(--border-width) solid var(--border-light);margin-top:var(--size-medium);margin-bottom:var(--size-medium)}\n"] }]
|
|
10599
|
+
args: [{ selector: 'riv-table-column-settings-side-sheet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" #trigger rivButton (click)=\"open.next(true)\">\n Columns\n</button>\n\n<ng-container *ngIf=\"columnList | async; let columns\">\n <ng-container *ngIf=\"open | async\">\n <riv-side-sheet (close)=\"open.next(false); filterQuery.next('')\">\n <div class=\"content\">\n <div class=\"title\">\n <span>Columns</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n [icon]=\"'X'\"\n (click)=\"open.next(false); filterQuery.next('')\"\n ></button>\n </div>\n <riv-search\n [name]=\"'column-search'\"\n [value]=\"(filterQuery | async) || ''\"\n (valueChange)=\"filterQuery.next($event)\"\n ></riv-search>\n <riv-banner\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n disableEnablingColumns(columns)\n \"\n [iconTooltip]=\"iconLimitTooltip()\"\n >\n Column limit reached\n </riv-banner>\n <div class=\"columns\">\n <div *ngIf=\"columns.enabledColumns.length > 0\">\n <div\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span class=\"column-header-label\">Shown in table</span>\n <button\n type=\"button\"\n *ngIf=\"(searching | async) === false\"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsEnabled(columns)\"\n (click)=\"enableAllColumns(false)\"\n >\n Hide all\n </button>\n </div>\n\n <div class=\"options\">\n <ng-container\n *ngFor=\"let column of columns.enabledColumns; let i = index\"\n >\n <div\n class=\"option drop-zone\"\n [attr.draggable]=\"(searching | async) === false\"\n [attr.droppable]=\"(searching | async) === false\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"$event.preventDefault(); dragOver(i)\"\n (drop)=\"\n drop(\n i,\n column.stateIndex,\n true,\n columns.enabledColumns.length\n )\n \"\n [class.dragged-over-top]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx > i\n \"\n [class.dragged-over-bottom]=\"\n draggedOverColumnIdx === i &&\n draggedColumnIdx !== null &&\n draggedColumnIdx < i\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n <div\n *ngIf=\"\n column.isLastPinnedColumn && (searching | async) === false\n \"\n class=\"column scroll-padding\"\n >\n <div class=\"frozen\">\n <span class=\"pinned\">\n <riv-icon [name]=\"'PinInactive'\" [size]=\"20\"></riv-icon>\n </span>\n <span>Frozen through here</span>\n </div>\n\n <button\n type=\"button\"\n class=\"hidden\"\n rivButton\n [rivTooltip]=\"'Un-freeze columns'\"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"'X'\"\n (click)=\"\n columnFreezeUpTo(\n false,\n column.stateIndex,\n 'freezeDivider'\n )\n \"\n ></button>\n </div>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"\n columns.enabledColumns.length === 0 &&\n (searching | async) === false\n \"\n class=\"column-header drop-zone\"\n (drop)=\"dropEnabledState(true, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <span>No columns shown</span>\n <button\n type=\"button\"\n rivButton\n [variant]=\"'ghost'\"\n (click)=\"resetToDefault()\"\n >\n Reset to default\n </button>\n </div>\n <div\n class=\"divider\"\n *ngIf=\"\n columns.disabledColumns.length > 0 &&\n ((searching | async) === false ||\n ((searching | async) && columns.enabledColumns.length > 0))\n \"\n ></div>\n <div\n *ngIf=\"columns.disabledColumns.length > 0\"\n (drop)=\"dropEnabledState(false, columns.enabledColumns.length)\"\n (dragenter)=\"$event.preventDefault(); dragOver(-1)\"\n >\n <div class=\"column-header\">\n <span class=\"column-header-label\">Hidden from table</span>\n\n <button\n type=\"button\"\n *ngIf=\"\n (searching | async) === false &&\n showAllColumnsVisible(columns)\n \"\n rivButton\n [variant]=\"'ghost'\"\n [disabled]=\"allColumnsDisabled(columns)\"\n (click)=\"enableAllColumns(true)\"\n >\n Show all\n </button>\n </div>\n\n <div class=\"options\">\n <div\n *ngFor=\"let column of columns.disabledColumns; let i = index\"\n [attr.draggable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [attr.droppable]=\"\n (searching | async) === false &&\n !disableEnablingColumns(columns)\n \"\n [class.drop-zone]=\"!disableEnablingColumns(columns)\"\n (dragstart)=\"dragStart(column.stateIndex, column.key)\"\n (dragenter)=\"\n $event.preventDefault();\n dragOver(i + columns.enabledColumns.length)\n \"\n (drop)=\"\n drop(\n i + columns.enabledColumns.length,\n column.stateIndex,\n false,\n columns.enabledColumns.length\n )\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"\n columnTemplate;\n context: { column, columns }\n \"\n ></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </riv-side-sheet>\n </ng-container>\n</ng-container>\n\n<ng-template #columnTemplate let-column=\"column\" let-columns=\"columns\">\n <div\n class=\"column scroll-padding\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <div class=\"column\">\n <ng-container\n *ngTemplateOutlet=\"reorderIcon; context: { column, columns }\"\n ></ng-container>\n\n <riv-highlight\n [text]=\"column.resolvedName\"\n [indices]=\"column.highlightIndices\"\n ></riv-highlight>\n </div>\n <div>\n <riv-menu\n class=\"hidden\"\n *ngIf=\"column.enabled || !disableEnablingColumns(columns)\"\n >\n <button\n type=\"button\"\n *ngIf=\"column.enabled && !column.pinned\"\n riv-menu-item\n (click)=\"\n columnFreezeUpTo(true, column.stateIndex, 'optionsMenu', column.key)\n \"\n >\n Freeze up to column\n </button>\n <button\n type=\"button\"\n *ngIf=\"column.enabled && column.pinned\"\n riv-menu-item\n (click)=\"columnFreezeUpTo(false, 0, 'optionsMenu', column.key)\"\n >\n Un-freeze columns\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'start')\"\n >\n Move to start\n </button>\n <button\n type=\"button\"\n riv-menu-item\n (click)=\"columnMoveTo(column, 'end')\"\n >\n Move to end\n </button>\n <button\n *ngIf=\"!column.alwaysVisible\"\n type=\"button\"\n riv-menu-item\n (click)=\"columnEnabledChange(column, !column.enabled, 'optionsMenu')\"\n >\n {{ column.enabled ? 'Hide column' : 'Show column' }}\n </button>\n </riv-menu>\n\n <ng-container\n *ngTemplateOutlet=\"enableIcon; context: { column, columns }\"\n ></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #reorderIcon let-column=\"column\" let-columns=\"columns\">\n <span\n class=\"reorder\"\n *ngIf=\"(searching | async) === false\"\n [class.disabled]=\"disableEnablingColumn(column, columns)\"\n >\n <riv-icon [name]=\"'Reorder'\" [size]=\"20\"></riv-icon>\n </span>\n</ng-template>\n\n<ng-template #enableIcon let-column=\"column\" let-columns=\"columns\">\n <button\n *ngIf=\"!column.alwaysVisible\"\n type=\"button\"\n rivButton\n [rivTooltip]=\"\n column.enabled\n ? 'Hide column'\n : disableEnablingColumns(columns)\n ? limitTooltip()\n : 'Show column'\n \"\n class=\"disable-override\"\n [class.disabled]=\"!column.enabled\"\n [disabled]=\"disableEnablingColumn(column, columns)\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"column.enabled ? 'Eye' : 'EyeOff'\"\n (click)=\"columnEnabledChange(column, !column.enabled, 'eyeIcon')\"\n ></button>\n\n <button\n *ngIf=\"column.alwaysVisible\"\n type=\"button\"\n rivButton\n [rivTooltip]=\"column.tooltipForHideIcon\"\n [disabled]=\"true\"\n [variant]=\"'ghost'\"\n [size]=\"'small'\"\n [icon]=\"'Lock'\"\n ></button>\n</ng-template>\n", styles: [".content{padding:var(--size-large);display:flex;flex-direction:column;gap:var(--size-medium);height:100%}.title{font:var(--title-02);display:flex;justify-content:space-between;align-items:center}.column-header{color:var(--type-light-low-contrast);display:flex;justify-content:space-between;align-items:center;font:var(--input-medium)}.column-header-label{padding:var(--size-small) 0}.column{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium)}.column:hover{background-color:var(--surface-light-1)}.column:hover .hidden{opacity:1}.column.disabled{color:var(--type-light-low-contrast)}.reorder{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch;color:var(--type-light-low-contrast);cursor:grab}.reorder.disabled{cursor:not-allowed}.pinned{padding-right:var(--size-medium);display:flex;justify-content:center;align-items:center;align-self:stretch}.frozen{display:flex;align-items:center;justify-content:space-between;position:relative;font:var(--input-medium);color:var(--type-light-low-contrast)}.disable-override.disabled:hover{cursor:pointer}.hidden{opacity:0}.columns{flex-grow:1;overflow-y:auto}.options{display:flex;flex-direction:column}.option{position:relative}.option.dragged-over-top:before,.option.dragged-over-bottom:before{content:\"\";position:absolute;left:0;right:0;height:var(--size-xxsmall);background-color:var(--brand);box-shadow:0 0 var(--size-xxsmall) var(--brand)}.option.dragged-over-top:before{top:0}.option.dragged-over-bottom:before{bottom:0}.scroll-padding{padding-right:var(--base-grid-size)}.divider{border-top:var(--border-width) solid var(--border-light);margin-top:var(--size-medium);margin-bottom:var(--size-medium)}\n"] }]
|
|
10467
10600
|
}], propDecorators: { manager: [{
|
|
10468
10601
|
type: Input
|
|
10469
10602
|
}], anchor: [{
|
|
@@ -17634,6 +17767,7 @@ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
|
17634
17767
|
SelectComponent,
|
|
17635
17768
|
SelectNodeComponent,
|
|
17636
17769
|
SentenceCasePipe,
|
|
17770
|
+
SettingRowComponent,
|
|
17637
17771
|
SideSheetComponent,
|
|
17638
17772
|
SimpleSelectComponent,
|
|
17639
17773
|
SimpleTabComponent,
|
|
@@ -17742,6 +17876,7 @@ RivModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
|
17742
17876
|
SearchSelectComponent,
|
|
17743
17877
|
SelectComponent,
|
|
17744
17878
|
SentenceCasePipe,
|
|
17879
|
+
SettingRowComponent,
|
|
17745
17880
|
SideSheetComponent,
|
|
17746
17881
|
SimpleSelectComponent,
|
|
17747
17882
|
SimpleTabComponent,
|
|
@@ -17858,6 +17993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
17858
17993
|
SelectComponent,
|
|
17859
17994
|
SelectNodeComponent,
|
|
17860
17995
|
SentenceCasePipe,
|
|
17996
|
+
SettingRowComponent,
|
|
17861
17997
|
SideSheetComponent,
|
|
17862
17998
|
SimpleSelectComponent,
|
|
17863
17999
|
SimpleTabComponent,
|
|
@@ -17969,6 +18105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
17969
18105
|
SearchSelectComponent,
|
|
17970
18106
|
SelectComponent,
|
|
17971
18107
|
SentenceCasePipe,
|
|
18108
|
+
SettingRowComponent,
|
|
17972
18109
|
SideSheetComponent,
|
|
17973
18110
|
SimpleSelectComponent,
|
|
17974
18111
|
SimpleTabComponent,
|
|
@@ -18017,5 +18154,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
18017
18154
|
* Generated bundle index. Do not edit.
|
|
18018
18155
|
*/
|
|
18019
18156
|
|
|
18020
|
-
export { ANIMATION_CONSTANTS, AllViewsModalComponent, AlphabeticFieldComponent, AutoFocusDirective, BadgeComponent, BannerActionComponent, BannerComponent, ButtonComponent, ButtonGroupComponent, CalloutComponent, CardActionsComponent, CardCheckboxComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardLinkComponent, CardMediaComponent, Chart, ChartComponent, CheckboxComponent, CurrencyFieldComponent, DataTableCellComponent, DataTableComponent, DataTableHeaderCellComponent, DataTableRowComponent, DateComponent, DatePipe, DateRangeComponent, DaysPipe, DialogComponent, DollarsPipe, DonutComponent, DownloadService, EditViewComponent, EditableHeadingComponent, FilterChipComponent, FormDialogComponent, FunnelChartComponent, HelpComponent, HighlightComponent, IconComponent, InputLabelComponent, IssueComponent, LegendItemComponent, LinkComponent, LoadingComponent, LoadingCoverComponent, LockedTooltipDirective, MapIndicatorComponent, MentionsInputComponent, MenuComponent, MenuItemComponent, MetricComponent, MiniPieComponent, ModalComponent, NotificationBadgeComponent, NumberFieldComponent, NumberPipe, OptionGroupPipe, OverlayDirective, OverlayOutletComponent, PageHeaderComponent, PercentageFieldComponent, PercentagePipe, PermissionPickerComponent, PhoneFieldComponent, ProgressComponent, RadioComponent, RivModule, RivSelect, RivTable, RivViews, SVGTextTruncateDirective, SearchComponent, SearchSelectComponent, SelectComponent, SelectNodeComponent, SentenceCasePipe, SideSheetComponent, SimpleSelectComponent, SimpleTabComponent, SimpleTableCellComponent, SimpleTableComponent, SimpleTableHeaderCellComponent, SimpleTableRowComponent, SimpleTabsComponent, SizeDirective, SmallCurrencyPipe, SmallNumberPipe, SrOnlyComponent, StackedColumnComponent, StackedRowComponent, SwitchCheckboxComponent, TabComponent, TableCollapseAllComponent, TableColumnSettingsComponent, TableColumnSettingsSideSheetComponent, TableComponent, TableCsvExportComponent, TableSearchColumnsComponent, TableSearchComponent, TabsComponent, TextFieldComponent, TextareaFieldComponent, TimeSeriesComponent, ToastActionComponent, ToastComponent, TooltipComponent, TooltipDirective, TrendComponent, TruncateComponent, ValidationMessageComponent, ViewMenuComponent, ViewsComponent, VisibilityDirective, ZeroStateComponent, toSentenceCase };
|
|
18157
|
+
export { ANIMATION_CONSTANTS, AllViewsModalComponent, AlphabeticFieldComponent, AutoFocusDirective, BadgeComponent, BannerActionComponent, BannerComponent, ButtonComponent, ButtonGroupComponent, CalloutComponent, CardActionsComponent, CardCheckboxComponent, CardComponent, CardContentComponent, CardHeaderComponent, CardLinkComponent, CardMediaComponent, Chart, ChartComponent, CheckboxComponent, CurrencyFieldComponent, DataTableCellComponent, DataTableComponent, DataTableHeaderCellComponent, DataTableRowComponent, DateComponent, DatePipe, DateRangeComponent, DaysPipe, DialogComponent, DollarsPipe, DonutComponent, DownloadService, EditViewComponent, EditableHeadingComponent, FilterChipComponent, FormDialogComponent, FunnelChartComponent, HelpComponent, HighlightComponent, IconComponent, InputLabelComponent, IssueComponent, LegendItemComponent, LinkComponent, LoadingComponent, LoadingCoverComponent, LockedTooltipDirective, MapIndicatorComponent, MentionsInputComponent, MenuComponent, MenuItemComponent, MetricComponent, MiniPieComponent, ModalComponent, NotificationBadgeComponent, NumberFieldComponent, NumberPipe, OptionGroupPipe, OverlayDirective, OverlayOutletComponent, PageHeaderComponent, PercentageFieldComponent, PercentagePipe, PermissionPickerComponent, PhoneFieldComponent, ProgressComponent, RadioComponent, RivModule, RivSelect, RivTable, RivViews, SVGTextTruncateDirective, SearchComponent, SearchSelectComponent, SelectComponent, SelectNodeComponent, SentenceCasePipe, SettingRowComponent, SideSheetComponent, SimpleSelectComponent, SimpleTabComponent, SimpleTableCellComponent, SimpleTableComponent, SimpleTableHeaderCellComponent, SimpleTableRowComponent, SimpleTabsComponent, SizeDirective, SmallCurrencyPipe, SmallNumberPipe, SrOnlyComponent, StackedColumnComponent, StackedRowComponent, SwitchCheckboxComponent, TabComponent, TableCollapseAllComponent, TableColumnSettingsComponent, TableColumnSettingsSideSheetComponent, TableComponent, TableCsvExportComponent, TableSearchColumnsComponent, TableSearchComponent, TabsComponent, TextFieldComponent, TextareaFieldComponent, TimeSeriesComponent, ToastActionComponent, ToastComponent, TooltipComponent, TooltipDirective, TrendComponent, TruncateComponent, ValidationMessageComponent, ViewMenuComponent, ViewsComponent, VisibilityDirective, ZeroStateComponent, toSentenceCase };
|
|
18021
18158
|
//# sourceMappingURL=rivet-health-design-system.mjs.map
|