@annalib/anna-core 10.5.2 → 10.6.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/anna-core-shared-lib/services/anna-filter.service.mjs +1 -1
- package/esm2020/lib/anna-core.module.mjs +18 -3
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +373 -0
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +14 -0
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +14 -0
- package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1 -5
- package/esm2020/public-api.mjs +4 -1
- package/fesm2015/annalib-anna-core.mjs +399 -7
- package/fesm2015/annalib-anna-core.mjs.map +1 -1
- package/fesm2020/annalib-anna-core.mjs +399 -7
- package/fesm2020/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core.module.d.ts +14 -11
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +72 -0
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.d.ts +8 -0
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +8 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/src/lib/anna-common-scss/_customDropdown.scss +0 -132
|
@@ -1989,10 +1989,6 @@ class AnnaNonEditableGenericTableComponent {
|
|
|
1989
1989
|
this.tooltipRadioTextMap.set("AirStatus", "Aired Status");
|
|
1990
1990
|
this.tooltipRadioTextMap.set("AirDateAndTime", "Aired Date & Time");
|
|
1991
1991
|
this.tooltipRadioTextMap.set("AdId", "Ad-Id");
|
|
1992
|
-
this.tooltipRadioTextMap.set("displayimps", "IMPS");
|
|
1993
|
-
this.tooltipRadioTextMap.set("displayGrp", "GRP");
|
|
1994
|
-
this.tooltipRadioTextMap.set("bookedSpotsForDisplay", "Spots");
|
|
1995
|
-
this.tooltipRadioTextMap.set("displaySpots", "Spots");
|
|
1996
1992
|
}
|
|
1997
1993
|
generateTableDataWrapper() {
|
|
1998
1994
|
this.showSkeletonLoading = true;
|
|
@@ -4735,6 +4731,390 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
4735
4731
|
args: ['drop', ['$event']]
|
|
4736
4732
|
}] } });
|
|
4737
4733
|
|
|
4734
|
+
class AnnaColumnDateRangeFilterComponent {
|
|
4735
|
+
constructor() { }
|
|
4736
|
+
ngOnInit() {
|
|
4737
|
+
}
|
|
4738
|
+
}
|
|
4739
|
+
AnnaColumnDateRangeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaColumnDateRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4740
|
+
AnnaColumnDateRangeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AnnaColumnDateRangeFilterComponent, selector: "anna-core-anna-column-date-range-filter", ngImport: i0, template: "<!-- <ng-template #datePickerTooltip>\r\n <div class=\"radio-container\" *ngIf=\"showFilterTooltipTabs\">\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p class=\"filter-tab\" [title]=\"data.label\" (click)=\"populateTooltipDataBasedOnSelectedRadio(data)\" [ngClass]=\"{'active': annaFilterService.selectedRadio == data.key}\" *ngIf=\"filterTabObjects.length > 0\">{{ data.label }}</p>\r\n </div>\r\n </div>\r\n\r\n <anna-core-sort-lib *ngIf=\"showSortComponent\" [ngClass]=\"{'no-bottom-border': !showFilterComponent}\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\" [sortObjectKey]=\"annaFilterService.selectedRadio\"></anna-core-sort-lib>\r\n \r\n <ng-container *ngIf=\"showFilterComponent\">\r\n <div class=\"datepicker-container\">\r\n <button class=\"column-clear-all\" [disabled]=\"disableColumnClearAllBtn\" (click)=\"clearColumnFilter()\">\r\n Clear filter\r\n </button>\r\n <anna-core-calendar-filter-lib\r\n [minDate]=\"calendarMinEnabledDate\"\r\n [maxDate]=\"calendarMaxEnabledDate\"\r\n [selectedFromDate]=\"selectedMinDate\"\r\n [selectedToDate]=\"selectedMaxDate\"\r\n (selectedDate) = \"calendarDateChanged($event)\"\r\n [label]=\"selectedLabel\"\r\n >\r\n </anna-core-calendar-filter-lib>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"buttons-container\">\r\n <button class=\"button\" (click)=\"cancelInDateFilter()\">Cancel</button>\r\n <button class=\"button\" (click)=\"applyDateFilter()\" [ngClass]=\"{ disabled: disableCalendarApplyBtn }\"\r\n [disabled]=\"disableCalendarApplyBtn\">Apply</button>\r\n </div>\r\n \r\n</ng-template> -->", styles: [""] });
|
|
4741
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaColumnDateRangeFilterComponent, decorators: [{
|
|
4742
|
+
type: Component,
|
|
4743
|
+
args: [{ selector: 'anna-core-anna-column-date-range-filter', template: "<!-- <ng-template #datePickerTooltip>\r\n <div class=\"radio-container\" *ngIf=\"showFilterTooltipTabs\">\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p class=\"filter-tab\" [title]=\"data.label\" (click)=\"populateTooltipDataBasedOnSelectedRadio(data)\" [ngClass]=\"{'active': annaFilterService.selectedRadio == data.key}\" *ngIf=\"filterTabObjects.length > 0\">{{ data.label }}</p>\r\n </div>\r\n </div>\r\n\r\n <anna-core-sort-lib *ngIf=\"showSortComponent\" [ngClass]=\"{'no-bottom-border': !showFilterComponent}\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\" [sortObjectKey]=\"annaFilterService.selectedRadio\"></anna-core-sort-lib>\r\n \r\n <ng-container *ngIf=\"showFilterComponent\">\r\n <div class=\"datepicker-container\">\r\n <button class=\"column-clear-all\" [disabled]=\"disableColumnClearAllBtn\" (click)=\"clearColumnFilter()\">\r\n Clear filter\r\n </button>\r\n <anna-core-calendar-filter-lib\r\n [minDate]=\"calendarMinEnabledDate\"\r\n [maxDate]=\"calendarMaxEnabledDate\"\r\n [selectedFromDate]=\"selectedMinDate\"\r\n [selectedToDate]=\"selectedMaxDate\"\r\n (selectedDate) = \"calendarDateChanged($event)\"\r\n [label]=\"selectedLabel\"\r\n >\r\n </anna-core-calendar-filter-lib>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"buttons-container\">\r\n <button class=\"button\" (click)=\"cancelInDateFilter()\">Cancel</button>\r\n <button class=\"button\" (click)=\"applyDateFilter()\" [ngClass]=\"{ disabled: disableCalendarApplyBtn }\"\r\n [disabled]=\"disableCalendarApplyBtn\">Apply</button>\r\n </div>\r\n \r\n</ng-template> -->" }]
|
|
4744
|
+
}], ctorParameters: function () { return []; } });
|
|
4745
|
+
|
|
4746
|
+
class AnnaColumnCheckboxFilterComponent {
|
|
4747
|
+
constructor(annaSortService, annaFilterService) {
|
|
4748
|
+
this.annaSortService = annaSortService;
|
|
4749
|
+
this.annaFilterService = annaFilterService;
|
|
4750
|
+
this.limit = 30;
|
|
4751
|
+
this.filterAppliedToTable = new EventEmitter();
|
|
4752
|
+
this.sortingAppliedToTable = new EventEmitter();
|
|
4753
|
+
this.closeTooltip = new EventEmitter();
|
|
4754
|
+
this.tempSortOrder = null;
|
|
4755
|
+
this.showSortComponent = false;
|
|
4756
|
+
this.showFilterComponent = false;
|
|
4757
|
+
this.start = 0;
|
|
4758
|
+
this.end = this.limit + this.start;
|
|
4759
|
+
this.disableColumnClearAllBtn = true;
|
|
4760
|
+
}
|
|
4761
|
+
ngOnInit() {
|
|
4762
|
+
this.populateTooltipDataBasedOnSelectedRadio(this.filterTabObjects[0]);
|
|
4763
|
+
}
|
|
4764
|
+
populateTooltipDataBasedOnSelectedRadio(activeTab) {
|
|
4765
|
+
let header = activeTab.key;
|
|
4766
|
+
this.selectedLabel = activeTab.label;
|
|
4767
|
+
this.searchItem = null;
|
|
4768
|
+
this.showSortComponent = activeTab.isSortRequired;
|
|
4769
|
+
this.showFilterComponent = activeTab.isFilterRequired;
|
|
4770
|
+
this.tempSortOrder = null;
|
|
4771
|
+
this.isFilterChanged = false;
|
|
4772
|
+
this.isSortChanged = false;
|
|
4773
|
+
this.annaFilterService.selectedRadio = header;
|
|
4774
|
+
this.disableActiveFilterClearButton();
|
|
4775
|
+
this.createFilterTooltipData(header);
|
|
4776
|
+
}
|
|
4777
|
+
getCheckboxData(header) {
|
|
4778
|
+
let tooltipOptions = this.createListForCheckboxFilter(header);
|
|
4779
|
+
let selectedItems = sortBy(tooltipOptions.filter(item => item.isSelected), "label");
|
|
4780
|
+
let unselectedItems = sortBy(tooltipOptions.filter(item => !item.isSelected), "label");
|
|
4781
|
+
this.clonedTooltipOptions = [...selectedItems, ...unselectedItems];
|
|
4782
|
+
this.tooltipOptions = cloneDeep(this.clonedTooltipOptions);
|
|
4783
|
+
let margin = 5;
|
|
4784
|
+
let dataLength = this.tooltipOptions.length;
|
|
4785
|
+
this.heightOfCheckboxTooltipFilter = dataLength > 6 ? 200 : ((26.03 * dataLength) + (margin * dataLength) + margin);
|
|
4786
|
+
this.disableSelectAll = unselectedItems.length == 0;
|
|
4787
|
+
this.disableClearAll = selectedItems.length == 0;
|
|
4788
|
+
this.selectedCheckboxOptionsCount = selectedItems.length;
|
|
4789
|
+
}
|
|
4790
|
+
createListForCheckboxFilter(header) {
|
|
4791
|
+
let optionData = this.annaFilterService.getFilterOptionsData(this.tableData, this.clonedTableData);
|
|
4792
|
+
let uniqOptionData = uniq(optionData.map(item => item[header]));
|
|
4793
|
+
let tooltipOptions = uniqOptionData.map((item, index) => new TooltipModel(item, index + 1));
|
|
4794
|
+
this.selectUnselectListCheckbox(tooltipOptions, header);
|
|
4795
|
+
let index = tooltipOptions.findIndex(item => item.value == null);
|
|
4796
|
+
if (index != -1) {
|
|
4797
|
+
tooltipOptions[index].label = "(Blank)";
|
|
4798
|
+
}
|
|
4799
|
+
return tooltipOptions;
|
|
4800
|
+
}
|
|
4801
|
+
selectUnselectListCheckbox(tooltipOptions, header) {
|
|
4802
|
+
if (this.annaFilterService.tooltipSelectedMap.has(header)) {
|
|
4803
|
+
let selectedValueSet = new Set(this.annaFilterService.tooltipSelectedMap.get(header));
|
|
4804
|
+
tooltipOptions.forEach(item => item.isSelected = selectedValueSet.has(item.value) ? true : false);
|
|
4805
|
+
}
|
|
4806
|
+
else {
|
|
4807
|
+
tooltipOptions.forEach(item => item.isSelected = true);
|
|
4808
|
+
}
|
|
4809
|
+
}
|
|
4810
|
+
unCheckAllCheckbox() {
|
|
4811
|
+
this.tooltipOptions.forEach(item => {
|
|
4812
|
+
item.isSelected = false;
|
|
4813
|
+
let index = this.clonedTooltipOptions.findIndex(opt => opt.id == item.id);
|
|
4814
|
+
this.clonedTooltipOptions[index].isSelected = false;
|
|
4815
|
+
});
|
|
4816
|
+
this.selectedCheckboxOptionsCount = 0;
|
|
4817
|
+
this.disableSelectAll = false;
|
|
4818
|
+
this.disableClearAll = true;
|
|
4819
|
+
this.disableCheckboxApply = true;
|
|
4820
|
+
}
|
|
4821
|
+
selectAllCheckbox() {
|
|
4822
|
+
this.tooltipOptions.forEach(item => {
|
|
4823
|
+
item.isSelected = true;
|
|
4824
|
+
let index = this.clonedTooltipOptions.findIndex(opt => opt.id == item.id);
|
|
4825
|
+
this.clonedTooltipOptions[index].isSelected = true;
|
|
4826
|
+
});
|
|
4827
|
+
this.selectedCheckboxOptionsCount = this.tooltipOptions.length;
|
|
4828
|
+
this.disableSelectAll = true;
|
|
4829
|
+
this.disableClearAll = false;
|
|
4830
|
+
this.disableCheckboxFilterApplyButton();
|
|
4831
|
+
}
|
|
4832
|
+
searchForTheItem(str) {
|
|
4833
|
+
if (str) {
|
|
4834
|
+
this.tooltipOptions = cloneDeep(this.clonedTooltipOptions.filter(item => item.label.toString().toLowerCase().includes(str.toLowerCase())));
|
|
4835
|
+
this.tooltipOptions.forEach(element => {
|
|
4836
|
+
element.label = this.boldString(element.label, str);
|
|
4837
|
+
});
|
|
4838
|
+
if (this.tooltipOptions.length > 0) {
|
|
4839
|
+
let unselectedItems = this.tooltipOptions.filter((item) => !item.isSelected);
|
|
4840
|
+
let selectedItems = this.tooltipOptions.filter((item) => item.isSelected);
|
|
4841
|
+
this.disableSelectAll = unselectedItems.length == 0;
|
|
4842
|
+
this.disableClearAll = selectedItems.length == 0;
|
|
4843
|
+
this.selectedCheckboxOptionsCount = selectedItems.length;
|
|
4844
|
+
this.disableCheckboxApply = (selectedItems.length == 0 || !this.checkIfCheckboxTooltipIsFiltered());
|
|
4845
|
+
}
|
|
4846
|
+
else {
|
|
4847
|
+
this.selectedCheckboxOptionsCount = 0;
|
|
4848
|
+
this.disableCheckboxApply = true;
|
|
4849
|
+
this.disableClearAll = true;
|
|
4850
|
+
this.disableSelectAll = true;
|
|
4851
|
+
}
|
|
4852
|
+
}
|
|
4853
|
+
else {
|
|
4854
|
+
this.tooltipOptions = cloneDeep(this.clonedTooltipOptions);
|
|
4855
|
+
let unselectedItems = this.tooltipOptions.filter(item => !item.isSelected);
|
|
4856
|
+
let selectedItems = this.tooltipOptions.filter(item => item.isSelected);
|
|
4857
|
+
this.selectedCheckboxOptionsCount = selectedItems.length;
|
|
4858
|
+
this.disableSelectAll = unselectedItems.length == 0;
|
|
4859
|
+
this.disableClearAll = selectedItems.length == 0;
|
|
4860
|
+
this.disableCheckboxFilterApplyButton();
|
|
4861
|
+
}
|
|
4862
|
+
}
|
|
4863
|
+
boldString(str, find) {
|
|
4864
|
+
let indexes = this.getIndicesOf(find, str, false);
|
|
4865
|
+
indexes.forEach((item, index) => {
|
|
4866
|
+
let startIndex = item + (index * 7); //Multiplying by 7 as there are 7char: <b></b>
|
|
4867
|
+
let endIndex = startIndex + find.length;
|
|
4868
|
+
let strToBeReplaced = str.substring(startIndex, endIndex);
|
|
4869
|
+
str = str.replace(strToBeReplaced, "<b>" + strToBeReplaced + "</b>");
|
|
4870
|
+
});
|
|
4871
|
+
return str;
|
|
4872
|
+
}
|
|
4873
|
+
getIndicesOf(searchStr, str, caseSensitive) {
|
|
4874
|
+
var searchStrLen = searchStr.length;
|
|
4875
|
+
if (searchStrLen == 0) {
|
|
4876
|
+
return [];
|
|
4877
|
+
}
|
|
4878
|
+
var startIndex = 0, index, indices = [];
|
|
4879
|
+
if (!caseSensitive) {
|
|
4880
|
+
str = str.toLowerCase();
|
|
4881
|
+
searchStr = searchStr.toLowerCase();
|
|
4882
|
+
}
|
|
4883
|
+
while ((index = str.indexOf(searchStr, startIndex)) > -1) {
|
|
4884
|
+
indices.push(index);
|
|
4885
|
+
startIndex = index + searchStrLen;
|
|
4886
|
+
}
|
|
4887
|
+
return indices;
|
|
4888
|
+
}
|
|
4889
|
+
removeBoldElementFromString(originalString) {
|
|
4890
|
+
let firstRegExp = new RegExp('<b>', 'g');
|
|
4891
|
+
let secondRegExp = new RegExp('</b>', 'g');
|
|
4892
|
+
let ret = originalString.replace(firstRegExp, '');
|
|
4893
|
+
return ret.replace(secondRegExp, '');
|
|
4894
|
+
}
|
|
4895
|
+
disableCheckboxFilterApplyButton() {
|
|
4896
|
+
let selectedItems = this.showFilterComponent ? this.tooltipOptions.filter(item => item.isSelected) : [];
|
|
4897
|
+
if (this.showFilterComponent && this.showSortComponent) {
|
|
4898
|
+
let isFilterChanged = this.checkIfCheckboxTooltipIsFiltered();
|
|
4899
|
+
let isSortChanged = this.checkIfSortingChanged();
|
|
4900
|
+
this.disableCheckboxApply = selectedItems.length == 0 || (!isSortChanged && !isFilterChanged);
|
|
4901
|
+
}
|
|
4902
|
+
else if (this.showFilterComponent) {
|
|
4903
|
+
this.disableCheckboxApply = selectedItems.length == 0 || !this.checkIfCheckboxTooltipIsFiltered();
|
|
4904
|
+
}
|
|
4905
|
+
else if (this.showSortComponent) {
|
|
4906
|
+
this.disableCheckboxApply = !this.checkIfSortingChanged();
|
|
4907
|
+
}
|
|
4908
|
+
}
|
|
4909
|
+
checkIfSortingChanged() {
|
|
4910
|
+
let currentColumnSortFilter = this.getColumnSortStateForSelectedRadio();
|
|
4911
|
+
this.isSortChanged = this.tempSortOrder != null && this.tempSortOrder != currentColumnSortFilter;
|
|
4912
|
+
return this.isSortChanged;
|
|
4913
|
+
}
|
|
4914
|
+
checkIfCheckboxTooltipIsFiltered() {
|
|
4915
|
+
let currentSelectedValue = [];
|
|
4916
|
+
let previousSelectedValue = [];
|
|
4917
|
+
if (this.annaFilterService.tooltipSelectedMap.has(this.annaFilterService.selectedRadio)) {
|
|
4918
|
+
previousSelectedValue = this.annaFilterService.tooltipSelectedMap.get(this.annaFilterService.selectedRadio);
|
|
4919
|
+
if (!this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)) {
|
|
4920
|
+
let initialValue = sortBy(uniq(this.clonedTableData.map((item) => item[this.annaFilterService.selectedRadio])));
|
|
4921
|
+
this.annaFilterService.initialValueMap.set(this.annaFilterService.selectedRadio, initialValue);
|
|
4922
|
+
}
|
|
4923
|
+
}
|
|
4924
|
+
else if (this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)) {
|
|
4925
|
+
previousSelectedValue = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
|
|
4926
|
+
}
|
|
4927
|
+
else {
|
|
4928
|
+
previousSelectedValue = sortBy(uniq(this.clonedTableData.map(item => item[this.annaFilterService.selectedRadio])));
|
|
4929
|
+
this.annaFilterService.initialValueMap.set(this.annaFilterService.selectedRadio, previousSelectedValue);
|
|
4930
|
+
}
|
|
4931
|
+
if (this.tooltipOptions) {
|
|
4932
|
+
currentSelectedValue = sortBy(this.tooltipOptions.filter(item => item.isSelected).map(item => item.value));
|
|
4933
|
+
if (!this.searchItem && currentSelectedValue.length == this.tooltipOptions.length && this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)) {
|
|
4934
|
+
currentSelectedValue = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
|
|
4935
|
+
}
|
|
4936
|
+
}
|
|
4937
|
+
let blankIndex = currentSelectedValue.findIndex((item) => item == null);
|
|
4938
|
+
if (blankIndex != -1) {
|
|
4939
|
+
currentSelectedValue = sortBy(currentSelectedValue);
|
|
4940
|
+
}
|
|
4941
|
+
this.isFilterChanged = !isEqual(currentSelectedValue, previousSelectedValue);
|
|
4942
|
+
return this.isFilterChanged;
|
|
4943
|
+
}
|
|
4944
|
+
getColumnSortStateForSelectedRadio() {
|
|
4945
|
+
let currentColumnSortFilter = this.annaSortService.columnSortState && this.annaSortService.columnSortState.has(this.annaFilterService.selectedRadio) &&
|
|
4946
|
+
this.annaSortService.columnSortState.get(this.annaFilterService.selectedRadio);
|
|
4947
|
+
currentColumnSortFilter = currentColumnSortFilter ? currentColumnSortFilter : SortTypeEnum.DEFAULT;
|
|
4948
|
+
return currentColumnSortFilter;
|
|
4949
|
+
}
|
|
4950
|
+
applyFilters() {
|
|
4951
|
+
this.applyListFilters();
|
|
4952
|
+
this.applySortingOnFilteredData();
|
|
4953
|
+
this.setInitialRowsForTable();
|
|
4954
|
+
// this.disableEnableEachColumnTooltipIcon();
|
|
4955
|
+
// this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
|
|
4956
|
+
this.emitData();
|
|
4957
|
+
}
|
|
4958
|
+
applyListFilters() {
|
|
4959
|
+
if (this.showFilterComponent && this.isFilterChanged) {
|
|
4960
|
+
let currentSelectedValue = [];
|
|
4961
|
+
if (this.tooltipOptions) {
|
|
4962
|
+
currentSelectedValue = sortBy(this.tooltipOptions.filter(item => item.isSelected).map(item => item.value));
|
|
4963
|
+
if (!this.searchItem && currentSelectedValue.length == this.tooltipOptions.length && this.annaFilterService.initialValueMap.has(this.annaFilterService.selectedRadio)) {
|
|
4964
|
+
currentSelectedValue = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
|
|
4965
|
+
}
|
|
4966
|
+
}
|
|
4967
|
+
let blankIndex = currentSelectedValue.findIndex((item) => item == null);
|
|
4968
|
+
if (blankIndex != -1) {
|
|
4969
|
+
currentSelectedValue = sortBy(currentSelectedValue);
|
|
4970
|
+
}
|
|
4971
|
+
this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData, currentSelectedValue);
|
|
4972
|
+
this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio, currentSelectedValue);
|
|
4973
|
+
this.tableData = this.annaFilterService.filterData(this.clonedTableData, "");
|
|
4974
|
+
this.annaSortService.noSortingAppliedData = cloneDeep(this.tableData);
|
|
4975
|
+
}
|
|
4976
|
+
}
|
|
4977
|
+
applySortingOnFilteredData() {
|
|
4978
|
+
if (this.showSortComponent) {
|
|
4979
|
+
if (this.isSortChanged) {
|
|
4980
|
+
this.updateSortMap();
|
|
4981
|
+
}
|
|
4982
|
+
else if (this.isFilterChanged) {
|
|
4983
|
+
this.checkIfSortingIsApplied();
|
|
4984
|
+
}
|
|
4985
|
+
}
|
|
4986
|
+
else if (this.isFilterChanged) {
|
|
4987
|
+
this.checkIfSortingIsApplied();
|
|
4988
|
+
}
|
|
4989
|
+
}
|
|
4990
|
+
updateSortMap() {
|
|
4991
|
+
this.annaSortService.columnSortState = new Map();
|
|
4992
|
+
this.annaSortService.columnSortState.set(this.annaFilterService.selectedRadio, this.tempSortOrder);
|
|
4993
|
+
this.applySorting(this.annaFilterService.selectedRadio);
|
|
4994
|
+
}
|
|
4995
|
+
checkIfSortingIsApplied() {
|
|
4996
|
+
for (let [key, value] of this.annaSortService.columnSortState.entries()) {
|
|
4997
|
+
if (value == "ASC") {
|
|
4998
|
+
this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, this.tableData, key));
|
|
4999
|
+
}
|
|
5000
|
+
else if (value == "DESC") {
|
|
5001
|
+
this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, this.tableData, key));
|
|
5002
|
+
}
|
|
5003
|
+
}
|
|
5004
|
+
}
|
|
5005
|
+
emitData() {
|
|
5006
|
+
if (this.isFilterChanged && this.isSortChanged) {
|
|
5007
|
+
this.filterAppliedToTable.emit(this.tableData);
|
|
5008
|
+
}
|
|
5009
|
+
else if (this.isFilterChanged) {
|
|
5010
|
+
this.filterAppliedToTable.emit(this.tableData);
|
|
5011
|
+
}
|
|
5012
|
+
else if (this.isSortChanged) {
|
|
5013
|
+
this.sortingAppliedToTable.emit(this.tableData);
|
|
5014
|
+
}
|
|
5015
|
+
}
|
|
5016
|
+
applySorting(key) {
|
|
5017
|
+
if (this.tempSortOrder == "ASC") {
|
|
5018
|
+
this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, this.tableData, key));
|
|
5019
|
+
}
|
|
5020
|
+
else if (this.tempSortOrder == "DESC") {
|
|
5021
|
+
this.tableData = cloneDeep(this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, this.tableData, key));
|
|
5022
|
+
}
|
|
5023
|
+
else if (this.tempSortOrder == "DEFAULT") {
|
|
5024
|
+
this.tableData = cloneDeep(this.annaSortService.noSortingAppliedData);
|
|
5025
|
+
}
|
|
5026
|
+
}
|
|
5027
|
+
updateIndex() {
|
|
5028
|
+
this.start = this.end;
|
|
5029
|
+
this.end = this.limit + this.start;
|
|
5030
|
+
}
|
|
5031
|
+
setInitialRowsForTable() {
|
|
5032
|
+
this.resetIndex();
|
|
5033
|
+
this.updateIndex();
|
|
5034
|
+
}
|
|
5035
|
+
selectUnselectCheckbox(data) {
|
|
5036
|
+
data.isSelected = !data.isSelected;
|
|
5037
|
+
let index = this.clonedTooltipOptions.findIndex(item => item.id == data.id);
|
|
5038
|
+
this.clonedTooltipOptions[index].isSelected = data.isSelected;
|
|
5039
|
+
let selectedItems = this.tooltipOptions.filter(item => item.isSelected);
|
|
5040
|
+
let unselectedItems = this.tooltipOptions.filter(item => !item.isSelected);
|
|
5041
|
+
this.disableClearAll = selectedItems.length == 0;
|
|
5042
|
+
this.disableSelectAll = unselectedItems.length == 0;
|
|
5043
|
+
this.selectedCheckboxOptionsCount = selectedItems.length;
|
|
5044
|
+
this.disableCheckboxFilterApplyButton();
|
|
5045
|
+
}
|
|
5046
|
+
closeCheckboxFilter() {
|
|
5047
|
+
if (this.toolTipdata) {
|
|
5048
|
+
this.revert();
|
|
5049
|
+
}
|
|
5050
|
+
this.closeTooltip.emit();
|
|
5051
|
+
}
|
|
5052
|
+
revert() {
|
|
5053
|
+
this.tempTooltipData = cloneDeep(this.toolTipdata);
|
|
5054
|
+
this.annaFilterService.tooltipMap.set(this.annaFilterService.selectedRadio, this.tempTooltipData);
|
|
5055
|
+
this.toolTipdata = null;
|
|
5056
|
+
}
|
|
5057
|
+
clearSearchedItem() {
|
|
5058
|
+
this.searchItem = "";
|
|
5059
|
+
this.searchForTheItem("");
|
|
5060
|
+
}
|
|
5061
|
+
resetIndex() {
|
|
5062
|
+
this.start = 0;
|
|
5063
|
+
this.end = this.limit + this.start;
|
|
5064
|
+
}
|
|
5065
|
+
storeSortTypeInTempVariable(event) {
|
|
5066
|
+
this.tempSortOrder = event;
|
|
5067
|
+
this.disableCheckboxFilterApplyButton();
|
|
5068
|
+
}
|
|
5069
|
+
disableActiveFilterClearButton() {
|
|
5070
|
+
let selectedFilterSet = new Set(this.annaFilterService.appliedFiltersArray);
|
|
5071
|
+
let currentColumnSortFilter = this.getColumnSortStateForSelectedRadio();
|
|
5072
|
+
let isSortPresent = (this.annaSortService.columnSortState && this.annaSortService.columnSortState.size > 0 && currentColumnSortFilter != SortTypeEnum.DEFAULT);
|
|
5073
|
+
this.disableColumnClearAllBtn = selectedFilterSet.has(this.annaFilterService.selectedRadio) || isSortPresent ? false : true;
|
|
5074
|
+
}
|
|
5075
|
+
createFilterTooltipData(header) {
|
|
5076
|
+
if (this.showFilterComponent) {
|
|
5077
|
+
this.disableCheckboxApply = true;
|
|
5078
|
+
this.getCheckboxData(header);
|
|
5079
|
+
}
|
|
5080
|
+
else if (this.showSortComponent) {
|
|
5081
|
+
this.disableCheckboxApply = true;
|
|
5082
|
+
}
|
|
5083
|
+
}
|
|
5084
|
+
}
|
|
5085
|
+
AnnaColumnCheckboxFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaColumnCheckboxFilterComponent, deps: [{ token: AnnaSortService }, { token: AnnaFilterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5086
|
+
AnnaColumnCheckboxFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AnnaColumnCheckboxFilterComponent, selector: "anna-core-anna-column-checkbox-filter", inputs: { tableData: "tableData", clonedTableData: "clonedTableData", limit: "limit", filterTabObjects: "filterTabObjects" }, outputs: { filterAppliedToTable: "filterAppliedToTable", sortingAppliedToTable: "sortingAppliedToTable", closeTooltip: "closeTooltip" }, ngImport: i0, template: "<div class=\"radio-container\" *ngIf=\"showFilterTooltipTabs\">\r\n <div [ngClass]=\"{'full-width': filterTabObjects.length == 1}\" *ngFor=\"let data of filterTabObjects\">\r\n <p class=\"filter-tab\" [title]=\"data.label\" (click)=\"populateTooltipDataBasedOnSelectedRadio(data)\"\r\n [ngClass]=\"{'active': annaFilterService.selectedRadio == data.key}\" *ngIf=\"filterTabObjects.length > 0\">{{\r\n data.label }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"checkbox-sort\" *ngIf=\"showSortComponent\">\r\n <anna-core-sort-lib [ngClass]=\"{'no-bottom-border': !showFilterComponent}\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"></anna-core-sort-lib>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <p class=\"d-flex justify-content-between\">\r\n <button class=\"filter-text-btn\" [disabled]=\"disableClearAll\" (click)=\"unCheckAllCheckbox()\">Clear all</button>\r\n <button class=\"filter-text-btn\" [disabled]=\"disableSelectAll\" (click)=\"selectAllCheckbox()\">Select all</button>\r\n </p>\r\n <p class=\"search-box\">\r\n <i class=\"mi mdi-search search-icon search-icon-position\"></i>\r\n <input type=\"text\" placeholder=\"Search\" class=\"search-input\"\r\n style=\"margin-left: 2px; border: none; padding: 0px\" [(ngModel)]=\"searchItem\"\r\n (ngModelChange)=\"searchForTheItem($event)\" />\r\n <i class=\"mdi mdi-close search-bar-close\"\r\n [ngClass]=\"{'disable-close-icon': (!searchItem || searchItem.length == 0) }\"\r\n (click)=\"clearSearchedItem()\"></i>\r\n\r\n </p>\r\n <div style=\"position:relative\">\r\n <cdk-virtual-scroll-viewport itemSize=\"18\" [style.height.px]=\"heightOfCheckboxTooltipFilter\"\r\n class=\"dropdown-data-container\">\r\n <p *cdkVirtualFor=\"let option of tooltipOptions\" class=\"input example-item\"\r\n (click)=\"selectUnselectCheckbox(option)\">\r\n <span *ngIf=\"option.isSelected\" role=\"button\" class=\"mi mdi-check-box check-box\"></span>\r\n <span *ngIf=\"!option.isSelected\" role=\"button\"\r\n class=\"mi mdi-check-box-outline-blank check-box unchecked\"></span>\r\n <span class=\"data\" title=\"{{ option.value }}\" [innerHTML]=\"option.label\"></span>\r\n </p>\r\n </cdk-virtual-scroll-viewport>\r\n <div style=\"position: absolute; top:0; left:0; width:100%; height:100%; pointer-events:none\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button class=\"button\" (click)=\"closeCheckboxFilter()\">Cancel</button>\r\n <button class=\"button\" [ngClass]=\"{ disabled: disableCheckboxApply }\" (click)=\"applyFilters()\"\r\n [disabled]=\"disableCheckboxApply\">\r\n Apply\r\n <span *ngIf=\"showFilterComponent\">{{ selectedCheckboxOptionsCount == tooltipOptions.length &&\r\n tooltipOptions.length != 0 && !searchItem? 'All ('+ selectedCheckboxOptionsCount + ')': '(' +\r\n selectedCheckboxOptionsCount + ')' }}</span>\r\n </button>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: AnnaSortComponent, selector: "anna-core-sort-lib", inputs: ["sortObjectKey"], outputs: ["sortOptionClicked"] }] });
|
|
5087
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaColumnCheckboxFilterComponent, decorators: [{
|
|
5088
|
+
type: Component,
|
|
5089
|
+
args: [{ selector: 'anna-core-anna-column-checkbox-filter', template: "<div class=\"radio-container\" *ngIf=\"showFilterTooltipTabs\">\r\n <div [ngClass]=\"{'full-width': filterTabObjects.length == 1}\" *ngFor=\"let data of filterTabObjects\">\r\n <p class=\"filter-tab\" [title]=\"data.label\" (click)=\"populateTooltipDataBasedOnSelectedRadio(data)\"\r\n [ngClass]=\"{'active': annaFilterService.selectedRadio == data.key}\" *ngIf=\"filterTabObjects.length > 0\">{{\r\n data.label }}</p>\r\n </div>\r\n</div>\r\n\r\n<div class=\"checkbox-sort\" *ngIf=\"showSortComponent\">\r\n <anna-core-sort-lib [ngClass]=\"{'no-bottom-border': !showFilterComponent}\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\"\r\n [sortObjectKey]=\"annaFilterService.selectedRadio\"></anna-core-sort-lib>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showFilterComponent\">\r\n <p class=\"d-flex justify-content-between\">\r\n <button class=\"filter-text-btn\" [disabled]=\"disableClearAll\" (click)=\"unCheckAllCheckbox()\">Clear all</button>\r\n <button class=\"filter-text-btn\" [disabled]=\"disableSelectAll\" (click)=\"selectAllCheckbox()\">Select all</button>\r\n </p>\r\n <p class=\"search-box\">\r\n <i class=\"mi mdi-search search-icon search-icon-position\"></i>\r\n <input type=\"text\" placeholder=\"Search\" class=\"search-input\"\r\n style=\"margin-left: 2px; border: none; padding: 0px\" [(ngModel)]=\"searchItem\"\r\n (ngModelChange)=\"searchForTheItem($event)\" />\r\n <i class=\"mdi mdi-close search-bar-close\"\r\n [ngClass]=\"{'disable-close-icon': (!searchItem || searchItem.length == 0) }\"\r\n (click)=\"clearSearchedItem()\"></i>\r\n\r\n </p>\r\n <div style=\"position:relative\">\r\n <cdk-virtual-scroll-viewport itemSize=\"18\" [style.height.px]=\"heightOfCheckboxTooltipFilter\"\r\n class=\"dropdown-data-container\">\r\n <p *cdkVirtualFor=\"let option of tooltipOptions\" class=\"input example-item\"\r\n (click)=\"selectUnselectCheckbox(option)\">\r\n <span *ngIf=\"option.isSelected\" role=\"button\" class=\"mi mdi-check-box check-box\"></span>\r\n <span *ngIf=\"!option.isSelected\" role=\"button\"\r\n class=\"mi mdi-check-box-outline-blank check-box unchecked\"></span>\r\n <span class=\"data\" title=\"{{ option.value }}\" [innerHTML]=\"option.label\"></span>\r\n </p>\r\n </cdk-virtual-scroll-viewport>\r\n <div style=\"position: absolute; top:0; left:0; width:100%; height:100%; pointer-events:none\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"buttons-container\">\r\n <button class=\"button\" (click)=\"closeCheckboxFilter()\">Cancel</button>\r\n <button class=\"button\" [ngClass]=\"{ disabled: disableCheckboxApply }\" (click)=\"applyFilters()\"\r\n [disabled]=\"disableCheckboxApply\">\r\n Apply\r\n <span *ngIf=\"showFilterComponent\">{{ selectedCheckboxOptionsCount == tooltipOptions.length &&\r\n tooltipOptions.length != 0 && !searchItem? 'All ('+ selectedCheckboxOptionsCount + ')': '(' +\r\n selectedCheckboxOptionsCount + ')' }}</span>\r\n </button>\r\n</div>" }]
|
|
5090
|
+
}], ctorParameters: function () { return [{ type: AnnaSortService }, { type: AnnaFilterService }]; }, propDecorators: { tableData: [{
|
|
5091
|
+
type: Input
|
|
5092
|
+
}], clonedTableData: [{
|
|
5093
|
+
type: Input
|
|
5094
|
+
}], limit: [{
|
|
5095
|
+
type: Input
|
|
5096
|
+
}], filterTabObjects: [{
|
|
5097
|
+
type: Input
|
|
5098
|
+
}], filterAppliedToTable: [{
|
|
5099
|
+
type: Output
|
|
5100
|
+
}], sortingAppliedToTable: [{
|
|
5101
|
+
type: Output
|
|
5102
|
+
}], closeTooltip: [{
|
|
5103
|
+
type: Output
|
|
5104
|
+
}] } });
|
|
5105
|
+
|
|
5106
|
+
class AnnaColumnTimeFilterComponent {
|
|
5107
|
+
constructor() { }
|
|
5108
|
+
ngOnInit() {
|
|
5109
|
+
}
|
|
5110
|
+
}
|
|
5111
|
+
AnnaColumnTimeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaColumnTimeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5112
|
+
AnnaColumnTimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: AnnaColumnTimeFilterComponent, selector: "anna-core-anna-column-time-filter", ngImport: i0, template: "<!-- <ng-template #timeFilterToolTip>\r\n \r\n <div class=\"radio-container\" *ngIf=\"showFilterTooltipTabs\">\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p class=\"filter-tab\" [title]=\"data.label\" (click)=\"populateTooltipDataBasedOnSelectedRadio(data)\" [ngClass]=\"{'active': annaFilterService.selectedRadio == data.key}\" *ngIf=\"filterTabObjects.length > 0\">{{ data.label }}</p>\r\n </div>\r\n </div>\r\n\r\n <anna-core-sort-lib *ngIf=\"showSortComponent\" [ngClass]=\"{'no-bottom-border': !showFilterComponent}\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\" [sortObjectKey]=\"annaFilterService.selectedRadio\"></anna-core-sort-lib>\r\n \r\n <ng-container *ngIf=\"showFilterComponent\">\r\n <button class=\"column-clear-all\" [disabled]=\"disableColumnClearAllBtn\" (click)=\"clearColumnFilter()\">Clear filter</button>\r\n <div\r\n class=\"time-filter-checkboxes\"\r\n *ngIf=\"gtGeneralConfig.component == 'SPOTDETAILS' || gtGeneralConfig.component == 'EXCLUDEINVENTORYPOPUP' || gtGeneralConfig.component == 'RATING'\"\r\n >\r\n <div class=\"d-flex align-items-center\" style=\"padding: 0.5rem 0 0.5rem 0.5rem\" *ngIf=\"showMultiTimeCheckbox\">\r\n <span\r\n *ngIf=\"multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p style=\"margin-left: 2px\">Include Multi</p>\r\n </div>\r\n <div class=\"d-flex align-items-center\" style=\"padding: 0.5rem 0 0.5rem 0.5rem\" *ngIf=\"showZeroTimeCheckbox\">\r\n <span\r\n *ngIf=\"zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p style=\"margin-left: 2px\">Include Zero</p>\r\n </div>\r\n <div class=\"d-flex align-items-center\" style=\"padding: 0.5rem 0 0.5rem 0.5rem\" *ngIf=\"showEnterTimeCheckbox\">\r\n <span\r\n *ngIf=\"enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p style=\"margin-left: 2px\">Enter time range</p>\r\n </div>\r\n </div>\r\n <div class=\"time-label-container\">\r\n <label>From</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input class=\"form-control numberInput\" [ngClass]=\"{'error-border': startTimeHourErr}\" [(ngModel)]=\"selectedFromTime[0]\" type=\"text\" (ngModelChange)=\"startTimeHourChange($event)\" />\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeStartTimeHour(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeStartTimeHour(false)\"></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input class=\"form-control numberInput\" [ngClass]=\"{'error-border': startTimeMinErr}\" [(ngModel)]=\"selectedFromTime[1]\" type=\"text\" (ngModelChange)=\"startTimeMinChange($event)\"/>\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeStartTimeMinute(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeStartTimeMinute(false)\"></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group [(ngModel)]=\"selectedFromTime[2]\" (ngModelChange)=\"disableTimeFilterApplyButton()\">\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-label-container\">\r\n <label>To</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input class=\"form-control numberInput\" [(ngModel)]=\"selectedToTime[0]\" [ngClass]=\"{'error-border': endTimeHourErr}\" (ngModelChange)=\"endTimeHourChange($event)\" type=\"text\" />\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeEndTimeHour(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeEndTimeHour(false)\"></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input class=\"form-control numberInput\" [ngClass]=\"{'error-border': endTimeMinErr}\" [(ngModel)]=\"selectedToTime[1]\" (ngModelChange)=\"endTimeMinChange($event)\" type=\"text\" />\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeEndTimeMinute(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeEndTimeMinute(false)\"></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group [(ngModel)]=\"selectedToTime[2]\" (ngModelChange)=\"disableTimeFilterApplyButton()\">\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"buttons-container\">\r\n <button class=\"button\" (click)=\"closeTimeFilter()\">Cancel</button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableTimeFilterApplyBtn }\"\r\n (click)=\"applyTimeFilters()\"\r\n [disabled]=\"disableTimeFilterApplyBtn\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n</ng-template> -->", styles: [""] });
|
|
5113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaColumnTimeFilterComponent, decorators: [{
|
|
5114
|
+
type: Component,
|
|
5115
|
+
args: [{ selector: 'anna-core-anna-column-time-filter', template: "<!-- <ng-template #timeFilterToolTip>\r\n \r\n <div class=\"radio-container\" *ngIf=\"showFilterTooltipTabs\">\r\n <div *ngFor=\"let data of filterTabObjects\">\r\n <p class=\"filter-tab\" [title]=\"data.label\" (click)=\"populateTooltipDataBasedOnSelectedRadio(data)\" [ngClass]=\"{'active': annaFilterService.selectedRadio == data.key}\" *ngIf=\"filterTabObjects.length > 0\">{{ data.label }}</p>\r\n </div>\r\n </div>\r\n\r\n <anna-core-sort-lib *ngIf=\"showSortComponent\" [ngClass]=\"{'no-bottom-border': !showFilterComponent}\"\r\n (sortOptionClicked)=\"storeSortTypeInTempVariable($event)\" [sortObjectKey]=\"annaFilterService.selectedRadio\"></anna-core-sort-lib>\r\n \r\n <ng-container *ngIf=\"showFilterComponent\">\r\n <button class=\"column-clear-all\" [disabled]=\"disableColumnClearAllBtn\" (click)=\"clearColumnFilter()\">Clear filter</button>\r\n <div\r\n class=\"time-filter-checkboxes\"\r\n *ngIf=\"gtGeneralConfig.component == 'SPOTDETAILS' || gtGeneralConfig.component == 'EXCLUDEINVENTORYPOPUP' || gtGeneralConfig.component == 'RATING'\"\r\n >\r\n <div class=\"d-flex align-items-center\" style=\"padding: 0.5rem 0 0.5rem 0.5rem\" *ngIf=\"showMultiTimeCheckbox\">\r\n <span\r\n *ngIf=\"multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!multiTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectMultiTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p style=\"margin-left: 2px\">Include Multi</p>\r\n </div>\r\n <div class=\"d-flex align-items-center\" style=\"padding: 0.5rem 0 0.5rem 0.5rem\" *ngIf=\"showZeroTimeCheckbox\">\r\n <span\r\n *ngIf=\"zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!zeroTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectZeroTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p style=\"margin-left: 2px\">Include Zero</p>\r\n </div>\r\n <div class=\"d-flex align-items-center\" style=\"padding: 0.5rem 0 0.5rem 0.5rem\" *ngIf=\"showEnterTimeCheckbox\">\r\n <span\r\n *ngIf=\"enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-checked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box\r\n </span>\r\n <span\r\n *ngIf=\"!enterTimeCheckboxChecked\"\r\n class=\"material-icons custom-column-checkbox-unchecked\"\r\n (click)=\"selectOrUnselectEnterTimeCheckbox()\"\r\n >\r\n check_box_outline_blank\r\n </span>\r\n <p style=\"margin-left: 2px\">Enter time range</p>\r\n </div>\r\n </div>\r\n <div class=\"time-label-container\">\r\n <label>From</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input class=\"form-control numberInput\" [ngClass]=\"{'error-border': startTimeHourErr}\" [(ngModel)]=\"selectedFromTime[0]\" type=\"text\" (ngModelChange)=\"startTimeHourChange($event)\" />\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeStartTimeHour(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeStartTimeHour(false)\"></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input class=\"form-control numberInput\" [ngClass]=\"{'error-border': startTimeMinErr}\" [(ngModel)]=\"selectedFromTime[1]\" type=\"text\" (ngModelChange)=\"startTimeMinChange($event)\"/>\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeStartTimeMinute(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeStartTimeMinute(false)\"></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group [(ngModel)]=\"selectedFromTime[2]\" (ngModelChange)=\"disableTimeFilterApplyButton()\">\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n\r\n <div class=\"time-label-container\">\r\n <label>To</label>\r\n </div>\r\n <div class=\"time-container\">\r\n <input class=\"form-control numberInput\" [(ngModel)]=\"selectedToTime[0]\" [ngClass]=\"{'error-border': endTimeHourErr}\" (ngModelChange)=\"endTimeHourChange($event)\" type=\"text\" />\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeEndTimeHour(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeEndTimeHour(false)\"></i>\r\n </div>\r\n <span class=\"dot\">:</span>\r\n <input class=\"form-control numberInput\" [ngClass]=\"{'error-border': endTimeMinErr}\" [(ngModel)]=\"selectedToTime[1]\" (ngModelChange)=\"endTimeMinChange($event)\" type=\"text\" />\r\n <div class=\"arrow-container\">\r\n <i class=\"mdi mdi-triangle upward\" (click)=\"changeEndTimeMinute(true)\"></i>\r\n <i class=\"mdi mdi-triangle downward\" (click)=\"changeEndTimeMinute(false)\"></i>\r\n </div>\r\n <div>\r\n <mat-button-toggle-group [(ngModel)]=\"selectedToTime[2]\" (ngModelChange)=\"disableTimeFilterApplyButton()\">\r\n <mat-button-toggle value=\"AM\">\r\n <span>AM</span>\r\n </mat-button-toggle>\r\n <mat-button-toggle value=\"PM\">\r\n <span>PM</span>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"buttons-container\">\r\n <button class=\"button\" (click)=\"closeTimeFilter()\">Cancel</button>\r\n <button\r\n class=\"button\"\r\n [ngClass]=\"{ disabled: disableTimeFilterApplyBtn }\"\r\n (click)=\"applyTimeFilters()\"\r\n [disabled]=\"disableTimeFilterApplyBtn\"\r\n >\r\n Apply\r\n </button>\r\n </div>\r\n</ng-template> -->" }]
|
|
5116
|
+
}], ctorParameters: function () { return []; } });
|
|
5117
|
+
|
|
4738
5118
|
// Angular import statements
|
|
4739
5119
|
class AnnaCoreModule {
|
|
4740
5120
|
}
|
|
@@ -4759,7 +5139,10 @@ AnnaCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
4759
5139
|
AnnaNonEditableGenericTableComponent,
|
|
4760
5140
|
AnnaTableVirtualScrollViewportComponent,
|
|
4761
5141
|
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
4762
|
-
DigitOnlyDirective
|
|
5142
|
+
DigitOnlyDirective,
|
|
5143
|
+
AnnaColumnDateRangeFilterComponent,
|
|
5144
|
+
AnnaColumnTimeFilterComponent,
|
|
5145
|
+
AnnaColumnCheckboxFilterComponent], imports: [CommonModule,
|
|
4763
5146
|
NgbModule,
|
|
4764
5147
|
FormsModule,
|
|
4765
5148
|
MatRadioModule,
|
|
@@ -4786,6 +5169,9 @@ AnnaCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
4786
5169
|
AnnaVirtualTableDirective,
|
|
4787
5170
|
AnnaNonEditableGenericTableComponent,
|
|
4788
5171
|
AnnaTableVirtualScrollViewportComponent,
|
|
5172
|
+
AnnaColumnDateRangeFilterComponent,
|
|
5173
|
+
AnnaColumnTimeFilterComponent,
|
|
5174
|
+
AnnaColumnCheckboxFilterComponent,
|
|
4789
5175
|
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
4790
5176
|
DigitOnlyDirective] });
|
|
4791
5177
|
AnnaCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AnnaCoreModule, imports: [CommonModule,
|
|
@@ -4829,7 +5215,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
4829
5215
|
AnnaNonEditableGenericTableComponent,
|
|
4830
5216
|
AnnaTableVirtualScrollViewportComponent,
|
|
4831
5217
|
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
4832
|
-
DigitOnlyDirective
|
|
5218
|
+
DigitOnlyDirective,
|
|
5219
|
+
AnnaColumnDateRangeFilterComponent,
|
|
5220
|
+
AnnaColumnTimeFilterComponent,
|
|
5221
|
+
AnnaColumnCheckboxFilterComponent
|
|
4833
5222
|
],
|
|
4834
5223
|
imports: [
|
|
4835
5224
|
CommonModule,
|
|
@@ -4870,6 +5259,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
4870
5259
|
AnnaVirtualTableDirective,
|
|
4871
5260
|
AnnaNonEditableGenericTableComponent,
|
|
4872
5261
|
AnnaTableVirtualScrollViewportComponent,
|
|
5262
|
+
AnnaColumnDateRangeFilterComponent,
|
|
5263
|
+
AnnaColumnTimeFilterComponent,
|
|
5264
|
+
AnnaColumnCheckboxFilterComponent,
|
|
4873
5265
|
AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
|
|
4874
5266
|
DigitOnlyDirective
|
|
4875
5267
|
]
|
|
@@ -4969,5 +5361,5 @@ var Days;
|
|
|
4969
5361
|
* Generated bundle index. Do not edit.
|
|
4970
5362
|
*/
|
|
4971
5363
|
|
|
4972
|
-
export { AllSelectedStatus, AnnaBuyerApprovalIconTemplateComponent, AnnaCalendarFilterComponent, AnnaConvertZeroOrNullOrUndefinedPipe, AnnaCoreModule, AnnaDateTimeFormatService, AnnaFilterSearchedTextPipe, AnnaFilterService, AnnaFixedRowSizeTableVirtualScrollStrategy, AnnaFixedRowSizeTableVirtualScrollStrategyDirective, AnnaGlobalConfigService, AnnaGtHelperService, AnnaIconColumnComponent, AnnaLiveIconTemplateComponent, AnnaNoDataComponent, AnnaNonEditableGenericTableComponent, AnnaNotifyIconTemplateComponent, AnnaNumberFormatService, AnnaPayForPerformanceIconTemplateComponent, AnnaRejectedIconTemplateComponent, AnnaReplaceCharPipe, AnnaSortComponent, AnnaSortService, AnnaTableVirtualScrollViewportComponent, AnnaTypeofDataPipe, AnnaVirtualTableDirective, AnnaWeekCalendarComponent, ClickableItem, Constants, Days, DigitOnlyDirective, ErrorCodes, SortTypeEnum, TooltipModel, UserActivationStatus, fixedSizeVirtualScrollStrategyFactory, radioButtonModel, showEllipsisTextOnHoverDirective, tooltipModelForColumnLevelFiltering };
|
|
5364
|
+
export { AllSelectedStatus, AnnaBuyerApprovalIconTemplateComponent, AnnaCalendarFilterComponent, AnnaColumnCheckboxFilterComponent, AnnaColumnDateRangeFilterComponent, AnnaColumnTimeFilterComponent, AnnaConvertZeroOrNullOrUndefinedPipe, AnnaCoreModule, AnnaDateTimeFormatService, AnnaFilterSearchedTextPipe, AnnaFilterService, AnnaFixedRowSizeTableVirtualScrollStrategy, AnnaFixedRowSizeTableVirtualScrollStrategyDirective, AnnaGlobalConfigService, AnnaGtHelperService, AnnaIconColumnComponent, AnnaLiveIconTemplateComponent, AnnaNoDataComponent, AnnaNonEditableGenericTableComponent, AnnaNotifyIconTemplateComponent, AnnaNumberFormatService, AnnaPayForPerformanceIconTemplateComponent, AnnaRejectedIconTemplateComponent, AnnaReplaceCharPipe, AnnaSortComponent, AnnaSortService, AnnaTableVirtualScrollViewportComponent, AnnaTypeofDataPipe, AnnaVirtualTableDirective, AnnaWeekCalendarComponent, ClickableItem, Constants, Days, DigitOnlyDirective, ErrorCodes, SortTypeEnum, TooltipModel, UserActivationStatus, fixedSizeVirtualScrollStrategyFactory, radioButtonModel, showEllipsisTextOnHoverDirective, tooltipModelForColumnLevelFiltering };
|
|
4973
5365
|
//# sourceMappingURL=annalib-anna-core.mjs.map
|