@progress/kendo-angular-listview 3.0.3-dev.202203091017 → 4.0.0-dev.202204131936

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 (152) hide show
  1. package/bundles/kendo-angular-listview.umd.js +5 -0
  2. package/{dist/es2015/data-binding → data-binding}/data-binding.directive.d.ts +5 -1
  3. package/{dist/es2015/editing → editing}/commands/add-command.directive.d.ts +3 -0
  4. package/{dist/es2015/editing → editing}/commands/cancel-command.directive.d.ts +3 -0
  5. package/{dist/es2015/editing → editing}/commands/edit-command.directive.d.ts +3 -0
  6. package/{dist/es2015/editing → editing}/commands/remove-command.directive.d.ts +3 -0
  7. package/{dist/es2015/editing → editing}/commands/save-command.directive.d.ts +3 -0
  8. package/{dist/es2015/editing → editing}/edit-template.directive.d.ts +3 -0
  9. package/{dist/es2015/editing → editing}/edit.service.d.ts +6 -3
  10. package/{dist/es2015/editing → editing}/events/add-event-args.interface.d.ts +0 -0
  11. package/{dist/es2015/editing → editing}/events/cancel-event-args.interface.d.ts +0 -0
  12. package/{dist/es2015/editing → editing}/events/edit-event-args.interface.d.ts +0 -0
  13. package/{dist/es2015/editing → editing}/events/remove-event-args.interface.d.ts +0 -0
  14. package/{dist/es2015/editing → editing}/events/save-event-args.interface.d.ts +0 -0
  15. package/{dist/es2015 → esm2015}/data-binding/data-binding.directive.js +15 -16
  16. package/esm2015/editing/commands/add-command.directive.js +49 -0
  17. package/{dist/es2015 → esm2015}/editing/commands/cancel-command.directive.js +17 -23
  18. package/{dist/es2015 → esm2015}/editing/commands/edit-command.directive.js +17 -23
  19. package/{dist/es2015 → esm2015}/editing/commands/remove-command.directive.js +17 -23
  20. package/{dist/es2015 → esm2015}/editing/commands/save-command.directive.js +17 -23
  21. package/{dist/es2015 → esm2015}/editing/edit-template.directive.js +14 -12
  22. package/{dist/es2015 → esm2015}/editing/edit.service.js +9 -13
  23. package/{dist/es → esm2015}/editing/events/add-event-args.interface.js +1 -0
  24. package/{dist/es2015 → esm2015}/editing/events/cancel-event-args.interface.js +1 -0
  25. package/{dist/es2015 → esm2015}/editing/events/edit-event-args.interface.js +1 -0
  26. package/{dist/es2015 → esm2015}/editing/events/remove-event-args.interface.js +1 -0
  27. package/{dist/es → esm2015}/editing/events/save-event-args.interface.js +1 -0
  28. package/{dist/es/editing/events/remove-event-args.interface.js → esm2015/kendo-angular-listview.js} +4 -0
  29. package/{dist/es2015 → esm2015}/listview.component.js +242 -155
  30. package/{dist/es2015 → esm2015}/listview.module.js +56 -26
  31. package/{dist/es → esm2015}/main.js +5 -0
  32. package/{dist/es → esm2015}/models/listview-data-result.js +1 -0
  33. package/{dist/es → esm2015}/models/page-change-event.js +1 -0
  34. package/{dist/es2015 → esm2015}/models/page-size-change-event.js +0 -0
  35. package/{dist/es → esm2015}/models/page-size-item.js +1 -0
  36. package/{dist/es → esm2015}/models/pager-position.js +1 -0
  37. package/{dist/es → esm2015}/models/pager-settings.js +1 -0
  38. package/{dist/es → esm2015}/models/pager-type.js +1 -0
  39. package/{dist/es → esm2015}/models/scroll-bottom-event.js +1 -0
  40. package/{dist/es2015 → esm2015}/navigation/listview-navigable-item.directive.js +15 -18
  41. package/{dist/es2015 → esm2015}/navigation/navigation.service.js +8 -13
  42. package/{dist/es2015 → esm2015}/package-metadata.js +1 -1
  43. package/esm2015/templates/footer-template.directive.js +24 -0
  44. package/esm2015/templates/header-template.directive.js +24 -0
  45. package/{dist/es2015 → esm2015}/templates/item-template.directive.js +12 -11
  46. package/esm2015/templates/loader-template.directive.js +24 -0
  47. package/esm2015/templates/template-context.directive.js +33 -0
  48. package/{dist/es2015 → esm2015}/utils.js +0 -0
  49. package/{dist/fesm2015/index.js → fesm2015/kendo-angular-listview.js} +521 -417
  50. package/{dist/es/editing/events/cancel-event-args.interface.js → kendo-angular-listview.d.ts} +5 -0
  51. package/{dist/es2015/listview.component.d.ts → listview.component.d.ts} +13 -7
  52. package/listview.module.d.ts +39 -0
  53. package/{dist/es2015/main.d.ts → main.d.ts} +5 -0
  54. package/{dist/es2015/models → models}/listview-data-result.d.ts +0 -0
  55. package/{dist/es2015/models → models}/page-change-event.d.ts +0 -0
  56. package/{dist/es2015/models → models}/page-size-change-event.d.ts +0 -0
  57. package/{dist/es2015/models → models}/page-size-item.d.ts +0 -0
  58. package/{dist/es2015/models → models}/pager-position.d.ts +0 -0
  59. package/{dist/es2015/models → models}/pager-settings.d.ts +0 -0
  60. package/{dist/es2015/models → models}/pager-type.d.ts +1 -1
  61. package/{dist/es2015/models → models}/scroll-bottom-event.d.ts +0 -0
  62. package/{dist/es2015/navigation → navigation}/listview-navigable-item.directive.d.ts +3 -0
  63. package/{dist/es2015/navigation → navigation}/navigation.service.d.ts +5 -1
  64. package/{dist/es2015/package-metadata.d.ts → package-metadata.d.ts} +0 -0
  65. package/package.json +36 -108
  66. package/schematics/ngAdd/index.js +5 -2
  67. package/schematics/ngAdd/index.js.map +1 -1
  68. package/{dist/es2015/templates → templates}/footer-template.directive.d.ts +3 -0
  69. package/{dist/es2015/templates → templates}/header-template.directive.d.ts +3 -0
  70. package/{dist/es2015/templates → templates}/item-template.directive.d.ts +3 -0
  71. package/{dist/es2015/templates → templates}/loader-template.directive.d.ts +3 -0
  72. package/{dist/es2015/templates → templates}/template-context.directive.d.ts +4 -1
  73. package/{dist/es2015/utils.d.ts → utils.d.ts} +0 -0
  74. package/dist/cdn/js/kendo-angular-listview.js +0 -20
  75. package/dist/cdn/main.js +0 -5
  76. package/dist/es/data-binding/data-binding.directive.js +0 -69
  77. package/dist/es/editing/commands/add-command.directive.js +0 -58
  78. package/dist/es/editing/commands/cancel-command.directive.js +0 -74
  79. package/dist/es/editing/commands/edit-command.directive.js +0 -62
  80. package/dist/es/editing/commands/remove-command.directive.js +0 -61
  81. package/dist/es/editing/commands/save-command.directive.js +0 -74
  82. package/dist/es/editing/edit-template.directive.js +0 -32
  83. package/dist/es/editing/edit.service.js +0 -136
  84. package/dist/es/editing/events/edit-event-args.interface.js +0 -4
  85. package/dist/es/index.js +0 -17
  86. package/dist/es/listview.component.js +0 -534
  87. package/dist/es/listview.module.js +0 -83
  88. package/dist/es/models/page-size-change-event.js +0 -18
  89. package/dist/es/navigation/listview-navigable-item.directive.js +0 -70
  90. package/dist/es/navigation/navigation.service.js +0 -162
  91. package/dist/es/package-metadata.js +0 -15
  92. package/dist/es/templates/footer-template.directive.js +0 -24
  93. package/dist/es/templates/header-template.directive.js +0 -24
  94. package/dist/es/templates/item-template.directive.js +0 -30
  95. package/dist/es/templates/loader-template.directive.js +0 -24
  96. package/dist/es/templates/template-context.directive.js +0 -40
  97. package/dist/es/utils.js +0 -103
  98. package/dist/es2015/editing/commands/add-command.directive.js +0 -55
  99. package/dist/es2015/editing/events/add-event-args.interface.js +0 -4
  100. package/dist/es2015/editing/events/save-event-args.interface.js +0 -4
  101. package/dist/es2015/index.d.ts +0 -17
  102. package/dist/es2015/index.js +0 -17
  103. package/dist/es2015/index.metadata.json +0 -1
  104. package/dist/es2015/listview.module.d.ts +0 -18
  105. package/dist/es2015/main.js +0 -13
  106. package/dist/es2015/models/listview-data-result.js +0 -4
  107. package/dist/es2015/models/page-change-event.js +0 -4
  108. package/dist/es2015/models/page-size-item.js +0 -4
  109. package/dist/es2015/models/pager-position.js +0 -4
  110. package/dist/es2015/models/pager-settings.js +0 -4
  111. package/dist/es2015/models/pager-type.js +0 -4
  112. package/dist/es2015/models/scroll-bottom-event.js +0 -4
  113. package/dist/es2015/templates/footer-template.directive.js +0 -23
  114. package/dist/es2015/templates/header-template.directive.js +0 -23
  115. package/dist/es2015/templates/loader-template.directive.js +0 -23
  116. package/dist/es2015/templates/template-context.directive.js +0 -35
  117. package/dist/fesm5/index.js +0 -1528
  118. package/dist/npm/data-binding/data-binding.directive.js +0 -71
  119. package/dist/npm/editing/commands/add-command.directive.js +0 -60
  120. package/dist/npm/editing/commands/cancel-command.directive.js +0 -76
  121. package/dist/npm/editing/commands/edit-command.directive.js +0 -64
  122. package/dist/npm/editing/commands/remove-command.directive.js +0 -63
  123. package/dist/npm/editing/commands/save-command.directive.js +0 -76
  124. package/dist/npm/editing/edit-template.directive.js +0 -34
  125. package/dist/npm/editing/edit.service.js +0 -140
  126. package/dist/npm/editing/events/add-event-args.interface.js +0 -6
  127. package/dist/npm/editing/events/cancel-event-args.interface.js +0 -6
  128. package/dist/npm/editing/events/edit-event-args.interface.js +0 -6
  129. package/dist/npm/editing/events/remove-event-args.interface.js +0 -6
  130. package/dist/npm/editing/events/save-event-args.interface.js +0 -6
  131. package/dist/npm/index.js +0 -29
  132. package/dist/npm/listview.component.js +0 -536
  133. package/dist/npm/listview.module.js +0 -85
  134. package/dist/npm/main.js +0 -24
  135. package/dist/npm/models/listview-data-result.js +0 -6
  136. package/dist/npm/models/page-change-event.js +0 -6
  137. package/dist/npm/models/page-size-change-event.js +0 -20
  138. package/dist/npm/models/page-size-item.js +0 -6
  139. package/dist/npm/models/pager-position.js +0 -6
  140. package/dist/npm/models/pager-settings.js +0 -6
  141. package/dist/npm/models/pager-type.js +0 -6
  142. package/dist/npm/models/scroll-bottom-event.js +0 -6
  143. package/dist/npm/navigation/listview-navigable-item.directive.js +0 -72
  144. package/dist/npm/navigation/navigation.service.js +0 -164
  145. package/dist/npm/package-metadata.js +0 -17
  146. package/dist/npm/templates/footer-template.directive.js +0 -26
  147. package/dist/npm/templates/header-template.directive.js +0 -26
  148. package/dist/npm/templates/item-template.directive.js +0 -32
  149. package/dist/npm/templates/loader-template.directive.js +0 -26
  150. package/dist/npm/templates/template-context.directive.js +0 -42
  151. package/dist/npm/utils.js +0 -105
  152. package/dist/systemjs/kendo-angular-listview.js +0 -5
