@skyux/lists 5.6.0 → 5.6.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/documentation.json +2 -2
- package/package.json +20 -19
package/documentation.json
CHANGED
|
@@ -5357,7 +5357,7 @@
|
|
|
5357
5357
|
{
|
|
5358
5358
|
"fileName": "filter-demo.component.ts",
|
|
5359
5359
|
"filePath": "/projects/lists/documentation/code-examples/filter/inline/filter-demo.component.ts",
|
|
5360
|
-
"rawContents": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-filter-demo',\n templateUrl: './filter-demo.component.html',\n})\nexport class FilterDemoComponent {\n public appliedFilters: any[] = [];\n\n public filteredItems: any[];\n\n public filtersActive = false;\n\n public fruitType = 'any';\n\n public hideOrange = false;\n\n public items: any[] = [\n {\n name: 'Orange',\n type: 'citrus',\n color: 'orange',\n },\n {\n name: 'Mango',\n type: 'other',\n color: 'orange',\n },\n {\n name: 'Lime',\n type: 'citrus',\n color: 'green',\n },\n {\n name: 'Strawberry',\n type: 'berry',\n color: 'red',\n },\n {\n name: 'Blueberry',\n type: 'berry',\n color: 'blue',\n },\n ];\n\n public showInlineFilters = false;\n\n constructor() {\n this.filteredItems = this.items.slice();\n }\n\n public filterButtonClicked(): void {\n this.showInlineFilters = !this.showInlineFilters;\n }\n\n public fruitTypeChange(newValue: string): void {\n this.fruitType = newValue;\n this.setFilterActiveState();\n }\n\n public hideOrangeChange(newValue: boolean): void {\n this.hideOrange = newValue;\n this.setFilterActiveState();\n }\n\n private setFilterActiveState(): void {\n this.appliedFilters = [];\n if (this.fruitType !== 'any') {\n this.appliedFilters.push({\n name: 'fruitType',\n value: this.fruitType,\n });\n }\n if (this.hideOrange) {\n this.appliedFilters.push({\n name: 'hideOrange',\n value: true,\n });\n }\n this.filtersActive = this.appliedFilters.length > 0;\n\n this.filteredItems = this.filterItems(this.items, this.appliedFilters);\n }\n\n private orangeFilterFailed(filter: any, item: any): any {\n return (\n filter.name === 'hideOrange' && filter.value && item.color === 'orange'\n );\n }\n\n private fruitTypeFilterFailed(filter: any, item: any): any {\n return (\n filter.name === 'fruitType' &&\n filter.value !== 'any' &&\n filter.value !== item.type\n );\n }\n\n private itemIsShown(filters: any[], item: any[]): boolean {\n let passesFilter = true,\n j: number;\n\n for (j = 0; j < filters.length; j++) {\n if (this.orangeFilterFailed(filters[j], item)) {\n passesFilter = false;\n } else if (this.fruitTypeFilterFailed(filters[j], item)) {\n passesFilter = false;\n }\n }\n\n return passesFilter;\n }\n\n private filterItems(items: any[], filters: any[]): any[] {\n let i: number
|
|
5360
|
+
"rawContents": "import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-filter-demo',\n templateUrl: './filter-demo.component.html',\n})\nexport class FilterDemoComponent {\n public appliedFilters: any[] = [];\n\n public filteredItems: any[];\n\n public filtersActive = false;\n\n public fruitType = 'any';\n\n public hideOrange = false;\n\n public items: any[] = [\n {\n name: 'Orange',\n type: 'citrus',\n color: 'orange',\n },\n {\n name: 'Mango',\n type: 'other',\n color: 'orange',\n },\n {\n name: 'Lime',\n type: 'citrus',\n color: 'green',\n },\n {\n name: 'Strawberry',\n type: 'berry',\n color: 'red',\n },\n {\n name: 'Blueberry',\n type: 'berry',\n color: 'blue',\n },\n ];\n\n public showInlineFilters = false;\n\n constructor() {\n this.filteredItems = this.items.slice();\n }\n\n public filterButtonClicked(): void {\n this.showInlineFilters = !this.showInlineFilters;\n }\n\n public fruitTypeChange(newValue: string): void {\n this.fruitType = newValue;\n this.setFilterActiveState();\n }\n\n public hideOrangeChange(newValue: boolean): void {\n this.hideOrange = newValue;\n this.setFilterActiveState();\n }\n\n private setFilterActiveState(): void {\n this.appliedFilters = [];\n if (this.fruitType !== 'any') {\n this.appliedFilters.push({\n name: 'fruitType',\n value: this.fruitType,\n });\n }\n if (this.hideOrange) {\n this.appliedFilters.push({\n name: 'hideOrange',\n value: true,\n });\n }\n this.filtersActive = this.appliedFilters.length > 0;\n\n this.filteredItems = this.filterItems(this.items, this.appliedFilters);\n }\n\n private orangeFilterFailed(filter: any, item: any): any {\n return (\n filter.name === 'hideOrange' && filter.value && item.color === 'orange'\n );\n }\n\n private fruitTypeFilterFailed(filter: any, item: any): any {\n return (\n filter.name === 'fruitType' &&\n filter.value !== 'any' &&\n filter.value !== item.type\n );\n }\n\n private itemIsShown(filters: any[], item: any[]): boolean {\n let passesFilter = true,\n j: number;\n\n for (j = 0; j < filters.length; j++) {\n if (this.orangeFilterFailed(filters[j], item)) {\n passesFilter = false;\n } else if (this.fruitTypeFilterFailed(filters[j], item)) {\n passesFilter = false;\n }\n }\n\n return passesFilter;\n }\n\n private filterItems(items: any[], filters: any[]): any[] {\n let i: number, passesFilter: boolean;\n const result: any[] = [];\n\n for (i = 0; i < items.length; i++) {\n passesFilter = this.itemIsShown(filters, items[i]);\n if (passesFilter) {\n result.push(items[i]);\n }\n }\n\n return result;\n }\n}\n"
|
|
5361
5361
|
},
|
|
5362
5362
|
{
|
|
5363
5363
|
"fileName": "filter-demo.module.ts",
|
|
@@ -5387,7 +5387,7 @@
|
|
|
5387
5387
|
{
|
|
5388
5388
|
"fileName": "filter-demo.component.ts",
|
|
5389
5389
|
"filePath": "/projects/lists/documentation/code-examples/filter/modal/filter-demo.component.ts",
|
|
5390
|
-
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { SkyModalCloseArgs, SkyModalService } from '@skyux/modals';\n\nimport { FilterDemoModalContext } from './filter-demo-modal-context';\nimport { FilterDemoModalComponent } from './filter-demo-modal.component';\n\n@Component({\n selector: 'app-filter-demo',\n templateUrl: './filter-demo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilterDemoComponent {\n public appliedFilters: any[] = [];\n\n public filteredItems: any[];\n\n public items: any[] = [\n {\n name: 'Orange',\n type: 'citrus',\n color: 'orange',\n },\n {\n name: 'Mango',\n type: 'other',\n color: 'orange',\n },\n {\n name: 'Lime',\n type: 'citrus',\n color: 'green',\n },\n {\n name: 'Strawberry',\n type: 'berry',\n color: 'red',\n },\n {\n name: 'Blueberry',\n type: 'berry',\n color: 'blue',\n },\n ];\n\n public showInlineFilters = false;\n\n constructor(\n private modal: SkyModalService,\n private changeRef: ChangeDetectorRef\n ) {\n this.filteredItems = this.items.slice();\n }\n\n public onDismiss(index: number): void {\n this.appliedFilters.splice(index, 1);\n this.filteredItems = this.filterItems(this.items, this.appliedFilters);\n }\n\n public onInlineFilterButtonClicked(): void {\n this.showInlineFilters = !this.showInlineFilters;\n }\n\n public onModalFilterButtonClick(): void {\n const modalInstance = this.modal.open(FilterDemoModalComponent, [\n {\n provide: FilterDemoModalContext,\n useValue: {\n appliedFilters: this.appliedFilters,\n },\n },\n ]);\n\n modalInstance.closed.subscribe((result: SkyModalCloseArgs) => {\n if (result.reason === 'save') {\n this.appliedFilters = result.data.slice();\n this.filteredItems = this.filterItems(this.items, this.appliedFilters);\n this.changeRef.markForCheck();\n }\n });\n }\n\n private fruitTypeFilterFailed(filter: any, item: any): boolean {\n return (\n filter.name === 'fruitType' &&\n filter.value !== 'any' &&\n filter.value !== item.type\n );\n }\n\n private itemIsShown(filters: any[], item: any[]): boolean {\n let passesFilter = true,\n j: number;\n\n for (j = 0; j < filters.length; j++) {\n if (this.orangeFilterFailed(filters[j], item)) {\n passesFilter = false;\n } else if (this.fruitTypeFilterFailed(filters[j], item)) {\n passesFilter = false;\n }\n }\n\n return passesFilter;\n }\n\n private filterItems(items: any[], filters: any[]): any[] {\n let i: number
|
|
5390
|
+
"rawContents": "import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n} from '@angular/core';\nimport { SkyModalCloseArgs, SkyModalService } from '@skyux/modals';\n\nimport { FilterDemoModalContext } from './filter-demo-modal-context';\nimport { FilterDemoModalComponent } from './filter-demo-modal.component';\n\n@Component({\n selector: 'app-filter-demo',\n templateUrl: './filter-demo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FilterDemoComponent {\n public appliedFilters: any[] = [];\n\n public filteredItems: any[];\n\n public items: any[] = [\n {\n name: 'Orange',\n type: 'citrus',\n color: 'orange',\n },\n {\n name: 'Mango',\n type: 'other',\n color: 'orange',\n },\n {\n name: 'Lime',\n type: 'citrus',\n color: 'green',\n },\n {\n name: 'Strawberry',\n type: 'berry',\n color: 'red',\n },\n {\n name: 'Blueberry',\n type: 'berry',\n color: 'blue',\n },\n ];\n\n public showInlineFilters = false;\n\n constructor(\n private modal: SkyModalService,\n private changeRef: ChangeDetectorRef\n ) {\n this.filteredItems = this.items.slice();\n }\n\n public onDismiss(index: number): void {\n this.appliedFilters.splice(index, 1);\n this.filteredItems = this.filterItems(this.items, this.appliedFilters);\n }\n\n public onInlineFilterButtonClicked(): void {\n this.showInlineFilters = !this.showInlineFilters;\n }\n\n public onModalFilterButtonClick(): void {\n const modalInstance = this.modal.open(FilterDemoModalComponent, [\n {\n provide: FilterDemoModalContext,\n useValue: {\n appliedFilters: this.appliedFilters,\n },\n },\n ]);\n\n modalInstance.closed.subscribe((result: SkyModalCloseArgs) => {\n if (result.reason === 'save') {\n this.appliedFilters = result.data.slice();\n this.filteredItems = this.filterItems(this.items, this.appliedFilters);\n this.changeRef.markForCheck();\n }\n });\n }\n\n private fruitTypeFilterFailed(filter: any, item: any): boolean {\n return (\n filter.name === 'fruitType' &&\n filter.value !== 'any' &&\n filter.value !== item.type\n );\n }\n\n private itemIsShown(filters: any[], item: any[]): boolean {\n let passesFilter = true,\n j: number;\n\n for (j = 0; j < filters.length; j++) {\n if (this.orangeFilterFailed(filters[j], item)) {\n passesFilter = false;\n } else if (this.fruitTypeFilterFailed(filters[j], item)) {\n passesFilter = false;\n }\n }\n\n return passesFilter;\n }\n\n private filterItems(items: any[], filters: any[]): any[] {\n let i: number, passesFilter: boolean;\n const result: any[] = [];\n\n for (i = 0; i < items.length; i++) {\n passesFilter = this.itemIsShown(filters, items[i]);\n if (passesFilter) {\n result.push(items[i]);\n }\n }\n\n return result;\n }\n\n private orangeFilterFailed(filter: any, item: any): boolean {\n return (\n filter.name === 'hideOrange' && filter.value && item.color === 'orange'\n );\n }\n}\n"
|
|
5391
5391
|
},
|
|
5392
5392
|
{
|
|
5393
5393
|
"fileName": "filter-demo.module.ts",
|
package/package.json
CHANGED
|
@@ -1,24 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/lists",
|
|
3
|
-
"version": "5.6.
|
|
4
|
-
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^12.2.16",
|
|
6
|
-
"@angular/core": "^12.2.16",
|
|
7
|
-
"@angular/platform-browser": "^12.2.16",
|
|
8
|
-
"@skyux/animations": "5.6.0",
|
|
9
|
-
"@skyux/core": "5.6.0",
|
|
10
|
-
"@skyux/forms": "5.6.0",
|
|
11
|
-
"@skyux/i18n": "5.6.0",
|
|
12
|
-
"@skyux/indicators": "5.6.0",
|
|
13
|
-
"@skyux/inline-form": "5.6.0",
|
|
14
|
-
"@skyux/popovers": "5.6.0",
|
|
15
|
-
"@skyux/theme": "5.6.0"
|
|
16
|
-
},
|
|
17
|
-
"dependencies": {
|
|
18
|
-
"dragula": "3.7.3",
|
|
19
|
-
"ng2-dragula": "1.5.0",
|
|
20
|
-
"tslib": "^2.3.1"
|
|
21
|
-
},
|
|
3
|
+
"version": "5.6.1",
|
|
22
4
|
"author": "Blackbaud, Inc.",
|
|
23
5
|
"keywords": [
|
|
24
6
|
"blackbaud",
|
|
@@ -33,6 +15,25 @@
|
|
|
33
15
|
"url": "https://github.com/blackbaud/skyux/issues"
|
|
34
16
|
},
|
|
35
17
|
"homepage": "https://github.com/blackbaud/skyux#readme",
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"@angular/common": "^12.2.16",
|
|
20
|
+
"@angular/core": "^12.2.16",
|
|
21
|
+
"@angular/platform-browser": "^12.2.16",
|
|
22
|
+
"@skyux-sdk/testing": "5.6.1",
|
|
23
|
+
"@skyux/animations": "5.6.1",
|
|
24
|
+
"@skyux/core": "5.6.1",
|
|
25
|
+
"@skyux/forms": "5.6.1",
|
|
26
|
+
"@skyux/i18n": "5.6.1",
|
|
27
|
+
"@skyux/indicators": "5.6.1",
|
|
28
|
+
"@skyux/inline-form": "5.6.1",
|
|
29
|
+
"@skyux/popovers": "5.6.1",
|
|
30
|
+
"@skyux/theme": "5.6.1"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"dragula": "3.7.3",
|
|
34
|
+
"ng2-dragula": "1.5.0",
|
|
35
|
+
"tslib": "^2.3.1"
|
|
36
|
+
},
|
|
36
37
|
"main": "bundles/skyux-lists.umd.js",
|
|
37
38
|
"module": "fesm2015/skyux-lists.js",
|
|
38
39
|
"es2015": "fesm2015/skyux-lists.js",
|