@ruc-lib/multi-select 2.0.1
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/README.md +97 -0
- package/esm2020/index.mjs +5 -0
- package/esm2020/lib/animations/animations.mjs +30 -0
- package/esm2020/lib/directives/clickOutside.directive.mjs +31 -0
- package/esm2020/lib/interfaces/multiSelectDefault.mjs +2 -0
- package/esm2020/lib/model/ruc-multi-select.model.mjs +11 -0
- package/esm2020/lib/pipes/filter.pipe.mjs +28 -0
- package/esm2020/lib/pipes/sort.pipe.mjs +38 -0
- package/esm2020/lib/ruclib-multi-select/ruclib-multi-select.component.mjs +361 -0
- package/esm2020/lib/ruclib-multi-select.module.mjs +72 -0
- package/esm2020/ruc-lib-multi-select.mjs +5 -0
- package/fesm2015/ruc-lib-multi-select.mjs +557 -0
- package/fesm2015/ruc-lib-multi-select.mjs.map +1 -0
- package/fesm2020/ruc-lib-multi-select.mjs +558 -0
- package/fesm2020/ruc-lib-multi-select.mjs.map +1 -0
- package/index.d.ts +4 -0
- package/lib/animations/animations.d.ts +1 -0
- package/lib/directives/clickOutside.directive.d.ts +10 -0
- package/lib/interfaces/multiSelectDefault.d.ts +64 -0
- package/lib/model/ruc-multi-select.model.d.ts +9 -0
- package/lib/pipes/filter.pipe.d.ts +7 -0
- package/lib/pipes/sort.pipe.d.ts +9 -0
- package/lib/ruclib-multi-select/ruclib-multi-select.component.d.ts +118 -0
- package/lib/ruclib-multi-select.module.d.ts +20 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# ruclib-multi-select
|
|
2
|
+
|
|
3
|
+
Multi Select box gives user flexibility to select multiple or single select options. It also used as parent child selection. Options are dynamic. Below points are configurable.
|
|
4
|
+
|
|
5
|
+
# Features
|
|
6
|
+
- Can be a single or multi select.
|
|
7
|
+
- Set a limit on selections
|
|
8
|
+
- Disable the whole select box at once.
|
|
9
|
+
- Can change appearance
|
|
10
|
+
- Maximum height of dropdown box.
|
|
11
|
+
- Maximum height of options box.
|
|
12
|
+
- Sort element by enabling sortBy.
|
|
13
|
+
- Can customize the theme.
|
|
14
|
+
|
|
15
|
+
# Installation guide
|
|
16
|
+
|
|
17
|
+
# Install complete library
|
|
18
|
+
|
|
19
|
+
`npm install @uxpractice/ruc-lib`
|
|
20
|
+
|
|
21
|
+
# Install individual component
|
|
22
|
+
|
|
23
|
+
If users only need the multi select component, they can install it separately
|
|
24
|
+
`npm install @ruc-lib/multi-select`
|
|
25
|
+
|
|
26
|
+
# Usage
|
|
27
|
+
|
|
28
|
+
# import required modules
|
|
29
|
+
|
|
30
|
+
for library
|
|
31
|
+
`import { RuclibMultiSelectModule } from '@uxpractice/ruc-lib/multi-select'`
|
|
32
|
+
|
|
33
|
+
for seperate package
|
|
34
|
+
`import { RuclibMultiSelectModule } from '@ruc-lib/multi-select'`
|
|
35
|
+
|
|
36
|
+
# use component selector
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
<uxp-ruclib-multi-select [dataSource]="dataSourceForMultiSelectData" [rucInputData]="inputObjectDataMulti" [customTheme]="customTheme" (rucEvent)="passEvent($event)"></uxp-ruclib-multi-select>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
# Input and Output
|
|
43
|
+
|
|
44
|
+
# Inputs
|
|
45
|
+
dataSource -> It is data to be passed in the multi-select component.
|
|
46
|
+
|
|
47
|
+
rucInputData -> It is the configuration to be passed in the multi-select component.
|
|
48
|
+
|
|
49
|
+
customTheme -> It is the name of the theme.
|
|
50
|
+
|
|
51
|
+
# Output
|
|
52
|
+
|
|
53
|
+
rucEvent -> is the event which will be fired when selection changes happens in multi-select.
|
|
54
|
+
|
|
55
|
+
# rucInputData (sample object)
|
|
56
|
+
|
|
57
|
+
# Detail definition of the each property can be found in type definition file.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
dataSourceForMultiSelectData = {
|
|
61
|
+
singleSelection: false,
|
|
62
|
+
label: 'Cities',
|
|
63
|
+
showSelectAll: true,
|
|
64
|
+
showSelected: true,
|
|
65
|
+
appearance: 'outline',
|
|
66
|
+
scroll: true,
|
|
67
|
+
placeholder: 'Search or select from dropdown',
|
|
68
|
+
//limit : 5,
|
|
69
|
+
maxDropdownHeight: 200 /** height in px */,
|
|
70
|
+
// inputbox properties
|
|
71
|
+
// width: 100,
|
|
72
|
+
/** width in % */
|
|
73
|
+
maxHeight: 150 /** width in px */,
|
|
74
|
+
disabled: false,
|
|
75
|
+
//sort object
|
|
76
|
+
sortBy: 'id',
|
|
77
|
+
sortOrder: 'desc',
|
|
78
|
+
};
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
# rucInputData (sample object)
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
inputObjectDataMulti = {
|
|
85
|
+
{ text: 'Afghanistan', id: 'AF', isDisable: true },
|
|
86
|
+
{ text: 'Åland Islands', id: 'AX', isDisable: false },
|
|
87
|
+
{ text: 'Albania', id: 'AL', isDisable: false },
|
|
88
|
+
{ text: 'Algeria', id: 'DZ', isDisable: false },
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# Contribution
|
|
94
|
+
Contributions are welcome! Feel free to open issues or pull requests for any enhancements or fixes.
|
|
95
|
+
|
|
96
|
+
# Acknowledgements
|
|
97
|
+
Thank you for choosing the Multi Select Component Library. If you have any feedback or suggestions, please let us know!
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './lib/ruclib-multi-select.module';
|
|
2
|
+
export * from './lib/ruclib-multi-select/ruclib-multi-select.component';
|
|
3
|
+
export * from './lib/model/ruc-multi-select.model';
|
|
4
|
+
export * from './lib/interfaces/multiSelectDefault';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3J1Y2xpYi1tdWx0aS1zZWxlY3QubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcnVjbGliLW11bHRpLXNlbGVjdC9ydWNsaWItbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL3J1Yy1tdWx0aS1zZWxlY3QubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL211bHRpU2VsZWN0RGVmYXVsdCc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { animate, query, sequence, stagger, style, transition, trigger } from "@angular/animations";
|
|
2
|
+
export const DropDownAnimation = trigger("dropDownMenu", [
|
|
3
|
+
transition(":enter", [
|
|
4
|
+
style({ height: 0, overflow: "hidden" }),
|
|
5
|
+
query(".option", [
|
|
6
|
+
style({ opacity: 0, transform: "translateY(-50px)" })
|
|
7
|
+
]),
|
|
8
|
+
sequence([
|
|
9
|
+
animate("400ms", style({ height: "*" })),
|
|
10
|
+
query(".option", [
|
|
11
|
+
stagger(50, [
|
|
12
|
+
animate("200ms ease", style({ opacity: 1, transform: "none" }))
|
|
13
|
+
])
|
|
14
|
+
])
|
|
15
|
+
])
|
|
16
|
+
]),
|
|
17
|
+
transition(":leave", [
|
|
18
|
+
style({ height: "*", overflow: "hidden" }),
|
|
19
|
+
query(".option", [style({ opacity: 1, transform: "none" })]),
|
|
20
|
+
sequence([
|
|
21
|
+
query(".option", [
|
|
22
|
+
stagger(-10, [
|
|
23
|
+
animate("400ms ease", style({ opacity: 0, transform: "translateY(-50px)" }))
|
|
24
|
+
])
|
|
25
|
+
]),
|
|
26
|
+
animate("400ms", style({ height: 0 }))
|
|
27
|
+
])
|
|
28
|
+
])
|
|
29
|
+
]);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYW5pbWF0aW9ucy9hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFFBQVEsRUFDUixPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFO0lBQ3ZELFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDbkIsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDeEMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNmLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7U0FDdEQsQ0FBQztRQUNGLFFBQVEsQ0FBQztZQUNQLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDeEMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDZixPQUFPLENBQUMsRUFBRSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztpQkFDaEUsQ0FBQzthQUNILENBQUM7U0FDSCxDQUFDO0tBQ0gsQ0FBQztJQUVGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDbkIsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDMUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1RCxRQUFRLENBQUM7WUFDUCxLQUFLLENBQUMsU0FBUyxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDWCxPQUFPLENBQ0wsWUFBWSxFQUNaLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FDdEQ7aUJBQ0YsQ0FBQzthQUNILENBQUM7WUFDRixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZDLENBQUM7S0FDSCxDQUFDO0NBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIGFuaW1hdGUsXHJcbiAgICBxdWVyeSxcclxuICAgIHNlcXVlbmNlLFxyXG4gICAgc3RhZ2dlcixcclxuICAgIHN0eWxlLFxyXG4gICAgdHJhbnNpdGlvbixcclxuICAgIHRyaWdnZXJcclxuICB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbiAgXHJcbiAgZXhwb3J0IGNvbnN0IERyb3BEb3duQW5pbWF0aW9uID0gdHJpZ2dlcihcImRyb3BEb3duTWVudVwiLCBbXHJcbiAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcclxuICAgICAgc3R5bGUoeyBoZWlnaHQ6IDAsIG92ZXJmbG93OiBcImhpZGRlblwiIH0pLFxyXG4gICAgICBxdWVyeShcIi5vcHRpb25cIiwgW1xyXG4gICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoLTUwcHgpXCIgfSlcclxuICAgICAgXSksXHJcbiAgICAgIHNlcXVlbmNlKFtcclxuICAgICAgICBhbmltYXRlKFwiNDAwbXNcIiwgc3R5bGUoeyBoZWlnaHQ6IFwiKlwiIH0pKSxcclxuICAgICAgICBxdWVyeShcIi5vcHRpb25cIiwgW1xyXG4gICAgICAgICAgc3RhZ2dlcig1MCwgW1xyXG4gICAgICAgICAgICBhbmltYXRlKFwiMjAwbXMgZWFzZVwiLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogXCJub25lXCIgfSkpXHJcbiAgICAgICAgICBdKVxyXG4gICAgICAgIF0pXHJcbiAgICAgIF0pXHJcbiAgICBdKSxcclxuICBcclxuICAgIHRyYW5zaXRpb24oXCI6bGVhdmVcIiwgW1xyXG4gICAgICBzdHlsZSh7IGhlaWdodDogXCIqXCIsIG92ZXJmbG93OiBcImhpZGRlblwiIH0pLFxyXG4gICAgICBxdWVyeShcIi5vcHRpb25cIiwgW3N0eWxlKHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiBcIm5vbmVcIiB9KV0pLFxyXG4gICAgICBzZXF1ZW5jZShbXHJcbiAgICAgICAgcXVlcnkoXCIub3B0aW9uXCIsIFtcclxuICAgICAgICAgIHN0YWdnZXIoLTEwLCBbXHJcbiAgICAgICAgICAgIGFuaW1hdGUoXHJcbiAgICAgICAgICAgICAgXCI0MDBtcyBlYXNlXCIsXHJcbiAgICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgtNTBweClcIiB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICBdKVxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIGFuaW1hdGUoXCI0MDBtc1wiLCBzdHlsZSh7IGhlaWdodDogMCB9KSlcclxuICAgICAgXSlcclxuICAgIF0pXHJcbiAgXSk7XHJcbiAgIl19
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Directive, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ClickOutsideDirective {
|
|
4
|
+
constructor(_elementRef) {
|
|
5
|
+
this._elementRef = _elementRef;
|
|
6
|
+
this.clickOutside = new EventEmitter();
|
|
7
|
+
}
|
|
8
|
+
onClick(event, targetElement) {
|
|
9
|
+
if (!targetElement) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const clickedInside = this._elementRef.nativeElement.contains(targetElement);
|
|
13
|
+
if (!clickedInside) {
|
|
14
|
+
this.clickOutside.emit(event);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event,$event.target)" } }, ngImport: i0 });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
21
|
+
type: Directive,
|
|
22
|
+
args: [{
|
|
23
|
+
selector: '[clickOutside]'
|
|
24
|
+
}]
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
|
|
26
|
+
type: Output
|
|
27
|
+
}], onClick: [{
|
|
28
|
+
type: HostListener,
|
|
29
|
+
args: ['document:click', ['$event', '$event.target']]
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2tPdXRzaWRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZGlyZWN0aXZlcy9jbGlja091dHNpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUt4RixNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBSXBDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUhyRCxDQUFDO0lBTU0sT0FBTyxDQUFDLEtBQWlCLEVBQUUsYUFBMEI7UUFDeEQsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixPQUFPO1NBQ1Y7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqQztJQUNMLENBQUM7O21IQWpCUSxxQkFBcUI7dUdBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCO2lHQU1VLFlBQVk7c0JBRGxCLE1BQU07Z0JBSUEsT0FBTztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuICAgIFxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2NsaWNrT3V0c2lkZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGlja091dHNpZGVEaXJlY3RpdmUge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGNsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcclxuICAgIHB1YmxpYyBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGFyZ2V0RWxlbWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xyXG4gICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlTZWxlY3REZWZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9pbnRlcmZhY2VzL211bHRpU2VsZWN0RGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0Q29uZmlnIHtcclxuICAgIC8qKlxyXG4gICAgICogT1B0aW9uYWxcclxuICAgICAqIFZhbHVlcyA6LSB0cnVlICwgZmFsc2VcclxuICAgICAqL1xyXG4gICAgc2luZ2xlU2VsZWN0aW9uOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWFuZGF0b3J5LCBcclxuICAgICAqIHZhbHVlOiBhbnkgc3RyaW5nXHJcbiAgICAgKi9cclxuICAgIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uYWwgXHJcbiAgICAgKiB2YWx1ZSA6dHJ1ZSBmYWxzZVxyXG4gICAgICovXHJcbiAgICBzaG93U2VsZWN0QWxsPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICogT3B0aW9uYWwgXHJcbiAgICAqIHZhbHVlIDp0cnVlIGZhbHNlXHJcbiAgICAqL1xyXG4gICAgc2hvd1NlbGVjdGVkPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wdGlvbmFsIFxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIGFwcGVhcmFuY2U/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25hbCBcclxuICAgICAqIFxyXG4gICAgICovXHJcbiAgICBzY3JvbGw/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uYWwgXHJcbiAgICAgKiBcclxuICAgICAqL1xyXG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25hbCBcclxuICAgICAqIFxyXG4gICAgICovXHJcbiAgICBsaW1pdD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9wdGlvbmFsIFxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIG1heERyb3Bkb3duSGVpZ2h0Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uYWwgXHJcbiAgICAgKiBcclxuICAgICAqL1xyXG4gICAgc29ydEJ5Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uYWxcclxuICAgICAqL1xyXG4gICAgc29ydE9yZGVyPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgICAgKiBPcHRpb25hbFxyXG4gICAgICAgICovXHJcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAgICAqIE9wdGlvbmFsXHJcbiAgICAgICAgKi9cclxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class ListItem {
|
|
2
|
+
constructor(data) {
|
|
3
|
+
this.id = data.id;
|
|
4
|
+
this.text = data.text;
|
|
5
|
+
this.isDisabled = data.isDisabled;
|
|
6
|
+
this.icon = data.icon;
|
|
7
|
+
this.childItem = data.childItem;
|
|
8
|
+
this.grouped = data.grouped;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLW11bHRpLXNlbGVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbW9kZWwvcnVjLW11bHRpLXNlbGVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sUUFBUTtJQU9uQixZQUFvQixJQUFTO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ2xDLENBQUM7Q0FDQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMaXN0SXRlbSB7XHJcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgICBpY29uPyA6IHN0cmluZztcclxuICAgIGNoaWxkSXRlbT8gOiBhbnk7XHJcbiAgICBncm91cGVkPyA6IGFueTtcclxuICBwdWJsaWMgY29uc3RydWN0b3IgKGRhdGE6IGFueSl7XHJcbiAgICAgICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gZGF0YS50ZXh0O1xyXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGRhdGEuaXNEaXNhYmxlZDtcclxuICAgICAgICB0aGlzLmljb24gPSBkYXRhLmljb247XHJcbiAgICAgICAgdGhpcy5jaGlsZEl0ZW0gPSBkYXRhLmNoaWxkSXRlbTtcclxuICAgICAgICB0aGlzLmdyb3VwZWQgPSBkYXRhLmdyb3VwZWQ7XHJcbiAgfVxyXG4gIH0iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FilterPipe {
|
|
4
|
+
transform(items, searchText, key) {
|
|
5
|
+
if (!items)
|
|
6
|
+
return [];
|
|
7
|
+
if (!searchText)
|
|
8
|
+
return items;
|
|
9
|
+
searchText = searchText.toLowerCase();
|
|
10
|
+
return items.filter(it => {
|
|
11
|
+
if (!key) {
|
|
12
|
+
return it.toLowerCase().includes(searchText);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return it[key].toLowerCase().includes(searchText);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
FilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
21
|
+
FilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FilterPipe, name: "filter" });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterPipe, decorators: [{
|
|
23
|
+
type: Pipe,
|
|
24
|
+
args: [{
|
|
25
|
+
name: 'filter'
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3BpcGVzL2ZpbHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRCxNQUFNLE9BQU8sVUFBVTtJQUNyQixTQUFTLENBQUMsS0FBWSxFQUFFLFVBQWtCLEVBQUUsR0FBVztRQUNyRCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDOUIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsSUFBRyxDQUFDLEdBQUcsRUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDOUM7aUJBQU07Z0JBQ0wsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25EO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt3R0FaVSxVQUFVO3NHQUFWLFVBQVU7NEZBQVYsVUFBVTtrQkFIdEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsUUFBUTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdmaWx0ZXInXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgc2VhcmNoVGV4dDogc3RyaW5nLCBrZXk/OnN0cmluZyk6IGFueVtdIHtcclxuICAgIGlmICghaXRlbXMpIHJldHVybiBbXTtcclxuICAgIGlmICghc2VhcmNoVGV4dCkgcmV0dXJuIGl0ZW1zO1xyXG4gICAgc2VhcmNoVGV4dCA9IHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiBpdGVtcy5maWx0ZXIoaXQgPT4ge1xyXG4gICAgICBpZigha2V5KXtcclxuICAgICAgICByZXR1cm4gaXQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaXRba2V5XS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable, Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SortPipe {
|
|
4
|
+
transform(value, sortOrder = 'asc', sortKey = 'text') {
|
|
5
|
+
sortOrder = sortOrder && sortOrder.toLowerCase();
|
|
6
|
+
if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc'))
|
|
7
|
+
return value;
|
|
8
|
+
let numberArray = [];
|
|
9
|
+
let stringArray = [];
|
|
10
|
+
numberArray = value
|
|
11
|
+
.filter((item) => typeof item[sortKey] === 'number')
|
|
12
|
+
.sort((a, b) => a[sortKey] - b[sortKey]);
|
|
13
|
+
stringArray = value
|
|
14
|
+
.filter((item) => typeof item[sortKey] === 'string')
|
|
15
|
+
.sort((a, b) => {
|
|
16
|
+
if (a[sortKey] < b[sortKey])
|
|
17
|
+
return -1;
|
|
18
|
+
else if (a[sortKey] > b[sortKey])
|
|
19
|
+
return 1;
|
|
20
|
+
else
|
|
21
|
+
return 0;
|
|
22
|
+
});
|
|
23
|
+
const sorted = numberArray.concat(stringArray);
|
|
24
|
+
return sortOrder === 'asc' ? sorted : sorted.reverse();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
SortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
28
|
+
SortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SortPipe, name: "sort" });
|
|
29
|
+
SortPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SortPipe });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SortPipe, decorators: [{
|
|
31
|
+
type: Injectable
|
|
32
|
+
}, {
|
|
33
|
+
type: Pipe,
|
|
34
|
+
args: [{
|
|
35
|
+
name: 'sort',
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9waXBlcy9zb3J0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFoRSxNQUFNLE9BQU8sUUFBUTtJQUNuQixTQUFTLENBQ1AsS0FBWSxFQUNaLFlBQWdDLEtBQUssRUFDckMsT0FBTyxHQUFHLE1BQU07UUFFaEIsU0FBUyxHQUFHLFNBQVMsSUFBSyxTQUFTLENBQUMsV0FBVyxFQUFVLENBQUM7UUFFMUQsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLElBQUksU0FBUyxLQUFLLE1BQU0sQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTFFLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsV0FBVyxHQUFHLEtBQUs7YUFDaEIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7YUFDbkQsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzNDLFdBQVcsR0FBRyxLQUFLO2FBQ2hCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDO2FBQ25ELElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDbEMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFBRSxPQUFPLENBQUMsQ0FBQzs7Z0JBQ3RDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBRUwsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQyxPQUFPLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pELENBQUM7O3NHQXpCVSxRQUFRO29HQUFSLFFBQVE7MEdBQVIsUUFBUTs0RkFBUixRQUFRO2tCQUpwQixVQUFVOztrQkFDVixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IHR5cGUgU29ydE9yZGVyID0gJ2FzYycgfCAnZGVzYyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc29ydCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTb3J0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShcclxuICAgIHZhbHVlOiBhbnlbXSxcclxuICAgIHNvcnRPcmRlcjogU29ydE9yZGVyIHwgc3RyaW5nID0gJ2FzYycsXHJcbiAgICBzb3J0S2V5ID0gJ3RleHQnXHJcbiAgKTogYW55IHtcclxuICAgIHNvcnRPcmRlciA9IHNvcnRPcmRlciAmJiAoc29ydE9yZGVyLnRvTG93ZXJDYXNlKCkgYXMgYW55KTtcclxuXHJcbiAgICBpZiAoIXZhbHVlIHx8IChzb3J0T3JkZXIgIT09ICdhc2MnICYmIHNvcnRPcmRlciAhPT0gJ2Rlc2MnKSkgcmV0dXJuIHZhbHVlO1xyXG5cclxuICAgIGxldCBudW1iZXJBcnJheSA9IFtdO1xyXG4gICAgbGV0IHN0cmluZ0FycmF5ID0gW107XHJcbiAgICBudW1iZXJBcnJheSA9IHZhbHVlXHJcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IHR5cGVvZiBpdGVtW3NvcnRLZXldID09PSAnbnVtYmVyJylcclxuICAgICAgLnNvcnQoKGEsIGIpID0+IGFbc29ydEtleV0gLSBiW3NvcnRLZXldKTtcclxuICAgIHN0cmluZ0FycmF5ID0gdmFsdWVcclxuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gdHlwZW9mIGl0ZW1bc29ydEtleV0gPT09ICdzdHJpbmcnKVxyXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgIGlmIChhW3NvcnRLZXldIDwgYltzb3J0S2V5XSkgcmV0dXJuIC0xO1xyXG4gICAgICAgIGVsc2UgaWYgKGFbc29ydEtleV0gPiBiW3NvcnRLZXldKSByZXR1cm4gMTtcclxuICAgICAgICBlbHNlIHJldHVybiAwO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzb3J0ZWQgPSBudW1iZXJBcnJheS5jb25jYXQoc3RyaW5nQXJyYXkpO1xyXG4gICAgcmV0dXJuIHNvcnRPcmRlciA9PT0gJ2FzYycgPyBzb3J0ZWQgOiBzb3J0ZWQucmV2ZXJzZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|