summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts')
-rw-r--r--polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts52
1 files changed, 10 insertions, 42 deletions
diff --git a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
index 38ee01ad19..17f4acfbda 100644
--- a/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
+++ b/polygerrit-ui/app/elements/change-list/gr-change-list/gr-change-list.ts
@@ -8,7 +8,6 @@ import '../gr-change-list-item/gr-change-list-item';
import '../gr-change-list-section/gr-change-list-section';
import {GrChangeListItem} from '../gr-change-list-item/gr-change-list-item';
import '../../plugins/gr-endpoint-decorator/gr-endpoint-decorator';
-import {getAppContext} from '../../../services/app-context';
import {navigationToken} from '../../core/gr-navigation/gr-navigation';
import {GrCursorManager} from '../../shared/gr-cursor-manager/gr-cursor-manager';
import {
@@ -30,13 +29,15 @@ import {customElement, property, state} from 'lit/decorators.js';
import {Shortcut, ShortcutController} from '../../lit/shortcut-controller';
import {queryAll} from '../../../utils/common-util';
import {GrChangeListSection} from '../gr-change-list-section/gr-change-list-section';
-import {Execution} from '../../../constants/reporting';
import {ValueChangedEvent} from '../../../types/events';
import {resolve} from '../../../models/dependency';
import {createChangeUrl} from '../../../models/views/change';
import {pluginLoaderToken} from '../../shared/gr-js-api-interface/gr-plugin-loader';
import {subscribe} from '../../lit/subscription-controller';
-import {userModelToken} from '../../../models/user/user-model';
+import {
+ changeTablePrefs,
+ userModelToken,
+} from '../../../models/user/user-model';
import {configModelToken} from '../../../models/config/config-model';
export interface ChangeListSection {
@@ -131,10 +132,6 @@ export class GrChangeList extends LitElement {
// private but used in test
@state() config?: ServerInfo;
- private readonly flagsService = getAppContext().flagsService;
-
- private readonly reporting = getAppContext().reportingService;
-
private readonly shortcuts = new ShortcutController(this);
private readonly getConfigModel = resolve(this, configModelToken);
@@ -345,46 +342,17 @@ export class GrChangeList extends LitElement {
this.changeTableColumns = Object.values(ColumnNames);
this.showNumber = false;
- this.visibleChangeTableColumns = this.changeTableColumns.filter(col =>
- this.isColumnEnabled(col, this.config)
- );
+ this.visibleChangeTableColumns = Object.values(ColumnNames);
if (this.loggedInUser && this.preferences) {
this.showNumber = !!this.preferences?.legacycid_in_change_table;
- if (
- this.preferences?.change_table &&
- this.preferences.change_table.length > 0
- ) {
- const prefColumns = this.preferences.change_table
- .map(column => (column === 'Project' ? ColumnNames.REPO : column))
- .map(column =>
- column === ColumnNames.STATUS ? ColumnNames.STATUS2 : column
- );
- this.reporting.reportExecution(Execution.USER_PREFERENCES_COLUMNS, {
- statusColumn: prefColumns.includes(ColumnNames.STATUS2),
- });
- // Order visible column names by columnNames, filter only one that
- // are in prefColumns and enabled by config
- this.visibleChangeTableColumns = Object.values(ColumnNames)
- .filter(col => prefColumns.includes(col))
- .filter(col => this.isColumnEnabled(col, this.config));
- }
+ const prefColumns = changeTablePrefs(this.preferences);
+ // This is for sorting `prefColumns` as in `ColumnNames`:
+ this.visibleChangeTableColumns = Object.values(ColumnNames).filter(col =>
+ prefColumns.includes(col)
+ );
}
}
- /**
- * Is the column disabled by a server config or experiment?
- */
- isColumnEnabled(column: string, config?: ServerInfo) {
- if (!Object.values(ColumnNames).includes(column as unknown as ColumnNames))
- return false;
- if (!config || !config.change) return true;
- if (column === 'Comments')
- return this.flagsService.isEnabled('comments-column');
- if (column === 'Status') return false;
- if (column === ColumnNames.STATUS2) return true;
- return true;
- }
-
// private but used in test
computeLabelNames(sections: ChangeListSection[]) {
if (!sections) return [];