@farris/ui-list-filter 0.1.21 → 0.1.23

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 (31) hide show
  1. package/bundles/farris-ui-list-filter.umd.js +142 -40
  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/dropdowncomponent/dropdown.component.js +9 -2
  6. package/esm2015/lib/controlcomponent/helpcomponent.ts/help.component.js +12 -2
  7. package/esm2015/lib/entity/controltype/dropdownlist/dropdowncontrol.js +3 -1
  8. package/esm2015/lib/entity/controltype/help/helpcontrol.js +6 -1
  9. package/esm2015/lib/list-filter-common.js +1 -1
  10. package/esm2015/lib/list-filter.component.js +118 -6
  11. package/esm2015/lib/service/list-filter.service.js +3 -1
  12. package/esm2015/lib/submithandlers/query-solution.service.js +1 -9
  13. package/esm5/lib/controlcomponent/dropdowncomponent/dropdown.component.js +9 -2
  14. package/esm5/lib/controlcomponent/helpcomponent.ts/help.component.js +12 -2
  15. package/esm5/lib/entity/controltype/dropdownlist/dropdowncontrol.js +3 -1
  16. package/esm5/lib/entity/controltype/help/helpcontrol.js +6 -1
  17. package/esm5/lib/list-filter-common.js +1 -1
  18. package/esm5/lib/list-filter.component.js +137 -6
  19. package/esm5/lib/service/list-filter.service.js +3 -1
  20. package/esm5/lib/submithandlers/query-solution.service.js +2 -21
  21. package/farris-ui-list-filter.metadata.json +1 -1
  22. package/fesm2015/farris-ui-list-filter.js +113 -18
  23. package/fesm2015/farris-ui-list-filter.js.map +1 -1
  24. package/fesm5/farris-ui-list-filter.js +132 -29
  25. package/fesm5/farris-ui-list-filter.js.map +1 -1
  26. package/lib/controlcomponent/dropdowncomponent/dropdown.component.d.ts +1 -0
  27. package/lib/controlcomponent/helpcomponent.ts/help.component.d.ts +2 -0
  28. package/lib/entity/controltype/dropdownlist/dropdowncontrol.d.ts +1 -0
  29. package/lib/entity/controltype/help/helpcontrol.d.ts +2 -0
  30. package/lib/list-filter.component.d.ts +16 -2
  31. package/package.json +1 -1
@@ -2275,6 +2275,7 @@
2275
2275
  dropdowncontrol.isExtend = filedSchema.control.hasOwnProperty('isExtend') ? filedSchema.control.isExtend : false;
2276
2276
  dropdowncontrol.showLabel = filedSchema.control.hasOwnProperty('showLabel') ? filedSchema.control.showLabel : true;
2277
2277
  dropdowncontrol.required = filedSchema.control.hasOwnProperty('required') ? filedSchema.control.required : false;
2278
+ dropdowncontrol.editable = filedSchema.control.hasOwnProperty('editable') ? filedSchema.control.editable : false;
2278
2279
  if (filedSchema.control.valueType == "1") {
2279
2280
  dropdowncontrol.valueType = EnumType.StringType;
2280
2281
  dropdowncontrol.enumValues = ( /** @type {?} */(filedSchema.control.enumValues));
@@ -2326,6 +2327,7 @@
2326
2327
  lookupEdit.placeholder = filedSchema.control.placeholder ? filedSchema.control.placeholder : '';
2327
2328
  lookupEdit.clearFields = filedSchema.control.hasOwnProperty('clearFields') ? filedSchema.control.clearFields : '';
2328
2329
  lookupEdit.editable = filedSchema.control.hasOwnProperty('editable') ? filedSchema.control.editable : false;
2330
+ lookupEdit.enableMultiFieldSearch = filedSchema.control.hasOwnProperty('enableMultiFieldSearch') ? filedSchema.control.enableMultiFieldSearch : false;
2329
2331
  return lookupEdit;
2330
2332
  };