package/dist/cdn/main.js DELETED
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-common"),require("rxjs"),require("@angular/forms"),require("@progress/kendo-angular-pager"),require("@progress/kendo-licensing"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define([,,,,,,,,,,],t):"object"==typeof exports?exports.KendoAngularListview=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-buttons"),require("@progress/kendo-angular-common"),require("rxjs"),require("@angular/forms"),require("@progress/kendo-angular-pager"),require("@progress/kendo-licensing"),require("rxjs/operators"),require("@angular/common")):e.KendoAngularListview=t(e.self,e.ng.core,e.KendoAngularL10N,e.KendoAngularButtons,e.KendoAngularCommon,e.rxjs,e.ng.forms,e.KendoAngularPager,e.KendoLicensing,e.rxjs.operators,e.ng.common)}(window,(function(e,t,i,n,a,r,o,s,d,c,p){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(n,a,function(t){return e[t]}.bind(null,a));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=19)}([function(t,i){t.exports=e},function(e,i){e.exports=t},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(6);t.isPresent=function(e){return null!=e},t.isObject=function(e){return t.isPresent(e)&&"object"==typeof e},t.match=function(e,i){var n=e.matches||e.msMatchesSelector||e.webkitMatchesSelector;return!!t.isPresent(n)&&n.call(e,i)},t.isListViewItem=function(e){return!!t.isPresent(e)&&t.match(e,".k-listview-item")},t.getListItemIndex=function(e){return t.isPresent(e)?Number(e.getAttribute("data-kendo-listview-item-index")):null},t.relatedTarget=function(e){return t.isPresent(e.relatedTarget)&&n.isDocumentAvailable()?e.relatedTarget||document.activeElement:null},t.fitIntoRange=function(e,i,n){return!t.isPresent(e)||e<=i?i:e>=n?n:e},t.closestWithMatch=function(e,i){for(var n=e;null!==n&&1===n.nodeType;){if(t.match(n,i))return n;n=n.parentElement||n.parentNode}return null},t.getClosestListItemIndex=function(e){if(!t.isPresent(e))return null;var i=t.closestWithMatch(e,".k-listview-item");return t.getListItemIndex(i)}},function(e,t){e.exports=i},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(16),o=i(2),s=i(8),d=i(22),c=function(e){return-1===e||void 0===e},p=function(){function e(e){var t=this;this.ngZone=e,this.changes=new a.EventEmitter,this.editedIndices=[],this.changedSource=new s.Subject,this.changed=this.changedSource.asObservable().pipe(d.switchMap((function(){return t.ngZone.onStable.asObservable().pipe(d.take(1))})))}return e.prototype.editItem=function(e,t){void 0===t&&(t=void 0),this.editedIndices.push({index:e,group:t}),this.onChanged()},e.prototype.addItem=function(e){this.newItem={group:e},this.onChanged()},e.prototype.isEditing=function(){return this.editedIndices.length>0},Object.defineProperty(e.prototype,"hasNewItem",{get:function(){return o.isPresent(this.newItem)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"newDataItem",{get:function(){return this.hasNewItem?this.newItem.group.value:{}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"newItemGroup",{get:function(){return this.hasNewItem?this.newItem.group:new r.FormGroup({})},enumerable:!0,configurable:!0}),e.prototype.editGroup=function(e){return this.context(e).group},e.prototype.close=function(e){c(e)?this.newItem=void 0:(this.editedIndices=this.editedIndices.filter(function(e){return function(t){return t.index!==e}}(e)),this.onChanged())},e.prototype.context=function(e){return c(e)?this.newItem:this.findByIndex(e)},e.prototype.isEdited=function(e){return!(!c(e)||!o.isPresent(this.newItem))||o.isPresent(this.findByIndex(e))},e.prototype.hasEdited=function(e){return o.isPresent(this.context(e))},e.prototype.beginEdit=function(e){this.changes.emit({action:"edit",itemIndex:e})},e.prototype.beginAdd=function(){this.changes.emit({action:"add"})},e.prototype.endEdit=function(e){var t=this.context(e).group;this.changes.emit({action:"cancel",itemIndex:e,formGroup:t,isNew:c(e)})},e.prototype.save=function(e){var t=this.context(e).group;this.changes.emit({action:"save",itemIndex:e,formGroup:t,isNew:c(e)})},e.prototype.remove=function(e){this.changes.emit({action:"remove",itemIndex:e})},e.prototype.findByIndex=function(e){return this.editedIndices.find(function(e){return function(t){return t.index===e}}(e))},e.prototype.onChanged=function(){var e=this;this.ngZone.runOutsideAngular((function(){e.changedSource.next()}))},e=n.__decorate([a.Injectable(),n.__metadata("design:paramtypes",[a.NgZone])],e)}();t.EditService=p},function(e,t){e.exports=n},function(e,t){e.exports=a},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(6),o=i(20),s=i(21),d=i(3),c=i(14),p=i(15),l=i(9),u=i(10),m=i(11),v=i(12),g=i(13),h=i(4),f=i(2),_=i(16),y={position:"bottom",buttonCount:5,info:!0,previousNext:!0,type:"numeric",pageSizeValues:[5,10,20]},b=function(){function e(e,t,i,n,r){this.ngZone=e,this.element=t,this.renderer=i,this.editService=n,this.navigationService=r,this.className=!0,this.loading=!1,this.containerRole="listbox",this.listItemRole="option",this.scrollBottom=new a.EventEmitter,this.pageChange=new a.EventEmitter,this.pageSizeChange=new a.EventEmitter,this.edit=new a.EventEmitter,this.cancel=new a.EventEmitter,this.save=new a.EventEmitter,this.remove=new a.EventEmitter,this.add=new a.EventEmitter,this._skip=0,this._navigable=!1,o.validatePackage(s.packageMetadata),this.attachEditHandlers()}return Object.defineProperty(e.prototype,"navigable",{get:function(){return this._navigable},set:function(e){!e&&f.isPresent(this.removeNavigationListeners)?(this.removeNavigationListeners(),this.removeNavigationListeners=null,this.navigationService.isEnabled=!1):e&&!f.isPresent(this.removeNavigationListeners)&&(this.addNavigationListeners(),this.navigationService.isEnabled=!0),this._navigable=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"skip",{get:function(){return this._skip},set:function(e){var t=parseInt(e,10);this._skip=isNaN(t)?0:t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pageable",{get:function(){return this._pageable},set:function(e){this._pageable=e,this.pagerSettings=e?Object.assign({},y,e):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return f.isPresent(this.data)?Array.isArray(this.data)?this.data:this.data.data:[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"total",{get:function(){return f.isPresent(this.data)?Array.isArray(this.data)?this.data.length:this.data.total:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"containerTabindex",{get:function(){return this.navigable?-1:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeIndex",{get:function(){return this.navigationService.activeIndex},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(e){r.isChanged("height",e,!1)&&this.renderer.setStyle(this.element.nativeElement,"height",this.height+"px")},e.prototype.ngOnDestroy=function(){f.isPresent(this.editServiceSubscription)&&this.editServiceSubscription.unsubscribe()},e.prototype.templateContext=function(e){return{$implicit:this.items[e],isLast:e===this.items.length-1,isFirst:0===e,dataItem:this.items[e],index:e}},e.prototype.editTemplateContext=function(e){var t=-1===e,i=t?this.editService.newItemGroup:this.editService.editGroup(e);return{$implicit:i,formGroup:i,dataItem:t?this.editService.newDataItem:this.items[e],isNew:t,index:e}},e.prototype.focus=function(e){var t=this.listViewItems.length;this.navigationService.focusIndex(e,t)},e.prototype.addItem=function(e){var t;if(!(e instanceof _.FormGroup)){var i=Object.keys(e).reduce((t=e,function(e,i){return e[i]=new _.FormControl(t[i]),e}),{});e=new _.FormGroup(i)}this.editService.addItem(e)},e.prototype.editItem=function(e,t){this.editService.editItem(e,t)},e.prototype.closeItem=function(e){this.editService.close(e)},e.prototype.isEdited=function(e){return this.editService.isEdited(e)},e.prototype.handlePageChange=function(e){this.scrollToContainerTop();this.navigationService.setActiveIndex(0),this.pageChange.emit(e)},e.prototype.handleContentScroll=function(){var e=this;if(r.hasObservers(this.scrollBottom)){var t=this.contentContainer.nativeElement,i=t.scrollHeight,n=t.scrollTop;i-t.clientHeight-n<=2&&this.ngZone.run((function(){var t={sender:e};e.scrollBottom.emit(t)}))}},e.prototype.itemPosInSet=function(e){return this.skip+e+1},e.prototype.scrollToContainerTop=function(){var e=this.contentContainer.nativeElement;e.scrollTop=0,e.scrollLeft=0},e.prototype.addNavigationListeners=function(){var e=this;this.ngZone.runOutsideAngular((function(){var t=e.renderer.listen(e.contentContainer.nativeElement,"keydown",(function(t){return e.navigationService.handleKeyDown(t,e.listViewItems.length)})),i=e.renderer.listen(e.contentContainer.nativeElement,"focusin",(function(t){return e.navigationService.handleFocusIn(t)})),n=e.renderer.listen(e.contentContainer.nativeElement,"focusout",(function(t){return e.navigationService.handleFocusOut(t)}));e.removeNavigationListeners=function(){t(),i(),n()}}))},e.prototype.attachEditHandlers=function(){f.isPresent(this.editService)&&(this.editServiceSubscription=this.editService.changes.subscribe(this.emitCRUDEvent.bind(this)))},e.prototype.emitCRUDEvent=function(e){var t=e.action,i=e.itemIndex,n=e.formGroup,a=this.items[i];"add"!==t&&n&&(a=n.value),Object.assign(e,{dataItem:a,sender:this}),this[t].emit(e)},n.__decorate([a.HostBinding("class.k-widget"),a.HostBinding("class.k-listview"),a.HostBinding("class.k-listview-bordered"),a.HostBinding("class.k-d-flex"),n.__metadata("design:type",Boolean)],e.prototype,"className",void 0),n.__decorate([a.ContentChild(l.ItemTemplateDirective,{static:!1}),n.__metadata("design:type",l.ItemTemplateDirective)],e.prototype,"itemTemplate",void 0),n.__decorate([a.ContentChild(u.HeaderTemplateDirective,{static:!1}),n.__metadata("design:type",u.HeaderTemplateDirective)],e.prototype,"headerTemplate",void 0),n.__decorate([a.ContentChild(m.FooterTemplateDirective,{static:!1}),n.__metadata("design:type",m.FooterTemplateDirective)],e.prototype,"footerTemplate",void 0),n.__decorate([a.ContentChild(v.LoaderTemplateDirective,{static:!1}),n.__metadata("design:type",v.LoaderTemplateDirective)],e.prototype,"loaderTemplate",void 0),n.__decorate([a.ViewChild("contentContainer",{static:!0}),n.__metadata("design:type",a.ElementRef)],e.prototype,"contentContainer",void 0),n.__decorate([a.ContentChild(g.EditTemplateDirective,{static:!1}),n.__metadata("design:type",g.EditTemplateDirective)],e.prototype,"editTemplate",void 0),n.__decorate([a.ViewChildren(p.ListViewNavigableItemDirective),n.__metadata("design:type",a.QueryList)],e.prototype,"listViewItems",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Object)],e.prototype,"data",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Boolean)],e.prototype,"loading",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Object)],e.prototype,"containerStyle",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Object)],e.prototype,"itemStyle",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Object)],e.prototype,"containerClass",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Object)],e.prototype,"itemClass",void 0),n.__decorate([a.Input(),n.__metadata("design:type",String)],e.prototype,"containerLabel",void 0),n.__decorate([a.Input(),n.__metadata("design:type",String)],e.prototype,"containerRole",void 0),n.__decorate([a.Input(),n.__metadata("design:type",String)],e.prototype,"listItemRole",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Boolean),n.__metadata("design:paramtypes",[Boolean])],e.prototype,"navigable",null),n.__decorate([a.Input(),n.__metadata("design:type",Number)],e.prototype,"pageSize",void 0),n.__decorate([a.Input(),n.__metadata("design:type",Number),n.__metadata("design:paramtypes",[Number])],e.prototype,"skip",null),n.__decorate([a.Input(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[Object])],e.prototype,"pageable",null),n.__decorate([a.Input(),n.__metadata("design:type",Number)],e.prototype,"height",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"scrollBottom",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"pageChange",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"pageSizeChange",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"edit",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"cancel",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"save",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"remove",void 0),n.__decorate([a.Output(),n.__metadata("design:type",a.EventEmitter)],e.prototype,"add",void 0),e=n.__decorate([a.Component({changeDetection:a.ChangeDetectionStrategy.OnPush,exportAs:"kendoListView",selector:"kendo-listview",providers:[h.EditService,c.NavigationService,d.LocalizationService,{provide:d.L10N_PREFIX,useValue:"kendo.listview"}],template:'\n \x3c!-- top pager --\x3e\n <ng-template\n *ngIf="pagerSettings?.position !== \'bottom\'"\n [ngTemplateOutlet]="pagerTemplate"\n [ngTemplateOutletContext]="{ pagerClass: \'k-listview-pager k-listview-pager-top\' }"\n >\n </ng-template>\n\n \x3c!-- header --\x3e\n <div\n *ngIf="headerTemplate"\n class="k-listview-header"\n >\n <ng-template\n [ngTemplateOutlet]="headerTemplate?.templateRef"\n >\n </ng-template>\n </div>\n\n \x3c!-- content --\x3e\n <div\n #contentContainer\n [attr.tabindex]="containerTabindex"\n class="k-listview-content"\n [ngClass]="containerClass"\n [ngStyle]="containerStyle"\n [kendoEventsOutsideAngular]="{\n scroll: handleContentScroll\n }"\n [scope]="this"\n [attr.role]="containerRole"\n [attr.aria-label]="containerLabel"\n >\n \x3c!-- new item edit template --\x3e\n <div\n *ngIf="editService.hasNewItem"\n class="k-listview-item"\n [attr.role]="listItemRole"\n kendoListViewNavigableItem\n [index]="-1"\n [attr.data-kendo-listview-item-index]="-1"\n [ngClass]="itemClass"\n [ngStyle]="itemStyle"\n >\n <ng-template\n *ngIf="editTemplate"\n [ngTemplateOutlet]="editTemplate?.templateRef"\n [ngTemplateOutletContext]="editTemplateContext(-1)"\n >\n </ng-template>\n </div>\n\n \x3c!-- items --\x3e\n <div\n *ngFor="let dataItem of items; let index = index; let first = first; let last = last;"\n class="k-listview-item"\n [attr.role]="listItemRole"\n [attr.aria-posinset]="itemPosInSet(index)"\n [attr.aria-setsize]="total"\n kendoListViewNavigableItem\n [index]="index"\n [attr.data-kendo-listview-item-index]="index"\n [ngClass]="itemClass"\n [ngStyle]="itemStyle"\n >\n <ng-template\n [ngTemplateOutlet]="isEdited(index) ? editTemplate?.templateRef : itemTemplate?.templateRef"\n [ngTemplateOutletContext]="isEdited(index) ? editTemplateContext(index) : templateContext(index)"\n >\n </ng-template>\n </div>\n\n \x3c!-- loading indicator --\x3e\n <div\n *ngIf="loading && !loaderTemplate"\n class="k-loading-mask"\n >\n \x3c!-- TODO: the k-loading-text is hidden with css but read by readers - review when implementing accessibility + possible localization case --\x3e\n <span class="k-loading-text">Loading</span>\n <div class="k-loading-image"></div>\n <div class="k-loading-color"></div>\n </div>\n <ng-template\n *ngIf="loading && loaderTemplate"\n [ngTemplateOutlet]="loaderTemplate.templateRef"\n >\n </ng-template>\n </div>\n\n \x3c!-- footer --\x3e\n <div\n *ngIf="footerTemplate"\n class="k-listview-footer"\n >\n <ng-template\n [ngTemplateOutlet]="footerTemplate?.templateRef"\n >\n </ng-template>\n </div>\n\n \x3c!-- bottom pager --\x3e\n <ng-template\n *ngIf="pagerSettings?.position !== \'top\'"\n [ngTemplateOutlet]="pagerTemplate"\n [ngTemplateOutletContext]="{ pagerClass: \'k-listview-pager\' }"\n >\n </ng-template>\n\n \x3c!-- pager template --\x3e\n <ng-template #pagerTemplate let-pagerClass="pagerClass">\n <kendo-datapager\n *ngIf="pageable"\n [class]="pagerClass"\n [total]="total"\n [pageSize]="pageSize"\n [skip]="skip"\n [buttonCount]="pagerSettings.buttonCount"\n [info]="pagerSettings.info"\n [previousNext]="pagerSettings.previousNext"\n [type]="pagerSettings.type"\n [pageSizeValues]="pagerSettings.pageSizeValues"\n (pageChange)="handlePageChange($event)"\n (pageSizeChange)="pageSizeChange.emit($event)"\n >\n </kendo-datapager>\n </ng-template>\n '}),n.__metadata("design:paramtypes",[a.NgZone,a.ElementRef,a.Renderer2,h.EditService,c.NavigationService])],e)}();t.ListViewComponent=b},function(e,t){e.exports=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=function(){function e(e){this.templateRef=e}return e=n.__decorate([a.Directive({selector:"[kendoListViewItemTemplate]"}),n.__metadata("design:paramtypes",[a.TemplateRef])],e)}();t.ItemTemplateDirective=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=function(){function e(e){this.templateRef=e}return e=n.__decorate([a.Directive({selector:"[kendoListViewHeaderTemplate]"}),n.__metadata("design:paramtypes",[a.TemplateRef])],e)}();t.HeaderTemplateDirective=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=function(){function e(e){this.templateRef=e}return e=n.__decorate([a.Directive({selector:"[kendoListViewFooterTemplate]"}),n.__metadata("design:paramtypes",[a.TemplateRef])],e)}();t.FooterTemplateDirective=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=function(){function e(e){this.templateRef=e}return e=n.__decorate([a.Directive({selector:"[kendoListViewLoaderTemplate]"}),n.__metadata("design:paramtypes",[a.TemplateRef])],e)}();t.LoaderTemplateDirective=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=function(){function e(e){this.templateRef=e}return e=n.__decorate([a.Directive({selector:"[kendoListViewEditTemplate]"}),n.__param(0,a.Optional()),n.__metadata("design:paramtypes",[a.TemplateRef])],e)}();t.EditTemplateDirective=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(8),o=i(6),s=i(2),d=function(){function e(){this.changes=new r.Subject,this.isFocused=!1,this.activeIndex=null}return Object.defineProperty(e.prototype,"isEnabled",{get:function(){return s.isPresent(this.activeIndex)},set:function(e){this.activeIndex=e?0:null,this.changes.next()},enumerable:!0,configurable:!0}),e.prototype.isActive=function(e){return e===this.activeIndex},e.prototype.handleKeyDown=function(e,t){switch(e.keyCode){case o.Keys.ArrowLeft:case o.Keys.ArrowUp:this.navigateToPrevious();break;case o.Keys.ArrowRight:case o.Keys.ArrowDown:this.navigateToNext(t);break;case o.Keys.Home:this.navigateTo(0);break;case o.Keys.End:var i=t-1;this.navigateTo(i);break;default:return}e.preventDefault()},e.prototype.handleFocusIn=function(e){var t=e.target;if(s.isListViewItem(t)){var i=s.getListItemIndex(t);this.isFocused&&i===this.activeIndex||(this.activeIndex=i,this.isFocused=!0,this.changes.next())}else{var n=s.closestWithMatch(t,".k-listview-item");if(s.isPresent(n)){var a=s.getListItemIndex(n);this.setActiveIndex(a)}}},e.prototype.handleFocusOut=function(e){s.isListViewItem(e.target)&&!s.isListViewItem(s.relatedTarget(e))&&(this.isFocused=!1,this.changes.next())},e.prototype.setActiveIndex=function(e){this.isEnabled&&e!==this.activeIndex&&(this.activeIndex=e,this.changes.next())},e.prototype.focusIndex=function(e,t){if(this.isEnabled){var i=parseInt(e,10),n=t-1,a=isNaN(i)?this.activeIndex:s.fitIntoRange(i,0,n);this.navigateTo(a)}},e.prototype.navigateTo=function(e){this.isFocused&&this.activeIndex===e||(this.isFocused=!0,this.activeIndex=e,this.changes.next())},e.prototype.navigateToPrevious=function(){var e=Math.max(this.activeIndex-1,0);this.navigateTo(e)},e.prototype.navigateToNext=function(e){var t=e-1,i=Math.min(this.activeIndex+1,t);this.navigateTo(i)},e=n.__decorate([a.Injectable()],e)}();t.NavigationService=d},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(14),o=i(2),s=function(){function e(e,t,i){this.hostElement=e,this.renderer=t,this.navigationService=i}return e.prototype.ngOnChanges=function(){this.updateNavigationState()},e.prototype.ngOnInit=function(){this.navigationSubscription=this.navigationService.changes.subscribe(this.updateNavigationState.bind(this))},e.prototype.ngOnDestroy=function(){o.isPresent(this.navigationSubscription)&&this.navigationSubscription.unsubscribe()},e.prototype.updateNavigationState=function(){this.updateTabIndex(),this.updateFocusedState()},e.prototype.updateFocusedState=function(){this.navigationService.isActive(this.index)&&this.navigationService.isFocused?(this.renderer.addClass(this.hostElement.nativeElement,"k-state-focused"),this.hostElement.nativeElement.focus()):this.renderer.removeClass(this.hostElement.nativeElement,"k-state-focused")},e.prototype.updateTabIndex=function(){this.navigationService.isEnabled?this.navigationService.isActive(this.index)?this.renderer.setAttribute(this.hostElement.nativeElement,"tabindex","0"):this.renderer.setAttribute(this.hostElement.nativeElement,"tabindex","-1"):this.renderer.removeAttribute(this.hostElement.nativeElement,"tabindex")},n.__decorate([a.Input(),n.__metadata("design:type",Number)],e.prototype,"index",void 0),e=n.__decorate([a.Directive({selector:"[kendoListViewNavigableItem]"}),n.__metadata("design:paramtypes",[a.ElementRef,a.Renderer2,r.NavigationService])],e)}();t.ListViewNavigableItemDirective=s},function(e,t){e.exports=o},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(8),o=i(7),s=function(){function e(e){this.listView=e,this.subscriptions=new r.Subscription}return Object.defineProperty(e.prototype,"data",{get:function(){return this._data},set:function(e){this._data=e||[],this.updateListViewData()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.subscriptions.add(this.listView.pageChange.subscribe(this.handlePageChange.bind(this))),this.subscriptions.add(this.listView.pageSizeChange.subscribe(this.handlePageSizeChange.bind(this))),this.updateListViewData()},e.prototype.ngOnDestroy=function(){this.subscriptions.unsubscribe()},e.prototype.handlePageChange=function(e){this.listView.skip=e.skip,this.listView.pageSize=e.take,this.updateListViewData()},e.prototype.handlePageSizeChange=function(e){this.listView.pageSize=Number(e.newPageSize)},e.prototype.updateListViewData=function(){var e=this.listView.skip||0,t=e+(this.listView.pageSize||this.data.length);this.listView.data={data:this.data.slice(e,t),total:this.data.length}},n.__decorate([a.Input("kendoListViewBinding"),n.__metadata("design:type",Array),n.__metadata("design:paramtypes",[Array])],e.prototype,"data",null),e=n.__decorate([a.Directive({selector:"[kendoListViewBinding]"}),n.__metadata("design:paramtypes",[o.ListViewComponent])],e)}();t.DataBindingDirective=s},function(e,t){e.exports=s},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(7);t.ListViewComponent=n.ListViewComponent;var a=i(9);t.ItemTemplateDirective=a.ItemTemplateDirective;var r=i(10);t.HeaderTemplateDirective=r.HeaderTemplateDirective;var o=i(11);t.FooterTemplateDirective=o.FooterTemplateDirective;var s=i(12);t.LoaderTemplateDirective=s.LoaderTemplateDirective;var d=i(17);t.DataBindingDirective=d.DataBindingDirective;var c=i(13);t.EditTemplateDirective=c.EditTemplateDirective;var p=i(23);t.PageSizeChangeEvent=p.PageSizeChangeEvent;var l=i(24);t.ListViewModule=l.ListViewModule},function(e,t){e.exports=d},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.packageMetadata={name:"@progress/kendo-angular-listview",productName:"Kendo UI for Angular",productCodes:["KENDOUIANGULAR","KENDOUICOMPLETE"],publishDate:1646820951,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"}},function(e,t){e.exports=c},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return n.__extends(t,e),t}(i(18).PageSizeChangeEvent);t.PageSizeChangeEvent=a},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(25),o=i(18),s=i(6),d=i(7),c=i(15),p=i(9),l=i(10),u=i(11),m=i(26),v=i(12),g=i(17),h=i(13),f=i(27),_=i(28),y=i(29),b=i(30),x=i(31),I=[p.ItemTemplateDirective,l.HeaderTemplateDirective,u.FooterTemplateDirective,v.LoaderTemplateDirective],w=[g.DataBindingDirective],S=[h.EditTemplateDirective,f.EditCommandDirective,_.CancelCommandDirective,y.SaveCommandDirective,b.RemoveCommandDirective,x.AddCommandDirective],C=function(){function e(){}return e=n.__decorate([a.NgModule({declarations:[I,w,S,d.ListViewComponent,m.TemplateContextDirective,c.ListViewNavigableItemDirective],exports:[I,w,S,d.ListViewComponent,r.CommonModule,s.EventsModule],imports:[r.CommonModule,o.PagerModule,s.EventsModule]})],e)}();t.ListViewModule=C},function(e,t){e.exports=p},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=function(){function e(e){this.viewContainerRef=e}return Object.defineProperty(e.prototype,"templateContext",{set:function(e){this.insertedViewRef&&(this.viewContainerRef.remove(this.viewContainerRef.indexOf(this.insertedViewRef)),this.insertedViewRef=void 0),e.templateRef&&(this.insertedViewRef=this.viewContainerRef.createEmbeddedView(e.templateRef,e))},enumerable:!0,configurable:!0}),n.__decorate([a.Input(),n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[Object])],e.prototype,"templateContext",null),e=n.__decorate([a.Directive({selector:"[templateContext]"}),n.__metadata("design:paramtypes",[a.ViewContainerRef])],e)}();t.TemplateContextDirective=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(5),o=i(3),s=i(4),d=i(2),c=function(e){function t(t,i,n,a,r){var o=e.call(this,i,n,null,a,r)||this;return o.editService=t,o.elementRef=i,o}return n.__extends(t,e),t.prototype.clickHandler=function(e){e.preventDefault();var t=d.getClosestListItemIndex(this.elementRef.nativeElement);this.editService.beginEdit(t)},n.__decorate([a.HostListener("click",["$event"]),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",void 0)],t.prototype,"clickHandler",null),t=n.__decorate([a.Directive({selector:"[kendoListViewEditCommand]"}),n.__metadata("design:paramtypes",[s.EditService,a.ElementRef,a.Renderer2,o.LocalizationService,a.NgZone])],t)}(r.Button);t.EditCommandDirective=c},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(5),o=i(3),s=i(4),d=i(2),c=function(e){function t(t,i,n,a,r){var o=e.call(this,i,n,null,a,r)||this;return o.editService=t,o.elementRef=i,o}return n.__extends(t,e),t.prototype.clickHandler=function(e){e.preventDefault();var t=d.getClosestListItemIndex(this.elementRef.nativeElement);this.editService.isEdited(t)&&this.editService.endEdit(t)},n.__decorate([a.HostListener("click",["$event"]),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",void 0)],t.prototype,"clickHandler",null),t=n.__decorate([a.Directive({selector:"[kendoListViewCancelCommand]"}),n.__metadata("design:paramtypes",[s.EditService,a.ElementRef,a.Renderer2,o.LocalizationService,a.NgZone])],t)}(r.Button);t.CancelCommandDirective=c},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(5),o=i(3),s=i(4),d=i(2),c=function(e){function t(t,i,n,a,r){var o=e.call(this,i,n,null,a,r)||this;return o.editService=t,o.elementRef=i,o}return n.__extends(t,e),t.prototype.clickHandler=function(e){e.preventDefault();var t=d.getClosestListItemIndex(this.elementRef.nativeElement);this.editService.isEdited(t)&&this.editService.save(t)},n.__decorate([a.HostListener("click",["$event"]),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",void 0)],t.prototype,"clickHandler",null),t=n.__decorate([a.Directive({selector:"[kendoListViewSaveCommand]"}),n.__metadata("design:paramtypes",[s.EditService,a.ElementRef,a.Renderer2,o.LocalizationService,a.NgZone])],t)}(r.Button);t.SaveCommandDirective=c},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(5),o=i(3),s=i(4),d=i(2),c=function(e){function t(t,i,n,a,r){var o=e.call(this,i,n,null,a,r)||this;return o.editService=t,o.elementRef=i,o}return n.__extends(t,e),t.prototype.clickHandler=function(e){e.preventDefault();var t=d.getClosestListItemIndex(this.elementRef.nativeElement);this.editService.remove(t)},n.__decorate([a.HostListener("click",["$event"]),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",void 0)],t.prototype,"clickHandler",null),t=n.__decorate([a.Directive({selector:"[kendoListViewRemoveCommand]"}),n.__metadata("design:paramtypes",[s.EditService,a.ElementRef,a.Renderer2,o.LocalizationService,a.NgZone])],t)}(r.Button);t.RemoveCommandDirective=c},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),a=i(1),r=i(5),o=i(3),s=i(4),d=function(e){function t(t,i,n,a,r){var o=e.call(this,i,n,null,a,r)||this;return o.editService=t,o}return n.__extends(t,e),t.prototype.clickHandler=function(e){e.preventDefault(),this.editService.beginAdd()},n.__decorate([a.HostListener("click",["$event"]),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[Object]),n.__metadata("design:returntype",void 0)],t.prototype,"clickHandler",null),t=n.__decorate([a.Directive({selector:"[kendoListViewAddCommand]"}),n.__metadata("design:paramtypes",[s.EditService,a.ElementRef,a.Renderer2,o.LocalizationService,a.NgZone])],t)}(r.Button);t.AddCommandDirective=d}])}));
@@ -1,69 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, Input } from '@angular/core';
7
- import { Subscription } from 'rxjs';
8
- import { ListViewComponent } from '../listview.component';
9
- /**
10
- * A directive that encapsulates the in-memory handling of paging
11
- * ([see example]({% slug paging_listview %}#toc-binding-directive)).
12
- */
13
- var DataBindingDirective = /** @class */ (function () {
14
- function DataBindingDirective(listView) {
15
- this.listView = listView;
16
- this.subscriptions = new Subscription();
17
- }
18
- Object.defineProperty(DataBindingDirective.prototype, "data", {
19
- get: function () {
20
- return this._data;
21
- },
22
- /**
23
- * The array of data which will be used to populate the ListView.
24
- */
25
- set: function (data) {
26
- this._data = data || [];
27
- this.updateListViewData();
28
- },
29
- enumerable: true,
30
- configurable: true
31
- });
32
- DataBindingDirective.prototype.ngOnInit = function () {
33
- this.subscriptions.add(this.listView.pageChange.subscribe(this.handlePageChange.bind(this)));
34
- this.subscriptions.add(this.listView.pageSizeChange.subscribe(this.handlePageSizeChange.bind(this)));
35
- this.updateListViewData();
36
- };
37
- DataBindingDirective.prototype.ngOnDestroy = function () {
38
- this.subscriptions.unsubscribe();
39
- };
40
- DataBindingDirective.prototype.handlePageChange = function (event) {
41
- this.listView.skip = event.skip;
42
- this.listView.pageSize = event.take;
43
- this.updateListViewData();
44
- };
45
- DataBindingDirective.prototype.handlePageSizeChange = function (event) {
46
- this.listView.pageSize = Number(event.newPageSize);
47
- };
48
- DataBindingDirective.prototype.updateListViewData = function () {
49
- var from = this.listView.skip || 0;
50
- var to = from + (this.listView.pageSize || this.data.length);
51
- this.listView.data = {
52
- data: this.data.slice(from, to),
53
- total: this.data.length
54
- };
55
- };
56
- tslib_1.__decorate([
57
- Input('kendoListViewBinding'),
58
- tslib_1.__metadata("design:type", Array),
59
- tslib_1.__metadata("design:paramtypes", [Array])
60
- ], DataBindingDirective.prototype, "data", null);
61
- DataBindingDirective = tslib_1.__decorate([
62
- Directive({
63
- selector: '[kendoListViewBinding]'
64
- }),
65
- tslib_1.__metadata("design:paramtypes", [ListViewComponent])
66
- ], DataBindingDirective);
67
- return DataBindingDirective;
68
- }());
69
- export { DataBindingDirective };
@@ -1,58 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, HostListener, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
7
- import { Button } from '@progress/kendo-angular-buttons';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { EditService } from '../edit.service';
10
- /**
11
- * Represents the command for adding a new item to the ListView. You can apply this directive to any
12
- * `button` element inside a [`HeaderTemplate`]({% slug api_listview_headertemplatedirective %}).
13
- * When an associated button with the directive is clicked, the
14
- * [`add`]({% slug api_listview_listviewcomponent %}#toc-add) event is triggered
15
- * ([see example]({% slug editing_listview %})).
16
- *
17
- * @example
18
- * ```html-no-run
19
- * <kendo-listview>
20
- * <ng-template kendoListViewHeaderTemplate>
21
- * <button kendoListViewAddCommand>Add new</button>
22
- * </ng-template>
23
- * </kendo-listview>
24
- * ```
25
- */
26
- var AddCommandDirective = /** @class */ (function (_super) {
27
- tslib_1.__extends(AddCommandDirective, _super);
28
- function AddCommandDirective(editService, element, renderer, localization, ngZone) {
29
- var _this = _super.call(this, element, renderer, null, localization, ngZone) || this;
30
- _this.editService = editService;
31
- return _this;
32
- }
33
- /**
34
- * @hidden
35
- */
36
- AddCommandDirective.prototype.clickHandler = function (e) {
37
- e.preventDefault();
38
- this.editService.beginAdd();
39
- };
40
- tslib_1.__decorate([
41
- HostListener('click', ['$event']),
42
- tslib_1.__metadata("design:type", Function),
43
- tslib_1.__metadata("design:paramtypes", [Object]),
44
- tslib_1.__metadata("design:returntype", void 0)
45
- ], AddCommandDirective.prototype, "clickHandler", null);
46
- AddCommandDirective = tslib_1.__decorate([
47
- Directive({
48
- selector: '[kendoListViewAddCommand]'
49
- }),
50
- tslib_1.__metadata("design:paramtypes", [EditService,
51
- ElementRef,
52
- Renderer,
53
- LocalizationService,
54
- NgZone])
55
- ], AddCommandDirective);
56
- return AddCommandDirective;
57
- }(Button));
58
- export { AddCommandDirective };
@@ -1,74 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, HostListener, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
7
- import { Button } from '@progress/kendo-angular-buttons';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { EditService } from '../edit.service';
10
- import { getClosestListItemIndex } from '../../utils';
11
- /**
12
- * Represents the `cancel` command of the ListView. You can apply this directive to any `button`
13
- * element inside a [`EditTemplateDirective`]({% slug api_listview_edittemplatedirective %}) template.
14
- * When an associated button with the directive is clicked, the
15
- * [`cancel`]({% slug api_listview_listviewcomponent %}#toc-cancel) event
16
- * is triggered ([see example]({% slug editing_listview %})).
17
- *
18
- * @example
19
- * ```html-no-run
20
- * <kendo-listview>
21
- * <ng-template kendoListViewEditTemplate>
22
- * <button kendoListViewCancelCommand>Cancel changes</button>
23
- * </ng-template>
24
- * </kendo-listview>
25
- * ```
26
- *
27
- * You can control the content of the button based on the state of the item.
28
- *
29
- * @example
30
- * ```html-no-run
31
- * <kendo-listview>
32
- * <ng-template kendoListViewEditTemplate let-isNew="isNew">
33
- * <button kendoListViewCancelCommand>{{isNew ? 'Discard' : 'Cancel changes'}}</button>
34
- * </ng-template>
35
- * </kendo-listview>
36
- * ```
37
- */
38
- var CancelCommandDirective = /** @class */ (function (_super) {
39
- tslib_1.__extends(CancelCommandDirective, _super);
40
- function CancelCommandDirective(editService, element, renderer, localization, ngZone) {
41
- var _this = _super.call(this, element, renderer, null, localization, ngZone) || this;
42
- _this.editService = editService;
43
- _this.elementRef = element;
44
- return _this;
45
- }
46
- /**
47
- * @hidden
48
- */
49
- CancelCommandDirective.prototype.clickHandler = function (e) {
50
- e.preventDefault();
51
- var index = getClosestListItemIndex(this.elementRef.nativeElement);
52
- if (this.editService.isEdited(index)) {
53
- this.editService.endEdit(index);
54
- }
55
- };
56
- tslib_1.__decorate([
57
- HostListener('click', ['$event']),
58
- tslib_1.__metadata("design:type", Function),
59
- tslib_1.__metadata("design:paramtypes", [Object]),
60
- tslib_1.__metadata("design:returntype", void 0)
61
- ], CancelCommandDirective.prototype, "clickHandler", null);
62
- CancelCommandDirective = tslib_1.__decorate([
63
- Directive({
64
- selector: '[kendoListViewCancelCommand]'
65
- }),
66
- tslib_1.__metadata("design:paramtypes", [EditService,
67
- ElementRef,
68
- Renderer,
69
- LocalizationService,
70
- NgZone])
71
- ], CancelCommandDirective);
72
- return CancelCommandDirective;
73
- }(Button));
74
- export { CancelCommandDirective };
@@ -1,62 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, HostListener, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
7
- import { Button } from '@progress/kendo-angular-buttons';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { EditService } from '../edit.service';
10
- import { getClosestListItemIndex } from '../../utils';
11
- /**
12
- * Represents the `edit` command of the ListView. You can apply this directive to any `button`
13
- * element inside a [`EditTemplateDirective`]({% slug api_listview_edittemplatedirective %}) template.
14
- * When an associated button with the directive is clicked, the
15
- * [`edit`]({% slug api_listview_listviewcomponent %}#toc-edit) event
16
- * is triggered ([see example]({% slug editing_listview %})).
17
- *
18
- * @example
19
- * ```html-no-run
20
- * <kendo-listview>
21
- * <ng-template kendoListViewEditTemplate>
22
- * <button kendoListViewEditCommand class="k-primary">Edit</button>
23
- * </ng-template>
24
- * </kendo-listview>
25
- * ```
26
- *
27
- */
28
- var EditCommandDirective = /** @class */ (function (_super) {
29
- tslib_1.__extends(EditCommandDirective, _super);
30
- function EditCommandDirective(editService, element, renderer, localization, ngZone) {
31
- var _this = _super.call(this, element, renderer, null, localization, ngZone) || this;
32
- _this.editService = editService;
33
- _this.elementRef = element;
34
- return _this;
35
- }
36
- /**
37
- * @hidden
38
- */
39
- EditCommandDirective.prototype.clickHandler = function (e) {
40
- e.preventDefault();
41
- var index = getClosestListItemIndex(this.elementRef.nativeElement);
42
- this.editService.beginEdit(index);
43
- };
44
- tslib_1.__decorate([
45
- HostListener('click', ['$event']),
46
- tslib_1.__metadata("design:type", Function),
47
- tslib_1.__metadata("design:paramtypes", [Object]),
48
- tslib_1.__metadata("design:returntype", void 0)
49
- ], EditCommandDirective.prototype, "clickHandler", null);
50
- EditCommandDirective = tslib_1.__decorate([
51
- Directive({
52
- selector: '[kendoListViewEditCommand]'
53
- }),
54
- tslib_1.__metadata("design:paramtypes", [EditService,
55
- ElementRef,
56
- Renderer,
57
- LocalizationService,
58
- NgZone])
59
- ], EditCommandDirective);
60
- return EditCommandDirective;
61
- }(Button));
62
- export { EditCommandDirective };
@@ -1,61 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, HostListener, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
7
- import { Button } from '@progress/kendo-angular-buttons';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { EditService } from '../edit.service';
10
- import { getClosestListItemIndex } from '../../utils';
11
- /**
12
- * Represents the `remove` command of the ListView. You can apply this directive to any `button` element
13
- * inside a [`EditTemplateDirective`]({% slug api_listview_edittemplatedirective %}) template.
14
- * When an associated button with the directive is clicked, the
15
- * [`remove` event]({% slug api_listview_listviewcomponent %}#toc-remove)
16
- * is triggered ([see example]({% slug editing_listview %})).
17
- *
18
- * @example
19
- * ```html-no-run
20
- * <kendo-listview>
21
- * <ng-template kendoListViewEditTemplate>
22
- * <button kendoListViewRemoveCommand>Remove item</button>
23
- * </ng-template>
24
- * </kendo-listview>
25
- * ```
26
- */
27
- var RemoveCommandDirective = /** @class */ (function (_super) {
28
- tslib_1.__extends(RemoveCommandDirective, _super);
29
- function RemoveCommandDirective(editService, element, renderer, localization, ngZone) {
30
- var _this = _super.call(this, element, renderer, null, localization, ngZone) || this;
31
- _this.editService = editService;
32
- _this.elementRef = element;
33
- return _this;
34
- }
35
- /**
36
- * @hidden
37
- */
38
- RemoveCommandDirective.prototype.clickHandler = function (e) {
39
- e.preventDefault();
40
- var index = getClosestListItemIndex(this.elementRef.nativeElement);
41
- this.editService.remove(index);
42
- };
43
- tslib_1.__decorate([
44
- HostListener('click', ['$event']),
45
- tslib_1.__metadata("design:type", Function),
46
- tslib_1.__metadata("design:paramtypes", [Object]),
47
- tslib_1.__metadata("design:returntype", void 0)
48
- ], RemoveCommandDirective.prototype, "clickHandler", null);
49
- RemoveCommandDirective = tslib_1.__decorate([
50
- Directive({
51
- selector: '[kendoListViewRemoveCommand]'
52
- }),
53
- tslib_1.__metadata("design:paramtypes", [EditService,
54
- ElementRef,
55
- Renderer,
56
- LocalizationService,
57
- NgZone])
58
- ], RemoveCommandDirective);
59
- return RemoveCommandDirective;
60
- }(Button));
61
- export { RemoveCommandDirective };
@@ -1,74 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, HostListener, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
7
- import { Button } from '@progress/kendo-angular-buttons';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { EditService } from '../edit.service';
10
- import { getClosestListItemIndex } from '../../utils';
11
- /**
12
- * Represents the `save` command of the ListView. You can apply this directive to any `button`
13
- * element inside a [`EditTemplateDirective`]({% slug api_listview_edittemplatedirective %}) template.
14
- * When an associated button with the directive is clicked, the
15
- * [`save`]({% slug api_listview_listviewcomponent %}#toc-save) event
16
- * is triggered ([see example]({% slug editing_listview %})).
17
- *
18
- * @example
19
- * ```html-no-run
20
- * <kendo-listview>
21
- * <ng-template kendoListViewEditTemplate>
22
- * <button kendoListViewSaveCommand>Save changes</button>
23
- * </ng-template>
24
- * </kendo-listview>
25
- * ```
26
- *
27
- * You can control the content of the button based on the state of the item.
28
- *
29
- * @example
30
- * ```html-no-run
31
- * <kendo-listview>
32
- * <ng-template kendoListViewEditTemplate let-isNew="isNew">
33
- * <button kendoListViewSaveCommand>{{isNew ? 'Add' : 'Update'}}</button>
34
- * </ng-template>
35
- * </kendo-listview>
36
- * ```
37
- */
38
- var SaveCommandDirective = /** @class */ (function (_super) {
39
- tslib_1.__extends(SaveCommandDirective, _super);
40
- function SaveCommandDirective(editService, element, renderer, localization, ngZone) {
41
- var _this = _super.call(this, element, renderer, null, localization, ngZone) || this;
42
- _this.editService = editService;
43
- _this.elementRef = element;
44
- return _this;
45
- }
46
- /**
47
- * @hidden
48
- */
49
- SaveCommandDirective.prototype.clickHandler = function (e) {
50
- e.preventDefault();
51
- var index = getClosestListItemIndex(this.elementRef.nativeElement);
52
- if (this.editService.isEdited(index)) {
53
- this.editService.save(index);
54
- }
55
- };
56
- tslib_1.__decorate([
57
- HostListener('click', ['$event']),
58
- tslib_1.__metadata("design:type", Function),
59
- tslib_1.__metadata("design:paramtypes", [Object]),
60
- tslib_1.__metadata("design:returntype", void 0)
61
- ], SaveCommandDirective.prototype, "clickHandler", null);
62
- SaveCommandDirective = tslib_1.__decorate([
63
- Directive({
64
- selector: '[kendoListViewSaveCommand]'
65
- }),
66
- tslib_1.__metadata("design:paramtypes", [EditService,
67
- ElementRef,
68
- Renderer,
69
- LocalizationService,
70
- NgZone])
71
- ], SaveCommandDirective);
72
- return SaveCommandDirective;
73
- }(Button));
74
- export { SaveCommandDirective };
@@ -1,32 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Directive, TemplateRef, Optional } from '@angular/core';
7
- /**
8
- * Represents the edit template of the ListView ([see example]({% slug editing_template_forms_listview %})).
9
- * Helps to customize the content of the edited items. To define the template, nest an `<ng-template>`
10
- * tag with the `kendoListViewEditTemplate` directive inside a `<kendo-listview>` tag.
11
- *
12
- * The template context contains the following fields:
13
- * - `formGroup`&mdash;The current [`FormGroup`]({{ site.data.urls.angular['formgroupapi'] }}).
14
- * If you use the ListView inside [Template-Driven Forms]({{ site.data.urls.angular['forms'] }}), it will be `undefined`.
15
- * - `itemIndex`&mdash;The current item index. If inside a new item, `itemIndex` is `-1`.
16
- * - `dataItem`&mdash;The current data item.
17
- * - `isNew`&mdash;The state of the current item.
18
- */
19
- var EditTemplateDirective = /** @class */ (function () {
20
- function EditTemplateDirective(templateRef) {
21
- this.templateRef = templateRef;
22
- }
23
- EditTemplateDirective = tslib_1.__decorate([
24
- Directive({
25
- selector: '[kendoListViewEditTemplate]'
26
- }),
27
- tslib_1.__param(0, Optional()),
28
- tslib_1.__metadata("design:paramtypes", [TemplateRef])
29
- ], EditTemplateDirective);
30
- return EditTemplateDirective;
31
- }());
32
- export { EditTemplateDirective };
@@ -1,136 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { Injectable, EventEmitter, NgZone } from '@angular/core';
7
- import { FormGroup } from '@angular/forms';
8
- import { isPresent } from '../utils';
9
- import { Subject } from 'rxjs';
10
- import { switchMap, take } from 'rxjs/operators';
11
- /**
12
- * @hidden
13
- */
14
- var isEqual = function (index) { return function (item) { return item.index === index; }; };
15
- var ɵ0 = isEqual;
16
- /**
17
- * @hidden
18
- */
19
- var isNotEqual = function (index) { return function (item) { return item.index !== index; }; };
20
- var ɵ1 = isNotEqual;
21
- /**
22
- * @hidden
23
- */
24
- var isNewItem = function (index) { return index === -1 || index === undefined; };
25
- var ɵ2 = isNewItem;
26
- /**
27
- * @hidden
28
- */
29
- var EditService = /** @class */ (function () {
30
- function EditService(ngZone) {
31
- var _this = this;
32
- this.ngZone = ngZone;
33
- this.changes = new EventEmitter();
34
- this.editedIndices = [];
35
- this.changedSource = new Subject();
36
- this.changed = this.changedSource.asObservable().pipe(switchMap(function () { return _this.ngZone.onStable.asObservable().pipe(take(1)); }));
37
- }
38
- EditService.prototype.editItem = function (index, group) {
39
- if (group === void 0) { group = undefined; }
40
- this.editedIndices.push({ index: index, group: group });
41
- this.onChanged();
42
- };
43
- EditService.prototype.addItem = function (group) {
44
- this.newItem = { group: group };
45
- this.onChanged();
46
- };
47
- EditService.prototype.isEditing = function () {
48
- return this.editedIndices.length > 0;
49
- };
50
- Object.defineProperty(EditService.prototype, "hasNewItem", {
51
- get: function () {
52
- return isPresent(this.newItem);
53
- },
54
- enumerable: true,
55
- configurable: true
56
- });
57
- Object.defineProperty(EditService.prototype, "newDataItem", {
58
- get: function () {
59
- if (this.hasNewItem) {
60
- return this.newItem.group.value;
61
- }
62
- return {};
63
- },
64
- enumerable: true,
65
- configurable: true
66
- });
67
- Object.defineProperty(EditService.prototype, "newItemGroup", {
68
- get: function () {
69
- if (this.hasNewItem) {
70
- return this.newItem.group;
71
- }
72
- return new FormGroup({});
73
- },
74
- enumerable: true,
75
- configurable: true
76
- });
77
- EditService.prototype.editGroup = function (index) {
78
- return this.context(index).group;
79
- };
80
- EditService.prototype.close = function (index) {
81
- if (isNewItem(index)) {
82
- this.newItem = undefined;
83
- return;
84
- }
85
- this.editedIndices = this.editedIndices.filter(isNotEqual(index));
86
- this.onChanged();
87
- };
88
- EditService.prototype.context = function (index) {
89
- if (isNewItem(index)) {
90
- return this.newItem;
91
- }
92
- return this.findByIndex(index);
93
- };
94
- EditService.prototype.isEdited = function (index) {
95
- if (isNewItem(index) && isPresent(this.newItem)) {
96
- return true;
97
- }
98
- return isPresent(this.findByIndex(index));
99
- };
100
- EditService.prototype.hasEdited = function (index) {
101
- return isPresent(this.context(index));
102
- };
103
- EditService.prototype.beginEdit = function (itemIndex) {
104
- this.changes.emit({ action: 'edit', itemIndex: itemIndex });
105
- };
106
- EditService.prototype.beginAdd = function () {
107
- this.changes.emit({ action: 'add' });
108
- };
109
- EditService.prototype.endEdit = function (itemIndex) {
110
- var formGroup = this.context(itemIndex).group;
111
- this.changes.emit({ action: 'cancel', itemIndex: itemIndex, formGroup: formGroup, isNew: isNewItem(itemIndex) });
112
- };
113
- EditService.prototype.save = function (itemIndex) {
114
- var formGroup = this.context(itemIndex).group;
115
- this.changes.emit({ action: 'save', itemIndex: itemIndex, formGroup: formGroup, isNew: isNewItem(itemIndex) });
116
- };
117
- EditService.prototype.remove = function (itemIndex) {
118
- this.changes.emit({ action: 'remove', itemIndex: itemIndex });
119
- };
120
- EditService.prototype.findByIndex = function (index) {
121
- return this.editedIndices.find(isEqual(index));
122
- };
123
- EditService.prototype.onChanged = function () {
124
- var _this = this;
125
- this.ngZone.runOutsideAngular(function () {
126
- _this.changedSource.next();
127
- });
128
- };
129
- EditService = tslib_1.__decorate([
130
- Injectable(),
131
- tslib_1.__metadata("design:paramtypes", [NgZone])
132
- ], EditService);
133
- return EditService;
134
- }());
135
- export { EditService };
136
- export { ɵ0, ɵ1, ɵ2 };