@farris/ui-list-filter 0.1.15 → 0.1.18

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.
Files changed (33) hide show
  1. package/bundles/farris-ui-list-filter.umd.js +102 -32
  2. package/bundles/farris-ui-list-filter.umd.js.map +1 -1
  3. package/bundles/farris-ui-list-filter.umd.min.js +1 -1
  4. package/bundles/farris-ui-list-filter.umd.min.js.map +1 -1
  5. package/esm2015/lib/controlcomponent/daterangecomponent/daterange.component.js +3 -3
  6. package/esm2015/lib/controlcomponent/dropdowncomponent/dropdown.component.js +12 -6
  7. package/esm2015/lib/controlcomponent/helpcomponent.ts/help.component.js +5 -2
  8. package/esm2015/lib/controlcomponent/inputcomponent/input.component.js +1 -1
  9. package/esm2015/lib/directives/clear-fields.directive.js +4 -1
  10. package/esm2015/lib/entity/controltype/icontrol.js +3 -1
  11. package/esm2015/lib/list-filter.component.js +80 -20
  12. package/esm2015/lib/service/list-filter.service.js +7 -1
  13. package/esm2015/lib/submithandlers/handlers/dropdown.handler.js +2 -2
  14. package/esm5/lib/controlcomponent/daterangecomponent/daterange.component.js +3 -3
  15. package/esm5/lib/controlcomponent/dropdowncomponent/dropdown.component.js +12 -6
  16. package/esm5/lib/controlcomponent/helpcomponent.ts/help.component.js +5 -2
  17. package/esm5/lib/controlcomponent/inputcomponent/input.component.js +1 -1
  18. package/esm5/lib/directives/clear-fields.directive.js +4 -1
  19. package/esm5/lib/entity/controltype/icontrol.js +3 -1
  20. package/esm5/lib/list-filter.component.js +85 -20
  21. package/esm5/lib/service/list-filter.service.js +7 -1
  22. package/esm5/lib/submithandlers/handlers/dropdown.handler.js +2 -2
  23. package/farris-ui-list-filter.metadata.json +1 -1
  24. package/fesm2015/farris-ui-list-filter.js +96 -29
  25. package/fesm2015/farris-ui-list-filter.js.map +1 -1
  26. package/fesm5/farris-ui-list-filter.js +101 -29
  27. package/fesm5/farris-ui-list-filter.js.map +1 -1
  28. package/lib/controlcomponent/daterangecomponent/daterange.component.d.ts +2 -2
  29. package/lib/controlcomponent/dropdowncomponent/dropdown.component.d.ts +1 -0
  30. package/lib/controlcomponent/helpcomponent.ts/help.component.d.ts +1 -0
  31. package/lib/entity/controltype/icontrol.d.ts +1 -0
  32. package/lib/list-filter.component.d.ts +3 -0
  33. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash-es'), require('rxjs'), require('@angular/common'), require('@farris/ui-input-group'), require('@farris/ui-datepicker'), require('@farris/ui-datalist'), require('@farris/ui-combo-list'), require('@farris/ui-lookup'), require('@farris/ui-forms'), require('@farris/ui-perfect-scrollbar'), require('@farris/ui-number-spinner'), require('@farris/ui-locale'), require('@angular/core'), require('@angular/forms')) :
