@anglr/select 14.0.0-beta.20250708083708 → 14.0.0-beta.20260209113815
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +17 -0
- package/es2022/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
- package/es2022/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2022/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
- package/es2022/material/src/modules/dialogPopup.module.js +4 -4
- package/es2022/material/src/modules/virtualEditPopup.module.js +4 -4
- package/es2022/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
- package/es2022/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
- package/es2022/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
- package/es2022/src/components/option/optgroup.component.js +3 -3
- package/es2022/src/components/option/optgroup.component.js.map +1 -1
- package/es2022/src/components/option/option.component.js +3 -3
- package/es2022/src/components/option/option.component.js.map +1 -1
- package/es2022/src/components/select/select.component.js +3 -3
- package/es2022/src/components/select/select.component.js.map +1 -1
- package/es2022/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
- package/es2022/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2022/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2022/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
- package/es2022/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2022/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2022/src/modules/ngSelect.module.js +4 -4
- package/es2022/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2022/src/modules/ngSelectEdit.module.js +4 -4
- package/es2022/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2022/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2022/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2022/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2022/src/plugins/liveSearch/basic/basicLiveSearch.component.js +4 -7
- package/es2022/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/edit/editLiveSearch.component.js +4 -7
- package/es2022/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
- package/es2022/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
- package/es2022/src/plugins/normalState/edit/editNormalState.component.js +3 -3
- package/es2022/src/plugins/normalState/normalStateAbstract.component.js +4 -7
- package/es2022/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
- package/es2022/src/plugins/popup/basic/basicPopup.component.js +3 -3
- package/es2022/src/plugins/popup/edit/editPopup.component.js +3 -3
- package/es2022/src/plugins/popup/popupAbstract.component.js +4 -7
- package/es2022/src/plugins/popup/popupAbstract.component.js.map +1 -1
- package/es2022/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
- package/es2022/src/plugins/positioner/no/noPositioner.component.js +3 -3
- package/es2022/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2022/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2022/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/material/src/plugins/popup/dialog/dialogPopup.component.d.ts.map +1 -1
- package/package.json +30 -30
- package/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.d.ts.map +1 -1
- package/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.d.ts.map +1 -1
- package/src/plugins/liveSearch/basic/basicLiveSearch.component.d.ts +0 -4
- package/src/plugins/liveSearch/basic/basicLiveSearch.component.d.ts.map +1 -1
- package/src/plugins/liveSearch/edit/editLiveSearch.component.d.ts +0 -4
- package/src/plugins/liveSearch/edit/editLiveSearch.component.d.ts.map +1 -1
- package/src/plugins/normalState/normalStateAbstract.component.d.ts +0 -5
- package/src/plugins/normalState/normalStateAbstract.component.d.ts.map +1 -1
- package/src/plugins/popup/popupAbstract.component.d.ts +0 -4
- package/src/plugins/popup/popupAbstract.component.d.ts.map +1 -1
- package/src/plugins/valueHandler/basic/basicValueHandler.component.d.ts.map +1 -1
- package/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.d.ts.map +1 -1
- package/src/plugins/valueHandler/valueHandlerBase.d.ts.map +1 -1
- package/version.bak +1 -1
|
@@ -19,8 +19,8 @@ export class NgSelectEditDirective {
|
|
|
19
19
|
optionsGatherer: new ExcludingOptionsGatherer(),
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectEditDirective, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: NgSelectEditDirective, isStandalone: true, selector: "ng-select[editStyle]", providers: [
|
|
24
24
|
{
|
|
25
25
|
provide: NORMAL_STATE_TYPE,
|
|
26
26
|
useValue: EditNormalStateComponent,
|
|
@@ -39,7 +39,7 @@ export class NgSelectEditDirective {
|
|
|
39
39
|
},
|
|
40
40
|
], ngImport: i0 }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectEditDirective, decorators: [{
|
|
43
43
|
type: Directive,
|
|
44
44
|
args: [{
|
|
45
45
|
selector: 'ng-select[editStyle]',
|
|
@@ -28,10 +28,10 @@ export class NgSelectPlaceholderDirective {
|
|
|
28
28
|
},
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectPlaceholderDirective, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: NgSelectPlaceholderDirective, isStandalone: true, selector: "ng-select[placeholder]", inputs: { placeholder: "placeholder" }, ngImport: i0 }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectPlaceholderDirective, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: 'ng-select[placeholder]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngSelectPlaceholder.directive.js","sourceRoot":"","sources":["../../../../src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAU,KAAK,EAAC,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0CAA0C,CAAC;;;AAG3E;;GAEG;AAKH,MAAM,OAAO,4BAA4B;IAUrC,iEAAiE;IACjE,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAE9C,CAAC;IAED,+FAA+F;IAE/F;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1B;gBACI,OAAO,EACP;oBACI,UAAU,EACV;wBACI,OAAO,EACP;4BACI,KAAK,EACL;gCACI,gBAAgB,EAAE,IAAI,CAAC,WAAW;6BACrC;yBACJ;qBACJ;iBACJ;aACJ,CAAC;IACN,CAAC;8GAtCQ,4BAA4B;kGAA5B,4BAA4B;;2FAA5B,4BAA4B;kBAJxC,SAAS;mBACV;oBACI,QAAQ,EAAE,wBAAwB;iBACrC
|
|
1
|
+
{"version":3,"file":"ngSelectPlaceholder.directive.js","sourceRoot":"","sources":["../../../../src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAU,KAAK,EAAC,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0CAA0C,CAAC;;;AAG3E;;GAEG;AAKH,MAAM,OAAO,4BAA4B;IAUrC,iEAAiE;IACjE,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAE9C,CAAC;IAED,+FAA+F;IAE/F;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1B;gBACI,OAAO,EACP;oBACI,UAAU,EACV;wBACI,OAAO,EACP;4BACI,KAAK,EACL;gCACI,gBAAgB,EAAE,IAAI,CAAC,WAAW;6BACrC;yBACJ;qBACJ;iBACJ;aACJ,CAAC;IACN,CAAC;8GAtCQ,4BAA4B;kGAA5B,4BAA4B;;2FAA5B,4BAA4B;kBAJxC,SAAS;mBACV;oBACI,QAAQ,EAAE,wBAAwB;iBACrC;;sBAQI,KAAK","sourcesContent":["import {Directive, OnInit, Input} from '@angular/core';\n\nimport {NgSelectComponent} from '../../components/select/select.component';\nimport {LiveSearchOptions} from '../../plugins/liveSearch';\n\n/**\n * Directive used for setting live search placeholder text\n */\n@Directive(\n{\n selector: 'ng-select[placeholder]',\n})\nexport class NgSelectPlaceholderDirective implements OnInit\n{\n //######################### public properties - inputs #########################\n\n /**\n * Placeholder text used for live search plugin\n */\n @Input()\n public placeholder: string;\n\n //######################### constructor #########################\n constructor(private _select: NgSelectComponent)\n {\n }\n\n //######################### public methods - implementation of OnInit #########################\n\n /**\n * Initialize component\n */\n public ngOnInit(): void\n {\n this._select.selectOptions =\n {\n plugins:\n {\n liveSearch:\n {\n options: <LiveSearchOptions>\n {\n texts:\n {\n inputPlaceholder: this.placeholder\n },\n },\n },\n },\n };\n }\n}\n"]}
|
|
@@ -149,10 +149,10 @@ export class NgSelectControlValueAccessor {
|
|
|
149
149
|
this._disabledInitializedSubscription = null;
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
153
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectControlValueAccessor, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
153
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: NgSelectControlValueAccessor, isStandalone: true, selector: "ng-select[formControlName],ng-select[formControl],ng-select[ngModel]", providers: [NG_SELECT_VALUE_ACCESSOR], ngImport: i0 }); }
|
|
154
154
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectControlValueAccessor, decorators: [{
|
|
156
156
|
type: Directive,
|
|
157
157
|
args: [{
|
|
158
158
|
selector: 'ng-select[formControlName],ng-select[formControl],ng-select[ngModel]',
|
|
@@ -35,10 +35,10 @@ export class PluginBus {
|
|
|
35
35
|
*/
|
|
36
36
|
this.updateDisplayedValue = new EventEmitter();
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PluginBus, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PluginBus }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: PluginBus, decorators: [{
|
|
42
42
|
type: Injectable
|
|
43
43
|
}] });
|
|
44
44
|
//# sourceMappingURL=pluginBus.js.map
|
|
@@ -22,8 +22,8 @@ import * as i0 from "@angular/core";
|
|
|
22
22
|
* Module for select and its options
|
|
23
23
|
*/
|
|
24
24
|
export class NgSelectModule {
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
26
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: NgSelectModule, declarations: [OptionComponent,
|
|
27
27
|
OptGroupComponent,
|
|
28
28
|
NgSelectComponent,
|
|
29
29
|
BasicPopupComponent,
|
|
@@ -47,10 +47,10 @@ export class NgSelectModule {
|
|
|
47
47
|
NgSelectAbsoluteDirective,
|
|
48
48
|
NgSelectControlValueAccessor,
|
|
49
49
|
NgSelectPlaceholderDirective] }); }
|
|
50
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
50
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectModule, imports: [CommonModule,
|
|
51
51
|
CommonDynamicModule] }); }
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectModule, decorators: [{
|
|
54
54
|
type: NgModule,
|
|
55
55
|
args: [{
|
|
56
56
|
imports: [
|
|
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* Module for select and its options, allows use of dynamic value handler
|
|
6
6
|
*/
|
|
7
7
|
export class NgSelectDynamicModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: NgSelectDynamicModule, declarations: [DynamicValueHandlerComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectDynamicModule }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectDynamicModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [
|
|
@@ -11,8 +11,8 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
* Module for select with editation and tags (jira like select)
|
|
12
12
|
*/
|
|
13
13
|
export class NgSelectEditModule {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: NgSelectEditModule, declarations: [EditNormalStateComponent,
|
|
16
16
|
EditLiveSearchComponent,
|
|
17
17
|
EditPopupComponent,
|
|
18
18
|
EditKeyboardHandlerComponent], imports: [CommonModule,
|
|
@@ -22,10 +22,10 @@ export class NgSelectEditModule {
|
|
|
22
22
|
EditLiveSearchComponent,
|
|
23
23
|
EditPopupComponent,
|
|
24
24
|
EditKeyboardHandlerComponent] }); }
|
|
25
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
25
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectEditModule, imports: [CommonModule,
|
|
26
26
|
NgSelectModule] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectEditModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
|
@@ -13,10 +13,10 @@ export class NgSelectHasValuePipe {
|
|
|
13
13
|
transform(options) {
|
|
14
14
|
return !(isBlank(options) || (Array.isArray(options) && !options.length));
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectHasValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: NgSelectHasValuePipe, isStandalone: true, name: "ngSelectHasValue" }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectHasValuePipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{ name: 'ngSelectHasValue' }]
|
|
22
22
|
}] });
|
|
@@ -21,10 +21,10 @@ export class NgSelectValuePipe {
|
|
|
21
21
|
}
|
|
22
22
|
return optionDisplayText(options);
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
25
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: NgSelectValuePipe, isStandalone: true, name: "ngSelectValue" }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NgSelectValuePipe, decorators: [{
|
|
28
28
|
type: Pipe,
|
|
29
29
|
args: [{ name: 'ngSelectValue' }]
|
|
30
30
|
}] });
|
|
@@ -119,10 +119,10 @@ export class BasicKeyboardHandlerComponent {
|
|
|
119
119
|
*/
|
|
120
120
|
invalidateVisuals() {
|
|
121
121
|
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: BasicKeyboardHandlerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: KEYBOARD_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: BasicKeyboardHandlerComponent, isStandalone: false, selector: "ng-basic-keyboard-handler", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: BasicKeyboardHandlerComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{
|
|
128
128
|
selector: 'ng-basic-keyboard-handler',
|
|
@@ -170,10 +170,10 @@ export class EditKeyboardHandlerComponent {
|
|
|
170
170
|
*/
|
|
171
171
|
invalidateVisuals() {
|
|
172
172
|
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
174
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
173
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: EditKeyboardHandlerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: KEYBOARD_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
174
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: EditKeyboardHandlerComponent, isStandalone: false, selector: "ng-edit-keyboard-handler", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
175
175
|
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: EditKeyboardHandlerComponent, decorators: [{
|
|
177
177
|
type: Component,
|
|
178
178
|
args: [{
|
|
179
179
|
selector: 'ng-edit-keyboard-handler',
|
|
@@ -72,8 +72,6 @@ export class BasicLiveSearchComponent {
|
|
|
72
72
|
ngOnDestroy() {
|
|
73
73
|
this._visibilityChangeSubscription?.unsubscribe();
|
|
74
74
|
this._visibilityChangeSubscription = null;
|
|
75
|
-
this._textsChangedSubscription?.unsubscribe();
|
|
76
|
-
this._textsChangedSubscription = null;
|
|
77
75
|
this._liveSearchFocusSubscription?.unsubscribe();
|
|
78
76
|
this._liveSearchFocusSubscription = null;
|
|
79
77
|
}
|
|
@@ -82,7 +80,6 @@ export class BasicLiveSearchComponent {
|
|
|
82
80
|
* Initialize plugin, to be ready to use, initialize communication with other plugins
|
|
83
81
|
*/
|
|
84
82
|
initialize() {
|
|
85
|
-
this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());
|
|
86
83
|
const popup = this.ngSelectPlugins[POPUP];
|
|
87
84
|
if (this._popup && this._popup != popup) {
|
|
88
85
|
this._visibilityChangeSubscription.unsubscribe();
|
|
@@ -132,14 +129,14 @@ export class BasicLiveSearchComponent {
|
|
|
132
129
|
*/
|
|
133
130
|
_initTexts() {
|
|
134
131
|
Object.keys(this.options.texts).forEach(key => {
|
|
135
|
-
this.texts[key] = this._stringLocalization.get(this.options.texts[key]);
|
|
132
|
+
this.texts[key] = this._stringLocalization.get(this.options.texts[key])();
|
|
136
133
|
});
|
|
137
134
|
this._changeDetector.detectChanges();
|
|
138
135
|
}
|
|
139
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: BasicLiveSearchComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: LIVE_SEARCH_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: BasicLiveSearchComponent, isStandalone: false, selector: "ng-basic-live-search", viewQueries: [{ propertyName: "liveSearchElementChild", first: true, predicate: ["liveSearchElement"], descendants: true }, { propertyName: "inputElementChild", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>", styles: [".wrapper-div\r\n{\r\n padding: 4px;\r\n border-bottom: 1px solid #666;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.form-control\r\n{\r\n width: 100%;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
141
138
|
}
|
|
142
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: BasicLiveSearchComponent, decorators: [{
|
|
143
140
|
type: Component,
|
|
144
141
|
args: [{ selector: 'ng-basic-live-search', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>", styles: [".wrapper-div\r\n{\r\n padding: 4px;\r\n border-bottom: 1px solid #666;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.form-control\r\n{\r\n width: 100%;\r\n}"] }]
|
|
145
142
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.ts","../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common/extend';\nimport {Subscription} from 'rxjs';\n\nimport {BasicLiveSearchOptions, BasicLiveSearch} from './basicLiveSearch.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LiveSearchTexts} from '../liveSearch.interface';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: BasicLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'wrapper-div',\n input: 'form-control'\n },\n texts:\n {\n inputPlaceholder: 'Filter options'\n },\n keepSearchValue: false\n};\n\n/**\n * Component used for obtaining basic live search html element\n */\n@Component(\n{\n selector: 'ng-basic-live-search',\n templateUrl: 'basicLiveSearch.component.html',\n styleUrl: 'basicLiveSearch.component.css',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicLiveSearchComponent implements BasicLiveSearch, NgSelectPlugin<BasicLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup used in NgSelect\n */\n protected _popup: Popup;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Subscription for changes of popup visibility\n */\n protected _visibilityChangeSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: BasicLiveSearchOptions;\n\n //######################### public properties - implementation of BasicLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: BasicLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: BasicLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._visibilityChangeSubscription?.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n }\n\n //######################### public methods - implementation of BasicLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._visibilityChangeSubscription.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n\n this._visibilityChangeSubscription = this._popup.visibilityChange.subscribe(() =>\n {\n if(!this.options.keepSearchValue)\n {\n this.handleInput('');\n\n this._changeDetector.detectChanges();\n }\n });\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @internal\n */\n public handleInput(value: string)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n}\n","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>"]}
|
|
1
|
+
{"version":3,"file":"basicLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.ts","../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common/extend';\nimport {Subscription} from 'rxjs';\n\nimport {BasicLiveSearchOptions, BasicLiveSearch} from './basicLiveSearch.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LiveSearchTexts} from '../liveSearch.interface';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: BasicLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'wrapper-div',\n input: 'form-control'\n },\n texts:\n {\n inputPlaceholder: 'Filter options'\n },\n keepSearchValue: false\n};\n\n/**\n * Component used for obtaining basic live search html element\n */\n@Component(\n{\n selector: 'ng-basic-live-search',\n templateUrl: 'basicLiveSearch.component.html',\n styleUrl: 'basicLiveSearch.component.css',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicLiveSearchComponent implements BasicLiveSearch, NgSelectPlugin<BasicLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup used in NgSelect\n */\n protected _popup: Popup;\n\n /**\n * Subscription for changes of popup visibility\n */\n protected _visibilityChangeSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: BasicLiveSearchOptions;\n\n //######################### public properties - implementation of BasicLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: BasicLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: BasicLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._visibilityChangeSubscription?.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n }\n\n //######################### public methods - implementation of BasicLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._visibilityChangeSubscription.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n\n this._visibilityChangeSubscription = this._popup.visibilityChange.subscribe(() =>\n {\n if(!this.options.keepSearchValue)\n {\n this.handleInput('');\n\n this._changeDetector.detectChanges();\n }\n });\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @internal\n */\n public handleInput(value: string)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts])();\n });\n\n this._changeDetector.detectChanges();\n }\n}\n","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>"]}
|
|
@@ -88,8 +88,6 @@ export class EditLiveSearchComponent {
|
|
|
88
88
|
ngOnDestroy() {
|
|
89
89
|
this._optionsChangeSubscription?.unsubscribe();
|
|
90
90
|
this._optionsChangeSubscription = null;
|
|
91
|
-
this._textsChangedSubscription?.unsubscribe();
|
|
92
|
-
this._textsChangedSubscription = null;
|
|
93
91
|
this._valueChangedSubscription?.unsubscribe();
|
|
94
92
|
this._valueChangedSubscription = null;
|
|
95
93
|
this._liveSearchFocusSubscription?.unsubscribe();
|
|
@@ -102,7 +100,6 @@ export class EditLiveSearchComponent {
|
|
|
102
100
|
* Initialize plugin, to be ready to use, initialize communication with other plugins
|
|
103
101
|
*/
|
|
104
102
|
initialize() {
|
|
105
|
-
this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());
|
|
106
103
|
if (this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer) {
|
|
107
104
|
this._optionsChangeSubscription.unsubscribe();
|
|
108
105
|
this._optionsChangeSubscription = null;
|
|
@@ -262,7 +259,7 @@ export class EditLiveSearchComponent {
|
|
|
262
259
|
*/
|
|
263
260
|
_initTexts() {
|
|
264
261
|
Object.keys(this.options.texts).forEach(key => {
|
|
265
|
-
this.texts[key] = this._stringLocalization.get(this.options.texts[key]);
|
|
262
|
+
this.texts[key] = this._stringLocalization.get(this.options.texts[key])();
|
|
266
263
|
});
|
|
267
264
|
this._changeDetector.detectChanges();
|
|
268
265
|
}
|
|
@@ -285,10 +282,10 @@ export class EditLiveSearchComponent {
|
|
|
285
282
|
selectedOptions[selectedOptions.length - 1].active = true;
|
|
286
283
|
}
|
|
287
284
|
}
|
|
288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
289
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
285
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: EditLiveSearchComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: LIVE_SEARCH_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
286
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: EditLiveSearchComponent, isStandalone: false, selector: "ng-edit-live-search", viewQueries: [{ propertyName: "liveSearchElementChild", first: true, predicate: ["liveSearchElement"], descendants: true }, { propertyName: "inputElementChild", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>", styles: [".edit-wrapper-div\r\n{\r\n width: 100%;\r\n}\r\n\r\n.edit-control\r\n{\r\n padding: 4px;\r\n height: 26px;\r\n width: 100%;\r\n border: none;\r\n outline: none;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
290
287
|
}
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
288
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: EditLiveSearchComponent, decorators: [{
|
|
292
289
|
type: Component,
|
|
293
290
|
args: [{ selector: 'ng-edit-live-search', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>", styles: [".edit-wrapper-div\r\n{\r\n width: 100%;\r\n}\r\n\r\n.edit-control\r\n{\r\n padding: 4px;\r\n height: 26px;\r\n width: 100%;\r\n border: none;\r\n outline: none;\r\n}"] }]
|
|
294
291
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.ts","../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {isPresent} from '@jscrpt/common';\nimport {extend} from '@jscrpt/common/extend';\nimport {Subscription} from 'rxjs';\n\nimport {EditLiveSearchOptions, EditLiveSearch} from './editLiveSearch.interface';\nimport {NgSelectPlugin, OptionsGatherer} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {ValueHandler} from '../../valueHandler';\nimport {VALUE_HANDLER} from '../../valueHandler/types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {LiveSearchTexts} from '../liveSearch.interface';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: EditLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'edit-wrapper-div',\n input: 'edit-control'\n },\n texts:\n {\n inputPlaceholder: 'Select item'\n\n },\n keepSearchValue: false,\n nonExistingCancel: false,\n emptyCancel: false\n};\n\n/**\n * Component used for obtaining edit live search html element\n */\n@Component(\n{\n selector: 'ng-edit-live-search',\n templateUrl: 'editLiveSearch.component.html',\n styleUrl: 'editLiveSearch.component.css',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditLiveSearchComponent implements EditLiveSearch, NgSelectPlugin<EditLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup plugin used within `NgSelect`\n */\n protected _popup: Popup;\n\n /**\n * Value handler plugin used within `NgSelect`\n */\n protected _valueHandler: ValueHandler;\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected _optionsGatherer: OptionsGatherer;\n\n /**\n * Subscription for changes of options in options gatherer\n */\n protected _optionsChangeSubscription: Subscription;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Subscription for changes of selected value\n */\n protected _valueChangedSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Subscription for update displayed value request\n */\n protected _updateDisplayedValueSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: EditLiveSearchOptions;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of EditLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): EditLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: EditLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Current value that is displayed\n * @internal\n */\n public searchValueDisplayed: string = null;\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: EditLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._optionsChangeSubscription?.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._valueChangedSubscription?.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n\n this._updateDisplayedValueSubscription?.unsubscribe();\n this._updateDisplayedValueSubscription = null;\n }\n\n //######################### public methods - implementation of EditLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n if(this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer)\n {\n this._optionsChangeSubscription.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._optionsGatherer = null;\n }\n\n if(!this._optionsGatherer)\n {\n this._optionsGatherer = this.pluginBus.selectOptions.optionsGatherer;\n\n this._optionsChangeSubscription = this._optionsGatherer.availableOptionsChange.subscribe(() =>\n {\n //do not change active if active is visible\n if(!this.pluginBus.selectOptions.optionsGatherer.availableOptions.find((option: ɵNgSelectOption) => option.active))\n {\n //only when input is filled at least with one char\n if(this.searchValue)\n {\n const option: ɵNgSelectOption = this.pluginBus.selectOptions.optionsGatherer.availableOptions.find(itm => this.pluginBus.selectOptions.liveSearchFilter(this.searchValue, this.pluginBus.selectOptions.normalizer)(itm));\n \n if(option)\n {\n this.pluginBus.selectOptions.optionsGatherer.options.forEach((option: ɵNgSelectOption) => option.active = false);\n option.active = true;\n this._popup.invalidateVisuals();\n }\n }\n //select first\n else\n {\n this._activateSelectedOrFirst();\n }\n }\n });\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n if(!this._updateDisplayedValueSubscription)\n {\n this._updateDisplayedValueSubscription = this.pluginBus.updateDisplayedValue.subscribe(() =>\n {\n this.handleBlur();\n });\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueChangedSubscription.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._valueHandler = null;\n }\n\n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n\n this._valueChangedSubscription = this._valueHandler.valueChange.subscribe(() =>\n {\n const selected = this._valueHandler.selectedOptions;\n\n if(!selected)\n {\n this.searchValueDisplayed = '';\n this.handleInput('');\n this._changeDetector.detectChanges();\n\n return;\n }\n\n //reset filtering of available options\n this.handleInput(null);\n\n if(Array.isArray(selected))\n {\n this.searchValueDisplayed = '';\n this.inputElementChild?.nativeElement.focus();\n this._changeDetector.detectChanges();\n }\n else\n {\n //set selected into live search\n this.searchValueDisplayed = selected.text;\n this._changeDetector.detectChanges();\n\n //select current text\n this.inputElementChild?.nativeElement.select();\n }\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @param inputChange - Indication that change was by input event of input\n * @internal\n */\n public handleInput(value: string, inputChange: boolean = false)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n\n if(inputChange)\n {\n this.pluginBus.showHidePopup.emit(true);\n this.searchValueDisplayed = value;\n\n //single value select\n if(!this.pluginBus.selectOptions.multiple)\n {\n //cancel value\n if(this._options.nonExistingCancel)\n {\n this._valueHandler.setValue(null);\n }\n //empty string cancels value\n else if(this._options.emptyCancel && isPresent(value) && !value.length)\n {\n this._valueHandler.setValue(null);\n }\n //otherwise keep last value\n }\n }\n }\n\n /**\n * Handles focus event\n * @param element - Element that got focus\n * @param show - Indication whether show popup\n * @internal\n */\n public handleFocus(element: HTMLInputElement, show: boolean = false)\n {\n element.select();\n\n this._activateSelectedOrFirst();\n\n if(show)\n {\n this.pluginBus.showHidePopup.emit(true);\n }\n\n this.pluginBus.focus.emit();\n }\n\n /**\n * Handles blur of live search\n */\n public handleBlur()\n {\n //not multiple and selected value\n if(!this.pluginBus.selectOptions.multiple)\n {\n //use selected text\n if(this._valueHandler.selectedOptions && !Array.isArray(this._valueHandler.selectedOptions))\n {\n this.searchValueDisplayed = this._valueHandler.selectedOptions.text;\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n\n //reset available options\n this.searchValue = null;\n this.searchValueChange.emit();\n this._changeDetector.detectChanges();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n\n /**\n * Activates first available option or selected option\n */\n protected _activateSelectedOrFirst()\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n const selectedOptions = this.availableOptions.filter(itm => itm.selected);\n\n //nothing active, nothing selected\n if(!activeOption && !selectedOptions.length)\n {\n const first = this.availableOptions[0];\n\n if(first)\n {\n first.active = true;\n }\n }\n //nothing active\n else if(!activeOption)\n {\n //last selected as sactive\n selectedOptions[selectedOptions.length - 1].active = true;\n }\n }\n}\n","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>"]}
|
|
1
|
+
{"version":3,"file":"editLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.ts","../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {isPresent} from '@jscrpt/common';\nimport {extend} from '@jscrpt/common/extend';\nimport {Subscription} from 'rxjs';\n\nimport {EditLiveSearchOptions, EditLiveSearch} from './editLiveSearch.interface';\nimport {NgSelectPlugin, OptionsGatherer} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {ValueHandler} from '../../valueHandler';\nimport {VALUE_HANDLER} from '../../valueHandler/types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {LiveSearchTexts} from '../liveSearch.interface';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: EditLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'edit-wrapper-div',\n input: 'edit-control'\n },\n texts:\n {\n inputPlaceholder: 'Select item'\n\n },\n keepSearchValue: false,\n nonExistingCancel: false,\n emptyCancel: false\n};\n\n/**\n * Component used for obtaining edit live search html element\n */\n@Component(\n{\n selector: 'ng-edit-live-search',\n templateUrl: 'editLiveSearch.component.html',\n styleUrl: 'editLiveSearch.component.css',\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditLiveSearchComponent implements EditLiveSearch, NgSelectPlugin<EditLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup plugin used within `NgSelect`\n */\n protected _popup: Popup;\n\n /**\n * Value handler plugin used within `NgSelect`\n */\n protected _valueHandler: ValueHandler;\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected _optionsGatherer: OptionsGatherer;\n\n /**\n * Subscription for changes of options in options gatherer\n */\n protected _optionsChangeSubscription: Subscription;\n\n /**\n * Subscription for changes of selected value\n */\n protected _valueChangedSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Subscription for update displayed value request\n */\n protected _updateDisplayedValueSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: EditLiveSearchOptions;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of EditLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): EditLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: EditLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Current value that is displayed\n * @internal\n */\n public searchValueDisplayed: string = null;\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: EditLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._optionsChangeSubscription?.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._valueChangedSubscription?.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n\n this._updateDisplayedValueSubscription?.unsubscribe();\n this._updateDisplayedValueSubscription = null;\n }\n\n //######################### public methods - implementation of EditLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n if(this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer)\n {\n this._optionsChangeSubscription.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._optionsGatherer = null;\n }\n\n if(!this._optionsGatherer)\n {\n this._optionsGatherer = this.pluginBus.selectOptions.optionsGatherer;\n\n this._optionsChangeSubscription = this._optionsGatherer.availableOptionsChange.subscribe(() =>\n {\n //do not change active if active is visible\n if(!this.pluginBus.selectOptions.optionsGatherer.availableOptions.find((option: ɵNgSelectOption) => option.active))\n {\n //only when input is filled at least with one char\n if(this.searchValue)\n {\n const option: ɵNgSelectOption = this.pluginBus.selectOptions.optionsGatherer.availableOptions.find(itm => this.pluginBus.selectOptions.liveSearchFilter(this.searchValue, this.pluginBus.selectOptions.normalizer)(itm));\n\n if(option)\n {\n this.pluginBus.selectOptions.optionsGatherer.options.forEach((option: ɵNgSelectOption) => option.active = false);\n option.active = true;\n this._popup.invalidateVisuals();\n }\n }\n //select first\n else\n {\n this._activateSelectedOrFirst();\n }\n }\n });\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n if(!this._updateDisplayedValueSubscription)\n {\n this._updateDisplayedValueSubscription = this.pluginBus.updateDisplayedValue.subscribe(() =>\n {\n this.handleBlur();\n });\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueChangedSubscription.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._valueHandler = null;\n }\n\n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n\n this._valueChangedSubscription = this._valueHandler.valueChange.subscribe(() =>\n {\n const selected = this._valueHandler.selectedOptions;\n\n if(!selected)\n {\n this.searchValueDisplayed = '';\n this.handleInput('');\n this._changeDetector.detectChanges();\n\n return;\n }\n\n //reset filtering of available options\n this.handleInput(null);\n\n if(Array.isArray(selected))\n {\n this.searchValueDisplayed = '';\n this.inputElementChild?.nativeElement.focus();\n this._changeDetector.detectChanges();\n }\n else\n {\n //set selected into live search\n this.searchValueDisplayed = selected.text;\n this._changeDetector.detectChanges();\n\n //select current text\n this.inputElementChild?.nativeElement.select();\n }\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @param inputChange - Indication that change was by input event of input\n * @internal\n */\n public handleInput(value: string, inputChange: boolean = false)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n\n if(inputChange)\n {\n this.pluginBus.showHidePopup.emit(true);\n this.searchValueDisplayed = value;\n\n //single value select\n if(!this.pluginBus.selectOptions.multiple)\n {\n //cancel value\n if(this._options.nonExistingCancel)\n {\n this._valueHandler.setValue(null);\n }\n //empty string cancels value\n else if(this._options.emptyCancel && isPresent(value) && !value.length)\n {\n this._valueHandler.setValue(null);\n }\n //otherwise keep last value\n }\n }\n }\n\n /**\n * Handles focus event\n * @param element - Element that got focus\n * @param show - Indication whether show popup\n * @internal\n */\n public handleFocus(element: HTMLInputElement, show: boolean = false)\n {\n element.select();\n\n this._activateSelectedOrFirst();\n\n if(show)\n {\n this.pluginBus.showHidePopup.emit(true);\n }\n\n this.pluginBus.focus.emit();\n }\n\n /**\n * Handles blur of live search\n */\n public handleBlur()\n {\n //not multiple and selected value\n if(!this.pluginBus.selectOptions.multiple)\n {\n //use selected text\n if(this._valueHandler.selectedOptions && !Array.isArray(this._valueHandler.selectedOptions))\n {\n this.searchValueDisplayed = this._valueHandler.selectedOptions.text;\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n\n //reset available options\n this.searchValue = null;\n this.searchValueChange.emit();\n this._changeDetector.detectChanges();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts])();\n });\n\n this._changeDetector.detectChanges();\n }\n\n /**\n * Activates first available option or selected option\n */\n protected _activateSelectedOrFirst()\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n const selectedOptions = this.availableOptions.filter(itm => itm.selected);\n\n //nothing active, nothing selected\n if(!activeOption && !selectedOptions.length)\n {\n const first = this.availableOptions[0];\n\n if(first)\n {\n first.active = true;\n }\n }\n //nothing active\n else if(!activeOption)\n {\n //last selected as sactive\n selectedOptions[selectedOptions.length - 1].active = true;\n }\n }\n}\n","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>"]}
|
|
@@ -42,10 +42,10 @@ export class NoLiveSearchComponent {
|
|
|
42
42
|
*/
|
|
43
43
|
invalidateVisuals() {
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NoLiveSearchComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: NoLiveSearchComponent, isStandalone: false, selector: "ng-no-live-search", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: NoLiveSearchComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: 'ng-no-live-search',
|
|
@@ -33,10 +33,10 @@ export class BasicNormalStateComponent extends NormalStateAbstractComponent {
|
|
|
33
33
|
super(ngSelectPlugins, pluginBus, pluginElement, changeDetector, stringLocalization);
|
|
34
34
|
this._options = extend(true, {}, defaultOptions, options);
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: BasicNormalStateComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: NORMAL_STATE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: BasicNormalStateComponent, isStandalone: false, selector: "div.normal-state", usesInheritance: true, ngImport: i0, template: "<ng-template #defaultLook>{{valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</ng-template>\r\n\r\n<button [ngClass]=\"options?.cssClasses?.normalStateElement\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus.emit()\" (focus)=\"pluginBus?.focus?.emit()\" [disabled]=\"!!pluginBus?.selectOptions?.readonly\" type=\"button\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedValue\"><ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.normalStateTemplate || defaultLook; context: {$implicit: this}\"></ng-container></span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n</button>", styles: ["button.btn-select\r\n{\r\n display: flex;\r\n width: 100%;\r\n padding: 5px 0px 4px 6px;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n}\r\n\r\nbutton.btn-select:hover\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\nbutton.btn-select:active\r\n{\r\n box-shadow: 0 0 5px -1px #888888 inset;\r\n}\r\n\r\nbutton.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\nbutton.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n align-self: center;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.NgSelectValuePipe, name: "ngSelectValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: BasicNormalStateComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'div.normal-state', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #defaultLook>{{valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</ng-template>\r\n\r\n<button [ngClass]=\"options?.cssClasses?.normalStateElement\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus.emit()\" (focus)=\"pluginBus?.focus?.emit()\" [disabled]=\"!!pluginBus?.selectOptions?.readonly\" type=\"button\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedValue\"><ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.normalStateTemplate || defaultLook; context: {$implicit: this}\"></ng-container></span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n</button>", styles: ["button.btn-select\r\n{\r\n display: flex;\r\n width: 100%;\r\n padding: 5px 0px 4px 6px;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n}\r\n\r\nbutton.btn-select:hover\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\nbutton.btn-select:active\r\n{\r\n box-shadow: 0 0 5px -1px #888888 inset;\r\n}\r\n\r\nbutton.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\nbutton.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n align-self: center;\r\n}"] }]
|
|
42
42
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -63,10 +63,10 @@ export class EditNormalStateComponent extends NormalStateAbstractComponent {
|
|
|
63
63
|
}
|
|
64
64
|
this.pluginBus.updateDisplayedValue.emit();
|
|
65
65
|
}
|
|
66
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
67
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: EditNormalStateComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: NORMAL_STATE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: EditNormalStateComponent, isStandalone: false, selector: "div.edit-normal-state", usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"options?.cssClasses?.normalStateElement\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <ng-template [ngIf]=\"pluginBus.selectOptions.multiple\">\r\n <div *ngFor=\"let option of selectedOptions\" [ngClass]=\"options?.cssClasses?.selectedMultiValueContainer\">\r\n <span>{{option | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedMultiValueCancel\"\r\n (click)=\"pluginBus.optionCancel.emit(option)\">x</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"options?.cancelButton && (valueHandler?.selectedOptions | ngSelectHasValue)\"\r\n (click)=\"cancelSelected()\"\r\n [ngClass]=\"options?.cssClasses?.cancelSelectedElement\"></div>\r\n\r\n <div [ngClass]=\"options?.cssClasses?.selectedCarretWrapper\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus?.emit()\" *ngIf=\"options?.showOptionsButton\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n </div>\r\n</div>", styles: ["div.btn-select\r\n{\r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n padding: 0;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n cursor: default;\r\n}\r\n\r\ndiv.btn-select:hover .selected-caret\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\ndiv.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\ndiv.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: row;\r\n cursor: pointer;\r\n}\r\n\r\n.selected-multi-value\r\n{\r\n align-self: center;\r\n padding: 1px 4px;\r\n border-radius: 4px;\r\n margin-left: 3px;\r\n margin-right: 3px;\r\n background: #BBB;\r\n}\r\n\r\n.selected-multi-value-cancel\r\n{\r\n margin-left: 4px;\r\n}\r\n\r\n.selected-multi-value-cancel:hover\r\n{\r\n opacity: 0.7;\r\n cursor: pointer;\r\n}\r\n\r\n.cancel-selected\r\n{\r\n cursor: pointer;\r\n align-self: center;\r\n padding: 2px;\r\n}\r\n\r\n.cancel-selected:hover\r\n{\r\n opacity: 0.7;\r\n}\r\n\r\n.cancel-selected:before \r\n{\r\n content: \"\\f00d\"; \r\n} "], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.NgSelectValuePipe, name: "ngSelectValue" }, { kind: "pipe", type: i4.NgSelectHasValuePipe, name: "ngSelectHasValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
68
|
}
|
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: EditNormalStateComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
71
71
|
args: [{ selector: 'div.edit-normal-state', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"options?.cssClasses?.normalStateElement\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <ng-template [ngIf]=\"pluginBus.selectOptions.multiple\">\r\n <div *ngFor=\"let option of selectedOptions\" [ngClass]=\"options?.cssClasses?.selectedMultiValueContainer\">\r\n <span>{{option | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedMultiValueCancel\"\r\n (click)=\"pluginBus.optionCancel.emit(option)\">x</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"options?.cancelButton && (valueHandler?.selectedOptions | ngSelectHasValue)\"\r\n (click)=\"cancelSelected()\"\r\n [ngClass]=\"options?.cssClasses?.cancelSelectedElement\"></div>\r\n\r\n <div [ngClass]=\"options?.cssClasses?.selectedCarretWrapper\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus?.emit()\" *ngIf=\"options?.showOptionsButton\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n </div>\r\n</div>", styles: ["div.btn-select\r\n{\r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n padding: 0;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n cursor: default;\r\n}\r\n\r\ndiv.btn-select:hover .selected-caret\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\ndiv.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\ndiv.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: row;\r\n cursor: pointer;\r\n}\r\n\r\n.selected-multi-value\r\n{\r\n align-self: center;\r\n padding: 1px 4px;\r\n border-radius: 4px;\r\n margin-left: 3px;\r\n margin-right: 3px;\r\n background: #BBB;\r\n}\r\n\r\n.selected-multi-value-cancel\r\n{\r\n margin-left: 4px;\r\n}\r\n\r\n.selected-multi-value-cancel:hover\r\n{\r\n opacity: 0.7;\r\n cursor: pointer;\r\n}\r\n\r\n.cancel-selected\r\n{\r\n cursor: pointer;\r\n align-self: center;\r\n padding: 2px;\r\n}\r\n\r\n.cancel-selected:hover\r\n{\r\n opacity: 0.7;\r\n}\r\n\r\n.cancel-selected:before \r\n{\r\n content: \"\\f00d\"; \r\n} "] }]
|
|
72
72
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|