Compare commits

...

7 Commits

Author SHA1 Message Date
Nicoleta Panaghiu
5e26e217a1 RED-10509: added disableStopPropagation option for action config. 2024-11-25 10:40:42 +02:00
Timo Bejan
24b67f3fb4 removed logging 2024-11-06 15:55:44 +02:00
Timo Bejan
2a486236aa Removed offset and fixed notification polling 2024-11-06 15:55:40 +02:00
Nicoleta Panaghiu
97b614a899 RED-9985: prevent filter categories from collapsing upon selection. 2024-09-26 11:54:09 +03:00
Nicoleta Panaghiu
9ca054613c RED-9372: always include scroll-bar mixin. 2024-09-10 11:38:59 +03:00
Nicoleta Panaghiu
5a751932a6 RED-9372: fixed table-items moving on hover. 2024-09-05 17:20:08 +03:00
Nicoleta Panaghiu
cdd6ed5607 RED-9777: increase dialog help button z-index. 2024-08-14 11:44:53 +03:00
10 changed files with 24 additions and 25 deletions

View File

@ -159,10 +159,10 @@ section.settings {
transition:
width ease-in-out 0.2s,
min-width ease-in-out 0.2s;
@include common-mixins.scroll-bar;
&:hover {
overflow-y: auto;
@include common-mixins.scroll-bar;
}
.collapsed-wrapper {

View File

@ -14,7 +14,7 @@
@if (primaryFilters$ | async; as filters) {
<div class="filter-content">
@for (filter of filters; track filter) {
@for (filter of filters; track filter.id) {
<ng-container
[ngTemplateOutletContext]="{
filter: filter,
@ -33,7 +33,7 @@
<div class="all-caps-label" translate="filter-menu.filter-options"></div>
</div>
@for (filter of secondaryGroup.filters; track filter) {
@for (filter of secondaryGroup.filters; track filter.id) {
<ng-container
[ngTemplateOutletContext]="{
filter: filter,

View File

@ -16,6 +16,7 @@ function copySettings(oldFilters: INestedFilter[], newFilters: INestedFilter[])
const newFilter = newFilters.find(f => f.id === filter.id);
if (newFilter) {
newFilter.checked = filter.checked;
newFilter.expanded = filter.expanded;
newFilter.indeterminate = filter.indeterminate;
if (filter.children && newFilter.children) {
copySettings(filter.children, newFilter.children);

View File

@ -14,7 +14,7 @@
&.active,
&.dialog-toggle {
z-index: 1100;
z-index: 1200;
}
.toggle-input {

View File

@ -1,9 +1,10 @@
import { BaseHeaderConfig } from './base-config.model';
import { Observable } from 'rxjs';
import { OverlappingElement } from '../../../help-mode';
export interface ActionConfig extends BaseHeaderConfig {
readonly action: ($event: MouseEvent) => void;
readonly helpModeKey?: string;
readonly disabled$?: Observable<boolean>;
readonly disabled?: boolean;
readonly disableStopPropagation?: boolean;
}

View File

@ -60,10 +60,11 @@
<iqser-circle-button
(action)="config.action($event)"
[buttonId]="config.id"
[disabled]="config.disabled$ && (config.disabled$ | async)"
[disabled]="config.disabled"
[icon]="config.icon"
[tooltip]="config.label | translate"
[attr.help-mode-key]="config.helpModeKey"
[iqserDisableStopPropagation]="config.disableStopPropagation"
></iqser-circle-button>
}
}

View File

@ -15,6 +15,7 @@ import { filterEach } from '../../utils';
import { List } from '../../utils';
import { IListable } from '../models';
import { ActionConfig, ButtonConfig, SearchPosition, SearchPositions } from './models';
import { DisableStopPropagationDirective } from '../../directives';
@Component({
selector: 'iqser-page-header',
@ -31,6 +32,7 @@ import { ActionConfig, ButtonConfig, SearchPosition, SearchPositions } from './m
CircleButtonComponent,
TranslateModule,
InputWithActionComponent,
DisableStopPropagationDirective,
],
})
export class PageHeaderComponent<T extends IListable> {

View File

@ -2,7 +2,7 @@
:host cdk-virtual-scroll-viewport {
height: calc(100vh - 50px - 31px - var(--iqser-top-bar-height) - 50px);
overflow-y: hidden !important;
overflow-y: auto !important;
background-color: var(--iqser-background);
@include mixins.scroll-bar;
@ -10,10 +10,6 @@
display: none;
}
&.has-scrollbar:hover ::ng-deep.cdk-virtual-scroll-content-wrapper {
grid-template-columns: var(--gridTemplateColumnsHover);
}
::ng-deep.cdk-virtual-scroll-content-wrapper {
grid-template-columns: var(--gridTemplateColumns);
display: grid;
@ -53,6 +49,10 @@
> * > div {
background-color: var(--iqser-not-disabled-table-item);
}
.scrollbar-placeholder {
background-color: var(--iqser-side-nav);
}
}
}
}
@ -65,10 +65,6 @@
right: 0;
padding-right: 10px;
}
.scrollbar-placeholder {
display: none !important;
}
}
}
}

View File

@ -87,18 +87,17 @@ export class TableComponent<Class extends IListable<PrimaryKey>, PrimaryKey exte
}
private _setColumnsWidth(element: HTMLElement) {
let gridTemplateColumnsHover = '';
let gridTemplateColumns = '';
if (this.selectionEnabled) {
gridTemplateColumnsHover += '30px ';
gridTemplateColumns += '30px ';
}
for (const config of this.tableColumnConfigs) {
gridTemplateColumnsHover += `${config.width || '1fr'} `;
gridTemplateColumns += `${config.width || '1fr'} `;
}
gridTemplateColumnsHover += this.emptyColumnWidth || '';
const gridTemplateColumns = `${gridTemplateColumnsHover} ${SCROLLBAR_WIDTH}px`;
gridTemplateColumns += this.emptyColumnWidth || '';
gridTemplateColumns = `${gridTemplateColumns} ${SCROLLBAR_WIDTH}px`;
element.style.setProperty('--gridTemplateColumns', gridTemplateColumns);
element.style.setProperty('--gridTemplateColumnsHover', gridTemplateColumnsHover);
}
private _setItemSize(element: HTMLElement) {

View File

@ -6,7 +6,6 @@ import { HeadersConfiguration } from '../utils/headers-configuration';
import { List } from '../utils/types/iqser-types';
export const ROOT_CHANGES_KEY = 'root';
export const LAST_CHECKED_OFFSET = 30000;
export interface QueryParam {
readonly key: string;
@ -20,7 +19,7 @@ export interface QueryParam {
export abstract class GenericService<I> {
protected readonly _http = inject(HttpClient);
protected readonly _lastCheckedForChanges = new Map<string, string>([
[ROOT_CHANGES_KEY, new Date(Date.now() - LAST_CHECKED_OFFSET).toISOString()],
[ROOT_CHANGES_KEY, new Date(Date.now()).toISOString()],
]);
protected abstract readonly _defaultModelPath: string;
protected readonly _serviceName: string = 'redaction-gateway-v1';
@ -41,7 +40,7 @@ export abstract class GenericService<I> {
headers: HeadersConfiguration.getHeaders({ contentType: false }),
observe: 'body',
params: this._queryParams(queryParams),
});
})
}
getFor<R = I[]>(entityId: string, queryParams?: List<QueryParam>): Observable<R> {
@ -126,6 +125,6 @@ export abstract class GenericService<I> {
}
protected _updateLastChanged(key = ROOT_CHANGES_KEY): void {
this._lastCheckedForChanges.set(key, new Date(Date.now() - LAST_CHECKED_OFFSET).toISOString());
this._lastCheckedForChanges.set(key, new Date().toISOString());
}
}