2331
2333
  /**
@@ -2609,18 +2611,18 @@
2609
2611
  }());
2610
2612
 
2611
2613
  /*! *****************************************************************************
2612
- Copyright (c) Microsoft Corporation. All rights reserved.
2613
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
2614
- this file except in compliance with the License. You may obtain a copy of the
2615
- License at http://www.apache.org/licenses/LICENSE-2.0
2614
+ Copyright (c) Microsoft Corporation.
2616
2615
 
2617
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
2618
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
2619
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
2620
- MERCHANTABLITY OR NON-INFRINGEMENT.
2616
+ Permission to use, copy, modify, and/or distribute this software for any
2617
+ purpose with or without fee is hereby granted.
2621
2618
 
2622
- See the Apache Version 2.0 License for specific language governing permissions
2623
- and limitations under the License.
2619
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2620
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2621
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
2622
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
2623
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
2624
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
2625
+ PERFORMANCE OF THIS SOFTWARE.
2624
2626
  ***************************************************************************** */
2625
2627
  var __assign = function () {
2626
2628
  __assign = Object.assign || function __assign(t) {
@@ -3470,36 +3472,17 @@
3470
3472
  * @fileoverview added by tsickle
3471
3473
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
3472
3474
  */
3473
- // import { FrameContext } from '@farris/devkit';
3474
- // import { IQuerySolutionHandler } from './IQuerySolutionHandler';
3475
- // import { FrameworkSessionService } from '@farris/bef';
3476
3475
  var QuerySolutionService = /** @class */ (function () {
3477
3476
  function QuerySolutionService() {
3478
3477
  }
3479
- // private frameContext: FrameContext,
3480
- // private frameworkSessionService: FrameworkSessionService
3481
- // getUserSessionId(): string {
3482
- // return this.frameworkSessionService.getUserSessionId();
3483
- // }
3484
- // private frameContext: FrameContext,
3485
- // private frameworkSessionService: FrameworkSessionService
3486
- // getUserSessionId(): string {
3487
- // return this.frameworkSessionService.getUserSessionId();
3488
- // }
3489
3478
  /**
3490
3479
  * @param {?} params
3491
3480
  * @return {?}
3492
3481
  */
3493
- QuerySolutionService.prototype.setFilterConditions =
3494
- // private frameContext: FrameContext,
3495
- // private frameworkSessionService: FrameworkSessionService
3496
- // getUserSessionId(): string {
3497
- // return this.frameworkSessionService.getUserSessionId();
3498
- // }
3499
- /**
3500
- * @param {?} params
3501
- * @return {?}
3502
- */
3482
+ QuerySolutionService.prototype.setFilterConditions = /**
3483
+ * @param {?} params
3484
+ * @return {?}
3485
+ */
3503
3486
  function (params) {
3504
3487
  /** @type {?} */
3505
3488
  var queryConditionHandler;
@@ -4239,9 +4222,16 @@
4239
4222
  this.filterPaddingNone = false;
4240
4223
  // 默认值是空值时执行查询,兼容旧方式
4241
4224
  this.defaultEmptyValueSearch = true;
4225
+ // 按钮位置 top顶部 bottom 底部
4226
+ this.buttonPosition = 'top';
4227
+ // 查询按钮文本
4228
+ this.filterText = '';
4229
+ // 清空按钮文本
4230
+ this.clearButtonText = '';
4242
4231
  this.query = new i0.EventEmitter();
4243
4232
  this.clear = new i0.EventEmitter();
4244
4233
  this.searchChange = new i0.EventEmitter();
4234
+ this.conditionsChange = new i0.EventEmitter();
4245
4235
  // filterWidth:number = 1000;
4246
4236
  // 标记是否有滚动条
4247
4237
  // hasScroll = true;
@@ -4299,10 +4289,16 @@
4299
4289
  this.isControlInline = true;
4300
4290
  this.fieldCodeOfClearFields = [];
4301
4291
  this.UPDATE_FILTER_VALUES_TIMER = null;
4292
+ this.overLayService = null;
4302
4293
  if (this.injector) {
4303
4294
  this.currentLocale = this.injector.get(i0.LOCALE_ID);
4304
4295
  this.listfilterHandler = this.injector.get(LISTFILTER_HANDLER_TOKEN, null, i0.InjectFlags.Optional);
4305
4296
  this.idService = this.injector.get(uiCommon.IdService);
4297
+ this.overLayService = this.injector.get(uiCommon.OverLayHiddenService, null);
4298
+ this.localeService = this.injector.get(uiLocale.LocaleService);
4299
+ }
4300
+ if (!this.overLayService) {
4301
+ this.overLayService = new uiCommon.OverLayHiddenService();
4306
4302
  }
4307
4303
  }
4308
4304
  Object.defineProperty(ListFilterComponent.prototype, "defaultValue", {
@@ -4358,6 +4354,12 @@
4358
4354
  // } else {
4359
4355
  // this.isControlInline = true;
4360
4356
  // }
4357
+ if (!this.filterText || this.filterText.trim() === '筛选' || this.filterText.trim() === '篩選') {
4358
+ this.filterText = this.localeService.getValue('listFilter.filter');
4359
+ }
4360
+ if (!this.clearButtonText || this.clearButtonText.trim() === '清空') {
4361
+ this.clearButtonText = this.localeService.getValue('listFilter.clear');
4362
+ }
4361
4363
  this.canShowMoreIcon();
4362
4364
  };
4363
4365
  /**
@@ -4386,6 +4388,17 @@
4386
4388
  }
4387
4389
  }
4388
4390
  };
4391
+ /**
4392
+ * @return {?}
4393
+ */
4394
+ ListFilterComponent.prototype.ngOnDestroy = /**
4395
+ * @return {?}
4396
+ */
4397
+ function () {
4398
+ if (this.floatPanel) {
4399
+ this.overLayService.destory(this.floatPanel.nativeElement);
4400
+ }
4401
+ };
4389
4402
  /** 初始化处理表单数据 */
4390
4403
  /**
4391
4404
  * 初始化处理表单数据
@@ -4430,7 +4443,7 @@
4430
4443
  if (_basisFilterList && _basisFilterList.length === 1 && this.getControlType(_basisFilterList[0]) === 'search') {
4431
4444
  this.formExpand = true;
4432
4445
  }
4433
- this.searchChange.emit(this.listFilterConditions);
4446
+ this.conditionChangeHandler();
4434
4447
  this.inSetCurrentFilterConditions();
4435
4448
  // 存储默认展示中必填项
4436
4449
  this.requiredListInit();
@@ -4757,6 +4770,7 @@
4757
4770
  if (this.disabled) {
4758
4771
  return;
4759
4772
  }
4773
+ this.conditionChangeHandler(false);
4760
4774
  this.searchChange.emit({ item: item, conditions: this.listFilterConditions, instance: this });
4761
4775
  this.inSetCurrentFilterConditions();
4762
4776
  this.canSubmit = this.canSubmitFilter(this.requiredListFilter);
@@ -4935,9 +4949,14 @@
4935
4949
  * @return {?}
4936
4950
  */function (o) { return (__assign({}, o)); }));
4937
4951
  this.listFilterConditions = listFilter;
4952
+ this.stagListFilterConditions = this.listFilterConditions.map(( /**
4953
+ * @param {?} o
4954
+ * @return {?}
4955
+ */function (o) { return (__assign({}, o)); }));
4938
4956
  this.requiredListInit();
4939
4957
  // this.cd.markForCheck();
4940
4958
  }
4959
+ this.conditionChangeHandler(false);
4941
4960
  this.clear.emit();
4942
4961
  };
4943
4962
  // 设置默认值
@@ -4974,7 +4993,7 @@
4974
4993
  */function (o) { return (__assign({}, o)); }));
