@syncfusion/ej2-dropdowns 20.2.44 → 20.2.48

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.2.44
3
+ * version : 20.2.48
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-dropdowns@*",
3
- "_id": "@syncfusion/ej2-dropdowns@20.2.43",
3
+ "_id": "@syncfusion/ej2-dropdowns@20.2.46",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-eDYUh1Aox6DSh/TiiHU2bjPmp0O5LR2W86+tL/vVUEI7GbD5ZXzwjcK414jM5Pu3pckoUoXdjqyU1qVoibjBJw==",
5
+ "_integrity": "sha512-H0MyOJ0tnDT7J6f6MGbkNMPeWogMSdAAAtMMh1MM4uD9WcKoyO4KgeY5EzPxaotUR/qwZbEzFCIsDCG9ryN/HA==",
6
6
  "_location": "/@syncfusion/ej2-dropdowns",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -33,8 +33,8 @@
33
33
  "/@syncfusion/ej2-spreadsheet",
34
34
  "/@syncfusion/ej2-vue-dropdowns"
35
35
  ],
36
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-20.2.43.tgz",
37
- "_shasum": "de78f32afa49d61a4cc323357712c7cc81c46eb2",
36
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-dropdowns/-/ej2-dropdowns-20.2.46.tgz",
37
+ "_shasum": "8b2a5885e1032e680776a7c6078f7cd3b6304933",
38
38
  "_spec": "@syncfusion/ej2-dropdowns@*",
39
39
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
40
40
  "author": {
@@ -42,12 +42,12 @@
42
42
  },
43
43
  "bundleDependencies": false,
44
44
  "dependencies": {
45
- "@syncfusion/ej2-base": "~20.2.43",
46
- "@syncfusion/ej2-data": "~20.2.43",
47
- "@syncfusion/ej2-inputs": "~20.2.44",
48
- "@syncfusion/ej2-lists": "~20.2.43",
49
- "@syncfusion/ej2-navigations": "~20.2.44",
50
- "@syncfusion/ej2-popups": "~20.2.43"
45
+ "@syncfusion/ej2-base": "~20.2.48",
46
+ "@syncfusion/ej2-data": "~20.2.45",
47
+ "@syncfusion/ej2-inputs": "~20.2.48",
48
+ "@syncfusion/ej2-lists": "~20.2.46",
49
+ "@syncfusion/ej2-navigations": "~20.2.48",
50
+ "@syncfusion/ej2-popups": "~20.2.45"
51
51
  },
52
52
  "deprecated": false,
53
53
  "description": "Essential JS 2 DropDown Components",
@@ -72,6 +72,6 @@
72
72
  "module": "./index.js",
73
73
  "name": "@syncfusion/ej2-dropdowns",
74
74
  "typings": "index.d.ts",
75
- "version": "20.2.44",
75
+ "version": "20.2.48",
76
76
  "sideEffects": false
77
77
  }
@@ -213,6 +213,7 @@ export declare class DropDownBase extends Component<HTMLElement> implements INot
213
213
  protected isAngular: boolean;
214
214
  protected isPreventChange: boolean;
215
215
  protected isDynamicDataChange: boolean;
216
+ protected addedNewItem: boolean;
216
217
  /**
217
218
  * The `fields` property maps the columns of the data table and binds the data to the component.
218
219
  * * text - Maps the text column from data table for each list item.
@@ -86,6 +86,7 @@ var DropDownBase = /** @class */ (function (_super) {
86
86
  _this.isAngular = false;
87
87
  _this.isPreventChange = false;
88
88
  _this.isDynamicDataChange = false;
89
+ _this.addedNewItem = false;
89
90
  return _this;
90
91
  }
91
92
  DropDownBase.prototype.getPropObject = function (prop, newProp, oldProp) {
@@ -888,7 +889,8 @@ var DropDownBase = /** @class */ (function (_super) {
888
889
  dataSource = this.selectData;
889
890
  }
890
891
  }
891
- dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length ? this.selectData : dataSource;
892
+ dataSource = this.getModuleName() === 'combobox' && this.selectData && dataSource instanceof Array && dataSource.length < this.selectData.length && this.addedNewItem ? this.selectData : dataSource;
893
+ this.addedNewItem = false;
892
894
  this.setListData(dataSource, fields, query, e);
893
895
  }
894
896
  };
