@skyux/list-builder 5.5.0 → 5.6.2

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.
Files changed (102) hide show
  1. package/bundles/skyux-list-builder.umd.js +702 -701
  2. package/documentation.json +552 -789
  3. package/esm2015/lib/modules/list/list-data-request.model.js.map +1 -1
  4. package/esm2015/lib/modules/list/list-data.provider.js +3 -1
  5. package/esm2015/lib/modules/list/list-data.provider.js.map +1 -1
  6. package/esm2015/lib/modules/list/list-paging.component.js.map +1 -1
  7. package/esm2015/lib/modules/list/list-view.component.js +2 -1
  8. package/esm2015/lib/modules/list/list-view.component.js.map +1 -1
  9. package/esm2015/lib/modules/list/list.component.js +17 -17
  10. package/esm2015/lib/modules/list/list.component.js.map +1 -1
  11. package/esm2015/lib/modules/list/list.module.js +1 -1
  12. package/esm2015/lib/modules/list/list.module.js.map +1 -1
  13. package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js.map +1 -1
  14. package/esm2015/lib/modules/list/state/items/items.orchestrator.js +5 -5
  15. package/esm2015/lib/modules/list/state/items/items.orchestrator.js.map +1 -1
  16. package/esm2015/lib/modules/list/state/list-state-action.type.js.map +1 -1
  17. package/esm2015/lib/modules/list/state/list-state.model.js +1 -1
  18. package/esm2015/lib/modules/list/state/list-state.model.js.map +1 -1
  19. package/esm2015/lib/modules/list/state/list-state.rxstate.js +2 -2
  20. package/esm2015/lib/modules/list/state/list-state.rxstate.js.map +1 -1
  21. package/esm2015/lib/modules/list/state/list-state.state-node.js +4 -4
  22. package/esm2015/lib/modules/list/state/list-state.state-node.js.map +1 -1
  23. package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js +1 -1
  24. package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js.map +1 -1
  25. package/esm2015/lib/modules/list/state/search/search.model.js.map +1 -1
  26. package/esm2015/lib/modules/list/state/search/search.orchestrator.js +2 -2
  27. package/esm2015/lib/modules/list/state/search/search.orchestrator.js.map +1 -1
  28. package/esm2015/lib/modules/list/state/search/set-options.action.js.map +1 -1
  29. package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js +3 -3
  30. package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js.map +1 -1
  31. package/esm2015/lib/modules/list/state/sort/label.model.js.map +1 -1
  32. package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js +2 -2
  33. package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js.map +1 -1
  34. package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js.map +1 -1
  35. package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js +3 -3
  36. package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js.map +1 -1
  37. package/esm2015/lib/modules/list/state/views/views.orchestrator.js +1 -1
  38. package/esm2015/lib/modules/list/state/views/views.orchestrator.js.map +1 -1
  39. package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +12 -12
  40. package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js.map +1 -1
  41. package/esm2015/lib/modules/list-filters/filter.model.js.map +1 -1
  42. package/esm2015/lib/modules/list-filters/list-filter-button.component.js.map +1 -1
  43. package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js +1 -1
  44. package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js.map +1 -1
  45. package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js +1 -1
  46. package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js.map +1 -1
  47. package/esm2015/lib/modules/list-filters/list-filter-inline.component.js +3 -3
  48. package/esm2015/lib/modules/list-filters/list-filter-inline.component.js.map +1 -1
  49. package/esm2015/lib/modules/list-filters/list-filter-inline.model.js.map +1 -1
  50. package/esm2015/lib/modules/list-filters/list-filter-summary.component.js +1 -1
  51. package/esm2015/lib/modules/list-filters/list-filter-summary.component.js.map +1 -1
  52. package/esm2015/lib/modules/list-filters/list-filters.module.js +3 -3
  53. package/esm2015/lib/modules/list-filters/list-filters.module.js.map +1 -1
  54. package/esm2015/lib/modules/list-paging/list-paging.component.js +3 -3
  55. package/esm2015/lib/modules/list-paging/list-paging.component.js.map +1 -1
  56. package/esm2015/lib/modules/list-paging/list-paging.module.js +2 -2
  57. package/esm2015/lib/modules/list-paging/list-paging.module.js.map +1 -1
  58. package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js +3 -4
  59. package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js.map +1 -1
  60. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js +1 -1
  61. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js.map +1 -1
  62. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +1 -1
  63. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js.map +1 -1
  64. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +2 -2
  65. package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js.map +1 -1
  66. package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js +1 -1
  67. package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js.map +1 -1
  68. package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js +1 -1
  69. package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js.map +1 -1
  70. package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js +14 -14
  71. package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js.map +1 -1
  72. package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js +10 -10
  73. package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js.map +1 -1
  74. package/esm2015/lib/modules/list-toolbar/state/config/config.model.js.map +1 -1
  75. package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js.map +1 -1
  76. package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js.map +1 -1
  77. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js.map +1 -1
  78. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js +1 -1
  79. package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js.map +1 -1
  80. package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js +1 -1
  81. package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js.map +1 -1
  82. package/fesm2015/skyux-list-builder.js +645 -643
  83. package/fesm2015/skyux-list-builder.js.map +1 -1
  84. package/lib/modules/list/list-data.provider.d.ts +2 -1
  85. package/lib/modules/list/list-paging.component.d.ts +1 -1
  86. package/lib/modules/list/list-view.component.d.ts +1 -1
  87. package/lib/modules/list/list.component.d.ts +4 -4
  88. package/lib/modules/list/state/filters/filters.orchestrator.d.ts +1 -1
  89. package/lib/modules/list/state/list-state-action.type.d.ts +13 -13
  90. package/lib/modules/list/state/list-state.model.d.ts +1 -1
  91. package/lib/modules/list/state/search/set-options.action.d.ts +1 -1
  92. package/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +2 -2
  93. package/lib/modules/list-filters/list-filter-inline-item-renderer.component.d.ts +1 -1
  94. package/lib/modules/list-filters/list-filter-inline-item.component.d.ts +1 -1
  95. package/lib/modules/list-filters/list-filter-inline.component.d.ts +1 -1
  96. package/lib/modules/list-filters/list-filter-inline.model.d.ts +1 -1
  97. package/lib/modules/list-filters/list-filter-summary.component.d.ts +1 -1
  98. package/lib/modules/list-paging/list-paging.component.d.ts +1 -1
  99. package/lib/modules/list-toolbar/list-multiselect-toolbar.component.d.ts +2 -2
  100. package/lib/modules/list-toolbar/list-toolbar-item-renderer.component.d.ts +1 -1
  101. package/lib/modules/list-toolbar/list-toolbar.component.d.ts +5 -5
  102. package/package.json +16 -18