4975
4994
  _this.listFilterConditions = listFilter;
4976
4995
  _this.requiredListInit();
4977
- _this.searchChange.emit(_this.listFilterConditions);
4996
+ _this.conditionChangeHandler();
4978
4997
  _this.inSetCurrentFilterConditions();
4979
4998
  // this.listSearch();
4980
4999
  _this.cd.detectChanges();
@@ -5173,12 +5192,80 @@
5173
5192
  return 'list-filter/' + value;
5174
5193
  }
5175
5194
  };
5195
+ /**
5196
+ * @private
5197
+ * @param {?=} searchEmit
5198
+ * @return {?}
5199
+ */
5200
+ ListFilterComponent.prototype.conditionChangeHandler = /**
5201
+ * @private
5202
+ * @param {?=} searchEmit
5203
+ * @return {?}
5204
+ */
5205
+ function (searchEmit) {
5206
+ if (searchEmit === void 0) {
5207
+ searchEmit = true;
5208
+ }
5209
+ /** @type {?} */
5210
+ var queryList = this.handler.setFilterConditions(this.listFilterConditions);
5211
+ this.conditionsChange.emit({ data: JSON.stringify(queryList) });
5212
+ if (searchEmit) {
5213
+ this.searchChange.emit(this.listFilterConditions);
5214
+ }
5215
+ };
5216
+ /**
5217
+ * 浮动筛选面板通过方法展开和关闭
5218
+ * @param evt
5219
+ */
5220
+ /**
5221
+ * 浮动筛选面板通过方法展开和关闭
5222
+ * @param {?} evt
5223
+ * @return {?}
5224
+ */
5225
+ ListFilterComponent.prototype.floatFilterOpen = /**
5226
+ * 浮动筛选面板通过方法展开和关闭
5227
+ * @param {?} evt
5228
+ * @return {?}
5229
+ */
5230
+ function (evt) {
5231
+ var _this = this;
5232
+ this.showFilter = !this.showFilter;
5233
+ if (this.showFilter) {
5234
+ this.overLayService.registerMouseEvent(this.floatPanel.nativeElement, ( /**
5235
+ * @param {?} e
5236
+ * @return {?}
5237
+ */function (e) {
5238
+ if (_this.floatPanel.nativeElement.contains(e.target)) {
5239
+ return;
5240
+ }
5241
+ else {
5242
+ if (e.target.nodeName === 'SPAN' && e.target.className.indexOf('f-icon-filtrate')) {
5243
+ return;
5244
+ }
5245
+ /** @type {?} */
5246
+ var cls = ['.f-datepicker-container', '.farris-timer-picker', '.farris-modal', '.f-combo-lookup', '.date-overlay-container'];
5247
+ if (cls.find(( /**
5248
+ * @param {?} k
5249
+ * @return {?}
5250
+ */function (k) { return e.target.closest(k); }))) {
5251
+ return;
5252
+ }
5253
+ }
5254
+ _this.showFilter = false;
5255
+ _this.overLayService.destory(_this.floatPanel.nativeElement);
5256
+ _this.cd.detectChanges();
5257
+ }));
5258
+ }
5259
+ else {
5260
+ this.overLayService.destory(this.floatPanel.nativeElement);
5261
+ }
5262
+ };
5176
5263
  ListFilterComponent.decorators = [
5177
5264
  { type: i0.Component, args: [{
5178
5265
  selector: 'farris-list-filter',
5179
- 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>",
5266
+ 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,'list-filter-button-position-bottom':buttonPosition==='bottom'&&!liveSearch }\">\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&&buttonPosition!=='bottom'\">\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,'filter-input-list-radio': getControlType(formItem) === 'radio','filter-input-list-hasrange':getControlType(formItem).indexOf('range')>-1}\"\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&&buttonPosition!=='bottom'\">\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&&buttonPosition!=='bottom'\">\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)=\"floatFilterOpen($event)\"\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\" #floatPanel>\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<div class=\"filter-inputs-footer text-right mt-2\" *ngIf=\"!liveSearch&&listFilterConditions&&listFilterConditions.length>0&&buttonPosition=='bottom'\">\r\n <button class=\"btn btn-secondary mr-2\" (click)=\"resetSearch()\">{{clearButtonText}}</button>\r\n <button class=\"btn btn-primary\" [ngClass]=\"{'disabled': disabled || !canSubmit}\"\r\n (click)=\"filterClick()\">{{ filterText }}</button>\r\n</div>\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>",
5180
5267
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5181
- 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}"]
5268
+ 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);transition:.2s;border-radius:6px}::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.45)}.filter-search-btn-col{flex-basis:0;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;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;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;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;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{flex:1 1 auto;width:0}.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 .filter-input-list-hasrange.filter-input-list-left,.f-list-filter .filter-inputs-main.filter-inputs-main-basis .filter-input-list-radio.filter-input-list-left{width:auto}.f-list-filter .filter-inputs-main.filter-inputs-main-basis.justify-content-end .filter-input-list:not(.filter-input-list-checkbox){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);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:flex}.f-list-filter .filter-inputs-main-list .filter-input-item .farris-form-group{display:flex;align-items:center;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:flex;align-items:center;position:absolute;top:50%;left:calc(100% + 20px);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}.list-filter-button-position-bottom .list-filter-custom-type,.list-filter-button-position-bottom .list-filter-type-1,.list-filter-button-position-bottom .list-filter-type-2,.list-filter-button-position-bottom .list-filter-type-3,.list-filter-button-position-bottom .list-filter-type-4,.list-filter-button-position-bottom .list-filter-type-5,.list-filter-button-position-bottom .list-filter-type-6,.list-filter-button-position-bottom .list-filter-wrapper-show-btn,.list-filter-button-position-bottom .list-filter-wrapper-show-btn-remove{padding-right:0!important}"]
5182
5269
  }] }
