@acorex/components 16.20.10 → 16.20.12

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.
@@ -18,7 +18,7 @@ import { FormsModule } from '@angular/forms';
18
18
  import moment from 'jalali-moment';
19
19
  import * as i3 from 'ngx-mask';
20
20
  import { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';
21
- import { trigger, state, transition, style, animate } from '@angular/animations';
21
+ import { trigger, state, style, transition, animate } from '@angular/animations';
22
22
  import * as i4 from '@angular/cdk/a11y';
23
23
  import { A11yModule } from '@angular/cdk/a11y';
24
24
  import { differenceBy, cloneDeep } from 'lodash-es';
@@ -384,6 +384,17 @@ class AXBaseTextComponent extends AXValidatableComponent {
384
384
  this.value = e.target.value;
385
385
  this.onkey.emit(e);
386
386
  };
387
+ // Handle paste events (right-click paste)
388
+ this.input.nativeElement.onpaste = (e) => {
389
+ setTimeout(() => {
390
+ this.userChange = true;
391
+ this.value = e.target.value;
392
+ }, 0);
393
+ };
394
+ this.input.nativeElement.oninput = (e) => {
395
+ this.userChange = true;
396
+ this.value = e.target.value;
397
+ };
387
398
  }
388
399
  }
389
400
  ngAfterContentInit() {
@@ -8098,6 +8109,8 @@ class AXAutoCompleteComponent extends AXBaseComponent {
8098
8109
  onValueChanged = output();
8099
8110
  onItemClick = output();
8100
8111
  onFocus = output();
8112
+ onOpen = output();
8113
+ onClose = output();
8101
8114
  onBlur = output();
8102
8115
  mode = input('multiple', ...(ngDevMode ? [{ debugName: "mode" }] : []));
8103
8116
  textAlign = input(null, ...(ngDevMode ? [{ debugName: "textAlign" }] : []));
@@ -8386,6 +8399,18 @@ class AXAutoCompleteComponent extends AXBaseComponent {
8386
8399
  if (this.dropdown.isOpen) {
8387
8400
  this.isFirstLoad.set(false);
8388
8401
  this.refresh();
8402
+ this.onOpen.emit({
8403
+ component: this,
8404
+ value: true,
8405
+ htmlElement: this.el.nativeElement,
8406
+ });
8407
+ }
8408
+ else {
8409
+ this.onClose.emit({
8410
+ component: this,
8411
+ value: true,
8412
+ htmlElement: this.el.nativeElement,
8413
+ });
8389
8414
  }
8390
8415
  }
8391
8416
  refresh() {
@@ -8397,7 +8422,7 @@ class AXAutoCompleteComponent extends AXBaseComponent {
8397
8422
  }
8398
8423
  }
8399
8424
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXAutoCompleteComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8400
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXAutoCompleteComponent, isStandalone: false, selector: "ax-auto-complete", inputs: { showDropdownWhenClick: { classPropertyName: "showDropdownWhenClick", publicName: "showDropdownWhenClick", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, remoteOperation: { classPropertyName: "remoteOperation", publicName: "remoteOperation", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, allowClear: { classPropertyName: "allowClear", publicName: "allowClear", isSignal: true, isRequired: false, transformFunction: null }, showDropDownButton: { classPropertyName: "showDropDownButton", publicName: "showDropDownButton", isSignal: true, isRequired: false, transformFunction: null }, onDemandTranslate: { classPropertyName: "onDemandTranslate", publicName: "onDemandTranslate", isSignal: true, isRequired: false, transformFunction: null }, rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: true, isRequired: false, transformFunction: null }, dropdownWidth: { classPropertyName: "dropdownWidth", publicName: "dropdownWidth", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, multiLine: { classPropertyName: "multiLine", publicName: "multiLine", isSignal: true, isRequired: false, transformFunction: null }, fitParent: { classPropertyName: "fitParent", publicName: "fitParent", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "textAlign", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, showCheckBox: { classPropertyName: "showCheckBox", publicName: "showCheckBox", isSignal: true, isRequired: false, transformFunction: null }, disabledField: { classPropertyName: "disabledField", publicName: "disabledField", isSignal: true, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: true, isRequired: false, transformFunction: null }, disabledCallback: { classPropertyName: "disabledCallback", publicName: "disabledCallback", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedItems: "selectedItemsChange", onValueChanged: "onValueChanged", onItemClick: "onItemClick", onFocus: "onFocus", onBlur: "onBlur" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true }, { propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["d"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-drop-down\n #d\n [readonly]=\"readonly()\"\n [fitParent]=\"fitParent()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [showDropDownButton]=\"showDropDownButton()\"\n (dropdownToggle)=\"dropdownToggleSelecBox()\"\n>\n <ng-container start>\n <ng-content select=\"[start]\"> </ng-content>\n </ng-container>\n <ng-container header>\n <ax-text-box\n #input\n [textAlign]=\"textAlign()\"\n [(value)]=\"value\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [size]=\"size()\"\n (onkey)=\"handleKeyPress($event)\"\n (click)=\"handleClick()\"\n (onValueChanged)=\"textChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleBlur($event)\"\n ></ax-text-box>\n </ng-container>\n <ng-container panel>\n <div class=\"ax list-container\">\n <div\n #listContainer\n class=\"list-container-items\"\n (scroll)=\"scrolled($event)\"\n >\n @if(resolvedItems().length > 0){ @for (item of resolvedItems(); track\n $index) {\n <div\n class=\"list-item\"\n [class.focused]=\"$index == currentfocusedIndex()\"\n [class.selected]=\"isItemSelected(item)\"\n (click)=\"handleItemClick($event, item)\"\n (dblclick)=\"handleItemDbClick($event, item)\"\n >\n <div style=\"display: flex\">\n @if (showCheckBox()) {\n <ax-check-box\n [size]=\"size()\"\n [value]=\"isItemSelected(item)\"\n (onClick)=\"handleItemClick($event, item)\"\n >\n </ax-check-box>\n } @if (rowTemplate) {\n <div\n style=\"\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 1;\n \"\n [title]=\"item[textField()]\"\n [ngStyle]=\"\n showCheckBox() ? { 'padding-inline-start': '0.5rem' } : ''\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"\n >\n </ng-container>\n </div>\n }@else {\n <div\n style=\"\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 1;\n \"\n [title]=\"item[textField()]\"\n [ngStyle]=\"\n showCheckBox() ? { 'padding-inline-start': '0.5rem' } : ''\n \"\n >\n {{ item[textField()] }}\n </div>\n }\n </div>\n </div>\n } }@else { @if(showLoading() == true){\n <div class=\"list-item\">\n {{ 'common.search' | trans }}\n </div>\n }@else {\n <div class=\"list-item\">\n {{ 'common.noDataFound' | trans }}\n </div>\n } } @if (showLoading()) {\n <div class=\"ax-pad-sm\" style=\"text-align: center\">\n <i\n class=\"far fa-spinner-third fa-pulse fa-2x\"\n style=\"color: var(--ax-primary-color)\"\n ></i>\n </div>\n }\n </div>\n </div></ng-container\n >\n <ng-container end>\n <ng-content select=\"[end]\"> </ng-content>\n </ng-container>\n</ax-drop-down>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions", "leadZeroDateTime"] }, { kind: "component", type: AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "pipe", type: i1$2.AXTranslatorPipe, name: "trans" }], encapsulation: i0.ViewEncapsulation.None });
8425
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: AXAutoCompleteComponent, isStandalone: false, selector: "ax-auto-complete", inputs: { showDropdownWhenClick: { classPropertyName: "showDropdownWhenClick", publicName: "showDropdownWhenClick", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, remoteOperation: { classPropertyName: "remoteOperation", publicName: "remoteOperation", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, allowClear: { classPropertyName: "allowClear", publicName: "allowClear", isSignal: true, isRequired: false, transformFunction: null }, showDropDownButton: { classPropertyName: "showDropDownButton", publicName: "showDropDownButton", isSignal: true, isRequired: false, transformFunction: null }, onDemandTranslate: { classPropertyName: "onDemandTranslate", publicName: "onDemandTranslate", isSignal: true, isRequired: false, transformFunction: null }, rtl: { classPropertyName: "rtl", publicName: "rtl", isSignal: true, isRequired: false, transformFunction: null }, dropdownWidth: { classPropertyName: "dropdownWidth", publicName: "dropdownWidth", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, multiLine: { classPropertyName: "multiLine", publicName: "multiLine", isSignal: true, isRequired: false, transformFunction: null }, fitParent: { classPropertyName: "fitParent", publicName: "fitParent", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "textAlign", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, showCheckBox: { classPropertyName: "showCheckBox", publicName: "showCheckBox", isSignal: true, isRequired: false, transformFunction: null }, disabledField: { classPropertyName: "disabledField", publicName: "disabledField", isSignal: true, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: true, isRequired: false, transformFunction: null }, disabledCallback: { classPropertyName: "disabledCallback", publicName: "disabledCallback", isSignal: false, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectedItems: "selectedItemsChange", onValueChanged: "onValueChanged", onItemClick: "onItemClick", onFocus: "onFocus", onOpen: "onOpen", onClose: "onClose", onBlur: "onBlur" }, queries: [{ propertyName: "rowTemplate", first: true, predicate: ["rowTemplate"], descendants: true }, { propertyName: "_contentDataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }], viewQueries: [{ propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true }, { propertyName: "dropdown", first: true, predicate: ["d"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ax-drop-down\n #d\n [readonly]=\"readonly()\"\n [fitParent]=\"fitParent()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [showDropDownButton]=\"showDropDownButton()\"\n (dropdownToggle)=\"dropdownToggleSelecBox()\"\n>\n <ng-container start>\n <ng-content select=\"[start]\"> </ng-content>\n </ng-container>\n <ng-container header>\n <ax-text-box\n #input\n [textAlign]=\"textAlign()\"\n [(value)]=\"value\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n [size]=\"size()\"\n (onkey)=\"handleKeyPress($event)\"\n (click)=\"handleClick()\"\n (onValueChanged)=\"textChange($event)\"\n (onFocus)=\"handleFocus($event)\"\n (onBlur)=\"handleBlur($event)\"\n ></ax-text-box>\n </ng-container>\n <ng-container panel>\n <div class=\"ax list-container\">\n <div\n #listContainer\n class=\"list-container-items\"\n (scroll)=\"scrolled($event)\"\n >\n @if(resolvedItems().length > 0){ @for (item of resolvedItems(); track\n $index) {\n <div\n class=\"list-item\"\n [class.focused]=\"$index == currentfocusedIndex()\"\n [class.selected]=\"isItemSelected(item)\"\n (click)=\"handleItemClick($event, item)\"\n (dblclick)=\"handleItemDbClick($event, item)\"\n >\n <div style=\"display: flex\">\n @if (showCheckBox()) {\n <ax-check-box\n [size]=\"size()\"\n [value]=\"isItemSelected(item)\"\n (onClick)=\"handleItemClick($event, item)\"\n >\n </ax-check-box>\n } @if (rowTemplate) {\n <div\n style=\"\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 1;\n \"\n [title]=\"item[textField()]\"\n [ngStyle]=\"\n showCheckBox() ? { 'padding-inline-start': '0.5rem' } : ''\n \"\n >\n <ng-container\n *ngTemplateOutlet=\"rowTemplate; context: { $implicit: item }\"\n >\n </ng-container>\n </div>\n }@else {\n <div\n style=\"\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 1;\n \"\n [title]=\"item[textField()]\"\n [ngStyle]=\"\n showCheckBox() ? { 'padding-inline-start': '0.5rem' } : ''\n \"\n >\n {{ item[textField()] }}\n </div>\n }\n </div>\n </div>\n } }@else { @if(showLoading() == true){\n <div class=\"list-item\">\n {{ 'common.search' | trans }}\n </div>\n }@else {\n <div class=\"list-item\">\n {{ 'common.noDataFound' | trans }}\n </div>\n } } @if (showLoading()) {\n <div class=\"ax-pad-sm\" style=\"text-align: center\">\n <i\n class=\"far fa-spinner-third fa-pulse fa-2x\"\n style=\"color: var(--ax-primary-color)\"\n ></i>\n </div>\n }\n </div>\n </div></ng-container\n >\n <ng-container end>\n <ng-content select=\"[end]\"> </ng-content>\n </ng-container>\n</ax-drop-down>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { kind: "component", type: AXTextBoxComponent, selector: "ax-text-box", inputs: ["mask", "showMask", "type", "maxLength", "maskGuid", "maskPlaceholder", "maskKeepCharPositions", "leadZeroDateTime"] }, { kind: "component", type: AXCheckBoxComponent, selector: "ax-check-box", inputs: ["readonly", "disabled", "size", "label", "tabIndex", "indeterminate", "value"], outputs: ["onValueChanged", "valueChange", "onClick"] }, { kind: "pipe", type: i1$2.AXTranslatorPipe, name: "trans" }], encapsulation: i0.ViewEncapsulation.None });
8401
8426
  }
8402
8427
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXAutoCompleteComponent, decorators: [{
8403
8428
  type: Component,