@@ -1 +1 @@
1
- {"version":3,"file":"list-paging.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,uBAAuB,EACvB,UAAU,GAEX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAa,QAAQ,EAAiB,MAAM,4BAA4B,CAAC;AAIhF,OAAO,EACL,oBAAoB,EACpB,GAAG,IAAI,aAAa,EACpB,IAAI,GACL,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AAEjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;;;;;;AAE5F,0BAA0B;AAC1B,MAAM,sBAAsB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;AAExE;;GAEG;AASH,MAAM,OAAO,sBACX,SAAQ,mBAAmB;IAgC3B,YAAY,KAAgB,EAAE,UAA+B;QAC3D,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QA9B3B;;;WAGG;QAEI,aAAQ,GAAgC,EAAE,CAAC;QAElD;;;WAGG;QAEI,aAAQ,GAAgC,CAAC,CAAC;QAEjD;;;WAGG;QAEI,eAAU,GAAgC,CAAC,CAAC;IAYnD,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACtC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAC1C,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACtC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACjD,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACjC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC5C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC9B,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,EACF,IAAI,CACF,CACE,aAAuC,EACvC,QAAkC,EAClC,EAAE;YACF,IAAI,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE;gBAClD,OAAO,aAAa,CAAC;aACtB;iBAAM;gBACL,OAAO,QAAQ,CAAC;aACjB;QACH,CAAC,CACF,EACD,aAAa,CAAC,CAAC,MAAgC,EAAE,EAAE;YACjD,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,EACF,oBAAoB,EAAE,CACvB,CAAC;QAEF,6BAA6B;QAC7B,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE,CAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,IAAI,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACtD,CACF,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE,CAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxE,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,UAAkB,EAAE,EAAE,CAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CACtD,CACF,CAAC;IACJ,CAAC;IAEM,UAAU,CAAC,WAAmB;QACnC,2DAA2D;QAC3D,sDAAsD;QACtD,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,IAAI,6BAA6B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;;oHAhGU,sBAAsB;wGAAtB,sBAAsB,4HALtB;QACT,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE;KACtE,iDCtCH,sPAQA;4FDiCa,sBAAsB;kBARlC,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;oBAC3B,WAAW,EAAE,8BAA8B;oBAC3C,SAAS,EAAE;wBACT,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE;qBACtE;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;kIAUQ,QAAQ;sBADd,KAAK;gBAQC,QAAQ;sBADd,KAAK;gBAQC,UAAU;sBADhB,KAAK","sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n forwardRef,\n OnInit,\n} from '@angular/core';\n\nimport { AsyncList, getValue, ListItemModel } from '@skyux/list-builder-common';\n\nimport { Observable } from 'rxjs';\n\nimport {\n distinctUntilChanged,\n map as observableMap,\n scan,\n} from 'rxjs/operators';\n\nimport { ListPagingComponent } from '../list/list-paging.component';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListPagingSetMaxPagesAction } from '../list/state/paging/set-max-pages.action';\n\nimport { ListPagingSetItemsPerPageAction } from '../list/state/paging/set-items-per-page.action';\n\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\n/* istanbul ignore next */\nconst listPagingComponentRef = forwardRef(() => SkyListPagingComponent);\n\n/**\n * Displays a pagination control for a SKY UX-themed list of data.\n */\n@Component({\n selector: 'sky-list-paging',\n templateUrl: './list-paging.component.html',\n providers: [\n { provide: ListPagingComponent, useExisting: listPagingComponentRef },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListPagingComponent\n extends ListPagingComponent\n implements OnInit\n{\n /**\n * Specifies the number of list items per page.\n * @default 10\n */\n @Input()\n public pageSize: Observable<number> | number = 10;\n\n /**\n * Specifies the maximum pages to display.\n * @default 5\n */\n @Input()\n public maxPages: Observable<number> | number = 5;\n\n /**\n * Specifies the current page number.\n * @default 1\n */\n @Input()\n public pageNumber: Observable<number> | number = 1;\n\n public currentPageNumber: Observable<number>;\n\n public maxDisplayedPages: Observable<number>;\n\n public itemsPerPage: Observable<number>;\n\n public itemCount: Observable<number>;\n\n constructor(state: ListState, dispatcher: ListStateDispatcher) {\n super(state, dispatcher);\n }\n\n public ngOnInit() {\n this.currentPageNumber = this.state.pipe(\n observableMap((s) => s.paging.pageNumber)\n );\n\n this.maxDisplayedPages = this.state.pipe(\n observableMap((s) => s.paging.maxDisplayedPages)\n );\n\n this.itemsPerPage = this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage)\n );\n\n this.itemCount = this.state.pipe(\n observableMap((s) => {\n return s.items;\n }),\n scan(\n (\n previousValue: AsyncList<ListItemModel>,\n newValue: AsyncList<ListItemModel>\n ) => {\n if (previousValue.lastUpdate > newValue.lastUpdate) {\n return previousValue;\n } else {\n return newValue;\n }\n }\n ),\n observableMap((result: AsyncList<ListItemModel>) => {\n return result.count;\n }),\n distinctUntilChanged()\n );\n\n // subscribe to or use inputs\n getValue(this.pageSize, (pageSize: number) =>\n this.dispatcher.next(\n new ListPagingSetItemsPerPageAction(Number(pageSize))\n )\n );\n getValue(this.maxPages, (maxPages: number) =>\n this.dispatcher.next(new ListPagingSetMaxPagesAction(Number(maxPages)))\n );\n getValue(this.pageNumber, (pageNumber: number) =>\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(pageNumber))\n )\n );\n }\n\n public pageChange(currentPage: number) {\n // Paging must be updated after list data has been updated.\n // Adding a setTimeout will pull it out of the stream.\n setTimeout(() => {\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(currentPage))\n );\n });\n }\n}\n","<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n>\n</sky-paging>\n"]}
1
+ {"version":3,"file":"list-paging.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n forwardRef,\n} from '@angular/core';\nimport { AsyncList, ListItemModel, getValue } from '@skyux/list-builder-common';\n\nimport { Observable } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n scan,\n} from 'rxjs/operators';\n\nimport { ListPagingComponent } from '../list/list-paging.component';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetItemsPerPageAction } from '../list/state/paging/set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from '../list/state/paging/set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\n/* istanbul ignore next */\nconst listPagingComponentRef = forwardRef(() => SkyListPagingComponent);\n\n/**\n * Displays a pagination control for a SKY UX-themed list of data.\n */\n@Component({\n selector: 'sky-list-paging',\n templateUrl: './list-paging.component.html',\n providers: [\n { provide: ListPagingComponent, useExisting: listPagingComponentRef },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListPagingComponent\n extends ListPagingComponent\n implements OnInit\n{\n /**\n * Specifies the number of list items per page.\n * @default 10\n */\n @Input()\n public pageSize: Observable<number> | number = 10;\n\n /**\n * Specifies the maximum pages to display.\n * @default 5\n */\n @Input()\n public maxPages: Observable<number> | number = 5;\n\n /**\n * Specifies the current page number.\n * @default 1\n */\n @Input()\n public pageNumber: Observable<number> | number = 1;\n\n public currentPageNumber: Observable<number>;\n\n public maxDisplayedPages: Observable<number>;\n\n public itemsPerPage: Observable<number>;\n\n public itemCount: Observable<number>;\n\n constructor(state: ListState, dispatcher: ListStateDispatcher) {\n super(state, dispatcher);\n }\n\n public ngOnInit() {\n this.currentPageNumber = this.state.pipe(\n observableMap((s) => s.paging.pageNumber)\n );\n\n this.maxDisplayedPages = this.state.pipe(\n observableMap((s) => s.paging.maxDisplayedPages)\n );\n\n this.itemsPerPage = this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage)\n );\n\n this.itemCount = this.state.pipe(\n observableMap((s) => {\n return s.items;\n }),\n scan(\n (\n previousValue: AsyncList<ListItemModel>,\n newValue: AsyncList<ListItemModel>\n ) => {\n if (previousValue.lastUpdate > newValue.lastUpdate) {\n return previousValue;\n } else {\n return newValue;\n }\n }\n ),\n observableMap((result: AsyncList<ListItemModel>) => {\n return result.count;\n }),\n distinctUntilChanged()\n );\n\n // subscribe to or use inputs\n getValue(this.pageSize, (pageSize: number) =>\n this.dispatcher.next(\n new ListPagingSetItemsPerPageAction(Number(pageSize))\n )\n );\n getValue(this.maxPages, (maxPages: number) =>\n this.dispatcher.next(new ListPagingSetMaxPagesAction(Number(maxPages)))\n );\n getValue(this.pageNumber, (pageNumber: number) =>\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(pageNumber))\n )\n );\n }\n\n public pageChange(currentPage: number) {\n // Paging must be updated after list data has been updated.\n // Adding a setTimeout will pull it out of the stream.\n setTimeout(() => {\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(currentPage))\n );\n });\n }\n}\n","<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n>\n</sky-paging>\n"]}
@@ -1,7 +1,7 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
3
- import { SkyListPagingComponent } from './list-paging.component';
2
+ import { NgModule } from '@angular/core';
4
3
  import { SkyPagingModule } from '@skyux/lists';
4
+ import { SkyListPagingComponent } from './list-paging.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class SkyListPagingModule {
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-paging.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;;AAO/C,MAAM,OAAO,mBAAmB;;iHAAnB,mBAAmB;kHAAnB,mBAAmB,iBAJf,sBAAsB,aAC3B,YAAY,EAAE,eAAe,aAC7B,sBAAsB;kHAErB,mBAAmB,YAHrB,CAAC,YAAY,EAAE,eAAe,CAAC;4FAG7B,mBAAmB;kBAL/B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;oBACxC,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkyListPagingComponent } from './list-paging.component';\nimport { SkyPagingModule } from '@skyux/lists';\n\n@NgModule({\n declarations: [SkyListPagingComponent],\n imports: [CommonModule, SkyPagingModule],\n exports: [SkyListPagingComponent],\n})\nexport class SkyListPagingModule {}\n"]}
1
+ {"version":3,"file":"list-paging.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;;AAOjE,MAAM,OAAO,mBAAmB;;iHAAnB,mBAAmB;kHAAnB,mBAAmB,iBAJf,sBAAsB,aAC3B,YAAY,EAAE,eAAe,aAC7B,sBAAsB;kHAErB,mBAAmB,YAHrB,CAAC,YAAY,EAAE,eAAe,CAAC;4FAG7B,mBAAmB;kBAL/B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;oBACxC,OAAO,EAAE,CAAC,sBAAsB,CAAC;iBAClC","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyPagingModule } from '@skyux/lists';\n\nimport { SkyListPagingComponent } from './list-paging.component';\n\n@NgModule({\n declarations: [SkyListPagingComponent],\n imports: [CommonModule, SkyPagingModule],\n exports: [SkyListPagingComponent],\n})\nexport class SkyListPagingModule {}\n"]}
@@ -2,9 +2,9 @@ import { Component, Input } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { distinctUntilChanged, map as observableMap, take, takeUntil, } from 'rxjs/operators';
4
4
  import { ListFilterModel } from '../list-filters/filter.model';
5
- import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
6
- import { ListState } from '../list/state/list-state.state-node';
7
5
  import { ListStateDispatcher } from '../list/state/list-state.rxstate';
6
+ import { ListState } from '../list/state/list-state.state-node';
7
+ import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../list/state/list-state.state-node";
10
10
  import * as i2 from "../list/state/list-state.rxstate";
@@ -75,12 +75,11 @@ export class SkyListMultiselectToolbarComponent {
75
75
  this.reapplyFilter(change.checked);
76
76
  }