5183
5270
  ];
5184
5271
  /** @nocollapse */
@@ -5194,6 +5281,7 @@
5194
5281
  };
5195
5282
  ListFilterComponent.propDecorators = {
5196
5283
  filterMainBasisRef: [{ type: i0.ViewChild, args: ['filterMainBasis',] }],
5284
+ floatPanel: [{ type: i0.ViewChild, args: ['floatPanel',] }],
5197
5285
  alLeft: [{ type: i0.Input }],
5198
5286
  autoWidth: [{ type: i0.Input }],
5199
5287
  liveSearch: [{ type: i0.Input }],
@@ -5204,9 +5292,13 @@
5204
5292
  filterType: [{ type: i0.Input }],
5205
5293
  defaultEmptyValueSearch: [{ type: i0.Input }],
5206
5294
  defaultValue: [{ type: i0.Input }],
5295
+ buttonPosition: [{ type: i0.Input }],
5296
+ filterText: [{ type: i0.Input }],
5297
+ clearButtonText: [{ type: i0.Input }],
5207
5298
  query: [{ type: i0.Output }],
5208
5299
  clear: [{ type: i0.Output }],
5209
5300
  searchChange: [{ type: i0.Output }],
5301
+ conditionsChange: [{ type: i0.Output }],
5210
5302
  isControlInline: [{ type: i0.Input }],
5211
5303
  filterList: [{ type: i0.Input }]
5212
5304
  };