3
- typeof define === 'function' && define.amd ? define('@farris/ui-list-filter', ['exports', 'lodash-es', 'rxjs', '@angular/common', '@farris/ui-input-group', '@farris/ui-datepicker', '@farris/ui-datalist', '@farris/ui-combo-list', '@farris/ui-lookup', '@farris/ui-forms', '@farris/ui-perfect-scrollbar', '@farris/ui-number-spinner', '@farris/ui-locale', '@angular/core', '@angular/forms'], factory) :
4
- (factory((global.farris = global.farris || {}, global.farris['ui-list-filter'] = {}),global.lodashEs,global.rxjs,global.ng.common,global.uiInputGroup,global.uiDatepicker,global.uiDatalist,global.uiComboList,global.uiLookup,global.uiForms,global.uiPerfectScrollbar,global.uiNumberSpinner,global.uiLocale,global.ng.core,global.ng.forms));
5
- }(this, (function (exports,lodashEs,rxjs,common,uiInputGroup,uiDatepicker,uiDatalist,uiComboList,uiLookup,uiForms,uiPerfectScrollbar,uiNumberSpinner,uiLocale,i0,forms) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lodash-es'), require('@farris/ui-common'), require('rxjs'), require('@angular/common'), require('@farris/ui-input-group'), require('@farris/ui-datepicker'), require('@farris/ui-datalist'), require('@farris/ui-combo-list'), require('@farris/ui-lookup'), require('@farris/ui-forms'), require('@farris/ui-perfect-scrollbar'), require('@farris/ui-number-spinner'), require('@farris/ui-locale'), require('@angular/core'), require('@angular/forms')) :
3
+ typeof define === 'function' && define.amd ? define('@farris/ui-list-filter', ['exports', 'lodash-es', '@farris/ui-common', 'rxjs', '@angular/common', '@farris/ui-input-group', '@farris/ui-datepicker', '@farris/ui-datalist', '@farris/ui-combo-list', '@farris/ui-lookup', '@farris/ui-forms', '@farris/ui-perfect-scrollbar', '@farris/ui-number-spinner', '@farris/ui-locale', '@angular/core', '@angular/forms'], factory) :
4
+ (factory((global.farris = global.farris || {}, global.farris['ui-list-filter'] = {}),global.lodashEs,global.uiCommon,global.rxjs,global.ng.common,global.uiInputGroup,global.uiDatepicker,global.uiDatalist,global.uiComboList,global.uiLookup,global.uiForms,global.uiPerfectScrollbar,global.uiNumberSpinner,global.uiLocale,global.ng.core,global.ng.forms));
5
+ }(this, (function (exports,lodashEs,uiCommon,rxjs,common,uiInputGroup,uiDatepicker,uiDatalist,uiComboList,uiLookup,uiForms,uiPerfectScrollbar,uiNumberSpinner,uiLocale,i0,forms) { 'use strict';
6
6
 
7
7
  /**
8
8
  * @fileoverview added by tsickle
@@ -2094,6 +2094,12 @@
2094
2094
  fieldConfig.control = _this.getTextControl(filedSchema);
2095
2095
  fieldConfig.value = new TextValue(filedSchema.value);
2096
2096
  }
2097
+ if (filedSchema.control.enableClear === undefined) {
2098
+ fieldConfig.control.enableClear = true;
2099
+ }
2100
+ else {
2101
+ fieldConfig.control.enableClear = filedSchema.control.enableClear;
2102
+ }
2097
2103
  }
2098
2104
  fieldConfigs.push(fieldConfig);
2099
2105
  }));
@@ -2834,7 +2840,7 @@
2834
2840
  function (qc) {
2835
2841
  /** @type {?} */
2836
2842
  var ddv = (( /** @type {?} */(qc.value)));
2837
- if (Object.keys(ddv).length === 0 || Object.keys(ddv.value).length === 0)
2843
+ if (ddv === undefined || ddv === null || Object.keys(ddv).length === 0 || Object.keys(ddv.value || {}).length === 0)
2838
2844
  return [];
2839
2845
  return [{
2840
2846
  'FilterField': qc.fieldCode,
@@ -4289,9 +4295,11 @@
4289
4295
  this.currentLocale = 'zh-CHS';
4290
4296
  this.isControlInline = true;
4291
4297
  this.fieldCodeOfClearFields = [];
4298
+ this.UPDATE_FILTER_VALUES_TIMER = null;
4292
4299
  if (this.injector) {
4293
4300
  this.currentLocale = this.injector.get(i0.LOCALE_ID);
4294
4301
  this.listfilterHandler = this.injector.get(LISTFILTER_HANDLER_TOKEN, null, i0.InjectFlags.Optional);
4302
+ this.idService = this.injector.get(uiCommon.IdService);
4295
4303
  }
4296
4304
  }
4297
4305
  Object.defineProperty(ListFilterComponent.prototype, "defaultValue", {
@@ -4938,30 +4946,56 @@
4938
4946
  * @return {?}
4939
4947
  */
4940
4948
  function (fieldConfigs) {
4941
- this.listFilterConditions = this.stagListFilterConditions.map(( /**
4942
- * @param {?} o
4949
+ var _this = this;
4950
+ if (this.UPDATE_FILTER_VALUES_TIMER) {
4951
+ clearTimeout(this.UPDATE_FILTER_VALUES_TIMER);
4952
+ }
4953
+ this.UPDATE_FILTER_VALUES_TIMER = setTimeout(( /**
4943
4954
  * @return {?}
4944
- */function (o) { return (__assign({}, o)); }));
4945
- if (this.listFilterConditions && this.listFilterConditions.length) {
4946
- this.setValues(this.listFilterConditions, fieldConfigs);
4955
+ */function () {
4947
4956
  /** @type {?} */
4948
- var listFilter = this.listFilterConditions.map(( /**
4957
+ var _filters = _this.stagListFilterConditions.map(( /**
4949
4958
  * @param {?} o
4950
4959
  * @return {?}
4951
4960
  */function (o) { return (__assign({}, o)); }));
4952
- this.listFilterConditions = listFilter;
4953
- this.requiredListInit();
4954
- this.searchChange.emit(this.listFilterConditions);
4955
- this.inSetCurrentFilterConditions();
4956
- // this.listSearch();
4957
- this.cd.detectChanges();
4958
- this.cd.markForCheck();
4959
- this.canSubmit = this.canSubmitFilter(this.requiredListFilter);
4960
- if (!this.canSubmit) {
4961
- return;
4961
+ if (_filters && _filters.length) {
4962
+ _this.setValues(_filters, fieldConfigs);
4963
+ /** @type {?} */
4964
+ var listFilter = _filters.map(( /**
4965
+ * @param {?} o
4966
+ * @return {?}
4967
+ */function (o) { return (__assign({}, o)); }));
4968
+ _this.listFilterConditions = listFilter;
4969
+ _this.requiredListInit();
4970
+ _this.searchChange.emit(_this.listFilterConditions);
4971
+ _this.inSetCurrentFilterConditions();
4972
+ // this.listSearch();
4973
+ _this.cd.detectChanges();
4974
+ _this.cd.markForCheck();
4975
+ _this.canSubmit = _this.canSubmitFilter(_this.requiredListFilter);
4976
+ if (!_this.canSubmit) {
4977
+ return;
4978
+ }
4979
+ _this.submit('showFormData', _this.listFilterConditions);
4962
4980
  }
4963
- this.submit('showFormData', this.listFilterConditions);
4964
- }
4981
+ }));
4982
+ // this.listFilterConditions = this.stagListFilterConditions.map(o => ({ ...o }));
4983
+ // if (this.listFilterConditions && this.listFilterConditions.length) {
4984
+ // this.setValues(this.listFilterConditions, fieldConfigs);
4985
+ // const listFilter = this.listFilterConditions.map(o => ({ ...o }));
4986
+ // this.listFilterConditions = listFilter;
4987
+ // this.requiredListInit();
4988
+ // this.searchChange.emit(this.listFilterConditions);
4989
+ // this.inSetCurrentFilterConditions();
4990
+ // // this.listSearch();
4991
+ // this.cd.detectChanges();
4992
+ // this.cd.markForCheck();
4993
+ // this.canSubmit = this.canSubmitFilter(this.requiredListFilter);
4994
+ // if (!this.canSubmit) {
4995
+ // return;
4996
+ // }
4997
+ // this.submit('showFormData', this.listFilterConditions);
4998
+ // }
4965
4999
  };
4966
5000
  // 设置value
4967
5001
  // 设置value
@@ -5104,10 +5138,38 @@
5104
5138
  }));
5105
5139
  }
5106
5140
  };
5141
+ /**
5142
+ * @param {?} value
5143
+ * @return {?}
5144
+ */
5145
+ ListFilterComponent.prototype.buildSmartHelpKey = /**
5146
+ * @param {?} value
5147
+ * @return {?}
5148
+ */
5149
+ function (value) {
5150
+ if (this.idService) {
5151
+ /** @type {?} */
5152
+ var prefix = '';
5153
+ if (location.hash) {
5154
+ /** @type {?} */
5155
+ var pathArr = location.hash.split('?');
5156
+ prefix = pathArr ? pathArr[0] : '';
5157
+ }
5158
+ else {
5159
+ /** @type {?} */
5160
+ var pathArr = location.pathname.split('/');
5161
+ prefix = pathArr ? pathArr[pathArr.length - 1] : '';
5162
+ }
5163
+ return this.idService.encrypt(prefix + '/list-filter/' + value);
5164
+ }
5165
+ else {
5166
+ return 'list-filter/' + value;
5167
+ }
5168
+ };
5107
5169
  ListFilterComponent.decorators = [
5108
5170
  { type: i0.Component, args: [{
5109
5171
  selector: 'farris-list-filter',
5110
- template: "<app-filter-common></app-filter-common>\r\n<div class=\"f-list-filter position-relative\"\r\n [ngClass]=\"{'list-filter-padding': showMoreIcon,'list-filter-autoWidth': autoWidth,'list-filter-paddingnone': filterPaddingNone}\">\r\n <ng-container *ngIf=\"filterType === 'list';else filterLayout\">\r\n <div class=\"filter-inputs-main filter-inputs-main-list f-form-layout farris-form farris-form-controls-inline\">\r\n <ng-container *ngFor=\"let formItem of listFilterConditions;let last = last;\">\r\n <div class=\"col-12\"\r\n [ngClass]=\"{'filter-list-item': showFilterList && showFilterList.length && showFilterList[showFilterList.length-1]['id'] == formItem.id}\"\r\n *ngIf=\"!formItem.control.isExtend\">\r\n <div class=\"filter-input-list farris-group-wrap\"\r\n [ngClass]=\"{'filter-input-list-autolabel': autoLabel,'filter-input-list-checkbox': getControlType(formItem) === 'checkboxgroup'}\"\r\n [id]=\"'filter-'+formItem.id\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n <div class=\"filter-search-btn\"\r\n *ngIf=\"!liveSearch && showFilterList && showFilterList.length && showFilterList[showFilterList.length-1]['id'] == formItem.id\">\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ 'listFilter.filter' | locale }}</button>\r\n <button class=\"btn btn-secondary filter-search-btn-reset\" *ngIf=\"!showMoreIcon\"\r\n (click)=\"resetSearch()\">\r\n <span class=\"f-icon f-icon-remove\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #filterLayout>\r\n <ng-container *ngIf=\"autoWidth;else gridLayout\">\r\n <div class=\"filter-inputs-main-basis-wrapper\"\r\n [ngClass]=\"{'list-filter-wrapper-show-btn': !liveSearch,'list-filter-wrapper-show-btn-remove': !liveSearch && !showMoreIcon}\">\r\n <div class=\"filter-inputs-main-basis-wrapper-inner\">\r\n <div class=\"filter-inputs-main filter-inputs-main-basis farris-form d-flex\"\r\n [ngClass]=\"{'justify-content-end': !alLeft,'farris-form-controls-inline':isControlInline}\"\r\n #filterMainBasis>\r\n <ng-container *ngFor=\"let formItem of listFilterConditions\">\r\n <div *ngIf=\"!formItem.control.isExtend\" class=\"filter-input-list farris-group-wrap\"\r\n [ngClass]=\"{'filter-input-list-autolabel': autoLabel,'filter-input-list-checkbox': getControlType(formItem) === 'checkboxgroup', 'filter-input-list-expand':formExpand,'filter-input-list-left': alLeft}\"\r\n [id]=\"'filter-'+formItem.id\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"filter-search-btn\" [ngClass]=\"{'filter-search-btn-remove': !showMoreIcon}\"\r\n *ngIf=\"!liveSearch\">\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ 'listFilter.filter' | locale }}</button>\r\n <button class=\"btn btn-secondary filter-search-btn-reset\" *ngIf=\"!showMoreIcon\"\r\n (click)=\"resetSearch()\">\r\n <span class=\"f-icon f-icon-remove\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #gridLayout>\r\n <div class=\"filter-inputs-main f-form-layout farris-form\" [ngClass]=\"\r\n {'list-filter-type-1': getShowLength() === 1,\r\n 'list-filter-type-2': getShowLength() === 2,\r\n 'list-filter-type-3': getShowLength() === 3,\r\n 'list-filter-type-4': getShowLength() === 4,\r\n 'list-filter-type-5': getShowLength() === 5,\r\n 'list-filter-type-6': getShowLength() >= 6,\r\n 'list-filter-custom-type': this.filterClass,\r\n 'list-filter-show-reset': !showMoreIcon,\r\n 'list-filter-padding-none': liveSearch,\r\n 'farris-form-controls-inline':isControlInline}\">\r\n <ng-container *ngFor=\"let formItem of listFilterConditions\">\r\n <div [ngClass]=\"getStyle(formItem)\" *ngIf=\"!formItem.control.isExtend\">\r\n <div class=\"filter-input-list farris-group-wrap\"\r\n [ngClass]=\"{'filter-input-list-autolabel': autoLabel,'filter-input-list-checkbox': getControlType(formItem) === 'checkboxgroup'}\"\r\n [id]=\"'filter-'+formItem.id\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"filter-search-btn\" [ngClass]=\"{\r\n 'filter-search-btn-type-1': getShowLength() === 1,\r\n 'filter-search-btn-type-2': getShowLength() === 2,\r\n 'filter-search-btn-type-3': getShowLength() === 3,\r\n 'filter-search-btn-type-4': getShowLength() === 4,\r\n 'filter-search-btn-type-5': getShowLength() === 5,\r\n 'filter-search-custom-type': this.filterClass,\r\n 'filter-search-btn-type-6': getShowLength() >= 6}\" *ngIf=\"!liveSearch\">\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ 'listFilter.filter' | locale }}</button>\r\n <button class=\"btn btn-secondary filter-search-btn-reset\" *ngIf=\"!showMoreIcon\"\r\n (click)=\"resetSearch()\">\r\n <span class=\"f-icon f-icon-remove\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <div class=\"filter-expand position-absolute\" [class.active]=\"showFilter\" (click)=\"showFilter = !showFilter\"\r\n *ngIf=\"showMoreIcon\">\r\n <span class=\"f-icon f-icon-filtrate\"></span>\r\n <span class=\"filter-expand-tag\" *ngIf=\"showExpandTag\"></span>\r\n </div>\r\n <div class=\"filter-inputs-extend position-absolute\" [hidden]=\"!showFilter\" *ngIf=\"showMoreIcon\">\r\n <div class=\"filter-typelist-arrow\"></div>\r\n <div class=\"farris-form farris-form-auto\" [ngClass]=\"{'farris-form-controls-inline':isControlInline}\">\r\n <fieldset class=\"f-section-formgroup\">\r\n <div class=\"f-section-formgroup-inputs\">\r\n <div class=\"col-12\">\r\n <ng-container *ngFor=\"let formItem of listFilterConditions\">\r\n <div class=\"filter-input-list farris-group-wrap\" *ngIf=\"formItem.control.isExtend\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <!-- bugNum:456508 -->\r\n <div class=\"filter-form-btns text-right\">\r\n <button class=\"btn btn-link filter-form-btn-reset\" (click)=\"resetSearch()\">{{ 'listFilter.reset' |\r\n locale }}</button>\r\n <button class=\"btn btn-secondary\" (click)=\"listSearchCancel()\">{{ 'listFilter.cancel' | locale\r\n }}</button>\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"listSearch()\">{{ 'listFilter.confirm' | locale }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #filterInputTemplate let-item=\"item\">\r\n <ng-container [ngSwitch]=\"item | controlType\">\r\n <div class=\"filter-input-item filter-type-input\" *ngSwitchCase=\"'input'\">\r\n <app-filter-input [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"></app-filter-input>\r\n </div>\r\n <div class=\"filter-input-item filter-type-search\" *ngSwitchCase=\"'search'\">\r\n <app-filter-search [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"></app-filter-search>\r\n </div>\r\n <div class=\"filter-input-item filter-type-date\" *ngSwitchCase=\"'date'\">\r\n <app-filter-date [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-date>\r\n </div>\r\n <div class=\"filter-input-item filter-type-year\" *ngSwitchCase=\"'year'\">\r\n <app-filter-date [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'3'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-date>\r\n </div>\r\n <div class=\"filter-input-item filter-type-month\" *ngSwitchCase=\"'month'\">\r\n <app-filter-date [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'2'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-date>\r\n </div>\r\n <div class=\"filter-input-item filter-type-date\" *ngSwitchCase=\"'daterange'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-date\" *ngSwitchCase=\"'daterangetime'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showTime]=\"true\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-monthrange\" *ngSwitchCase=\"'monthrange'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'2'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-yearrange\" *ngSwitchCase=\"'yearrange'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'3'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-dropdown\" *ngSwitchCase=\"'dropdown'\">\r\n <app-filter-dropdown [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-dropdown>\r\n </div>\r\n <div class=\"filter-input-item filter-type-number\" *ngSwitchCase=\"'number'\">\r\n <app-filter-number [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-number>\r\n </div>\r\n <div class=\"filter-input-item filter-type-help\" *ngSwitchCase=\"'help'\">\r\n <app-filter-help [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [hostRef]=\"this\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-help>\r\n </div>\r\n <div class=\"filter-input-item filter-type-checkboxgroup\" *ngSwitchCase=\"'checkboxgroup'\">\r\n <app-filter-checkbox [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"\r\n style=\"white-space: nowrap;\"></app-filter-checkbox>\r\n </div>\r\n <div class=\"filter-input-item filter-type-radio\" *ngSwitchCase=\"'radio'\">\r\n <app-filter-radio [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"\r\n style=\"white-space: nowrap;\"></app-filter-radio>\r\n </div>\r\n <div class=\"filter-input-item filter-type-input-group\" *ngSwitchCase=\"'input-group'\">\r\n <app-filter-inputgroup [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-inputgroup>\r\n </div>\r\n <div class=\"filter-input-item filter-type-default\" *ngSwitchDefault>\r\n <app-filter-input [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"></app-filter-input>\r\n </div>\r\n </ng-container>\r\n</ng-template>",
5172
+ template: "<app-filter-common></app-filter-common>\r\n<div class=\"f-list-filter position-relative\"\r\n [ngClass]=\"{'list-filter-padding': showMoreIcon,'list-filter-autoWidth': autoWidth,'list-filter-paddingnone': filterPaddingNone}\">\r\n <ng-container *ngIf=\"filterType === 'list';else filterLayout\">\r\n <div class=\"filter-inputs-main filter-inputs-main-list f-form-layout farris-form farris-form-controls-inline\">\r\n <ng-container *ngFor=\"let formItem of listFilterConditions;let last = last;\">\r\n <div class=\"col-12\"\r\n [ngClass]=\"{'filter-list-item': showFilterList && showFilterList.length && showFilterList[showFilterList.length-1]['id'] == formItem.id}\"\r\n *ngIf=\"!formItem.control.isExtend\">\r\n <div class=\"filter-input-list farris-group-wrap\"\r\n [ngClass]=\"{'filter-input-list-autolabel': autoLabel,'filter-input-list-checkbox': getControlType(formItem) === 'checkboxgroup'}\"\r\n [id]=\"'filter-'+formItem.id\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n <div class=\"filter-search-btn\"\r\n *ngIf=\"!liveSearch && showFilterList && showFilterList.length && showFilterList[showFilterList.length-1]['id'] == formItem.id\">\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ 'listFilter.filter' | locale }}</button>\r\n <button class=\"btn btn-secondary filter-search-btn-reset\" *ngIf=\"!showMoreIcon\"\r\n (click)=\"resetSearch()\">\r\n <span class=\"f-icon f-icon-remove\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-template #filterLayout>\r\n <ng-container *ngIf=\"autoWidth;else gridLayout\">\r\n <div class=\"filter-inputs-main-basis-wrapper\"\r\n [ngClass]=\"{'list-filter-wrapper-show-btn': !liveSearch,'list-filter-wrapper-show-btn-remove': !liveSearch && !showMoreIcon}\">\r\n <div class=\"filter-inputs-main-basis-wrapper-inner\">\r\n <div class=\"filter-inputs-main filter-inputs-main-basis farris-form d-flex\"\r\n [ngClass]=\"{'justify-content-end': !alLeft,'farris-form-controls-inline':isControlInline}\"\r\n #filterMainBasis>\r\n <ng-container *ngFor=\"let formItem of listFilterConditions\">\r\n <div *ngIf=\"!formItem.control.isExtend\" class=\"filter-input-list farris-group-wrap\"\r\n [ngClass]=\"{'filter-input-list-autolabel': autoLabel,'filter-input-list-checkbox': getControlType(formItem) === 'checkboxgroup', 'filter-input-list-expand':formExpand,'filter-input-list-left': alLeft}\"\r\n [id]=\"'filter-'+formItem.id\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"filter-search-btn\" [ngClass]=\"{'filter-search-btn-remove': !showMoreIcon}\"\r\n *ngIf=\"!liveSearch\">\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ 'listFilter.filter' | locale }}</button>\r\n <button class=\"btn btn-secondary filter-search-btn-reset\" *ngIf=\"!showMoreIcon\"\r\n (click)=\"resetSearch()\">\r\n <span class=\"f-icon f-icon-remove\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-template #gridLayout>\r\n <div class=\"filter-inputs-main f-form-layout farris-form\" [ngClass]=\"\r\n {'list-filter-type-1': getShowLength() === 1,\r\n 'list-filter-type-2': getShowLength() === 2,\r\n 'list-filter-type-3': getShowLength() === 3,\r\n 'list-filter-type-4': getShowLength() === 4,\r\n 'list-filter-type-5': getShowLength() === 5,\r\n 'list-filter-type-6': getShowLength() >= 6,\r\n 'list-filter-custom-type': this.filterClass,\r\n 'list-filter-show-reset': !showMoreIcon,\r\n 'list-filter-padding-none': liveSearch,\r\n 'farris-form-controls-inline':isControlInline}\">\r\n <ng-container *ngFor=\"let formItem of listFilterConditions\">\r\n <div [ngClass]=\"getStyle(formItem)\" *ngIf=\"!formItem.control.isExtend\">\r\n <div class=\"filter-input-list farris-group-wrap\"\r\n [ngClass]=\"{'filter-input-list-autolabel': autoLabel,'filter-input-list-checkbox': getControlType(formItem) === 'checkboxgroup'}\"\r\n [id]=\"'filter-'+formItem.id\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"filter-search-btn\" [ngClass]=\"{\r\n 'filter-search-btn-type-1': getShowLength() === 1,\r\n 'filter-search-btn-type-2': getShowLength() === 2,\r\n 'filter-search-btn-type-3': getShowLength() === 3,\r\n 'filter-search-btn-type-4': getShowLength() === 4,\r\n 'filter-search-btn-type-5': getShowLength() === 5,\r\n 'filter-search-custom-type': this.filterClass,\r\n 'filter-search-btn-type-6': getShowLength() >= 6}\" *ngIf=\"!liveSearch\">\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ 'listFilter.filter' | locale }}</button>\r\n <button class=\"btn btn-secondary filter-search-btn-reset\" *ngIf=\"!showMoreIcon\"\r\n (click)=\"resetSearch()\">\r\n <span class=\"f-icon f-icon-remove\"></span>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <div class=\"filter-expand position-absolute\" [class.active]=\"showFilter\" (click)=\"showFilter = !showFilter\"\r\n *ngIf=\"showMoreIcon\">\r\n <span class=\"f-icon f-icon-filtrate\"></span>\r\n <span class=\"filter-expand-tag\" *ngIf=\"showExpandTag\"></span>\r\n </div>\r\n <div class=\"filter-inputs-extend position-absolute\" [hidden]=\"!showFilter\" *ngIf=\"showMoreIcon\">\r\n <div class=\"filter-typelist-arrow\"></div>\r\n <div class=\"farris-form farris-form-auto\" [ngClass]=\"{'farris-form-controls-inline':isControlInline}\">\r\n <fieldset class=\"f-section-formgroup\">\r\n <div class=\"f-section-formgroup-inputs\">\r\n <div class=\"col-12\">\r\n <ng-container *ngFor=\"let formItem of listFilterConditions\">\r\n <div class=\"filter-input-list farris-group-wrap\" *ngIf=\"formItem.control.isExtend\">\r\n <ng-container [ngTemplateOutlet]=\"filterInputTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: formItem }\"></ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <!-- bugNum:456508 -->\r\n <div class=\"filter-form-btns text-right\">\r\n <button class=\"btn btn-link filter-form-btn-reset\" (click)=\"resetSearch()\">{{ 'listFilter.reset' |\r\n locale }}</button>\r\n <button class=\"btn btn-secondary\" (click)=\"listSearchCancel()\">{{ 'listFilter.cancel' | locale\r\n }}</button>\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"listSearch()\">{{ 'listFilter.confirm' | locale }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #filterInputTemplate let-item=\"item\">\r\n <ng-container [ngSwitch]=\"item | controlType\">\r\n <div class=\"filter-input-item filter-type-input\" *ngSwitchCase=\"'input'\">\r\n <app-filter-input [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"></app-filter-input>\r\n </div>\r\n <div class=\"filter-input-item filter-type-search\" *ngSwitchCase=\"'search'\">\r\n <app-filter-search [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"></app-filter-search>\r\n </div>\r\n <div class=\"filter-input-item filter-type-date\" *ngSwitchCase=\"'date'\">\r\n <app-filter-date [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-date>\r\n </div>\r\n <div class=\"filter-input-item filter-type-year\" *ngSwitchCase=\"'year'\">\r\n <app-filter-date [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'3'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-date>\r\n </div>\r\n <div class=\"filter-input-item filter-type-month\" *ngSwitchCase=\"'month'\">\r\n <app-filter-date [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'2'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-date>\r\n </div>\r\n <div class=\"filter-input-item filter-type-date\" *ngSwitchCase=\"'daterange'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-date\" *ngSwitchCase=\"'daterangetime'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showTime]=\"true\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-monthrange\" *ngSwitchCase=\"'monthrange'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'2'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-yearrange\" *ngSwitchCase=\"'yearrange'\">\r\n <app-filter-daterange [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" [showType]=\"'3'\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-daterange>\r\n </div>\r\n <div class=\"filter-input-item filter-type-dropdown\" *ngSwitchCase=\"'dropdown'\">\r\n <app-filter-dropdown [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" [enableClear]=\"item?.control?.enableClear\" class=\"form-group farris-form-group\">\r\n </app-filter-dropdown>\r\n </div>\r\n <div class=\"filter-input-item filter-type-number\" *ngSwitchCase=\"'number'\">\r\n <app-filter-number [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-number>\r\n </div>\r\n <div class=\"filter-input-item filter-type-help\" *ngSwitchCase=\"'help'\">\r\n <app-filter-help [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [instanceId]=\"buildSmartHelpKey(item.fieldCode)\"\r\n [disabled]=\"disabled\" [hostRef]=\"this\" (searchHandle)=\"onSearch($event,item)\"\r\n class=\"form-group farris-form-group\"></app-filter-help>\r\n </div>\r\n <div class=\"filter-input-item filter-type-checkboxgroup\" *ngSwitchCase=\"'checkboxgroup'\">\r\n <app-filter-checkbox [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"\r\n style=\"white-space: nowrap;\"></app-filter-checkbox>\r\n </div>\r\n <div class=\"filter-input-item filter-type-radio\" *ngSwitchCase=\"'radio'\">\r\n <app-filter-radio [changeFields]=\"fieldCodeOfClearFields\" [item]=\"item\" [autoLabel]=\"autoLabel\"\r\n [disabled]=\"disabled\" (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"\r\n style=\"white-space: nowrap;\"></app-filter-radio>\r\n </div>\r\n <div class=\"filter-input-item filter-type-input-group\" *ngSwitchCase=\"'input-group'\">\r\n <app-filter-inputgroup [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\">\r\n </app-filter-inputgroup>\r\n </div>\r\n <div class=\"filter-input-item filter-type-default\" *ngSwitchDefault>\r\n <app-filter-input [item]=\"item\" [autoLabel]=\"autoLabel\" [disabled]=\"disabled\"\r\n (searchHandle)=\"onSearch($event,item)\" class=\"form-group farris-form-group\"></app-filter-input>\r\n </div>\r\n </ng-container>\r\n</ng-template>",
5111
5173
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5112
5174
  styles: ["::-webkit-scrollbar{width:6px;height:6px;background-color:#eee}::-webkit-scrollbar-track{border-radius:0}::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.15);-webkit-transition:.2s;transition:.2s;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.45)}.filter-search-btn-col{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%}.filter-search-btn-absoulte{position:absolute;right:0;top:0}.f-list-filter .filter-inputs-main-basis-wrapper{width:100%;overflow:hidden}.f-list-filter .filter-inputs-main-basis-wrapper.list-filter-wrapper-show-btn{position:relative;padding-right:84px}.f-list-filter .filter-inputs-main-basis-wrapper.list-filter-wrapper-show-btn.list-filter-wrapper-show-btn-remove{padding-right:124px}.f-list-filter .filter-inputs-main-basis-wrapper.list-filter-wrapper-show-btn .filter-search-btn{position:absolute;right:0;top:0}.f-list-filter .filter-inputs-main-basis-wrapper.list-filter-wrapper-show-btn .filter-search-btn .btn{margin-left:6px}.f-list-filter .filter-inputs-main-basis-wrapper.list-filter-wrapper-show-btn .filter-search-btn .btn:first-child{margin-left:0}.f-list-filter .filter-inputs-main-basis-wrapper .filter-inputs-main-basis-wrapper-inner{width:100%;overflow:auto}.f-list-filter .filter-inputs-main-basis-wrapper .filter-inputs-main-basis-wrapper-inner .filter-inputs-main-basis.justify-content-end{margin-left:auto}.f-list-filter.list-filter-padding{padding-right:45px}.f-list-filter.list-filter-autoWidth{padding-bottom:8px}.f-list-filter.list-filter-autoWidth.list-filter-paddingnone{padding-bottom:0}@media (min-width:768px){.f-list-filter .list-filter-type-1{position:static;padding-right:0}.f-list-filter .list-filter-type-2,.f-list-filter .list-filter-type-3{position:relative;padding-right:70px}}@media (max-width:767px){.f-list-filter .list-filter-type-1{position:relative;padding-right:70px}.f-list-filter .list-filter-type-1.list-filter-show-reset{padding-right:110px}.f-list-filter .list-filter-type-2,.f-list-filter .list-filter-type-3{position:relative;padding-right:70px}.f-list-filter .list-filter-type-2.list-filter-show-reset,.f-list-filter .list-filter-type-3.list-filter-show-reset{position:relative;padding-right:110px}}@media (min-width:1200px){.f-list-filter .list-filter-type-2,.f-list-filter .list-filter-type-3{position:static;padding-right:0}.f-list-filter .list-filter-type-4,.f-list-filter .list-filter-type-5{position:relative;padding-right:70px}}@media (max-width:767px){.f-list-filter .list-filter-type-4,.f-list-filter .list-filter-type-5{position:relative;padding-right:70px}.f-list-filter .list-filter-type-4.list-filter-show-reset,.f-list-filter .list-filter-type-5.list-filter-show-reset{position:relative;padding-right:110px}}@media (min-width:768px){.f-list-filter .list-filter-type-2.list-filter-show-reset,.f-list-filter .list-filter-type-3.list-filter-show-reset{position:relative;padding-right:110px}.f-list-filter .list-filter-type-4,.f-list-filter .list-filter-type-5{position:relative;padding-right:70px}.f-list-filter .list-filter-type-4.list-filter-show-reset,.f-list-filter .list-filter-type-5.list-filter-show-reset{position:relative;padding-right:110px}}@media (min-width:1690px){.f-list-filter .list-filter-type-4,.f-list-filter .list-filter-type-5{position:static;padding-right:0}}@media (min-width:1200px){.f-list-filter .list-filter-type-4.list-filter-show-reset,.f-list-filter .list-filter-type-5.list-filter-show-reset{position:relative;padding-right:110px}}.f-list-filter .list-filter-custom-type,.f-list-filter .list-filter-type-6{position:relative;padding-right:70px}.f-list-filter .list-filter-custom-type.list-filter-show-reset,.f-list-filter .list-filter-type-6.list-filter-show-reset{padding-right:110px}.f-list-filter .list-filter-padding-none{padding-right:0}.f-list-filter .filter-inputs-main{width:100%;overflow:hidden}.f-list-filter .filter-inputs-main .col-12{padding-left:0}.f-list-filter .filter-inputs-main.filter-inputs-main-padding{padding-right:70px;position:relative}.f-list-filter .filter-inputs-main .filter-input-list.filter-input-list-autolabel{padding-right:14px}.f-list-filter .filter-inputs-main .filter-input-list.filter-input-list-autolabel:last-child{padding-right:0}.f-list-filter .filter-inputs-main .filter-input-list.filter-input-list-checkbox{max-width:none;-webkit-box-flex:inherit;flex:inherit}@media (max-width:767px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-1{position:absolute;right:0;top:0}}@media (min-width:768px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-1{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%;position:static}.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-2,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-3{position:absolute;right:0;top:0}}@media (max-width:767px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-2,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-3{position:absolute;right:0;top:0}}@media (min-width:1200px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-2,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-3{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%;position:static}.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-4,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-5{position:absolute;right:0;top:0}}@media (max-width:767px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-4,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-5{position:absolute;right:0;top:0}}@media (min-width:768px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-4,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-5{position:absolute;right:0;top:0}}@media (min-width:1690px){.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-4,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-5{flex-basis:0;-webkit-box-flex:1;flex-grow:1;max-width:100%;position:static}}.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-btn-type-6,.f-list-filter .filter-inputs-main .filter-search-btn.filter-search-custom-type{position:absolute;right:0;top:0}.f-list-filter .filter-inputs-main .filter-search-btn .btn{margin-left:6px}.f-list-filter .filter-inputs-main .filter-search-btn .btn:first-child{margin-left:0}.f-list-filter .filter-inputs-main.filter-inputs-main-basis .filter-input-list{min-width:200px}.f-list-filter .filter-inputs-main.filter-inputs-main-basis .filter-input-list .filter-input-item .form-group{margin-bottom:0}.f-list-filter .filter-inputs-main.filter-inputs-main-basis .filter-input-list.filter-input-list-left{-webkit-box-flex:1;flex:1 1 auto}.f-list-filter .filter-inputs-main.filter-inputs-main-basis .filter-input-list.filter-input-list-expand{max-width:none}.f-list-filter .filter-inputs-main.filter-inputs-main-basis.justify-content-end .filter-input-list:not(.filter-input-list-checkbox){-webkit-box-flex:1;flex:auto}.f-list-filter .filter-expand{right:0;top:0;width:24px;margin-left:21px;height:24px;line-height:24px;cursor:pointer}.f-list-filter .filter-expand.active{border-radius:2px}.f-list-filter .filter-expand .f-icon{display:block;line-height:24px;margin:0 auto;font-size:18px}.f-list-filter .filter-expand .filter-expand-tag{position:absolute;right:0;top:0;display:block;width:6px;height:6px;border-radius:50%}.f-list-filter .filter-inputs-extend{width:429px;right:0;top:34px;background-color:#fff;box-shadow:0 2px 3px 0 rgba(0,0,0,.15);z-index:900;padding:20px 0}.f-list-filter .filter-inputs-extend .filter-typelist-arrow{display:block;position:absolute;right:7px;top:-4px;width:8.48528137px;height:8.48528137px;background:0 0;border-style:solid;border-width:4.24264069px;box-shadow:-2px -2px 5px rgba(0,0,0,.08);-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);border-color:#fff transparent transparent #fff}.f-list-filter .filter-inputs-extend .filter-form-btns{margin-top:6px;padding:0 14px}.f-list-filter .filter-inputs-extend .filter-form-btns .btn{margin-left:6px}.f-list-filter .filter-inputs-extend .filter-form-btns .filter-form-btn-reset{position:relative;padding-right:10px;margin-right:4px}.f-list-filter .filter-inputs-extend .filter-form-btns .filter-form-btn-reset::after{content:'';position:absolute;right:0;top:50%;width:1px;height:16px;margin-top:-8px;background:#d9d9d9}.f-list-filter .filter-search-btn-reset{padding-left:4px;padding-right:4px;color:rgba(0,0,0,.65)}.f-list-filter .filter-input-list .form-group{display:block}.f-list-filter .farris-form-controls-inline .filter-input-list .form-group{display:-webkit-box;display:flex}.f-list-filter .filter-inputs-main-list .filter-input-item .farris-form-group{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.f-list-filter .filter-inputs-main-list .filter-list-item{padding-right:100px}.f-list-filter .filter-inputs-main-list .filter-list-item .filter-input-list{position:relative}.f-list-filter .filter-inputs-main-list .filter-list-item .filter-search-btn{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:absolute;top:50%;left:calc(100% + 20px);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.filter-expand-simulate{opacity:0;display:inline-block;width:24px;height:24px;padding-left:21px}.filter-expand-simulate .f-icon{font-size:24px}"]
5113
5175
  }] }
@@ -5762,7 +5824,7 @@
5762
5824
  HelpComponent.decorators = [
5763
5825
  { type: i0.Component, args: [{
5764
5826
  selector: 'app-filter-help',
5765
- template: "<label class=\"col-form-label\" *ngIf=\"item && showlabel\" title=\"{{getConditionItemTitle(item)}}\">\r\n <span class=\"farris-label-info text-danger\" *ngIf=\"item.control.required\">*</span>\r\n <span class=\"farris-label-text\">{{item.fieldName}}</span>\r\n</label>\r\n<div class=\"farris-input-wrap\" *ngIf=\"item\">\r\n <farris-lookup-grid \r\n [uri]=\"uri\"\r\n [title]=\"title\"\r\n [idField]=\"idField\" \r\n [textField]=\"textField\" \r\n [valueField]=\"valueField\" \r\n [(ngModel)]=\"textValue\"\r\n [displayType]=\"displayType\"\r\n [editable]=\"false\"\r\n [readonly]=\"disabled\"\r\n (clear)=\"clearData($event)\"\r\n (selectedData)=\"selectedDataHandler($event)\"\r\n [placeholder]=\"placeholder\"\r\n [mapFields]=\"mapFields\"\r\n [dictPicking]=\"preEventCmd\"\r\n [dictPicked]=\"postEventCmd\"\r\n [context]=\"context\"\r\n [enableFullTree]=\"enableFullTree\"\r\n [loadTreeDataType]=\"loadTreeDataType\"\r\n [singleSelect]=\"singleSelect\"\r\n [expandLevel]=\"expandLevel\"\r\n [enableCascade]=\"enableCascade\"\r\n [clear-fields]=\"clearFields\"\r\n >\r\n </farris-lookup-grid>\r\n\r\n <!-- [dictPicked]=\"onSearch\" -->\r\n <!-- (selectedData)=\"selectedDataHandler($event)\" -->\r\n</div>"
5827
+ template: "<label class=\"col-form-label\" *ngIf=\"item && showlabel\" title=\"{{getConditionItemTitle(item)}}\">\r\n <span class=\"farris-label-info text-danger\" *ngIf=\"item.control.required\">*</span>\r\n <span class=\"farris-label-text\">{{item.fieldName}}</span>\r\n</label>\r\n<div class=\"farris-input-wrap\" *ngIf=\"item\">\r\n <farris-lookup-grid\r\n id=\"{{instanceId}}\"\r\n [uri]=\"uri\"\r\n [title]=\"title\"\r\n [idField]=\"idField\" \r\n [textField]=\"textField\" \r\n [valueField]=\"valueField\" \r\n [(ngModel)]=\"textValue\"\r\n [displayType]=\"displayType\"\r\n [editable]=\"false\"\r\n [readonly]=\"disabled\"\r\n (clear)=\"clearData($event)\"\r\n (selectedData)=\"selectedDataHandler($event)\"\r\n [placeholder]=\"placeholder\"\r\n [mapFields]=\"mapFields\"\r\n [dictPicking]=\"preEventCmd\"\r\n [dictPicked]=\"postEventCmd\"\r\n [context]=\"context\"\r\n [enableFullTree]=\"enableFullTree\"\r\n [loadTreeDataType]=\"loadTreeDataType\"\r\n [singleSelect]=\"singleSelect\"\r\n [expandLevel]=\"expandLevel\"\r\n [enableCascade]=\"enableCascade\"\r\n [clear-fields]=\"clearFields\"\r\n [useFavorite]=\"true\"\r\n >\r\n </farris-lookup-grid>\r\n\r\n <!-- [dictPicked]=\"onSearch\" -->\r\n <!-- (selectedData)=\"selectedDataHandler($event)\" -->\r\n</div>"
5766
5828
  // providers: [{ provide: ServerSideToken, useClass: LookupHttpBeQueryService }]
5767
5829
  }] }
5768
5830
  ];
@@ -5777,6 +5839,7 @@
5777
5839
  autoLabel: [{ type: i0.Input }],
5778
5840
  disabled: [{ type: i0.Input }],
5779
5841
  hostRef: [{ type: i0.Input }],
5842
+ instanceId: [{ type: i0.Input }],
5780
5843
  searchHandle: [{ type: i0.Output }],
5781
5844
  isExtend: [{ type: i0.HostBinding, args: ['class.filter-item-wrap',] }],
5782
5845
  hidenLabel: [{ type: i0.HostBinding, args: ['class.filter-item-hiddenlabel',] }],
@@ -5999,6 +6062,7 @@
5999
6062
  var DropDownComponent = /** @class */ (function () {
6000
6063
  function DropDownComponent(solutionService) {
6001
6064
  this.solutionService = solutionService;
6065
+ this.enableClear = true;
6002
6066
  this.searchHandle = new i0.EventEmitter();
6003
6067
  this.dropDownListDataSource = new Array();
6004
6068
  /**
@@ -6059,10 +6123,12 @@
6059
6123
  /** @type {?} */
6060
6124
  var initialValue = ( /** @type {?} */(this.item.value));
6061
6125
  initialValue.value && (this.selectedItemId = initialValue.value);
6062
- if (this.item && this.item.control && this.item.control.hasOwnProperty('isExtend')) {
6063
- this.extend = this.item.control.isExtend;
6064
- if (!this.extend) {
6065
- this.showlabel = this.item.control.showLabel;
6126
+ if (this.item && this.item.control) {
6127
+ if (this.item.control.hasOwnProperty('isExtend')) {
6128
+ this.extend = this.item.control.isExtend;
6129
+ if (!this.extend) {
6130
+ this.showlabel = this.item.control.showLabel;
6131
+ }
6066
6132
  }
6067
6133
  }
6068
6134
  this.solutionService.addFilterEditorInstance(this.item.fieldCode, this);
@@ -6199,7 +6265,7 @@
6199
6265
  DropDownComponent.decorators = [
6200
6266
  { type: i0.Component, args: [{
6201
6267
  selector: 'app-filter-dropdown',
6202
- template: "<label class=\"col-form-label\" *ngIf=\"item && showlabel\" title=\"{{getConditionItemTitle(item)}}\">\r\n <span class=\"farris-label-info text-danger\" *ngIf=\"item.control.required\">*</span>\r\n <span class=\"farris-label-text\">{{item.fieldName}}</span>\r\n</label>\r\n<div class=\"farris-input-wrap\" *ngIf=\"item\">\r\n <farris-combo-list\r\n [idField]=\"'value'\"\r\n [textField]=\"'name'\"\r\n [data]=\"dropDownListDataSource\"\r\n [(ngModel)]=\"selectedItemId\"\r\n [readonly]=\"disabled\"\r\n [editable]=\"false\"\r\n (selectChange)=\"onSearch($event)\"\r\n (clear)=\"onClear($event)\"\r\n [placeholder]=\"placeholder\"\r\n ></farris-combo-list>\r\n\r\n</div>\r\n\r\n<!-- (valueChange)=\"onSearch($event)\" -->"
6268
+ template: "<label class=\"col-form-label\" *ngIf=\"item && showlabel\" title=\"{{getConditionItemTitle(item)}}\">\r\n <span class=\"farris-label-info text-danger\" *ngIf=\"item.control.required\">*</span>\r\n <span class=\"farris-label-text\">{{item.fieldName}}</span>\r\n</label>\r\n<div class=\"farris-input-wrap\" *ngIf=\"item\">\r\n <farris-combo-list\r\n [idField]=\"'value'\"\r\n [textField]=\"'name'\"\r\n [data]=\"dropDownListDataSource\"\r\n [(ngModel)]=\"selectedItemId\"\r\n [readonly]=\"disabled\"\r\n [editable]=\"false\"\r\n (selectChange)=\"onSearch($event)\"\r\n (clear)=\"onClear($event)\"\r\n [placeholder]=\"placeholder\"\r\n [enableClear]=\"enableClear\"\r\n ></farris-combo-list>\r\n\r\n</div>\r\n\r\n<!-- (valueChange)=\"onSearch($event)\" -->"
6203
6269
  }] }
6204
6270
  ];
6205
6271
  /** @nocollapse */
@@ -6212,6 +6278,7 @@
6212
6278
  item: [{ type: i0.Input }],
6213
6279
  autoLabel: [{ type: i0.Input }],
6214
6280
  disabled: [{ type: i0.Input }],
6281
+ enableClear: [{ type: i0.Input }],
6215
6282
  searchHandle: [{ type: i0.Output, args: ['searchHandle',] }],
6216
6283
  isExtend: [{ type: i0.HostBinding, args: ['class.filter-item-wrap',] }],
6217
6284
  hidenLabel: [{ type: i0.HostBinding, args: ['class.filter-item-hiddenlabel',] }],
@@ -6825,7 +6892,7 @@
6825
6892
  */function () {
6826
6893
  _this.rangeDate = '';
6827
6894
  }));
6828
- this.cdr.detectChanges();
6895
+ // this.cdr.detectChanges();
6829
6896
  };
6830
6897
  /**
6831
6898
  * @param {?} changes
@@ -6837,7 +6904,7 @@
6837
6904
  */
6838
6905
  function (changes) {
6839
6906
  var _this = this;
6840
- this.initDate();
6907
+ // this.initDate();
6841
6908
  if (changes['changeFields'] && changes['changeFields'].currentValue && !changes['changeFields'].firstChange) {
6842
6909
  /** @type {?} */
6843
6910
  var isChange = changes['changeFields'].currentValue.some(( /**
@@ -7565,6 +7632,9 @@
7565
7632
  * @param {?} v
7566
7633
  * @return {?}
7567
7634
  */function (v) {
7635
+ if (!_this.ngCtrl.dirty) {
7636
+ return;
7637
+ }
7568
7638
  _this.listFilterCmp.fieldCodeOfClearFields = [];
7569
7639
  _this.clearFields.split(',').forEach(( /**
7570
7640
  * @param {?} n