77
77
  reapplyFilter(isSelected) {
78
- let self = this;
79
78
  this.state
80
79
  .pipe(observableMap((state) => state.filters), take(1))
81
80
  .subscribe((filters) => {
82
81
  filters = filters.filter((filter) => filter.name !== 'show-selected');
83
- filters.push(self.getShowSelectedFilter(isSelected));
82
+ filters.push(this.getShowSelectedFilter(isSelected));
84
83
  this.dispatcher.filtersUpdate(filters);
85
84
  });
86
85
  // If "show selected" is checked and paging is enabled, go to page one.
@@ -1 +1 @@
1
- {"version":3,"file":"list-multiselect-toolbar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnInit, OnDestroy } from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { SkyCheckboxChange } from '@skyux/forms';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListItemModel } from '@skyux/list-builder-common';\n\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\nimport { ListSelectedModel } from '../list/state/selected/selected.model';\n\nimport { ListState } from '../list/state/list-state.state-node';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\n\nlet uniqueId = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-multiselect-toolbar',\n templateUrl: './list-multiselect-toolbar.component.html',\n styleUrls: ['./list-multiselect-toolbar.component.scss'],\n})\nexport class SkyListMultiselectToolbarComponent implements OnInit, OnDestroy {\n @Input()\n public showOnlySelected = false;\n\n public multiselectToolbarId = `sky-list-multiselect-toolbar-${uniqueId++}`;\n\n private selectedIdMap = new Map<string, boolean>();\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher\n ) {}\n\n public ngOnInit(): void {\n this.state\n .pipe(\n observableMap((t) => t.selected.item),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.selectedMapEqual)\n )\n .subscribe((model: ListSelectedModel) => {\n this.selectedIdMap = model.selectedIdMap;\n\n if (this.showOnlySelected) {\n this.reapplyFilter(true);\n }\n });\n\n // If 'show-selected' filter is programatically set from a child component (e.g. checkilst),\n // make sure the checked state of the 'show-selected' checkbox stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this.showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public selectAll(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n true\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public clearSelections(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n false\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public changeVisibleItems(change: SkyCheckboxChange): void {\n this.showOnlySelected = change.checked;\n this.reapplyFilter(change.checked);\n }\n\n private reapplyFilter(isSelected: boolean): void {\n let self = this;\n\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(self.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n\n // If \"show selected\" is checked and paging is enabled, go to page one.\n /* istanbul ignore else */\n if (isSelected) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n });\n }\n this.dispatcher.toolbarSetDisabled(isSelected);\n }\n\n private getShowSelectedFilter(isSelected: boolean): ListFilterModel {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this.selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ): boolean {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n // Both undefined.\n if (!prevShowSelectedFilter && !nextShowSelectedFilter) {\n return true;\n }\n\n // Only one undefined.\n if (\n (prevShowSelectedFilter && !nextShowSelectedFilter) ||\n (!prevShowSelectedFilter && nextShowSelectedFilter)\n ) {\n return false;\n }\n\n // Defined, but with different \"value\".\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n private selectedMapEqual(\n prev: ListSelectedModel,\n next: ListSelectedModel\n ): boolean {\n if (prev.selectedIdMap.size !== next.selectedIdMap.size) {\n return false;\n }\n\n for (let i = 0; i < next.selectedIdMap.size; i++) {\n const key = Array.from(next.selectedIdMap.keys())[i];\n const value = next.selectedIdMap.get(key);\n /* istanbul ignore next */\n if (value !== prev.selectedIdMap.get(key)) {\n return false;\n }\n }\n\n return true;\n }\n}\n","<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_mutliselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_mutliselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n"]}
1
+ {"version":3,"file":"list-multiselect-toolbar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\nimport { Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\nimport { ListSelectedModel } from '../list/state/selected/selected.model';\n\nlet uniqueId = 0;\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-multiselect-toolbar',\n templateUrl: './list-multiselect-toolbar.component.html',\n styleUrls: ['./list-multiselect-toolbar.component.scss'],\n})\nexport class SkyListMultiselectToolbarComponent implements OnInit, OnDestroy {\n @Input()\n public showOnlySelected = false;\n\n public multiselectToolbarId = `sky-list-multiselect-toolbar-${uniqueId++}`;\n\n private selectedIdMap = new Map<string, boolean>();\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher\n ) {}\n\n public ngOnInit(): void {\n this.state\n .pipe(\n observableMap((t) => t.selected.item),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.selectedMapEqual)\n )\n .subscribe((model: ListSelectedModel) => {\n this.selectedIdMap = model.selectedIdMap;\n\n if (this.showOnlySelected) {\n this.reapplyFilter(true);\n }\n });\n\n // If 'show-selected' filter is programatically set from a child component (e.g. checkilst),\n // make sure the checked state of the 'show-selected' checkbox stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual)\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter) => filter.name === 'show-selected'\n );\n if (showSelectedFilter) {\n this.showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public selectAll(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n true\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public clearSelections(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1)\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n false\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public changeVisibleItems(change: SkyCheckboxChange): void {\n this.showOnlySelected = change.checked;\n this.reapplyFilter(change.checked);\n }\n\n private reapplyFilter(isSelected: boolean): void {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1)\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n\n // If \"show selected\" is checked and paging is enabled, go to page one.\n /* istanbul ignore else */\n if (isSelected) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n });\n }\n this.dispatcher.toolbarSetDisabled(isSelected);\n }\n\n private getShowSelectedFilter(isSelected: boolean): ListFilterModel {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (model: ListItemModel, showOnlySelected: boolean) => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this.selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[]\n ): boolean {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected'\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected'\n );\n\n // Both undefined.\n if (!prevShowSelectedFilter && !nextShowSelectedFilter) {\n return true;\n }\n\n // Only one undefined.\n if (\n (prevShowSelectedFilter && !nextShowSelectedFilter) ||\n (!prevShowSelectedFilter && nextShowSelectedFilter)\n ) {\n return false;\n }\n\n // Defined, but with different \"value\".\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n private selectedMapEqual(\n prev: ListSelectedModel,\n next: ListSelectedModel\n ): boolean {\n if (prev.selectedIdMap.size !== next.selectedIdMap.size) {\n return false;\n }\n\n for (let i = 0; i < next.selectedIdMap.size; i++) {\n const key = Array.from(next.selectedIdMap.keys())[i];\n const value = next.selectedIdMap.get(key);\n /* istanbul ignore next */\n if (value !== prev.selectedIdMap.get(key)) {\n return false;\n }\n }\n\n return true;\n }\n}\n","<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_mutliselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_mutliselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n"]}
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectorRef, ChangeDetectionStrategy, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, } from '@angular/core';
2
2
  import { Subject } from 'rxjs';
3
3
  import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
4
4
  import { SkyListSecondaryActionsService } from './list-secondary-actions.service';
@@ -1 +1 @@
1
- {"version":3,"file":"list-secondary-actions-host.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.ts","../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,uBAAuB,GAGxB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;;;;;;;AAIlF,0FAA0F;AAC1F,oGAAoG;AAEpG;;GAEG;AAOH,MAAM,OAAO,oCAAoC;IAM/C,YACU,cAAiC,EACjC,aAA6C;QAD7C,mBAAc,GAAd,cAAc,CAAmB;QACjC,kBAAa,GAAb,aAAa,CAAgC;QAPhD,mBAAc,GAAG,KAAK,CAAC;QACvB,YAAO,GAAU,EAAE,CAAC;QAEnB,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;IAKnC,CAAC;IAEG,QAAQ;QACb,IAAI,CAAC,aAAa,CAAC,aAAa;aAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;aAC3D,SAAS,CAAC,CAAC,OAAiC,EAAE,EAAE;YAC/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;;kIAzBU,oCAAoC;sHAApC,oCAAoC,uEC5BjD,m0BAsBA;4FDMa,oCAAoC;kBANhD,SAAS;mBAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,WAAW,EAAE,8CAA8C;oBAC3D,SAAS,EAAE,CAAC,8CAA8C,CAAC;oBAC3D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n Component,\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\n\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\n\n// Note: this component is needed to ensure any reactive styles placed in the element have\n// their host to be based off of. Without this component the host is not written via the dispatcher.\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-secondary-actions-host',\n templateUrl: './list-secondary-actions-host.component.html',\n styleUrls: ['./list-secondary-actions-host.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListSecondaryActionsHostComponent implements OnInit, OnDestroy {\n public dropdownHidden = false;\n public actions: any[] = [];\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private actionService: SkyListSecondaryActionsService\n ) {}\n\n public ngOnInit() {\n this.actionService.actionsStream\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((actions: SkyListSecondaryAction[]) => {\n const hasSecondaryActions = actions.length > 0;\n this.dropdownHidden = !hasSecondaryActions;\n this.actions = actions;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon icon=\"ellipsis-h\"> </sky-icon>\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n"]}
1
+ {"version":3,"file":"list-secondary-actions-host.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.ts","../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,SAAS,GAGV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;;;;;;;AAElF,0FAA0F;AAC1F,oGAAoG;AAEpG;;GAEG;AAOH,MAAM,OAAO,oCAAoC;IAM/C,YACU,cAAiC,EACjC,aAA6C;QAD7C,mBAAc,GAAd,cAAc,CAAmB;QACjC,kBAAa,GAAb,aAAa,CAAgC;QAPhD,mBAAc,GAAG,KAAK,CAAC;QACvB,YAAO,GAAU,EAAE,CAAC;QAEnB,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;IAKnC,CAAC;IAEG,QAAQ;QACb,IAAI,CAAC,aAAa,CAAC,aAAa;aAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;aAC3D,SAAS,CAAC,CAAC,OAAiC,EAAE,EAAE;YAC/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,CAAC,mBAAmB,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;;kIAzBU,oCAAoC;sHAApC,oCAAoC,uEC1BjD,m0BAsBA;4FDIa,oCAAoC;kBANhD,SAAS;mBAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,WAAW,EAAE,8CAA8C;oBAC3D,SAAS,EAAE,CAAC,8CAA8C,CAAC;oBAC3D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n// Note: this component is needed to ensure any reactive styles placed in the element have\n// their host to be based off of. Without this component the host is not written via the dispatcher.\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-secondary-actions-host',\n templateUrl: './list-secondary-actions-host.component.html',\n styleUrls: ['./list-secondary-actions-host.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListSecondaryActionsHostComponent implements OnInit, OnDestroy {\n public dropdownHidden = false;\n public actions: any[] = [];\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private actionService: SkyListSecondaryActionsService\n ) {}\n\n public ngOnInit() {\n this.actionService.actionsStream\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((actions: SkyListSecondaryAction[]) => {\n const hasSecondaryActions = actions.length > 0;\n this.dropdownHidden = !hasSecondaryActions;\n this.actions = actions;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon icon=\"ellipsis-h\"> </sky-icon>\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n"]}
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, TemplateRef, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, } from '@angular/core';
2
2
  import { ListStateDispatcher } from '../../list/state/list-state.rxstate';
3
3
  import { ListToolbarItemModel } from '../../list/state/toolbar/toolbar-item.model';
4
4
  import { SkyListSecondaryActionsService } from './list-secondary-actions.service';
