@alfresco/adf-content-services
Version:
Alfresco ADF content services
77 lines • 11.4 kB
JavaScript
/*!
* @license
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, ViewEncapsulation } from '@angular/core';
import { SearchQueryBuilderService } from '../../services/search-query-builder.service';
import { CommonModule } from '@angular/common';
import { SortingPickerComponent } from '@alfresco/adf-core';
import * as i0 from "@angular/core";
import * as i1 from "../../services/search-query-builder.service";
export class SearchSortingPickerComponent {
constructor(queryBuilder) {
this.queryBuilder = queryBuilder;
this.options = [];
}
ngOnInit() {
this.options = this.queryBuilder.getSortingOptions();
const primary = this.queryBuilder.getPrimarySorting();
if (primary) {
this.value = primary.key;
this.ascending = primary.ascending;
}
}
onValueChanged(key) {
this.value = key;
this.ascending = this.getSortingOrder();
this.applySorting();
}
onSortingChanged(ascending) {
this.ascending = ascending;
this.applySorting();
}
findOptionByKey(key) {
if (key) {
return this.options.find((opt) => opt.key === key);
}
return null;
}
applySorting() {
const option = this.findOptionByKey(this.value);
if (option) {
this.queryBuilder.sorting = [
{
...option,
ascending: this.ascending
}
];
this.queryBuilder.update();
}
}
getSortingOrder() {
const option = this.findOptionByKey(this.value);
if (option) {
return option.ascending;
}
return this.queryBuilder.getPrimarySorting().ascending;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchSortingPickerComponent, deps: [{ token: i1.SearchQueryBuilderService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SearchSortingPickerComponent, isStandalone: true, selector: "adf-search-sorting-picker", host: { classAttribute: "adf-search-sorting-picker" }, ngImport: i0, template: "<adf-sorting-picker\n [options]=\"options\"\n [selected]=\"value\"\n [ascending]=\"ascending\"\n (valueChange)=\"onValueChanged($event)\"\n (sortingChange)=\"onSortingChanged($event)\" />\n", styles: [".adf-search-sorting-picker .adf-sorting-picker-button{color:var(--adf-theme-foreground-text-color-054)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: SortingPickerComponent, selector: "adf-sorting-picker", inputs: ["options", "selected", "ascending"], outputs: ["valueChange", "sortingChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchSortingPickerComponent, decorators: [{
type: Component,
args: [{ selector: 'adf-search-sorting-picker', standalone: true, imports: [CommonModule, SortingPickerComponent], encapsulation: ViewEncapsulation.None, host: { class: 'adf-search-sorting-picker' }, template: "<adf-sorting-picker\n [options]=\"options\"\n [selected]=\"value\"\n [ascending]=\"ascending\"\n (valueChange)=\"onValueChanged($event)\"\n (sortingChange)=\"onSortingChanged($event)\" />\n", styles: [".adf-search-sorting-picker .adf-sorting-picker-button{color:var(--adf-theme-foreground-text-color-054)}\n"] }]
}], ctorParameters: () => [{ type: i1.SearchQueryBuilderService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvcnRpbmctcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLXNvcnRpbmctcGlja2VyL3NlYXJjaC1zb3J0aW5nLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1zb3J0aW5nLXBpY2tlci9zZWFyY2gtc29ydGluZy1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUV4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQVc1RCxNQUFNLE9BQU8sNEJBQTRCO0lBS3JDLFlBQW9CLFlBQXVDO1FBQXZDLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUozRCxZQUFPLEdBQThCLEVBQUUsQ0FBQztJQUlzQixDQUFDO0lBRS9ELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUVyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWtCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sZUFBZSxDQUFDLEdBQVc7UUFDL0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxZQUFZO1FBQ2hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRztnQkFDeEI7b0JBQ0ksR0FBRyxNQUFNO29CQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDNUI7YUFDSixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7OEdBdkRRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDRJQ2hDekMsOE1BTUEsa0tEb0JjLFlBQVksK0JBQUUsc0JBQXNCOzsyRkFNckMsNEJBQTRCO2tCQVR4QyxTQUFTOytCQUNJLDJCQUEyQixjQUN6QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsaUJBR2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlYXJjaC1xdWVyeS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VhcmNoU29ydGluZ0RlZmluaXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VhcmNoLXNvcnRpbmctZGVmaW5pdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNvcnRpbmdQaWNrZXJDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zZWFyY2gtc29ydGluZy1waWNrZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU29ydGluZ1BpY2tlckNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zb3J0aW5nLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNvcnRpbmctcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLXNlYXJjaC1zb3J0aW5nLXBpY2tlcicgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTb3J0aW5nUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBvcHRpb25zOiBTZWFyY2hTb3J0aW5nRGVmaW5pdGlvbltdID0gW107XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBhc2NlbmRpbmc6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHF1ZXJ5QnVpbGRlcjogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLnF1ZXJ5QnVpbGRlci5nZXRTb3J0aW5nT3B0aW9ucygpO1xuXG4gICAgICAgIGNvbnN0IHByaW1hcnkgPSB0aGlzLnF1ZXJ5QnVpbGRlci5nZXRQcmltYXJ5U29ydGluZygpO1xuICAgICAgICBpZiAocHJpbWFyeSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHByaW1hcnkua2V5O1xuICAgICAgICAgICAgdGhpcy5hc2NlbmRpbmcgPSBwcmltYXJ5LmFzY2VuZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2VkKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBrZXk7XG4gICAgICAgIHRoaXMuYXNjZW5kaW5nID0gdGhpcy5nZXRTb3J0aW5nT3JkZXIoKTtcbiAgICAgICAgdGhpcy5hcHBseVNvcnRpbmcoKTtcbiAgICB9XG5cbiAgICBvblNvcnRpbmdDaGFuZ2VkKGFzY2VuZGluZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzY2VuZGluZyA9IGFzY2VuZGluZztcbiAgICAgICAgdGhpcy5hcHBseVNvcnRpbmcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRPcHRpb25CeUtleShrZXk6IHN0cmluZyk6IFNlYXJjaFNvcnRpbmdEZWZpbml0aW9uIHtcbiAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKChvcHQpID0+IG9wdC5rZXkgPT09IGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVNvcnRpbmcoKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuZmluZE9wdGlvbkJ5S2V5KHRoaXMudmFsdWUpO1xuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5zb3J0aW5nID0gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgICAgICAgICAgICBhc2NlbmRpbmc6IHRoaXMuYXNjZW5kaW5nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTb3J0aW5nT3JkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuZmluZE9wdGlvbkJ5S2V5KHRoaXMudmFsdWUpO1xuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uLmFzY2VuZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5QnVpbGRlci5nZXRQcmltYXJ5U29ydGluZygpLmFzY2VuZGluZztcbiAgICB9XG59XG4iLCI8YWRmLXNvcnRpbmctcGlja2VyXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgW3NlbGVjdGVkXT1cInZhbHVlXCJcbiAgICBbYXNjZW5kaW5nXT1cImFzY2VuZGluZ1wiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICAgIChzb3J0aW5nQ2hhbmdlKT1cIm9uU29ydGluZ0NoYW5nZWQoJGV2ZW50KVwiIC8+XG4iXX0=