@@ -5610,6 +5702,10 @@
5610
5702
  */
5611
5703
  this.showlabel = true;
5612
5704
  this.editable = false;
5705
+ /**
5706
+ * 多字段查询
5707
+ */
5708
+ this.enableMultiFieldSearch = false;
5613
5709
  /**
5614
5710
  * 某个字段发生值变化事件时,需要同步清空的字段,可能不是当前字段
5615
5711
  */
@@ -5796,6 +5892,7 @@
5796
5892
  this.textValue = helpValue.textValue;
5797
5893
  }
5798
5894
  this.editable = !!helpList_1.editable;
5895
+ this.enableMultiFieldSearch = !!helpList_1.enableMultiFieldSearch;
5799
5896
  }
5800
5897
  };
5801
5898
  // getConditionItemStyle(field: QueryCondition, controlType: any) {
@@ -5834,7 +5931,7 @@
5834
5931
  HelpComponent.decorators = [
5835
5932
  { type: i0.Component, args: [{
5836
5933
  selector: 'app-filter-help',
5837
- 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]=\"editable\"\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>"
5934
+ 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]=\"editable\"\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 [enableMultiFieldSearch]=\"enableMultiFieldSearch\"\r\n >\r\n </farris-lookup-grid>\r\n\r\n <!-- [dictPicked]=\"onSearch\" -->\r\n <!-- (selectedData)=\"selectedDataHandler($event)\" -->\r\n</div>"
5838
5935
  // providers: [{ provide: ServerSideToken, useClass: LookupHttpBeQueryService }]
5839
5936
  }] }
5840
5937
  ];