@@ -1 +1 @@
1
- {"version":3,"file":"list-secondary-actions.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.ts","../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.html"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,uBAAuB,EACvB,WAAW,EACX,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;;;;AAElF;;;GAGG;AAOH,MAAM,OAAO,gCAAgC;IAW3C,YAAoB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;QAV5C,YAAO,GAAU,EAAE,CAAC;QAQnB,qCAAgC,GAAW,IAAI,CAAC;IAEF,CAAC;IAEhD,eAAe;QACpB,MAAM,mBAAmB,GAAG,IAAI,oBAAoB,CAAC;YACnD,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,IAAI,CAAC,wBAAwB;YACvC,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,gCAAgC;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACzD,CAAC;;8HAtBU,gCAAgC;kHAAhC,gCAAgC,qDAHhC,CAAC,8BAA8B,CAAC,mIAOnC,WAAW,2CC5BrB,6JAKA;4FDmBa,gCAAgC;kBAN5C,SAAS;mBAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,WAAW,EAAE,yCAAyC;oBACtD,SAAS,EAAE,CAAC,8BAA8B,CAAC;oBAC3C,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;0GAQS,wBAAwB;sBAJ/B,SAAS;uBAAC,kBAAkB,EAAE;wBAC7B,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,IAAI;qBACb","sourcesContent":["import {\n AfterViewInit,\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { ListStateDispatcher } from '../../list/state/list-state.rxstate';\n\nimport { ListToolbarItemModel } from '../../list/state/toolbar/toolbar-item.model';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n/**\n * Adds a dropdown to the list toolbar for secondary actions. If the dropdown does not\n * include actions, the secondary actions dropdown is hidden.\n */\n@Component({\n selector: 'sky-list-secondary-actions',\n templateUrl: './list-secondary-actions.component.html',\n providers: [SkyListSecondaryActionsService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListSecondaryActionsComponent implements AfterViewInit {\n public actions: any[] = [];\n\n @ViewChild('secondaryActions', {\n read: TemplateRef,\n static: true,\n })\n private secondaryActionsTemplate: TemplateRef<any>;\n\n private secondaryActionsItemToolbarIndex: number = 5000;\n\n constructor(private dispatcher: ListStateDispatcher) {}\n\n public ngAfterViewInit() {\n const secondaryActionItem = new ListToolbarItemModel({\n id: 'secondary-actions',\n template: this.secondaryActionsTemplate,\n location: 'center',\n index: this.secondaryActionsItemToolbarIndex,\n });\n\n this.dispatcher.toolbarAddItems([secondaryActionItem]);\n }\n}\n","<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n"]}
1
+ {"version":3,"file":"list-secondary-actions.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.ts","../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.html"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AAEnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;;;;AAElF;;;GAGG;AAOH,MAAM,OAAO,gCAAgC;IAW3C,YAAoB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;QAV5C,YAAO,GAAU,EAAE,CAAC;QAQnB,qCAAgC,GAAG,IAAI,CAAC;IAEM,CAAC;IAEhD,eAAe;QACpB,MAAM,mBAAmB,GAAG,IAAI,oBAAoB,CAAC;YACnD,EAAE,EAAE,mBAAmB;YACvB,QAAQ,EAAE,IAAI,CAAC,wBAAwB;YACvC,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,IAAI,CAAC,gCAAgC;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACzD,CAAC;;8HAtBU,gCAAgC;kHAAhC,gCAAgC,qDAHhC,CAAC,8BAA8B,CAAC,mIAOnC,WAAW,2CC3BrB,6JAKA;4FDkBa,gCAAgC;kBAN5C,SAAS;mBAAC;oBACT,QAAQ,EAAE,4BAA4B;oBACtC,WAAW,EAAE,yCAAyC;oBACtD,SAAS,EAAE,CAAC,8BAA8B,CAAC;oBAC3C,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;0GAQS,wBAAwB;sBAJ/B,SAAS;uBAAC,kBAAkB,EAAE;wBAC7B,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,IAAI;qBACb","sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { ListStateDispatcher } from '../../list/state/list-state.rxstate';\nimport { ListToolbarItemModel } from '../../list/state/toolbar/toolbar-item.model';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n/**\n * Adds a dropdown to the list toolbar for secondary actions. If the dropdown does not\n * include actions, the secondary actions dropdown is hidden.\n */\n@Component({\n selector: 'sky-list-secondary-actions',\n templateUrl: './list-secondary-actions.component.html',\n providers: [SkyListSecondaryActionsService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListSecondaryActionsComponent implements AfterViewInit {\n public actions: any[] = [];\n\n @ViewChild('secondaryActions', {\n read: TemplateRef,\n static: true,\n })\n private secondaryActionsTemplate: TemplateRef<any>;\n\n private secondaryActionsItemToolbarIndex = 5000;\n\n constructor(private dispatcher: ListStateDispatcher) {}\n\n public ngAfterViewInit() {\n const secondaryActionItem = new ListToolbarItemModel({\n id: 'secondary-actions',\n template: this.secondaryActionsTemplate,\n location: 'center',\n index: this.secondaryActionsItemToolbarIndex,\n });\n\n this.dispatcher.toolbarAddItems([secondaryActionItem]);\n }\n}\n","<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n"]}
@@ -1,12 +1,12 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { SkyI18nModule } from '@skyux/i18n';
4
4
  import { SkyIconModule } from '@skyux/indicators';
5
5
  import { SkyDropdownModule } from '@skyux/popovers';
6
6
  import { SkyListBuilderResourcesModule } from '../../shared/sky-list-builder-resources.module';
7
- import { SkyListSecondaryActionsComponent } from './list-secondary-actions.component';
8
7
  import { SkyListSecondaryActionComponent } from './list-secondary-action.component';
9
8
  import { SkyListSecondaryActionsHostComponent } from './list-secondary-actions-host.component';
9
+ import { SkyListSecondaryActionsComponent } from './list-secondary-actions.component';
10
10
  import * as i0 from "@angular/core";
11
11
  export class SkyListSecondaryActionsModule {
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-secondary-actions.module.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;;AAiB/F,MAAM,OAAO,6BAA6B;;2HAA7B,6BAA6B;4HAA7B,6BAA6B,iBAbtC,gCAAgC;QAChC,oCAAoC;QACpC,+BAA+B,aAG/B,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,6BAA6B,aAErB,gCAAgC,EAAE,+BAA+B;4HAEhE,6BAA6B,YAT/B;YACP,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,aAAa;YACb,6BAA6B;SAC9B;4FAGU,6BAA6B;kBAfzC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,gCAAgC;wBAChC,oCAAoC;wBACpC,+BAA+B;qBAChC;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,6BAA6B;qBAC9B;oBACD,OAAO,EAAE,CAAC,gCAAgC,EAAE,+BAA+B,CAAC;iBAC7E","sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\n\nimport { SkyI18nModule } from '@skyux/i18n';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { SkyListBuilderResourcesModule } from '../../shared/sky-list-builder-resources.module';\n\nimport { SkyListSecondaryActionsComponent } from './list-secondary-actions.component';\n\nimport { SkyListSecondaryActionComponent } from './list-secondary-action.component';\n\nimport { SkyListSecondaryActionsHostComponent } from './list-secondary-actions-host.component';\n\n@NgModule({\n declarations: [\n SkyListSecondaryActionsComponent,\n SkyListSecondaryActionsHostComponent,\n SkyListSecondaryActionComponent,\n ],\n imports: [\n CommonModule,\n SkyDropdownModule,\n SkyI18nModule,\n SkyIconModule,\n SkyListBuilderResourcesModule,\n ],\n exports: [SkyListSecondaryActionsComponent, SkyListSecondaryActionComponent],\n})\nexport class SkyListSecondaryActionsModule {}\n"]}
1
+ {"version":3,"file":"list-secondary-actions.module.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,oCAAoC,EAAE,MAAM,yCAAyC,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;;AAiBtF,MAAM,OAAO,6BAA6B;;2HAA7B,6BAA6B;4HAA7B,6BAA6B,iBAbtC,gCAAgC;QAChC,oCAAoC;QACpC,+BAA+B,aAG/B,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,6BAA6B,aAErB,gCAAgC,EAAE,+BAA+B;4HAEhE,6BAA6B,YAT/B;YACP,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,aAAa;YACb,6BAA6B;SAC9B;4FAGU,6BAA6B;kBAfzC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,gCAAgC;wBAChC,oCAAoC;wBACpC,+BAA+B;qBAChC;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,6BAA6B;qBAC9B;oBACD,OAAO,EAAE,CAAC,gCAAgC,EAAE,+BAA+B,CAAC;iBAC7E","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/indicators';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { SkyListBuilderResourcesModule } from '../../shared/sky-list-builder-resources.module';\n\nimport { SkyListSecondaryActionComponent } from './list-secondary-action.component';\nimport { SkyListSecondaryActionsHostComponent } from './list-secondary-actions-host.component';\nimport { SkyListSecondaryActionsComponent } from './list-secondary-actions.component';\n\n@NgModule({\n declarations: [\n SkyListSecondaryActionsComponent,\n SkyListSecondaryActionsHostComponent,\n SkyListSecondaryActionComponent,\n ],\n imports: [\n CommonModule,\n SkyDropdownModule,\n SkyI18nModule,\n SkyIconModule,\n SkyListBuilderResourcesModule,\n ],\n exports: [SkyListSecondaryActionsComponent, SkyListSecondaryActionComponent],\n})\nexport class SkyListSecondaryActionsModule {}\n"]}
@@ -1,4 +1,4 @@
1
- import { Component, ViewContainerRef, ViewChild, Input, TemplateRef, } from '@angular/core';
1
+ import { Component, Input, TemplateRef, ViewChild, ViewContainerRef, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"list-toolbar-item-renderer.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,WAAW,GAEZ,MAAM,eAAe,CAAC;;AAEvB;;GAEG;AAKH,MAAM,OAAO,mCAAmC;IAUvC,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;;iIAdU,mCAAmC;qHAAnC,mCAAmC,2LAKtC,gBAAgB,2CAPd,wCAAwC;4FAEvC,mCAAmC;kBAJ/C,SAAS;mBAAC;oBACT,QAAQ,EAAE,gCAAgC;oBAC1C,QAAQ,EAAE,wCAAwC;iBACnD;8BAGQ,QAAQ;sBADd,KAAK;gBAOE,SAAS;sBAJhB,SAAS;uBAAC,WAAW,EAAE;wBACtB,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,IAAI;qBACb","sourcesContent":["import {\n Component,\n ViewContainerRef,\n ViewChild,\n Input,\n TemplateRef,\n OnInit,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-toolbar-item-renderer',\n template: '<ng-template #container></ng-template>',\n})\nexport class SkyListToolbarItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<any>;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit() {\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"list-toolbar-item-renderer.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EAEL,WAAW,EACX,SAAS,EACT,gBAAgB,GACjB,MAAM,eAAe,CAAC;;AAEvB;;GAEG;AAKH,MAAM,OAAO,mCAAmC;IAUvC,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;;iIAdU,mCAAmC;qHAAnC,mCAAmC,2LAKtC,gBAAgB,2CAPd,wCAAwC;4FAEvC,mCAAmC;kBAJ/C,SAAS;mBAAC;oBACT,QAAQ,EAAE,gCAAgC;oBAC1C,QAAQ,EAAE,wCAAwC;iBACnD;8BAGQ,QAAQ;sBADd,KAAK;gBAOE,SAAS;sBAJhB,SAAS;uBAAC,WAAW,EAAE;wBACtB,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,IAAI;qBACb","sourcesContent":["import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-toolbar-item-renderer',\n template: '<ng-template #container></ng-template>',\n})\nexport class SkyListToolbarItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<any>;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit() {\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Component, Input, ContentChildren, TemplateRef, QueryList, } from '@angular/core';
1
+ import { Component, ContentChildren, Input, QueryList, TemplateRef, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  let idIndex = 0;
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"list-toolbar-item.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,eAAe,EACf,WAAW,EACX,SAAS,GACV,MAAM,eAAe,CAAC;;AAEvB,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;GAEG;AAKH,MAAM,OAAO,2BAA2B;IAJxC;QAKE;;WAEG;QACa,OAAE,GAAW,yBAAyB,EAAE,OAAO,EAAE,CAAC;QAClE;;;WAGG;QACa,UAAK,GAAW,CAAC,CAAC,CAAC;QACnC;;;;WAIG;QACa,aAAQ,GAAW,MAAM,CAAC;KAK3C;IAHC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;;yHAnBU,2BAA2B;6GAA3B,2BAA2B,mJAgBrB,WAAW,6BAlBlB,2BAA2B;4FAE1B,2BAA2B;kBAJvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,2BAA2B;iBACtC;8BAKiB,EAAE;sBAAjB,KAAK;gBAKU,KAAK;sBAApB,KAAK;gBAMU,QAAQ;sBAAvB,KAAK;gBACgC,SAAS;sBAA9C,eAAe;uBAAC,WAAW","sourcesContent":["import {\n Component,\n Input,\n ContentChildren,\n TemplateRef,\n QueryList,\n} from '@angular/core';\n\nlet idIndex = 0;\n\n/**\n * Defines a toolbar item for the list toolbar.\n */\n@Component({\n selector: 'sky-list-toolbar-item',\n template: '<ng-content></ng-content>',\n})\nexport class SkyListToolbarItemComponent {\n /**\n * Specifies the ID of the item.\n */\n @Input() public id: string = `sky-list-toolbar-item-${++idIndex}`;\n /**\n * Specifies the index of the item at the given item location.\n * @default -1\n */\n @Input() public index: number = -1;\n /**\n * Specifies the toolbar location of the item. The valid options are `\"left\"`,\n * `\"center\"`, and `\"right\"`.\n * @default \"left\"\n */\n @Input() public location: string = 'left';\n @ContentChildren(TemplateRef) private templates: QueryList<TemplateRef<any>>;\n public get template(): TemplateRef<any> {\n return this.templates.length > 0 ? this.templates.first : undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"list-toolbar-item.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,EACL,SAAS,EACT,WAAW,GACZ,MAAM,eAAe,CAAC;;AAEvB,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;GAEG;AAKH,MAAM,OAAO,2BAA2B;IAJxC;QAKE;;WAEG;QACa,OAAE,GAAG,yBAAyB,EAAE,OAAO,EAAE,CAAC;QAC1D;;;WAGG;QACa,UAAK,GAAG,CAAC,CAAC,CAAC;QAC3B;;;;WAIG;QACa,aAAQ,GAAG,MAAM,CAAC;KAKnC;IAHC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;;yHAnBU,2BAA2B;6GAA3B,2BAA2B,mJAgBrB,WAAW,6BAlBlB,2BAA2B;4FAE1B,2BAA2B;kBAJvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,2BAA2B;iBACtC;8BAKiB,EAAE;sBAAjB,KAAK;gBAKU,KAAK;sBAApB,KAAK;gBAMU,QAAQ;sBAAvB,KAAK;gBACgC,SAAS;sBAA9C,eAAe;uBAAC,WAAW","sourcesContent":["import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\n\nlet idIndex = 0;\n\n/**\n * Defines a toolbar item for the list toolbar.\n */\n@Component({\n selector: 'sky-list-toolbar-item',\n template: '<ng-content></ng-content>',\n})\nexport class SkyListToolbarItemComponent {\n /**\n * Specifies the ID of the item.\n */\n @Input() public id = `sky-list-toolbar-item-${++idIndex}`;\n /**\n * Specifies the index of the item at the given item location.\n * @default -1\n */\n @Input() public index = -1;\n /**\n * Specifies the toolbar location of the item. The valid options are `\"left\"`,\n * `\"center\"`, and `\"right\"`.\n * @default \"left\"\n */\n @Input() public location = 'left';\n @ContentChildren(TemplateRef) private templates: QueryList<TemplateRef<any>>;\n public get template(): TemplateRef<any> {\n return this.templates.length > 0 ? this.templates.first : undefined;\n }\n}\n"]}
@@ -1,24 +1,24 @@
1
- import { combineLatest as observableCombineLatest, Subject, } from 'rxjs';
2
- import { map as observableMap, takeUntil, take, distinctUntilChanged, } from 'rxjs/operators';
3
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Input, QueryList, TemplateRef, ViewChild, } from '@angular/core';
4
2
  import { getValue } from '@skyux/list-builder-common';
5
3
  import { SkySearchComponent } from '@skyux/lookup';
6
- import { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';
7
- import { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';
8
- import { ListState } from '../list/state/list-state.state-node';
9
- import { ListStateDispatcher } from '../list/state/list-state.rxstate';
10
- import { ListSortLabelModel } from '../list/state/sort/label.model';
11
- import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
4
+ import { Subject, combineLatest as observableCombineLatest, } from 'rxjs';
5
+ import { distinctUntilChanged, map as observableMap, take, takeUntil, } from 'rxjs/operators';
12
6
  import { SkyListFilterInlineComponent } from '../list-filters/list-filter-inline.component';
13
7
  import { SkyListFilterSummaryComponent } from '../list-filters/list-filter-summary.component';
8
+ import { ListStateDispatcher } from '../list/state/list-state.rxstate';
9
+ import { ListState } from '../list/state/list-state.state-node';
10
+ import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
11
+ import { ListSortLabelModel } from '../list/state/sort/label.model';
12
+ import { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';
13
+ import { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';
14
14
  import { SkyListToolbarItemComponent } from './list-toolbar-item.component';
15
15
  import { SkyListToolbarSortComponent } from './list-toolbar-sort.component';
16
16
  import { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';
17
17
  import { ListToolbarConfigSetSearchEnabledAction } from './state/config/set-search-enabled.action';
18
18
  import { ListToolbarConfigSetSortSelectorEnabledAction } from './state/config/set-sort-selector-enabled.action';
19
- import { ListToolbarState } from './state/toolbar-state.state-node';
20
- import { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';
21
19
  import { ListToolbarStateModel } from './state/toolbar-state.model';
20
+ import { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';
21
+ import { ListToolbarState } from './state/toolbar-state.state-node';
22
22
  import * as i0 from "@angular/core";
23
23
  import * as i1 from "../list/state/list-state.state-node";
24
24
  import * as i2 from "../list/state/list-state.rxstate";
@@ -149,7 +149,7 @@ export class SkyListToolbarComponent {
149
149
  this.isSortSelectorEnabled = this.toolbarState.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.config), distinctUntilChanged(), observableMap((c) => c.sortSelectorEnabled));
150
150
  this.isMultiselectEnabled = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.toolbar), distinctUntilChanged(), observableMap((t) => t.showMultiselectToolbar));
151
151
  this.hasAppliedFilters = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.filters), distinctUntilChanged(), observableMap((filters) => {
152
- let activeFilters = filters.filter((f) => {
152
+ const activeFilters = filters.filter((f) => {
153
153
  return (f.value !== '' &&
154
154
  f.value !== undefined &&
155
155
  f.value !== false &&
@@ -246,10 +246,10 @@ export class SkyListToolbarComponent {
246
246
  getSortSelectors() {
247
247
  return observableCombineLatest(this.state.pipe(observableMap((s) => s.sort.available), distinctUntilChanged()), this.state.pipe(observableMap((s) => s.sort.global), distinctUntilChanged()), this.state.pipe(observableMap((s) => s.sort.fieldSelectors), distinctUntilChanged()), (available, global, fieldSelectors) => {
248
248
  // Get sorts that are in the global that are not in the available
249
- let sorts = global.filter((g) => available.filter((a) => a.fieldSelector === g.fieldSelector)
249
+ const sorts = global.filter((g) => available.filter((a) => a.fieldSelector === g.fieldSelector)
250
250
  .length === 0);
251
- let resultSortSelectors = [...sorts, ...available].map((sortLabels) => {
252
- let fs = fieldSelectors.filter((f) => {
251
+ const resultSortSelectors = [...sorts, ...available].map((sortLabels) => {
252
+ const fs = fieldSelectors.filter((f) => {
253
253
  return (f.fieldSelector === sortLabels.fieldSelector &&
254
254
  f.descending === sortLabels.descending);
255
255
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list-toolbar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n combineLatest as observableCombineLatest,\n Observable,\n Subject,\n} from 'rxjs';\n\nimport {\n map as observableMap,\n takeUntil,\n take,\n distinctUntilChanged,\n} from 'rxjs/operators';\n\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { getValue } from '@skyux/list-builder-common';\n\nimport { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\n\nimport { SkySearchComponent } from '@skyux/lookup';\n\nimport { ListToolbarModel } from '../list/state/toolbar/toolbar.model';\n\nimport { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';\n\nimport { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';\n\nimport { ListState } from '../list/state/list-state.state-node';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\n\nimport { ListSortLabelModel } from '../list/state/sort/label.model';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\nimport { SkyListFilterInlineComponent } from '../list-filters/list-filter-inline.component';\n\nimport { SkyListFilterSummaryComponent } from '../list-filters/list-filter-summary.component';\n\nimport { SkyListToolbarItemComponent } from './list-toolbar-item.component';\n\nimport { SkyListToolbarSortComponent } from './list-toolbar-sort.component';\n\nimport { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';\n\nimport { ListToolbarConfigSetSearchEnabledAction } from './state/config/set-search-enabled.action';\n\nimport { ListToolbarConfigSetSortSelectorEnabledAction } from './state/config/set-sort-selector-enabled.action';\n\nimport { ListToolbarState } from './state/toolbar-state.state-node';\n\nimport { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';\n\nimport { ListToolbarStateModel } from './state/toolbar-state.model';\n\nlet nextId = 0;\n\n/**\n * Displays a toolbar for a SKY UX-themed list of data.\n */\n@Component({\n selector: 'sky-list-toolbar',\n templateUrl: './list-toolbar.component.html',\n styleUrls: ['./list-toolbar.component.scss'],\n providers: [\n ListToolbarState,\n ListToolbarStateDispatcher,\n ListToolbarStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListToolbarComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n /**\n * Indicates whether to use the in-memory search.\n * Setting this to `false` will allow consumers to run their own searches remotely,\n * and push new values to the list component by updating the `data` property.\n * @default true\n * @internal\n */\n @Input()\n public set inMemorySearchEnabled(value: boolean) {\n this._inMemorySearchEnabled = value;\n }\n\n public get inMemorySearchEnabled(): boolean {\n if (this._inMemorySearchEnabled === undefined) {\n return true;\n }\n return this._inMemorySearchEnabled;\n }\n\n /**\n * Specifies placeholder text for the search bar that the list toolbar creates with\n * a [search component](https://developer.blackbaud.com/skyux/components/search).\n * @default \"Find in this list\"\n */\n @Input()\n public placeholder: string;\n\n /**\n * Indicates whether to enable the search bar.\n * @default true\n */\n @Input()\n public searchEnabled: boolean | Observable<boolean>;\n\n @ViewChild(SkySearchComponent, {\n read: SkySearchComponent,\n static: false,\n })\n public searchComponent: SkySearchComponent;\n\n /**\n * Indicates whether to enable the sort selector.\n * @default false\n */\n @Input()\n public sortSelectorEnabled: boolean | Observable<boolean>;\n\n /**\n * Display the search bar in the standard position or in a separate section.\n * To highlight the search bar in a section above all other toolbar items,\n * set this property to `search`.\n * @default \"standard\"\n */\n @Input()\n public toolbarType: string = 'standard';\n\n /**\n * Specifies a text string to search with.\n */\n @Input()\n public searchText: string | Observable<string>;\n\n public get isFilterBarDisplayed(): boolean {\n return (\n !this.isToolbarDisabled &&\n this.hasInlineFilters &&\n this.inlineFilterBarExpanded\n );\n }\n\n public get filterButtonAriaControls(): string {\n return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined;\n }\n\n public sortSelectors: Observable<Array<any>>;\n public searchTextInput: Observable<string>;\n public view: Observable<string>;\n public leftTemplates: ListToolbarItemModel[];\n public centerTemplates: ListToolbarItemModel[];\n public rightTemplates: ListToolbarItemModel[];\n public type: Observable<string>;\n public isSearchEnabled: Observable<boolean>;\n public isToolbarDisabled: boolean = false;\n public isMultiselectEnabled: Observable<boolean>;\n public isSortSelectorEnabled: Observable<boolean>;\n public appliedFilters: Observable<Array<ListFilterModel>>;\n public hasAppliedFilters: Observable<boolean>;\n public showFilterSummary: boolean;\n public hasInlineFilters: boolean;\n public inlineFilterBarExpanded: boolean = false;\n public hasAdditionalToolbarSection = false;\n public hasViewActions = false;\n\n public filterButtonId: string = `sky-list-toolbar-filter-button-${++nextId}`;\n public listFilterInlineId: string = `sky-list-toolbar-filter-inline-${++nextId}`;\n\n /**\n * Fires when users submit a search.\n * @internal\n */\n public searchApplied: Subject<string> = new Subject<string>();\n\n @ContentChildren(SkyListToolbarItemComponent)\n private toolbarItems: QueryList<SkyListToolbarItemComponent>;\n\n @ContentChildren(SkyListToolbarSortComponent)\n private toolbarSorts: QueryList<SkyListToolbarSortComponent>;\n\n @ContentChildren(SkyListFilterSummaryComponent)\n private filterSummary: QueryList<SkyListFilterSummaryComponent>;\n\n @ContentChildren(SkyListFilterInlineComponent)\n private inlineFilter: QueryList<SkyListFilterInlineComponent>;\n\n @ContentChildren(SkyListToolbarViewActionsComponent)\n private viewActions: QueryList<SkyListToolbarViewActionsComponent>;\n\n @ViewChild('search', {\n read: TemplateRef,\n static: true,\n })\n private searchTemplate: TemplateRef<any>;\n\n @ViewChild('sortSelector', {\n read: TemplateRef,\n static: true,\n })\n private sortSelectorTemplate: TemplateRef<any>;\n\n @ViewChild('inlineFilterButton', {\n read: TemplateRef,\n static: true,\n })\n private inlineFilterButtonTemplate: TemplateRef<any>;\n\n private customItemIds: string[] = [];\n private hasSortSelectors: boolean = false;\n private inlineFiltersItemToolbarIndex: number = 5000;\n private sortSelectorItemToolbarIndex: number = 6000;\n private ngUnsubscribe = new Subject();\n\n private _inMemorySearchEnabled: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private state: ListState,\n private dispatcher: ListStateDispatcher,\n private toolbarState: ListToolbarState,\n public toolbarDispatcher: ListToolbarStateDispatcher\n ) {}\n\n public ngOnInit() {\n this.dispatcher.toolbarExists(true);\n\n getValue(this.searchText, (searchText: string) => {\n this.updateSearchText(searchText);\n });\n\n getValue(this.searchEnabled, (searchEnabled: boolean) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSearchEnabledAction(\n searchEnabled === undefined ? true : searchEnabled\n )\n );\n });\n\n getValue(this.toolbarType, (type: string) => {\n this.dispatcher.next(new ListToolbarSetTypeAction(this.toolbarType));\n });\n\n getValue(this.sortSelectorEnabled, (sortSelectorEnabled: any) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSortSelectorEnabledAction(\n sortSelectorEnabled === undefined ? true : sortSelectorEnabled\n )\n );\n });\n\n this.sortSelectors = this.getSortSelectors();\n\n // Initialize the sort toolbar item if necessary\n this.sortSelectors\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((currentSort) => {\n if (currentSort.length > 0 && !this.hasSortSelectors) {\n this.hasSortSelectors = true;\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'sort-selector',\n template: this.sortSelectorTemplate,\n location: 'left',\n index: this.sortSelectorItemToolbarIndex,\n }),\n ]);\n } else if (currentSort.length < 1 && this.hasSortSelectors) {\n this.hasSortSelectors = false;\n this.dispatcher.toolbarRemoveItems(['sort-selector']);\n }\n });\n\n this.searchTextInput = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.search.searchText),\n distinctUntilChanged()\n );\n\n this.view = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.views.active),\n distinctUntilChanged()\n );\n\n this.watchTemplates();\n\n this.type = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((state) => state.toolbar.type),\n distinctUntilChanged()\n );\n\n this.type.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toolbarType) => {\n if (toolbarType === 'search') {\n this.dispatcher.toolbarRemoveItems(['search']);\n } else {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'search',\n template: this.searchTemplate,\n location: 'right',\n }),\n ]);\n }\n });\n\n this.isSearchEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.searchEnabled)\n );\n\n this.state\n .pipe(\n observableMap((s) => s.toolbar),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(),\n observableMap((c) => c.disabled)\n )\n .subscribe((isDisabled) => (this.isToolbarDisabled = isDisabled));\n\n this.isSortSelectorEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.sortSelectorEnabled)\n );\n\n this.isMultiselectEnabled = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.toolbar),\n distinctUntilChanged(),\n observableMap((t) => t.showMultiselectToolbar)\n );\n\n this.hasAppliedFilters = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.filters),\n distinctUntilChanged(),\n observableMap((filters) => {\n let activeFilters = filters.filter((f) => {\n return (\n f.value !== '' &&\n f.value !== undefined &&\n f.value !== false &&\n f.value !== f.defaultValue\n );\n });\n return activeFilters.length > 0;\n })\n );\n\n this.state.pipe(takeUntil(this.ngUnsubscribe)).subscribe((current: any) => {\n this.hasAdditionalToolbarSection = current.toolbar.items.length > 0;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngAfterContentInit() {\n // Inject custom toolbar items.\n this.toolbarItems.forEach((toolbarItem) => {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(toolbarItem)]);\n\n this.customItemIds.push(toolbarItem.id);\n });\n\n this.toolbarItems.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((newItems: QueryList<SkyListToolbarItemComponent>) => {\n newItems.forEach((item) => {\n if (this.customItemIds.indexOf(item.id) < 0) {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(item)]);\n\n this.customItemIds.push(item.id);\n }\n });\n\n const itemsToRemove: string[] = [];\n\n this.customItemIds.forEach((itemId, index) => {\n if (!newItems.find((item) => item.id === itemId)) {\n itemsToRemove.push(itemId);\n this.customItemIds.splice(index, 1);\n }\n });\n\n this.dispatcher.toolbarRemoveItems(itemsToRemove);\n });\n\n const sortModels = this.toolbarSorts.map(\n (sort) =>\n new ListSortLabelModel({\n text: sort.label,\n fieldSelector: sort.field,\n fieldType: sort.type,\n global: true,\n descending: sort.descending,\n })\n );\n\n this.dispatcher.sortSetGlobal(sortModels);\n\n // Add inline filters.\n this.showFilterSummary = this.filterSummary.length > 0;\n this.hasInlineFilters = this.inlineFilter.length > 0;\n\n if (this.hasInlineFilters) {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n template: this.inlineFilterButtonTemplate,\n location: 'left',\n index: this.inlineFiltersItemToolbarIndex,\n }),\n ]);\n }\n\n // Check for view actions\n this.hasViewActions = this.viewActions.length > 0;\n }\n\n public ngOnDestroy() {\n this.searchApplied.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public setSort(sort: ListSortLabelModel): void {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.sortSetFieldSelectors([\n { fieldSelector: sort.fieldSelector, descending: sort.descending },\n ]);\n });\n }\n\n public inlineFilterButtonClick() {\n this.inlineFilterBarExpanded = !this.inlineFilterBarExpanded;\n }\n\n public updateSearchText(searchText: string) {\n this.searchApplied.next(searchText);\n if (this.inMemorySearchEnabled) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.searchSetText(searchText);\n });\n }\n }\n\n private itemIsInView(itemView: string, activeView: string) {\n return itemView === undefined || itemView === activeView;\n }\n\n private getSortSelectors() {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.sort.available),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.sort.global),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged()\n ),\n (\n available: Array<ListSortLabelModel>,\n global: Array<ListSortLabelModel>,\n fieldSelectors: Array<ListSortFieldSelectorModel>\n ) => {\n // Get sorts that are in the global that are not in the available\n let sorts = global.filter(\n (g) =>\n available.filter((a) => a.fieldSelector === g.fieldSelector)\n .length === 0\n );\n\n let resultSortSelectors = [...sorts, ...available].map((sortLabels) => {\n let fs = fieldSelectors.filter((f) => {\n return (\n f.fieldSelector === sortLabels.fieldSelector &&\n f.descending === sortLabels.descending\n );\n });\n let selected = false;\n if (fs.length > 0) {\n selected = true;\n }\n\n return {\n sort: sortLabels,\n selected: selected,\n };\n });\n\n return resultSortSelectors;\n }\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n private watchTemplates() {\n observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.toolbar),\n distinctUntilChanged()\n ),\n this.view.pipe(distinctUntilChanged()),\n (toolbar: ListToolbarModel, view: string) => {\n const items = toolbar.items.filter((i: ListToolbarItemModel) => {\n return this.itemIsInView(i.view, view);\n });\n\n const templates: any = {};\n\n items.forEach((item: ListToolbarItemModel) => {\n templates[item.location] = templates[item.location] || [];\n templates[item.location].push(item);\n });\n\n return templates;\n }\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.leftTemplates = value.left;\n this.centerTemplates = value.center;\n this.rightTemplates = value.right;\n this.changeDetector.markForCheck();\n });\n }\n}\n","<div class=\"sky-list-toolbar-container\">\n <sky-toolbar *ngIf=\"(type | async) !== 'search'\">\n <sky-toolbar-section>\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n\n <sky-toolbar-section\n *ngIf=\"showFilterSummary && (hasAppliedFilters | async)\"\n >\n <ng-content select=\"sky-list-filter-summary\"> </ng-content>\n </sky-toolbar-section>\n </sky-toolbar>\n\n <div\n *ngIf=\"\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n \"\n class=\"sky-list-toolbar-search\"\n >\n <sky-toolbar>\n <sky-toolbar-section *ngIf=\"isSearchEnabled | async\">\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n </sky-toolbar-section>\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n *ngIf=\"item.id !== 'search'\"\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"isFilterBarDisplayed\"\n [attr.aria-labelledby]=\"filterButtonId\"\n [id]=\"listFilterInlineId\"\n >\n <ng-content select=\"sky-list-filter-inline\"> </ng-content>\n </div>\n <sky-list-multiselect-toolbar *ngIf=\"isMultiselectEnabled | async\">\n </sky-list-multiselect-toolbar>\n</div>\n\n<ng-template #search>\n <div *ngIf=\"isSearchEnabled | async\" class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n >\n </sky-search>\n <ng-content select=\"sky-list-toolbar-search-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortSelector>\n <div\n *ngIf=\"\n (isSortSelectorEnabled | async) && (sortSelectors | async).length > 0\n \"\n class=\"sky-toolbar-item-sort-container\"\n >\n <sky-sort [showButtonText]=\"true\">\n <sky-sort-item\n *ngFor=\"let item of sortSelectors | async\"\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n </sky-sort>\n </div>\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n >\n </sky-filter-button>\n</ng-template>\n"]}
1
+ {"version":3,"file":"list-toolbar.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { getValue } from '@skyux/list-builder-common';\nimport { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\nimport { SkySearchComponent } from '@skyux/lookup';\n\nimport {\n Observable,\n Subject,\n combineLatest as observableCombineLatest,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { SkyListFilterInlineComponent } from '../list-filters/list-filter-inline.component';\nimport { SkyListFilterSummaryComponent } from '../list-filters/list-filter-summary.component';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\nimport { ListSortLabelModel } from '../list/state/sort/label.model';\nimport { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';\nimport { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';\nimport { ListToolbarModel } from '../list/state/toolbar/toolbar.model';\n\nimport { SkyListToolbarItemComponent } from './list-toolbar-item.component';\nimport { SkyListToolbarSortComponent } from './list-toolbar-sort.component';\nimport { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';\nimport { ListToolbarConfigSetSearchEnabledAction } from './state/config/set-search-enabled.action';\nimport { ListToolbarConfigSetSortSelectorEnabledAction } from './state/config/set-sort-selector-enabled.action';\nimport { ListToolbarStateModel } from './state/toolbar-state.model';\nimport { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';\nimport { ListToolbarState } from './state/toolbar-state.state-node';\n\nlet nextId = 0;\n\n/**\n * Displays a toolbar for a SKY UX-themed list of data.\n */\n@Component({\n selector: 'sky-list-toolbar',\n templateUrl: './list-toolbar.component.html',\n styleUrls: ['./list-toolbar.component.scss'],\n providers: [\n ListToolbarState,\n ListToolbarStateDispatcher,\n ListToolbarStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListToolbarComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n /**\n * Indicates whether to use the in-memory search.\n * Setting this to `false` will allow consumers to run their own searches remotely,\n * and push new values to the list component by updating the `data` property.\n * @default true\n * @internal\n */\n @Input()\n public set inMemorySearchEnabled(value: boolean) {\n this._inMemorySearchEnabled = value;\n }\n\n public get inMemorySearchEnabled(): boolean {\n if (this._inMemorySearchEnabled === undefined) {\n return true;\n }\n return this._inMemorySearchEnabled;\n }\n\n /**\n * Specifies placeholder text for the search bar that the list toolbar creates with\n * a [search component](https://developer.blackbaud.com/skyux/components/search).\n * @default \"Find in this list\"\n */\n @Input()\n public placeholder: string;\n\n /**\n * Indicates whether to enable the search bar.\n * @default true\n */\n @Input()\n public searchEnabled: boolean | Observable<boolean>;\n\n @ViewChild(SkySearchComponent, {\n read: SkySearchComponent,\n static: false,\n })\n public searchComponent: SkySearchComponent;\n\n /**\n * Indicates whether to enable the sort selector.\n * @default false\n */\n @Input()\n public sortSelectorEnabled: boolean | Observable<boolean>;\n\n /**\n * Display the search bar in the standard position or in a separate section.\n * To highlight the search bar in a section above all other toolbar items,\n * set this property to `search`.\n * @default \"standard\"\n */\n @Input()\n public toolbarType = 'standard';\n\n /**\n * Specifies a text string to search with.\n */\n @Input()\n public searchText: string | Observable<string>;\n\n public get isFilterBarDisplayed(): boolean {\n return (\n !this.isToolbarDisabled &&\n this.hasInlineFilters &&\n this.inlineFilterBarExpanded\n );\n }\n\n public get filterButtonAriaControls(): string {\n return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined;\n }\n\n public sortSelectors: Observable<Array<any>>;\n public searchTextInput: Observable<string>;\n public view: Observable<string>;\n public leftTemplates: ListToolbarItemModel[];\n public centerTemplates: ListToolbarItemModel[];\n public rightTemplates: ListToolbarItemModel[];\n public type: Observable<string>;\n public isSearchEnabled: Observable<boolean>;\n public isToolbarDisabled = false;\n public isMultiselectEnabled: Observable<boolean>;\n public isSortSelectorEnabled: Observable<boolean>;\n public appliedFilters: Observable<Array<ListFilterModel>>;\n public hasAppliedFilters: Observable<boolean>;\n public showFilterSummary: boolean;\n public hasInlineFilters: boolean;\n public inlineFilterBarExpanded = false;\n public hasAdditionalToolbarSection = false;\n public hasViewActions = false;\n\n public filterButtonId = `sky-list-toolbar-filter-button-${++nextId}`;\n public listFilterInlineId = `sky-list-toolbar-filter-inline-${++nextId}`;\n\n /**\n * Fires when users submit a search.\n * @internal\n */\n public searchApplied: Subject<string> = new Subject<string>();\n\n @ContentChildren(SkyListToolbarItemComponent)\n private toolbarItems: QueryList<SkyListToolbarItemComponent>;\n\n @ContentChildren(SkyListToolbarSortComponent)\n private toolbarSorts: QueryList<SkyListToolbarSortComponent>;\n\n @ContentChildren(SkyListFilterSummaryComponent)\n private filterSummary: QueryList<SkyListFilterSummaryComponent>;\n\n @ContentChildren(SkyListFilterInlineComponent)\n private inlineFilter: QueryList<SkyListFilterInlineComponent>;\n\n @ContentChildren(SkyListToolbarViewActionsComponent)\n private viewActions: QueryList<SkyListToolbarViewActionsComponent>;\n\n @ViewChild('search', {\n read: TemplateRef,\n static: true,\n })\n private searchTemplate: TemplateRef<any>;\n\n @ViewChild('sortSelector', {\n read: TemplateRef,\n static: true,\n })\n private sortSelectorTemplate: TemplateRef<any>;\n\n @ViewChild('inlineFilterButton', {\n read: TemplateRef,\n static: true,\n })\n private inlineFilterButtonTemplate: TemplateRef<any>;\n\n private customItemIds: string[] = [];\n private hasSortSelectors = false;\n private inlineFiltersItemToolbarIndex = 5000;\n private sortSelectorItemToolbarIndex = 6000;\n private ngUnsubscribe = new Subject();\n\n private _inMemorySearchEnabled: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private state: ListState,\n private dispatcher: ListStateDispatcher,\n private toolbarState: ListToolbarState,\n public toolbarDispatcher: ListToolbarStateDispatcher\n ) {}\n\n public ngOnInit() {\n this.dispatcher.toolbarExists(true);\n\n getValue(this.searchText, (searchText: string) => {\n this.updateSearchText(searchText);\n });\n\n getValue(this.searchEnabled, (searchEnabled: boolean) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSearchEnabledAction(\n searchEnabled === undefined ? true : searchEnabled\n )\n );\n });\n\n getValue(this.toolbarType, (type: string) => {\n this.dispatcher.next(new ListToolbarSetTypeAction(this.toolbarType));\n });\n\n getValue(this.sortSelectorEnabled, (sortSelectorEnabled: any) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSortSelectorEnabledAction(\n sortSelectorEnabled === undefined ? true : sortSelectorEnabled\n )\n );\n });\n\n this.sortSelectors = this.getSortSelectors();\n\n // Initialize the sort toolbar item if necessary\n this.sortSelectors\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((currentSort) => {\n if (currentSort.length > 0 && !this.hasSortSelectors) {\n this.hasSortSelectors = true;\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'sort-selector',\n template: this.sortSelectorTemplate,\n location: 'left',\n index: this.sortSelectorItemToolbarIndex,\n }),\n ]);\n } else if (currentSort.length < 1 && this.hasSortSelectors) {\n this.hasSortSelectors = false;\n this.dispatcher.toolbarRemoveItems(['sort-selector']);\n }\n });\n\n this.searchTextInput = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.search.searchText),\n distinctUntilChanged()\n );\n\n this.view = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.views.active),\n distinctUntilChanged()\n );\n\n this.watchTemplates();\n\n this.type = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((state) => state.toolbar.type),\n distinctUntilChanged()\n );\n\n this.type.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toolbarType) => {\n if (toolbarType === 'search') {\n this.dispatcher.toolbarRemoveItems(['search']);\n } else {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'search',\n template: this.searchTemplate,\n location: 'right',\n }),\n ]);\n }\n });\n\n this.isSearchEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.searchEnabled)\n );\n\n this.state\n .pipe(\n observableMap((s) => s.toolbar),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(),\n observableMap((c) => c.disabled)\n )\n .subscribe((isDisabled) => (this.isToolbarDisabled = isDisabled));\n\n this.isSortSelectorEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.sortSelectorEnabled)\n );\n\n this.isMultiselectEnabled = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.toolbar),\n distinctUntilChanged(),\n observableMap((t) => t.showMultiselectToolbar)\n );\n\n this.hasAppliedFilters = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.filters),\n distinctUntilChanged(),\n observableMap((filters) => {\n const activeFilters = filters.filter((f) => {\n return (\n f.value !== '' &&\n f.value !== undefined &&\n f.value !== false &&\n f.value !== f.defaultValue\n );\n });\n return activeFilters.length > 0;\n })\n );\n\n this.state.pipe(takeUntil(this.ngUnsubscribe)).subscribe((current: any) => {\n this.hasAdditionalToolbarSection = current.toolbar.items.length > 0;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngAfterContentInit() {\n // Inject custom toolbar items.\n this.toolbarItems.forEach((toolbarItem) => {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(toolbarItem)]);\n\n this.customItemIds.push(toolbarItem.id);\n });\n\n this.toolbarItems.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((newItems: QueryList<SkyListToolbarItemComponent>) => {\n newItems.forEach((item) => {\n if (this.customItemIds.indexOf(item.id) < 0) {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(item)]);\n\n this.customItemIds.push(item.id);\n }\n });\n\n const itemsToRemove: string[] = [];\n\n this.customItemIds.forEach((itemId, index) => {\n if (!newItems.find((item) => item.id === itemId)) {\n itemsToRemove.push(itemId);\n this.customItemIds.splice(index, 1);\n }\n });\n\n this.dispatcher.toolbarRemoveItems(itemsToRemove);\n });\n\n const sortModels = this.toolbarSorts.map(\n (sort) =>\n new ListSortLabelModel({\n text: sort.label,\n fieldSelector: sort.field,\n fieldType: sort.type,\n global: true,\n descending: sort.descending,\n })\n );\n\n this.dispatcher.sortSetGlobal(sortModels);\n\n // Add inline filters.\n this.showFilterSummary = this.filterSummary.length > 0;\n this.hasInlineFilters = this.inlineFilter.length > 0;\n\n if (this.hasInlineFilters) {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n template: this.inlineFilterButtonTemplate,\n location: 'left',\n index: this.inlineFiltersItemToolbarIndex,\n }),\n ]);\n }\n\n // Check for view actions\n this.hasViewActions = this.viewActions.length > 0;\n }\n\n public ngOnDestroy() {\n this.searchApplied.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public setSort(sort: ListSortLabelModel): void {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.sortSetFieldSelectors([\n { fieldSelector: sort.fieldSelector, descending: sort.descending },\n ]);\n });\n }\n\n public inlineFilterButtonClick() {\n this.inlineFilterBarExpanded = !this.inlineFilterBarExpanded;\n }\n\n public updateSearchText(searchText: string) {\n this.searchApplied.next(searchText);\n if (this.inMemorySearchEnabled) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.searchSetText(searchText);\n });\n }\n }\n\n private itemIsInView(itemView: string, activeView: string) {\n return itemView === undefined || itemView === activeView;\n }\n\n private getSortSelectors() {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.sort.available),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.sort.global),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged()\n ),\n (\n available: Array<ListSortLabelModel>,\n global: Array<ListSortLabelModel>,\n fieldSelectors: Array<ListSortFieldSelectorModel>\n ) => {\n // Get sorts that are in the global that are not in the available\n const sorts = global.filter(\n (g) =>\n available.filter((a) => a.fieldSelector === g.fieldSelector)\n .length === 0\n );\n\n const resultSortSelectors = [...sorts, ...available].map(\n (sortLabels) => {\n const fs = fieldSelectors.filter((f) => {\n return (\n f.fieldSelector === sortLabels.fieldSelector &&\n f.descending === sortLabels.descending\n );\n });\n let selected = false;\n if (fs.length > 0) {\n selected = true;\n }\n\n return {\n sort: sortLabels,\n selected: selected,\n };\n }\n );\n\n return resultSortSelectors;\n }\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n private watchTemplates() {\n observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.toolbar),\n distinctUntilChanged()\n ),\n this.view.pipe(distinctUntilChanged()),\n (toolbar: ListToolbarModel, view: string) => {\n const items = toolbar.items.filter((i: ListToolbarItemModel) => {\n return this.itemIsInView(i.view, view);\n });\n\n const templates: any = {};\n\n items.forEach((item: ListToolbarItemModel) => {\n templates[item.location] = templates[item.location] || [];\n templates[item.location].push(item);\n });\n\n return templates;\n }\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.leftTemplates = value.left;\n this.centerTemplates = value.center;\n this.rightTemplates = value.right;\n this.changeDetector.markForCheck();\n });\n }\n}\n","<div class=\"sky-list-toolbar-container\">\n <sky-toolbar *ngIf=\"(type | async) !== 'search'\">\n <sky-toolbar-section>\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n\n <sky-toolbar-section\n *ngIf=\"showFilterSummary && (hasAppliedFilters | async)\"\n >\n <ng-content select=\"sky-list-filter-summary\"> </ng-content>\n </sky-toolbar-section>\n </sky-toolbar>\n\n <div\n *ngIf=\"\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n \"\n class=\"sky-list-toolbar-search\"\n >\n <sky-toolbar>\n <sky-toolbar-section *ngIf=\"isSearchEnabled | async\">\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n </sky-toolbar-section>\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n *ngIf=\"item.id !== 'search'\"\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"isFilterBarDisplayed\"\n [attr.aria-labelledby]=\"filterButtonId\"\n [id]=\"listFilterInlineId\"\n >\n <ng-content select=\"sky-list-filter-inline\"> </ng-content>\n </div>\n <sky-list-multiselect-toolbar *ngIf=\"isMultiselectEnabled | async\">\n </sky-list-multiselect-toolbar>\n</div>\n\n<ng-template #search>\n <div *ngIf=\"isSearchEnabled | async\" class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n >\n </sky-search>\n <ng-content select=\"sky-list-toolbar-search-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortSelector>\n <div\n *ngIf=\"\n (isSortSelectorEnabled | async) && (sortSelectors | async).length > 0\n \"\n class=\"sky-toolbar-item-sort-container\"\n >\n <sky-sort [showButtonText]=\"true\">\n <sky-sort-item\n *ngFor=\"let item of sortSelectors | async\"\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n </sky-sort>\n </div>\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n >\n </sky-filter-button>\n</ng-template>\n"]}
@@ -1,20 +1,20 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
3
- import { SkyToolbarModule } from '@skyux/layout';
4
- import { SkySearchModule } from '@skyux/lookup';
5
- import { SkyFilterModule, SkySortModule } from '@skyux/lists';
2
+ import { NgModule } from '@angular/core';
6
3
  import { SkyCheckboxModule } from '@skyux/forms';
7
4
  import { SkyI18nModule } from '@skyux/i18n';
8
- import { SkyListFiltersModule } from '../list-filters/list-filters.module';
9
5
  import { SkyIconModule } from '@skyux/indicators';
10
- import { SkyListToolbarComponent } from './list-toolbar.component';
11
- import { SkyListToolbarItemComponent } from './list-toolbar-item.component';
6
+ import { SkyToolbarModule } from '@skyux/layout';
7
+ import { SkyFilterModule, SkySortModule } from '@skyux/lists';
8
+ import { SkySearchModule } from '@skyux/lookup';
9
+ import { SkyListFiltersModule } from '../list-filters/list-filters.module';
10
+ import { SkyListBuilderResourcesModule } from '../shared/sky-list-builder-resources.module';
11
+ import { SkyListMultiselectToolbarComponent } from './list-multiselect-toolbar.component';
12
12
  import { SkyListToolbarItemRendererComponent } from './list-toolbar-item-renderer.component';
13
+ import { SkyListToolbarItemComponent } from './list-toolbar-item.component';
14
+ import { SkyListToolbarSearchActionsComponent } from './list-toolbar-search-actions.component';
13
15
  import { SkyListToolbarSortComponent } from './list-toolbar-sort.component';
14
- import { SkyListMultiselectToolbarComponent } from './list-multiselect-toolbar.component';
15
16
  import { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';
16
- import { SkyListBuilderResourcesModule } from '../shared/sky-list-builder-resources.module';
17
- import { SkyListToolbarSearchActionsComponent } from './list-toolbar-search-actions.component';
17
+ import { SkyListToolbarComponent } from './list-toolbar.component';
18
18
  import * as i0 from "@angular/core";
19
19
  export class SkyListToolbarModule {
20
20
  }