@@ -1146,6 +1148,7 @@ var DropDownBase = /** @class */ (function (_super) {
1146
1148
  if (selectedItemValue || itemIndex === 0) {
1147
1149
  this.updateSelection();
1148
1150
  }
1151
+ this.addedNewItem = true;
1149
1152
  };
1150
1153
  DropDownBase.prototype.validationAttribute = function (target, hidden) {
1151
1154
  var name = target.getAttribute('name') ? target.getAttribute('name') : target.getAttribute('id');
@@ -2043,14 +2043,14 @@ var DropDownList = /** @class */ (function (_super) {
2043
2043
  if (this.element.tagName === 'INPUT') {
2044
2044
  this.inputElement = this.element;
2045
2045
  if (isNullOrUndefined(this.inputElement.getAttribute('role'))) {
2046
- this.inputElement.setAttribute('role', 'textbox');
2046
+ this.inputElement.setAttribute('role', 'combobox');
2047
2047
  }
2048
2048
  if (isNullOrUndefined(this.inputElement.getAttribute('type'))) {
2049
2049
  this.inputElement.setAttribute('type', 'text');
2050
2050
  }
2051
2051
  }
2052
2052
  else {
2053
- this.inputElement = this.createElement('input', { attrs: { role: 'textbox', type: 'text' } });
2053
+ this.inputElement = this.createElement('input', { attrs: { role: 'combobox', type: 'text' } });
2054
2054
  if (this.element.tagName !== this.getNgDirective()) {
2055
2055
  this.element.style.display = 'none';
2056
2056
  }
@@ -2099,6 +2099,9 @@ var DropDownList = /** @class */ (function (_super) {
2099
2099
  attributes(this.targetElement(), this.getAriaAttributes());
2100
2100
  this.updateDataAttribute(this.htmlAttributes);
2101
2101
  this.setHTMLAttributes();
2102
+ if (this.targetElement() === this.inputElement) {
2103
+ this.inputElement.removeAttribute('aria-labelledby');
2104
+ }
2102
2105
  if (this.value !== null || this.activeIndex !== null || this.text !== null) {
2103
2106
  this.initValue();
2104
2107
  }
@@ -2129,6 +2132,11 @@ var DropDownList = /** @class */ (function (_super) {
2129
2132
  if (this.element.hasAttribute('data-val')) {
2130
2133
  this.element.setAttribute('data-val', 'false');
2131
2134
  }
2135
+ var floatLabelElement = this.inputWrapper.container.getElementsByClassName('e-float-text')[0];
2136
+ if (!isNullOrUndefined(this.element.id) && this.element.id !== '' && !isNullOrUndefined(floatLabelElement)) {
2137
+ floatLabelElement.id = 'label_' + this.element.id.replace(/ /g, '_');
2138
+ attributes(this.inputElement, { 'aria-labelledby': floatLabelElement.id });
2139
+ }
2132
2140
  this.renderComplete();
2133
2141
  };
2134
2142
  DropDownList.prototype.setFooterTemplate = function (popupEle) {
@@ -3,7 +3,7 @@
3
3
  * Specifies whether to display the floating label above the input element.
4
4
  */
5
5
  import { removeClass, addClass, detach } from '@syncfusion/ej2-base';
6
- import { attributes, isNullOrUndefined, createElement } from '@syncfusion/ej2-base';
6
+ import { attributes, isNullOrUndefined, createElement, getUniqueID } from '@syncfusion/ej2-base';
7
7
  var FLOATLINE = 'e-float-line';
8
8
  var FLOATTEXT = 'e-float-text';
9
9
  var LABELTOP = 'e-label-top';
@@ -23,9 +23,11 @@ var LABELBOTTOM = 'e-label-bottom';
23
23
  export function createFloatLabel(overAllWrapper, searchWrapper, element, inputElement, value, floatLabelType, placeholder) {
24
24
  var floatLinelement = createElement('span', { className: FLOATLINE });
25
25
  var floatLabelElement = createElement('label', { className: FLOATTEXT });
26
+ var id = element.getAttribute('id') ? element.getAttribute('id') : getUniqueID('ej2_multiselect');
27
+ element.id = id;
26
28
  if (!isNullOrUndefined(element.id) && element.id !== '') {
27
29
  floatLabelElement.id = 'label_' + element.id.replace(/ /g, '_');
28
- attributes(element, { 'aria-labelledby': floatLabelElement.id });
30
+ attributes(inputElement, { 'aria-labelledby': floatLabelElement.id });
29
31
  }
30
32
  if (!isNullOrUndefined(inputElement.placeholder) && inputElement.placeholder !== '') {
31
33
  floatLabelElement.innerText = encodePlaceholder(inputElement.placeholder);
@@ -3790,7 +3790,6 @@ var MultiSelect = /** @class */ (function (_super) {
3790
3790
  });
3791
3791
  if (this.mode === 'Default' || this.mode === 'Box') {
3792
3792
  this.inputElement.setAttribute('aria-describedby', this.chipCollectionWrapper.id);
3793
- this.inputElement.setAttribute('aria-labelledby', this.chipCollectionWrapper.id);
3794
3793
  }
3795
3794
  if (this.element.tagName !== this.getNgDirective()) {
3796
3795
  this.element.style.display = 'none';