Compare commits
7 Commits
master
...
release-4.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5e26e217a1 | ||
|
|
24b67f3fb4 | ||
|
|
2a486236aa | ||
|
|
97b614a899 | ||
|
|
9ca054613c | ||
|
|
5a751932a6 | ||
|
|
cdd6ed5607 |
@ -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 {
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
&.active,
|
||||
&.dialog-toggle {
|
||||
z-index: 1100;
|
||||
z-index: 1200;
|
||||
}
|
||||
|
||||
.toggle-input {
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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>
|
||||
}
|
||||
}
|
||||
|
||||
@ -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> {
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user