@@ -6072,6 +6169,7 @@
6072
6169
  var DropDownComponent = /** @class */ (function () {
6073
6170
  function DropDownComponent(solutionService) {
6074
6171
  this.solutionService = solutionService;
6172
+ this.editable = false;
6075
6173
  this.enableClear = true;
6076
6174
  this.searchHandle = new i0.EventEmitter();
6077
6175
  this.dropDownListDataSource = new Array();
@@ -6128,6 +6226,9 @@
6128
6226
  else {
6129
6227
  this.placeholder = this.item.placeHolder;
6130
6228
  }
6229
+ if (this.item.control && this.item.control.hasOwnProperty('editable')) {
6230
+ this.editable = this.item.control.editable;
6231
+ }
6131
6232
  }
6132
6233
  this.getDataSource();
6133
6234
  /** @type {?} */
@@ -6275,7 +6376,7 @@
6275
6376
  DropDownComponent.decorators = [
6276
6377
  { type: i0.Component, args: [{
6277
6378
  selector: 'app-filter-dropdown',
6278
- 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)\" -->"
6379
+ 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]=\"editable\" \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</div>"
6279
6380
  }] }
6280
6381
  ];
6281
6382
  /** @nocollapse */
@@ -6288,6 +6389,7 @@
6288
6389
  item: [{ type: i0.Input }],
6289
6390
  autoLabel: [{ type: i0.Input }],
6290
6391
  disabled: [{ type: i0.Input }],
6392
+ editable: [{ type: i0.Input }],
6291
6393
  enableClear: [{ type: i0.Input }],
6292
6394
  searchHandle: [{ type: i0.Output, args: ['searchHandle',] }],
6293
6395
  isExtend: [{ type: i0.HostBinding, args: ['class.filter-item-wrap',] }],
@@ -7050,7 +7152,7 @@
7050
7152
  selector: 'app-filter-common',
7051
7153
  template: "",
7052
7154
  encapsulation: i0.ViewEncapsulation.None,
7053
- styles: [".filter-item-wrap .col-form-label{width:auto!important;max-width:6rem}.filter-item-hiddenlabel{padding-left:14px}.f-list-filter .filter-inputs-main .filter-input-list:first-child .filter-item-hiddenlabel{padding-left:0}.filter-item-checbox-wrap .farris-checkradio-hor{flex-wrap:nowrap!important}.filter-item-checbox-wrap .farris-checkradio-hor .custom-control{flex-shrink:0}.filter-item-checbox-wrap .farris-checkradio-hor .custom-checkbox{max-width:177px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-item-checbox-wrap .farris-checkradio-hor .custom-checkbox:last-child{padding-right:0}.filter-item-checbox-wrap .farris-input-wrap{overflow:auto}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar{width:6px;height:6px;background-color:#eee}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar-track{border-radius:0}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.15);-webkit-transition:.2s;transition:.2s;border-radius:6px}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.45)}.filter-inputs-main-list.farris-form-controls-inline .farris-group-wrap .col-form-label{-webkit-box-pack:start!important;justify-content:flex-start!important;width:8rem}.filter-inputs-main-list.farris-form-controls-inline .farris-group-wrap .form-group{margin-bottom:1rem}.filter-inputs-main-list.farris-form-controls-inline .filter-list-item .farris-group-wrap .form-group{margin-bottom:0}"]
7155
+ styles: [".filter-item-wrap .col-form-label{width:auto!important;max-width:6rem}.filter-item-hiddenlabel{padding-left:14px}.f-list-filter .filter-inputs-main .filter-input-list:first-child .filter-item-hiddenlabel{padding-left:0}.filter-item-checbox-wrap .farris-checkradio-hor{flex-wrap:nowrap!important}.filter-item-checbox-wrap .farris-checkradio-hor .custom-control{flex-shrink:0}.filter-item-checbox-wrap .farris-checkradio-hor .custom-checkbox{max-width:177px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-item-checbox-wrap .farris-checkradio-hor .custom-checkbox:last-child{padding-right:0}.filter-item-checbox-wrap .farris-input-wrap{overflow:auto}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar{width:6px;height:6px}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar-track{border-radius:0}.filter-item-checbox-wrap .farris-input-wrap::-webkit-scrollbar-thumb{transition:.2s;border-radius:6px}.filter-inputs-main-list.farris-form-controls-inline .farris-group-wrap .col-form-label{justify-content:flex-start!important;width:8rem}.filter-inputs-main-list.farris-form-controls-inline .farris-group-wrap .form-group{margin-bottom:1rem}.filter-inputs-main-list.farris-form-controls-inline .filter-list-item .farris-group-wrap .form-group{margin-bottom:0}"]
7054
7156
  }] }
7055
7157
  ];
7056
7158
  return ListFilterCommonComponent;