@datorama/core 22.13.8-rc.2 → 22.14.0

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 (144) hide show
  1. package/bundle.scss +5696 -4767
  2. package/bundles/datorama-core.umd.js +156 -199
  3. package/bundles/datorama-core.umd.js.map +1 -1
  4. package/bundles/datorama-core.umd.min.js +61 -61
  5. package/bundles/datorama-core.umd.min.js.map +1 -1
  6. package/datorama-core.d.ts +0 -1
  7. package/datorama-core.metadata.json +1 -1
  8. package/esm2015/datorama-core.js +1 -2
  9. package/esm2015/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  10. package/esm2015/lib/directives/clipboard.directive.js +7 -16
  11. package/esm2015/lib/grid/dato-grid-api.js +1 -1
  12. package/esm2015/lib/grid/dato-grid.js +1 -1
  13. package/esm2015/lib/grid/grid/grid.component.js +7 -6
  14. package/esm2015/lib/grid/grid-header/grid-header.component.js +1 -1
  15. package/esm2015/lib/grid/grid-helper.js +1 -1
  16. package/esm2015/lib/grid/grid-pagination/grid-pagination.component.js +2 -2
  17. package/esm2015/lib/grid/grid-toolbar/grid-toolbar.component.js +2 -2
  18. package/esm2015/lib/grid/grid.module.js +2 -2
  19. package/esm2015/lib/grid-v2/grid/grid-v2.component.js +10 -8
  20. package/esm2015/lib/grid-v2/grid/grid-v2.config.js +5 -22
  21. package/esm2015/lib/grid-v2/grid/grid-v2.types.js +3 -3
  22. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
  23. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +3 -3
  24. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.js +1 -1
  25. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.js +1 -1
  26. package/esm2015/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +1 -1
  27. package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.component.js +2 -2
  28. package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.types.js +1 -1
  29. package/esm2015/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
  30. package/esm2015/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.js +1 -1
  31. package/esm2015/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.js +1 -1
  32. package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +11 -17
  33. package/esm2015/lib/grid-v2/grid-controller/grid-controller.types.js +1 -1
  34. package/esm2015/lib/grid-v2/grid-custom-header/custom-header-template.directive.js +1 -1
  35. package/esm2015/lib/grid-v2/grid-filter/filter-validator.js +1 -1
  36. package/esm2015/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
  37. package/esm2015/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.js +1 -1
  38. package/esm2015/lib/grid-v2/grid-loader/grid-v2-loader.component.js +1 -1
  39. package/esm2015/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +1 -1
  40. package/esm2015/lib/grid-v2/grid-on-hover/grid-on-hover.component.js +1 -1
  41. package/esm2015/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -1
  42. package/esm2015/lib/grid-v2/grid-settings.js +2 -2
  43. package/esm2015/lib/grid-v2/grid-store/grid.query.js +2 -2
  44. package/esm2015/lib/grid-v2/grid-store/grid.service.js +52 -42
  45. package/esm2015/lib/grid-v2/grid-store/util.js +1 -1
  46. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +4 -10
  47. package/esm2015/lib/grid-v2/grid-toolbar/grid-toolbar.types.js +1 -1
  48. package/esm2015/lib/grid-v2/grid-v2.module.js +2 -2
  49. package/esm2015/lib/grid-v2/grid-v2.util.js +1 -1
  50. package/esm2015/lib/icon/icon.types.js +1 -1
  51. package/esm2015/lib/rich-text/rich-text.directive.js +38 -20
  52. package/esm2015/lib/select/select.component.js +9 -4
  53. package/esm2015/lib/version.js +2 -2
  54. package/esm5/datorama-core.js +1 -2
  55. package/esm5/lib/breadcrumbs/breadcrumbs.component.js +2 -4
  56. package/esm5/lib/directives/clipboard.directive.js +7 -16
  57. package/esm5/lib/grid/dato-grid-api.js +1 -1
  58. package/esm5/lib/grid/dato-grid.js +1 -1
  59. package/esm5/lib/grid/grid/grid.component.js +7 -6
  60. package/esm5/lib/grid/grid-header/grid-header.component.js +1 -1
  61. package/esm5/lib/grid/grid-helper.js +1 -1
  62. package/esm5/lib/grid/grid-pagination/grid-pagination.component.js +2 -2
  63. package/esm5/lib/grid/grid-toolbar/grid-toolbar.component.js +2 -2
  64. package/esm5/lib/grid/grid.module.js +2 -2
  65. package/esm5/lib/grid-v2/grid/grid-v2.component.js +10 -8
  66. package/esm5/lib/grid-v2/grid/grid-v2.config.js +5 -22
  67. package/esm5/lib/grid-v2/grid/grid-v2.types.js +3 -3
  68. package/esm5/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.js +3 -3
  69. package/esm5/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.js +3 -3
  70. package/esm5/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.js +1 -1
  71. package/esm5/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.js +1 -1
  72. package/esm5/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.js +1 -1
  73. package/esm5/lib/grid-v2/grid-column-header/grid-column-header.component.js +2 -2
  74. package/esm5/lib/grid-v2/grid-column-header/grid-column-header.types.js +1 -1
  75. package/esm5/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.js +4 -3
  76. package/esm5/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.js +1 -1
  77. package/esm5/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.js +1 -1
  78. package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +11 -17
  79. package/esm5/lib/grid-v2/grid-controller/grid-controller.types.js +1 -1
  80. package/esm5/lib/grid-v2/grid-custom-header/custom-header-template.directive.js +1 -1
  81. package/esm5/lib/grid-v2/grid-filter/filter-validator.js +1 -1
  82. package/esm5/lib/grid-v2/grid-filter/grid-filter.component.js +1 -1
  83. package/esm5/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.js +1 -1
  84. package/esm5/lib/grid-v2/grid-loader/grid-v2-loader.component.js +1 -1
  85. package/esm5/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.js +1 -1
  86. package/esm5/lib/grid-v2/grid-on-hover/grid-on-hover.component.js +1 -1
  87. package/esm5/lib/grid-v2/grid-pagination/grid-pagination.component.js +1 -1
  88. package/esm5/lib/grid-v2/grid-settings.js +2 -2
  89. package/esm5/lib/grid-v2/grid-store/grid.query.js +2 -2
  90. package/esm5/lib/grid-v2/grid-store/grid.service.js +52 -42
  91. package/esm5/lib/grid-v2/grid-store/util.js +1 -1
  92. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.component.js +4 -16
  93. package/esm5/lib/grid-v2/grid-toolbar/grid-toolbar.types.js +1 -1
  94. package/esm5/lib/grid-v2/grid-v2.module.js +2 -2
  95. package/esm5/lib/grid-v2/grid-v2.util.js +1 -1
  96. package/esm5/lib/icon/icon.types.js +1 -1
  97. package/esm5/lib/rich-text/rich-text.directive.js +39 -21
  98. package/esm5/lib/select/select.component.js +9 -4
  99. package/esm5/lib/version.js +2 -2
  100. package/fesm2015/datorama-core.js +143 -178
  101. package/fesm2015/datorama-core.js.map +1 -1
  102. package/fesm5/datorama-core.js +144 -186
  103. package/fesm5/datorama-core.js.map +1 -1
  104. package/lib/directives/clipboard.directive.d.ts +2 -1
  105. package/lib/grid/dato-grid-api.d.ts +1 -1
  106. package/lib/grid/dato-grid.d.ts +1 -1
  107. package/lib/grid/grid/grid.component.d.ts +3 -4
  108. package/lib/grid/grid-helper.d.ts +1 -1
  109. package/lib/grid/grid-pagination/grid-pagination.component.d.ts +1 -1
  110. package/lib/grid-v2/grid/grid-v2.component.d.ts +2 -2
  111. package/lib/grid-v2/grid/grid-v2.config.d.ts +0 -1
  112. package/lib/grid-v2/grid/grid-v2.types.d.ts +1 -3
  113. package/lib/grid-v2/grid-column-cell-components/grid-avatar-cell/grid-avatar-cell.component.d.ts +2 -2
  114. package/lib/grid-v2/grid-column-cell-components/grid-initials-cell/grid-initials-cell.component.d.ts +2 -2
  115. package/lib/grid-v2/grid-column-cell-components/grid-items-cell/grid-items-cell.component.d.ts +2 -2
  116. package/lib/grid-v2/grid-column-cell-components/grid-items-count-cell/grid-items-count-cell.component.d.ts +2 -2
  117. package/lib/grid-v2/grid-column-cell-components/grid-status-cell/grid-status-cell.component.d.ts +2 -2
  118. package/lib/grid-v2/grid-column-header/grid-column-header.component.d.ts +2 -2
  119. package/lib/grid-v2/grid-column-header/grid-column-header.types.d.ts +1 -1
  120. package/lib/grid-v2/grid-column-header/grid-multi-select-header/grid-multi-select-header.component.d.ts +2 -2
  121. package/lib/grid-v2/grid-column-header-more-menu/grid-column-header-more-menu.component.d.ts +1 -1
  122. package/lib/grid-v2/grid-columns-display-menu/grid-columns-display-menu.component.d.ts +1 -1
  123. package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +7 -7
  124. package/lib/grid-v2/grid-controller/grid-controller.types.d.ts +1 -1
  125. package/lib/grid-v2/grid-custom-header/custom-header-template.directive.d.ts +1 -1
  126. package/lib/grid-v2/grid-filter/filter-validator.d.ts +1 -1
  127. package/lib/grid-v2/grid-groups-menu/grid-groups-menu.component.d.ts +1 -1
  128. package/lib/grid-v2/grid-loader/grid-v2-loader.component.d.ts +2 -2
  129. package/lib/grid-v2/grid-no-data-overlay/grid-v2-no-data-overlay.component.d.ts +2 -2
  130. package/lib/grid-v2/grid-on-hover/grid-on-hover.component.d.ts +1 -1
  131. package/lib/grid-v2/grid-settings.d.ts +2 -2
  132. package/lib/grid-v2/grid-store/grid.query.d.ts +4 -4
  133. package/lib/grid-v2/grid-store/grid.service.d.ts +377 -6
  134. package/lib/grid-v2/grid-store/util.d.ts +1 -1
  135. package/lib/grid-v2/grid-toolbar/grid-toolbar.component.d.ts +1 -3
  136. package/lib/grid-v2/grid-toolbar/grid-toolbar.types.d.ts +1 -1
  137. package/lib/grid-v2/grid-v2.util.d.ts +1 -1
  138. package/lib/icon/icon.types.d.ts +1 -1
  139. package/lib/rich-text/rich-text.directive.d.ts +6 -4
  140. package/package.json +2 -2
  141. package/testing/src/grid/row.ts +1 -1
  142. package/esm2015/lib/rich-text/rich-text.service.js +0 -50
  143. package/esm5/lib/rich-text/rich-text.service.js +0 -51
  144. package/lib/rich-text/rich-text.service.d.ts +0 -10
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/forms'), require('ngx-take-until-destroy'), require('rxjs/operators'), require('@angular/cdk/keycodes'), require('@angular/common'), require('lodash.isempty'), require('lodash.isequal'), require('lodash.intersection'), require('lodash.union'), require('lodash.difference'), require('lodash.differenceby'), require('lodash.findindex'), require('lodash.minby'), require('lodash.uniqby'), require('lodash.sortby'), require('lodash.find'), require('lodash.foreach'), require('lodash.map'), require('lodash.keyby'), require('lodash.reject'), require('lodash.groupby'), require('lodash.filter'), require('lodash.findkey'), require('lodash.debounce'), require('lodash.throttle'), require('lodash.curry'), require('lodash.partial'), require('lodash.get'), require('lodash.has'), require('lodash.mapvalues'), require('lodash.mapkeys'), require('lodash.values'), require('lodash.merge'), require('lodash.transform'), require('lodash.clonedeep'), require('lodash.omitby'), require('deep-equal'), require('lodash.invert'), require('lodash.escape'), require('lodash.unescape'), require('lodash.escaperegexp'), require('date-fns'), require('date-fns-tz'), require('date-fns/locale/de'), require('date-fns/locale/en-US'), require('date-fns/locale/es'), require('date-fns/locale/fr'), require('date-fns/locale/ja'), require('@datorama/akita'), require('tooltip.js'), require('@popperjs/core/lib/popper-lite.js'), require('@popperjs/core/lib/modifiers/preventOverflow.js'), require('@popperjs/core/lib/modifiers/flip.js'), require('@popperjs/core/lib/modifiers/offset.js'), require('dompurify'), require('tippy.js'), require('@angular/cdk/coercion'), require('helpful-decorators'), require('ag-grid-angular'), require('ag-grid-community'), require('@angular/animations'), require('@angular/cdk/a11y'), require('ngx-sortablejs'), require('@angular/platform-browser'), require('@angular/common/http')) :
3
- typeof define === 'function' && define.amd ? define('@datorama/core', ['exports', '@angular/core', 'rxjs', '@angular/forms', 'ngx-take-until-destroy', 'rxjs/operators', '@angular/cdk/keycodes', '@angular/common', 'lodash.isempty', 'lodash.isequal', 'lodash.intersection', 'lodash.union', 'lodash.difference', 'lodash.differenceby', 'lodash.findindex', 'lodash.minby', 'lodash.uniqby', 'lodash.sortby', 'lodash.find', 'lodash.foreach', 'lodash.map', 'lodash.keyby', 'lodash.reject', 'lodash.groupby', 'lodash.filter', 'lodash.findkey', 'lodash.debounce', 'lodash.throttle', 'lodash.curry', 'lodash.partial', 'lodash.get', 'lodash.has', 'lodash.mapvalues', 'lodash.mapkeys', 'lodash.values', 'lodash.merge', 'lodash.transform', 'lodash.clonedeep', 'lodash.omitby', 'deep-equal', 'lodash.invert', 'lodash.escape', 'lodash.unescape', 'lodash.escaperegexp', 'date-fns', 'date-fns-tz', 'date-fns/locale/de', 'date-fns/locale/en-US', 'date-fns/locale/es', 'date-fns/locale/fr', 'date-fns/locale/ja', '@datorama/akita', 'tooltip.js', '@popperjs/core/lib/popper-lite.js', '@popperjs/core/lib/modifiers/preventOverflow.js', '@popperjs/core/lib/modifiers/flip.js', '@popperjs/core/lib/modifiers/offset.js', 'dompurify', 'tippy.js', '@angular/cdk/coercion', 'helpful-decorators', 'ag-grid-angular', 'ag-grid-community', '@angular/animations', '@angular/cdk/a11y', 'ngx-sortablejs', '@angular/platform-browser', '@angular/common/http'], factory) :
4
- (global = global || self, factory((global.datorama = global.datorama || {}, global.datorama.core = {}), global.ng.core, global.rxjs, global.ng.forms, global.ngxTakeUntilDestroy, global.rxjs.operators, global.ng.cdk.keycodes, global.ng.common, global._.isEmpty, global._.isEqual, global._.intersection, global._.union, global._.difference, global._.differenceBy, global._.findIndex, global._.minBy, global._.uniqBy, global._.sortBy, global._.find, global._.forEach, global._.map, global._.keyBy, global._.reject, global._.groupBy, global._.filter, global._.findKey, global._.debounce, global._.throttle, global._.curry, global._.partial, global._.get, global._.has, global._.mapValues, global._.mapKeys, global._.values, global._.merge, global._.transform, global._.cloneDeep, global._.omitBy, global.deepEqual, global._.invert, global._.escape, global._.unescape, global._.escapeRegExp, global.dateFns, global.dateFnsTz, global.de, global.enUS, global.es, global.fr, global.ja, global.dato.akita, global.tooltip, global.popperjs.lite, global.popperjs.modifiers.preventOverflow, global.popperjs.modifiers.flip, global.popperjs.modifiers.offset, global.DOMPurify, global.tippy, global.ng.cdk.coercion, global.helpfulDecorators, global.agGridAngular, global.agGridCommunity, global.ng.animations, global.ng.cdk.a11y, global.ngxSortablejs, global.ng.platformBrowser, global.ng.common.http));
5
- }(this, (function (exports, core, rxjs, forms, ngxTakeUntilDestroy, operators, keycodes, common, _isEmpty, _isEqual, _intersection, _union, _difference, _differenceBy, _findIndex, _minBy, _uniqBy, _sortby, _find, _forEach, _map, _keyBy, _reject, _groupBy, _filter, _findKey, _debounce, _throttle, _curry, _partial, _get, _has, _mapValues, _mapKeys, _values, _merge, _transform, _cloneDeep, _omitBy, _deepEqual, _invert, _escape, _unescape, _escapeRegExp, dateFns, dateFnsTz, de, enUS, es, fr, ja, akita, Tooltip, popperLite_js, preventOverflow, flip, offset, DOMPurify, tippy, coercion, helpfulDecorators, agGridAngular, agGridCommunity, animations, a11y, ngxSortablejs, platformBrowser, http) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/forms'), require('ngx-take-until-destroy'), require('rxjs/operators'), require('@angular/cdk/keycodes'), require('@angular/common'), require('lodash.isempty'), require('lodash.isequal'), require('lodash.intersection'), require('lodash.union'), require('lodash.difference'), require('lodash.differenceby'), require('lodash.findindex'), require('lodash.minby'), require('lodash.uniqby'), require('lodash.sortby'), require('lodash.find'), require('lodash.foreach'), require('lodash.map'), require('lodash.keyby'), require('lodash.reject'), require('lodash.groupby'), require('lodash.filter'), require('lodash.findkey'), require('lodash.debounce'), require('lodash.throttle'), require('lodash.curry'), require('lodash.partial'), require('lodash.get'), require('lodash.has'), require('lodash.mapvalues'), require('lodash.mapkeys'), require('lodash.values'), require('lodash.merge'), require('lodash.transform'), require('lodash.clonedeep'), require('lodash.omitby'), require('deep-equal'), require('lodash.invert'), require('lodash.escape'), require('lodash.unescape'), require('lodash.escaperegexp'), require('date-fns'), require('date-fns-tz'), require('date-fns/locale/de'), require('date-fns/locale/en-US'), require('date-fns/locale/es'), require('date-fns/locale/fr'), require('date-fns/locale/ja'), require('@datorama/akita'), require('tooltip.js'), require('@popperjs/core/lib/popper-lite.js'), require('@popperjs/core/lib/modifiers/preventOverflow.js'), require('@popperjs/core/lib/modifiers/flip.js'), require('@popperjs/core/lib/modifiers/offset.js'), require('dompurify'), require('tippy.js'), require('@angular/cdk/coercion'), require('helpful-decorators'), require('@ag-grid-community/angular'), require('@ag-grid-community/core'), require('@angular/animations'), require('@angular/cdk/a11y'), require('ngx-sortablejs'), require('@angular/platform-browser'), require('@angular/common/http')) :
3
+ typeof define === 'function' && define.amd ? define('@datorama/core', ['exports', '@angular/core', 'rxjs', '@angular/forms', 'ngx-take-until-destroy', 'rxjs/operators', '@angular/cdk/keycodes', '@angular/common', 'lodash.isempty', 'lodash.isequal', 'lodash.intersection', 'lodash.union', 'lodash.difference', 'lodash.differenceby', 'lodash.findindex', 'lodash.minby', 'lodash.uniqby', 'lodash.sortby', 'lodash.find', 'lodash.foreach', 'lodash.map', 'lodash.keyby', 'lodash.reject', 'lodash.groupby', 'lodash.filter', 'lodash.findkey', 'lodash.debounce', 'lodash.throttle', 'lodash.curry', 'lodash.partial', 'lodash.get', 'lodash.has', 'lodash.mapvalues', 'lodash.mapkeys', 'lodash.values', 'lodash.merge', 'lodash.transform', 'lodash.clonedeep', 'lodash.omitby', 'deep-equal', 'lodash.invert', 'lodash.escape', 'lodash.unescape', 'lodash.escaperegexp', 'date-fns', 'date-fns-tz', 'date-fns/locale/de', 'date-fns/locale/en-US', 'date-fns/locale/es', 'date-fns/locale/fr', 'date-fns/locale/ja', '@datorama/akita', 'tooltip.js', '@popperjs/core/lib/popper-lite.js', '@popperjs/core/lib/modifiers/preventOverflow.js', '@popperjs/core/lib/modifiers/flip.js', '@popperjs/core/lib/modifiers/offset.js', 'dompurify', 'tippy.js', '@angular/cdk/coercion', 'helpful-decorators', '@ag-grid-community/angular', '@ag-grid-community/core', '@angular/animations', '@angular/cdk/a11y', 'ngx-sortablejs', '@angular/platform-browser', '@angular/common/http'], factory) :
4
+ (global = global || self, factory((global.datorama = global.datorama || {}, global.datorama.core = {}), global.ng.core, global.rxjs, global.ng.forms, global.ngxTakeUntilDestroy, global.rxjs.operators, global.ng.cdk.keycodes, global.ng.common, global._.isEmpty, global._.isEqual, global._.intersection, global._.union, global._.difference, global._.differenceBy, global._.findIndex, global._.minBy, global._.uniqBy, global._.sortBy, global._.find, global._.forEach, global._.map, global._.keyBy, global._.reject, global._.groupBy, global._.filter, global._.findKey, global._.debounce, global._.throttle, global._.curry, global._.partial, global._.get, global._.has, global._.mapValues, global._.mapKeys, global._.values, global._.merge, global._.transform, global._.cloneDeep, global._.omitBy, global.deepEqual, global._.invert, global._.escape, global._.unescape, global._.escapeRegExp, global.dateFns, global.dateFnsTz, global.de, global.enUS, global.es, global.fr, global.ja, global.dato.akita, global.tooltip, global.popperjs.lite, global.popperjs.modifiers.preventOverflow, global.popperjs.modifiers.flip, global.popperjs.modifiers.offset, global.DOMPurify, global.tippy, global.ng.cdk.coercion, global.helpfulDecorators, global.angular, global.core$1, global.ng.animations, global.ng.cdk.a11y, global.ngxSortablejs, global.ng.platformBrowser, global.ng.common.http));
5
+ }(this, (function (exports, core, rxjs, forms, ngxTakeUntilDestroy, operators, keycodes, common, _isEmpty, _isEqual, _intersection, _union, _difference, _differenceBy, _findIndex, _minBy, _uniqBy, _sortby, _find, _forEach, _map, _keyBy, _reject, _groupBy, _filter, _findKey, _debounce, _throttle, _curry, _partial, _get, _has, _mapValues, _mapKeys, _values, _merge, _transform, _cloneDeep, _omitBy, _deepEqual, _invert, _escape, _unescape, _escapeRegExp, dateFns, dateFnsTz, de, enUS, es, fr, ja, akita, Tooltip, popperLite_js, preventOverflow, flip, offset, DOMPurify, tippy, coercion, helpfulDecorators, angular, core$1, animations, a11y, ngxSortablejs, platformBrowser, http) { 'use strict';
6
6
 
7
7
  _isEmpty = _isEmpty && Object.prototype.hasOwnProperty.call(_isEmpty, 'default') ? _isEmpty['default'] : _isEmpty;
8
8
  _isEqual = _isEqual && Object.prototype.hasOwnProperty.call(_isEqual, 'default') ? _isEqual['default'] : _isEqual;
@@ -3946,19 +3946,11 @@
3946
3946
  return DatoDisableControlDirective;
3947
3947
  }());
3948
3948
 
3949
- function copyToClipboard(value) {
3950
- var el = createElement('textarea');
3951
- el.value = value;
3952
- // Set non-editable to avoid focus and move outside of view
3953
- el.setAttribute('readonly', '');
3954
- setStyles(el, { position: 'absolute', left: '-9999px' });
3955
- var remove = appendToBody(el);
3956
- // Select text inside element
3957
- el.select();
3958
- // Copy text to clipboard
3959
- document.execCommand('copy');
3960
- // Remove temporary element
3961
- remove();
3949
+ function writeToClipboard(value) {
3950
+ navigator.clipboard.writeText(value);
3951
+ }
3952
+ function readFromClipboard() {
3953
+ return navigator.clipboard.readText();
3962
3954
  }
3963
3955
  var DatoClipboardDirective = /** @class */ (function () {
3964
3956
  function DatoClipboardDirective() {
@@ -3972,7 +3964,7 @@
3972
3964
  configurable: true
3973
3965
  });
3974
3966
  DatoClipboardDirective.prototype.onClick = function () {
3975
- copyToClipboard(this.value);
3967
+ writeToClipboard(this.value);
3976
3968
  this.copied.emit(this.value);
3977
3969
  };
3978
3970
  __decorate([
@@ -5810,12 +5802,12 @@
5810
5802
  ]; };
5811
5803
  __decorate([
5812
5804
  core.Input(),
5813
- __metadata("design:type", agGridCommunity.GridApi)
5805
+ __metadata("design:type", core$1.GridApi)
5814
5806
  ], DatoGridPaginationComponent.prototype, "agGridApi", void 0);
5815
5807
  __decorate([
5816
5808
  core.Input(),
5817
- __metadata("design:type", agGridCommunity.ColumnApi),
5818
- __metadata("design:paramtypes", [agGridCommunity.ColumnApi])
5809
+ __metadata("design:type", core$1.ColumnApi),
5810
+ __metadata("design:paramtypes", [core$1.ColumnApi])
5819
5811
  ], DatoGridPaginationComponent.prototype, "agGridColumnApi", null);
5820
5812
  __decorate([
5821
5813
  core.Input(),
@@ -5955,7 +5947,8 @@
5955
5947
  this.gridColumnApi = event.columnApi;
5956
5948
  if (this.gridColumnApi.getRowGroupColumns().length >= 1) {
5957
5949
  this.gridComponent.rowGroupOpened.pipe(ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (event) { return _this.rowGroupStateChange(event); });
5958
- this.paginationComponent.toggleRowGroup.pipe(ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function () { return _this.toggleCollapseState(); });
5950
+ this.paginationComponent &&
5951
+ this.paginationComponent.toggleRowGroup.pipe(ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function () { return _this.toggleCollapseState(); });
5959
5952
  }
5960
5953
  this.cdr.detectChanges();
5961
5954
  this.gridReady.emit(event);
@@ -6050,8 +6043,8 @@
6050
6043
  { type: core.ChangeDetectorRef }
6051
6044
  ]; };
6052
6045
  __decorate([
6053
- core.ViewChild(agGridAngular.AgGridNg2, { static: true }),
6054
- __metadata("design:type", agGridAngular.AgGridNg2)
6046
+ core.ViewChild(angular.AgGridAngular, { static: true }),
6047
+ __metadata("design:type", angular.AgGridAngular)
6055
6048
  ], DatoGridComponent.prototype, "gridComponent", void 0);
6056
6049
  __decorate([
6057
6050
  core.ViewChild(DatoGridPaginationComponent, { static: true }),
@@ -6073,7 +6066,7 @@
6073
6066
  changeDetection: core.ChangeDetectionStrategy.OnPush,
6074
6067
  encapsulation: core.ViewEncapsulation.None,
6075
6068
  providers: [valueAccessor$2],
6076
- styles: ["dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
6069
+ styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/font-woff;charset=utf-8;base64,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\") format(\"woff\"),url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwR1NVQm1rbjkAAAE4AAAEwk9TLzJWVlKaAAAF/AAAAFZjbWFwj599ewAAB5AAAAXUZ2x5ZjNvaocAAA4EAAAWvGhlYWR2z8SBAAAA4AAAADZoaGVhB9MELQAAALwAAAAkaG10eM8K/+IAAAZUAAABPGxvY2EmcyvAAAANZAAAAKBtYXhwAWUAeAAAARgAAAAgbmFtZfJE4loAACTAAAACUnBvc3QDfOWrAAAnFAAAArcAAQAAA+gAAAAAA+j/9v/1A/MAAQAAAAAAAAAAAAAAAAAAAE8AAQAAAAEAAHoS5IZfDzz1AAsD6AAAAVoJ476AAAABWgnjvoD/9v/2A/MD8gAAAAgAAgAAAAAAAAABAAAATwBsAAwAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQRWAA8AJABaAHYAzAECAWgBiAG8AigDPgN6A5QD2APuBDYAAwAIACAALgABAAsANwA3ADgAOQA3ADYAOgA7ADwAPQACAAYAOAA4ADwAPgA/AAMAAwA/AEAAAgAGABIAGQAFADgAPABJAEoAGAAEADgAOwBKAAMACAAqAEoAKwAQADYARwA7ADwARgBEAEkAOgA6ADwAPQBGADwATABMACwADwA2AEcAOwA8AEYARABJADoAOgA8AD0ARgA8AD0ALQAFADsANwBCADoAAwAIABwALgAUAAkASwA5AEYAPwBBADYAPwBCABIACABFAEoANgA9AEcAOQBHABUAAwBLADkABAAKADAASABcACIAEgA4ADkAOQBGADsAPQBHADkAOgA5ADgASAA7AD0ANgA6ADkAMQALADgAOQA5AEYAQABBADwAPwA5AEcALwAJADgAOQA5AEYAPABKADkAPQAzAAQAOwBAAEMAAQAEABoADQA9AEcAOQA6ADkAOABIADsAPQA2ADoAOQADAAgAIAAqACUACwA8ADoARgA2AEEAQQA8AD4AOQBHACMABAA5AEUAOgAkAAQAPAA9ADkABQAMACQAOgBQAGIAMQALAEgANgBBAEEARgA4ADsANwBCADoALwAKAEgANgBBAEEARgBHADwAPgA9ADAACgBIADYAQQBBAEYAQQA5AEwAOgAyAAgASAA2AEEAQQBGAEkASgAuAAQANgBOADkADAAaAEgAbgCQAKoAwADQAN4A7AD4AQQBDgAHABYAQgA5AEAAQwBEADwARQBGADsAPQBHADkAOgA5ADgASAA7AD0ANgA6ADkACAASAEIAOQBAAEMARAA8AEUARgBJAD0AQABCADkAQABDADkARwAGABAAQgA5AEAAQwBEADwARQBGAEAAQgA5AEAAQwA5AEcACQAMADwAQQA8ADgARgBKADsAQABDADkAOAAMAAoAPAA9ADoAOAA2AEAAOgA5AEcACwAHADwAQQBJAEgAPQA/AAoABgA8AEEASQBIAD0ABAAGADYAPQBAADkAQQAFAAUAQgA2ADgAOgAOAAUAOAA8AD8APwANAAQAPABKAEsADwADAEkAOgAEAAoAGgAoADIAHgAHADwANgBHADsAPQA3AB0ABgA7AD0AQwA5AEcAGwAEADYAPwA6ABwABAA5AEwAOgACAAYAEAAQAAQANgA6ADYAEQAEADkAPwBAAAQACgAcAC4AOgAfAAgANgBFADsASAA7AE0AOQAhAAgAOwA9ADsASAA7AE0AOQAiAAUAOwA9AEkAPwAgAAQAOQA9AEkAAQAEADUACAA9AEEAOwA9AEMAOQBHAAUADAAeACoANgBAACoACAA4ADkATgA7ADwASQA/ACYABQA2AD8AOgA5ACgABQA7AE4APAA6ACkABABBAEkAPwAnAAMAOwA9AAIABgAUABYABgA7AEEAOgA5ADgAFwAFADsAOAA/ADoAAQAPADYANwA4ADkAOgA7AD0APwBAAEEARwBIAEkASgBMAAAAAQKfAZAABQAAAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAC3xNgPoAAAAWgPyAAoAAAABAAAAAAAAAAAAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6P/2A+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPo//YD6P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAIQAAEAAAAAAQoAAwABAAAALAADAAoAAAIQAAQA3gAAAAwACAACAAQALQBpAHAAevE2//8AAAAtAGEAawBy8QH//wAAAAAAAAAAAAAAAQAMAAwAHAAmADYAAABGADYARABAAEcAOQBMADcAQgA7AEMAQQBIAD0APABKADgAPwA6AEkATgA+AEUASwBNAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwAxACIALwA0AAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZEQEc5TDdCOwBDQUg9PEoAOD86SU4+RUtNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAPEAAAAAAAAAE8AAAAtAAAALQAAAEYAAABhAAAAYQAAADYAAABiAAAAYgAAAEQAAABjAAAAYwAAAEAAAABkAAAAZAAAAEcAAABlAAAAZQAAADkAAABmAAAAZgAAAEwAAABnAAAAZwAAADcAAABoAAAAaAAAAEIAAABpAAAAaQAAADsAAABrAAAAawAAAEMAAABsAAAAbAAAAEEAAABtAAAAbQAAAEgAAABuAAAAbgAAAD0AAABvAAAAbwAAADwAAABwAAAAcAAAAEoAAAByAAAAcgAAADgAAABzAAAAcwAAAD8AAAB0AAAAdAAAADoAAAB1AAAAdQAAAEkAAAB2AAAAdgAAAE4AAAB3AAAAdwAAAD4AAAB4AAAAeAAAAEUAAAB5AAAAeQAAAEsAAAB6AAAAegAAAE0AAPEBAADxAQAAAAEAAPECAADxAgAAAAIAAPEDAADxAwAAAAMAAPEEAADxBAAAAAQAAPEFAADxBQAAAAUAAPEGAADxBgAAAAYAAPEHAADxBwAAAAcAAPEIAADxCAAAAAgAAPEJAADxCQAAAAkAAPEKAADxCgAAAAoAAPELAADxCwAAAAsAAPEMAADxDAAAAAwAAPENAADxDQAAAA0AAPEOAADxDgAAAA4AAPEPAADxDwAAAA8AAPEQAADxEAAAABAAAPERAADxEQAAABEAAPESAADxEgAAABIAAPETAADxEwAAABMAAPEUAADxFAAAABUAAPEVAADxFQAAABYAAPEWAADxFgAAABcAAPEXAADxFwAAABgAAPEYAADxGAAAABkAAPEZAADxGQAAABoAAPEaAADxGgAAABsAAPEbAADxGwAAABwAAPEcAADxHAAAAB0AAPEdAADxHQAAAB4AAPEeAADxHgAAAB8AAPEfAADxHwAAACAAAPEgAADxIAAAACEAAPEhAADxIQAAACIAAPEiAADxIgAAACMAAPEjAADxIwAAACQAAPEkAADxJAAAACUAAPElAADxJQAAACYAAPEmAADxJgAAACcAAPEnAADxJwAAACgAAPEoAADxKAAAACkAAPEpAADxKQAAACoAAPEqAADxKgAAACsAAPErAADxKwAAACwAAPEsAADxLAAAAC0AAPEtAADxLQAAAC4AAPEuAADxLgAAAC8AAPEvAADxLwAAADAAAPEwAADxMAAAADEAAPExAADxMQAAADIAAPEyAADxMgAAADMAAPEzAADxMwAAADEAAPE0AADxNAAAACIAAPE1AADxNQAAAC8AAPE2AADxNgAAADQAAAAAABgAUgBqAIQA0AEUAVQBjAG+AdQCAAJIAmwCjgMUA2YDfgO+BCQEigTmBPwFFgViBaYF+AYQBigG0AcCB1QHcAfCB9AH4ggECFoIeAiUCPYJCgkcCWIJvAnUCf4KDAoaCigKNgpKCtQLXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteC14LXgteAAEAAAAAAzYDawAJ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AHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVAAC2FnZ3JlZ2F0aW9uBmFycm93cwNhc2MGY2FuY2VsBWNoYXJ0EGNoZWNrYm94LWNoZWNrZWQWY2hlY2tib3gtaW5kZXRlcm1pbmF0ZRJjaGVja2JveC11bmNoZWNrZWQMY29sb3ItcGlja2VyBmNvbHVtbgdjb2x1bW5zCmNvbnRyYWN0ZWQEY29weQVjcm9zcwNjdXQEZGF0YQRkZXNjCGV4cGFuZGVkCWV5ZS1zbGFzaAtleWUtc2xhc2gtMQNleWUGZmlsdGVyBWZpcnN0BGdyaXAFZ3JvdXANaW5kZXRlcm1pbmF0ZQRsYXN0BGxlZnQGbGlua2VkB2xvYWRpbmcIbWF4aW1pemUEbWVudQhtaW5pbWl6ZQVtaW51cwRuZXh0BG5vbmULbm90LWFsbG93ZWQFcGFzdGUDcGluBXBpdm90BHBsdXMIcHJldmlvdXMQcmFkaW8tYnV0dG9uLW9mZg9yYWRpby1idXR0b24tb24FcmlnaHQEc2F2ZQpzbWFsbC1kb3duCnNtYWxsLWxlZnQLc21hbGwtcmlnaHQIc21hbGwtdXAEdGljawh1bmxpbmtlZAp1bmxpbmtlZC0xAWEBZwFyAWUBdAFpAW8BbgF3AXMBYwFsAWgBawFiAXgBLQFkAW0BdQFwAXkBZgF6AXYAAAA=\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
6077
6070
  }),
6078
6071
  __metadata("design:paramtypes", [DatoGridHelper,
6079
6072
  core.ElementRef,
@@ -6958,14 +6951,14 @@
6958
6951
  this.api.gridApi.sizeColumnsToFit();
6959
6952
  };
6960
6953
  DatoGridToolbarComponent.prototype.ngOnDestroy = function () {
6961
- this.api && this.api.gridApi.removeEventListener(agGridCommunity.Events.EVENT_SELECTION_CHANGED, this.eventHandler);
6954
+ this.api && this.api.gridApi.removeEventListener(core$1.Events.EVENT_SELECTION_CHANGED, this.eventHandler);
6962
6955
  };
6963
6956
  DatoGridToolbarComponent.prototype.actionClick = function (action) {
6964
6957
  this.gridToolbarService.executeAction(action, this.api);
6965
6958
  };
6966
6959
  DatoGridToolbarComponent.prototype.onGridReady = function () {
6967
6960
  this.eventHandler = this.rowSelectionChange.bind(this);
6968
- this.api.gridApi.addEventListener(agGridCommunity.Events.EVENT_SELECTION_CHANGED, this.eventHandler);
6961
+ this.api.gridApi.addEventListener(core$1.Events.EVENT_SELECTION_CHANGED, this.eventHandler);
6969
6962
  this._filterItems(true);
6970
6963
  this.fitGridSizeOnInit();
6971
6964
  };
@@ -8873,8 +8866,9 @@
8873
8866
  DatoSelectComponent.prototype.writeValue = function (activeOptions) {
8874
8867
  this._model = activeOptions ? akita.coerceArray(activeOptions) : [];
8875
8868
  if (this.options) {
8869
+ var overTheLimit = this.limitSelectedTo && this.isMulti && this._model.length >= this.limitSelectedTo;
8876
8870
  this.markAsActive(this._model, { deselectAll: true });
8877
- this.limitSelectedTo && this.updateDisabledState();
8871
+ overTheLimit && this.updateDisabledState();
8878
8872
  }
8879
8873
  /** For later updates */
8880
8874
  this.cdr.markForCheck();
@@ -9002,6 +8996,7 @@
9002
8996
  };
9003
8997
  DatoSelectComponent.prototype.removeOption = function (option) {
9004
8998
  var _this = this;
8999
+ var updateDisabled = this.limitSelectedTo && this._model.length === this.limitSelectedTo;
9005
9000
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== option[_this.idKey]; });
9006
9001
  var optionToRemove = this.options.find(function (datoOption) { return datoOption.option && datoOption.option[_this.idKey] === option[_this.idKey]; });
9007
9002
  /**
@@ -9011,7 +9006,7 @@
9011
9006
  if (optionToRemove) {
9012
9007
  optionToRemove.active = false;
9013
9008
  }
9014
- this.limitSelectedTo && this.updateDisabledState();
9009
+ updateDisabled && this.updateDisabledState();
9015
9010
  this.onChange(this._model);
9016
9011
  this.cdr.markForCheck();
9017
9012
  this.asyncUpdateDropdownPosition();
@@ -9359,6 +9354,9 @@
9359
9354
  if (!datoOption) {
9360
9355
  return;
9361
9356
  }
9357
+ var modelLength = this._model.length;
9358
+ var updateDisabled = this.limitSelectedTo &&
9359
+ (modelLength === this.limitSelectedTo || (modelLength === this.limitSelectedTo - 1 && !datoOption.active));
9362
9360
  datoOption.active = !datoOption.active;
9363
9361
  var rawOption = datoOption.option;
9364
9362
  if (datoOption.active) {
@@ -9367,7 +9365,7 @@
9367
9365
  else {
9368
9366
  this._model = this._model.filter(function (current) { return current[_this.idKey] !== rawOption[_this.idKey]; });
9369
9367
  }
9370
- this.limitSelectedTo && this.updateDisabledState();
9368
+ updateDisabled && this.updateDisabledState();
9371
9369
  this.onChange(this._model);
9372
9370
  this.cdr.markForCheck();
9373
9371
  this.asyncUpdateDropdownPosition();
@@ -11287,12 +11285,12 @@
11287
11285
  DatoOptionsModule,
11288
11286
  DatoPipesModule,
11289
11287
  DatoListModule,
11290
- agGridAngular.AgGridModule
11288
+ angular.AgGridModule
11291
11289
  ],
11292
11290
  entryComponents: [],
11293
11291
  providers: [GridToolbarService, DatoGridHelper],
11294
11292
  declarations: [declarations$1],
11295
- exports: [agGridAngular.AgGridModule, DatoIconButtonModule, declarations$1]
11293
+ exports: [angular.AgGridModule, DatoIconButtonModule, declarations$1]
11296
11294
  })
11297
11295
  ], DatoGridModule);
11298
11296
  return DatoGridModule;
@@ -11570,7 +11568,7 @@
11570
11568
  return rxjs.merge(_this.gridRef.rowDataChanged, _this.gridRef.rowDataUpdated, _this.gridRef.filterChanged, _this.serverDataLoaded$);
11571
11569
  });
11572
11570
  _this.selectedRowsChange$ = _this.waitForGrid(function () {
11573
- return rxjs.fromEvent(_this.api.grid, agGridCommunity.Events.EVENT_SELECTION_CHANGED).pipe(operators.map(function (_a) {
11571
+ return rxjs.fromEvent(_this.api.grid, core$1.Events.EVENT_SELECTION_CHANGED).pipe(operators.map(function (_a) {
11574
11572
  var api = _a.api;
11575
11573
  return api.getSelectedRows();
11576
11574
  }));
@@ -12103,7 +12101,7 @@
12103
12101
  return contextActions;
12104
12102
  }
12105
12103
 
12106
- var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_AP');
12104
+ var DATO_GRID_STORAGE_API = new core.InjectionToken('DATO_GRID_STORAGE_API');
12107
12105
 
12108
12106
  var defaultEditableColumnRenderer = function (params) {
12109
12107
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
@@ -12125,7 +12123,7 @@
12125
12123
  }
12126
12124
  searchTerm = (searchTerm || '').trim();
12127
12125
  return searchTerm
12128
- ? cellValue.replace(new RegExp(searchTerm, 'gi'), function (str) { return "<span class=\"search-highlight\">" + str + "</span>"; })
12126
+ ? cellValue.replace(new RegExp(escapeRegExp(searchTerm), 'gi'), function (str) { return "<span class=\"search-highlight\">" + str + "</span>"; })
12129
12127
  : cellValue;
12130
12128
  };
12131
12129
 
@@ -13733,7 +13731,7 @@
13733
13731
  core.Component({
13734
13732
  selector: 'dato-grid-column-header',
13735
13733
  template: "<div class=\"d-flex align-start-center\" [attr.data-auto-id]=\"field + '-column-header'\" [attr.data-field]=\"field\">\n <ng-container *ngIf=\"customTemplates && customTemplates.customHeader as customHeader\">\n <div class=\"mr-5\" [attr.data-auto-id]=\"field + '-dynamic-section'\">\n <ng-container *ngTemplateOutlet=\"customHeader; context: context\"></ng-container>\n </div>\n </ng-container>\n <div class=\"d-flex d-flex-grow align-start-center min-width-0 items-center\">\n <span class=\"dato-simple-bold primary-400-color ellipsis min-width-0 mr-5\" [datoTooltip]=\"headerTooltip\"\n datoTooltipPosition=\"bottom\">{{headerName}}</span>\n <div>\n <dato-icon class=\"primary-300-color\" *ngIf=\"headerInfo\" [datoTooltip]=\"headerInfo\" datoTooltipPosition=\"bottom\" datoIcon=\"question\"></dato-icon>\n </div>\n </div>\n <div class=\"sort-icon opacity-0\" *ngIf=\"params.enableSorting && (sortingInfo$ | async) as sortingInfo\"\n [class.active]=\"sortingInfo.active\">\n <dato-icon width=\"24px\" height=\"16px\" class=\"primary-300-color\"\n [attr.data-auto-id]=\"field + '-sort'\"\n [icon]=\"sortingInfo.icon\"></dato-icon>\n </div>\n <ng-container *ngIf=\"showFilter\">\n <div class=\"filter relative\" *datoSubscribe=\"filterActive$ as filterActive\">\n <dato-icon-button (click.stop)=\"openFilters(filters)\" datoTooltip=\"core.filters\" datoTooltipPosition=\"bottom\"\n datoType=\"none\" [attr.data-auto-id]=\"field + '-filter'\" class=\"filter-icon opacity-0\"\n [class.active]=\"filtersMenuOpen || filterActive\"\n datoSize=\"md\" icon=\"filter\"\n #filters></dato-icon-button>\n <div [class.opacity-100]=\"filterActive\"\n class=\"opacity-0 filter-active-circle accent-400-background-color absolute\"></div>\n </div>\n </ng-container>\n <dato-icon-button *ngIf=\"showMoreMenu\" (click.stop)=\"openMoreMenu(moreMenu)\" datoTooltip=\"core.more-options\" datoTooltipPosition=\"bottom\"\n datoType=\"none\" [attr.data-auto-id]=\"field + '-more-menu'\" [class.active]=\"moreMenuOpen\"\n datoSize=\"md\" icon=\"more-vertical\" #moreMenu></dato-icon-button>\n</div>\n",
13736
- styles: [":host .filter-icon,:host .sort-icon{transition:opacity .25s linear,width .25s ease-in-out;width:0}:host .sort-icon{height:16px}:host .filter-icon.active,:host .sort-icon.active{opacity:1;width:24px}:host:hover .filter-icon,:host:hover .sort-icon{opacity:1;width:24px}:host .filter-active-circle{pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;height:8px;width:8px;top:2px;right:2px;border-radius:4px;border:1px solid #fff}:host ::ng-deep .filter dato-icon-button dato-icon{transition:color .2s ease-in-out}"]
13734
+ styles: [":host{width:100%}:host .filter-icon,:host .sort-icon{transition:opacity .25s linear,width .25s ease-in-out;width:0}:host .sort-icon{height:16px}:host .filter-icon.active,:host .sort-icon.active{opacity:1;width:24px}:host:hover .filter-icon,:host:hover .sort-icon{opacity:1;width:24px}:host .filter-active-circle{pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;height:8px;width:8px;top:2px;right:2px;border-radius:4px;border:1px solid #fff}:host ::ng-deep .filter dato-icon-button dato-icon{transition:color .2s ease-in-out}"]
13737
13735
  }),
13738
13736
  __metadata("design:paramtypes", [core.ViewContainerRef,
13739
13737
  CustomHeaderControllerService,
@@ -13745,7 +13743,6 @@
13745
13743
 
13746
13744
  var _a$3;
13747
13745
  var agRowLevelPrefix = 'ag-row-level-';
13748
- var emptyFolderClassName = 'ag-empty-folder';
13749
13746
  function getTime$1(val) {
13750
13747
  var time = new Date(val || null).getTime();
13751
13748
  return isNaN(time) ? 0 : time;
@@ -13790,7 +13787,7 @@
13790
13787
  _a$3[exports.DatoGridColumnTypes.ItemsCount] = __assign(__assign({}, stringColDef), { cellRenderer: 'DatoGridItemsCountCellComponent' }),
13791
13788
  _a$3[exports.DatoGridColumnTypes.Initials] = __assign(__assign({}, stringColDef), { cellRenderer: 'DatoGridInitialsCellComponent' }),
13792
13789
  _a$3[exports.DatoGridColumnTypes.Avatar] = __assign(__assign({}, stringColDef), { cellRenderer: 'DatoGridAvatarCellComponent' }),
13793
- _a$3), multiSortKey: 'ctrl', suppressPaginationPanel: true, pagination: true, deltaColumnMode: true, loadingOverlayComponentFramework: DatoGridV2LoaderComponent, noRowsOverlayComponentFramework: DatoGridV2NoDataOverlayComponent, defaultColDef: {
13790
+ _a$3), multiSortKey: 'ctrl', suppressPaginationPanel: true, pagination: true, paginateChildRows: true, deltaColumnMode: true, loadingOverlayComponentFramework: DatoGridV2LoaderComponent, noRowsOverlayComponentFramework: DatoGridV2NoDataOverlayComponent, defaultColDef: {
13794
13791
  minWidth: exports.GridMinWidths.Default,
13795
13792
  sortable: true,
13796
13793
  resizable: true,
@@ -13818,15 +13815,11 @@
13818
13815
  var displayName = data[colDef['field']];
13819
13816
  var entityClassName = 'entity-display-name';
13820
13817
  var svgRegistry = colDef.gridService.svgRegistry;
13821
- if (isFolder) {
13822
- setEmptyFolderClass(item.node);
13823
- }
13824
13818
  if (icon) {
13825
13819
  return "<span class=\"dato-simple-bold\"> <span class=\"da-grid-icon folder d-flex\">" + svgRegistry.getSvg(icon) + "</span><span class=\"" + entityClassName + "\"></span> " + displayName + "</span>";
13826
13820
  }
13827
13821
  else {
13828
13822
  if (isFolder) {
13829
- setEmptyFolderClass(item);
13830
13823
  return "<span class=\"" + entityClassName + " dato-simple-bold\">" + displayName + "</span>";
13831
13824
  }
13832
13825
  else {
@@ -13971,6 +13964,9 @@
13971
13964
  var hoveredParentElement = getCellByRowID(potentialParent.id);
13972
13965
  hoveredParentElement && hoveredParentElement.classList.remove(agRowHoverClassName);
13973
13966
  potentialParent = null;
13967
+ /** Redraw the folders that has been dragged from and to,
13968
+ * to apply their classed through classRules config */
13969
+ this.api.redrawRows({ rowNodes: [nodeParent, folderToDropInto] });
13974
13970
  this.api.clearFocusedCell();
13975
13971
  }
13976
13972
  }
@@ -13997,24 +13993,9 @@
13997
13993
  finally { if (e_1) throw e_1.error; }
13998
13994
  }
13999
13995
  node.classList.add("" + agRowLevelPrefix + row.level);
14000
- if (row.data.isFolder) {
14001
- setEmptyFolderClass(row, node);
14002
- }
14003
13996
  }
14004
13997
  });
14005
13998
  }
14006
- function setEmptyFolderClass(row, node) {
14007
- var currentNode = node || document.querySelectorAll("[row-id=\"" + row.id + "\"]")[0];
14008
- if (!currentNode) {
14009
- return;
14010
- }
14011
- if (size(row.childrenAfterGroup) === 0) {
14012
- currentNode.classList.add(emptyFolderClassName);
14013
- }
14014
- else {
14015
- currentNode.classList.remove(emptyFolderClassName);
14016
- }
14017
- }
14018
13999
  function onRowSelected(params) {
14019
14000
  if (updatingCheckboxesProgrammatically) {
14020
14001
  return;
@@ -14204,8 +14185,9 @@
14204
14185
  DatoGridMultiSelectColumnHeaderComponent = __decorate([
14205
14186
  core.Component({
14206
14187
  selector: 'dato-grid-multi-select-column-header',
14207
- template: "<dato-checkbox class=\"mt-5\" [formControl]=\"checkboxControl\" [indeterminatelyChecked]=\"indeterminatelyChecked\"></dato-checkbox>",
14208
- changeDetection: core.ChangeDetectionStrategy.OnPush
14188
+ template: "<dato-checkbox [formControl]=\"checkboxControl\" [indeterminatelyChecked]=\"indeterminatelyChecked\"></dato-checkbox>",
14189
+ changeDetection: core.ChangeDetectionStrategy.OnPush,
14190
+ styles: [":host{height:100%;display:flex;align-items:center}"]
14209
14191
  }),
14210
14192
  __metadata("design:paramtypes", [GridService, GridQuery, core.ChangeDetectorRef])
14211
14193
  ], DatoGridMultiSelectColumnHeaderComponent);
@@ -14223,7 +14205,7 @@
14223
14205
  this.logger = logger;
14224
14206
  this.treeConfig = defaultGridTreeLabel;
14225
14207
  this.pageNumberToReturnAfterRefresh = -1;
14226
- this.updateGridActionsSubject = new rxjs.Subject();
14208
+ this.reloadGridActionsSubject = new rxjs.Subject();
14227
14209
  this.CHECKBOX_SELECTION_COL_ID = 'grid-checkbox-selection';
14228
14210
  }
14229
14211
  Object.defineProperty(GridService.prototype, "treeData", {
@@ -14256,11 +14238,11 @@
14256
14238
  ? context
14257
14239
  : deepmerge(this.gridRef.gridOptions.context || {}, context);
14258
14240
  };
14259
- GridService.prototype.updateGridActions = function () {
14260
- this.updateGridActionsSubject.next(true);
14241
+ GridService.prototype.reloadGridActions = function () {
14242
+ this.reloadGridActionsSubject.next();
14261
14243
  };
14262
- GridService.prototype.getUpdateGridActionsStatus = function () {
14263
- return this.updateGridActionsSubject.asObservable();
14244
+ GridService.prototype.onReloadGridActions = function () {
14245
+ return this.reloadGridActionsSubject.asObservable();
14264
14246
  };
14265
14247
  /**
14266
14248
  * @deprecated use selectRows instead
@@ -14372,26 +14354,41 @@
14372
14354
  this.loadSavedSettings(savedSettings);
14373
14355
  }
14374
14356
  };
14357
+ GridService.prototype.initGridOptions = function (gridOptions) {
14358
+ var options = __assign({}, gridOptions);
14359
+ if (typeof gridOptions.enableSearch === 'undefined') {
14360
+ options.enableSearch = options.enableV2_1;
14361
+ }
14362
+ if (typeof gridOptions.enableBackground === 'undefined') {
14363
+ options.enableBackground = options.enableV2_1;
14364
+ }
14365
+ if (typeof gridOptions.showMultiSelectionCheckboxes === 'undefined') {
14366
+ options.showMultiSelectionCheckboxes =
14367
+ gridOptions.enableV2_1 && options.rowSelection !== exports.GridRowSelectionType.SINGLE;
14368
+ }
14369
+ if (typeof gridOptions.enableSearchHighlight === 'undefined') {
14370
+ options.enableSearchHighlight = options.enableSearch && defaultGridOptions.enableSearchHighlight;
14371
+ }
14372
+ if (gridOptions.usePivotGridStyle) {
14373
+ var rowHeight_1 = 30;
14374
+ options.rowHeight = rowHeight_1;
14375
+ options.defaultColDef = __assign(__assign({}, options.defaultColDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this), cellStyle: function (params) {
14376
+ var style = { lineHeight: rowHeight_1 + "px" };
14377
+ if (params.colDef.type === exports.DatoGridColumnTypes.Number) {
14378
+ style.textAlign = 'end';
14379
+ }
14380
+ return style;
14381
+ } });
14382
+ options.autoGroupColumnDef = __assign(__assign({}, options.autoGroupColumnDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this) });
14383
+ }
14384
+ return options;
14385
+ };
14375
14386
  GridService.prototype.normalizeOptions = function (params) {
14376
14387
  var _this = this;
14377
14388
  this.customHeadersTemplates = params.customHeadersTemplates;
14378
14389
  var headerComponentParams = { gridService: this, gridQuery: this.gridQuery };
14379
14390
  params.gridOptions.autoGroupColumnDef = __assign(__assign({}, headerComponentParams), params.gridOptions.autoGroupColumnDef);
14380
14391
  params.gridOptions.defaultColDef = __assign(__assign({}, params.gridOptions.defaultColDef), { headerComponentParams: headerComponentParams });
14381
- if (typeof params.gridOptions.enableSearch === 'undefined') {
14382
- params.gridOptions.enableSearch = params.gridOptions.enableV2_1;
14383
- }
14384
- if (typeof params.gridOptions.enableBackground === 'undefined') {
14385
- params.gridOptions.enableBackground = params.gridOptions.enableV2_1;
14386
- }
14387
- if (typeof params.gridOptions.showMultiSelectionCheckboxes === 'undefined') {
14388
- params.gridOptions.showMultiSelectionCheckboxes =
14389
- params.gridOptions.enableV2_1 && params.gridOptions.rowSelection !== exports.GridRowSelectionType.SINGLE;
14390
- }
14391
- if (typeof params.gridOptions.enableSearchHighlight === 'undefined') {
14392
- params.gridOptions.enableSearchHighlight =
14393
- params.gridOptions.enableSearch && defaultGridOptions.enableSearchHighlight;
14394
- }
14395
14392
  params.gridOptions.columnDefs = this.normalizeColumns(params.gridOptions.columnDefs, params.gridOptions);
14396
14393
  /** Add core filters */
14397
14394
  params.gridOptions.isExternalFilterPresent = function () { return true; };
@@ -14418,23 +14415,18 @@
14418
14415
  params.gridOptions.saveSettings = saveSettings !== false && !isNil(gridName);
14419
14416
  /** Server Side Pagination for select all option */
14420
14417
  this.initOnRowSelectedForServerSidePagination(params);
14418
+ /** Add tree grid specific required settings */
14419
+ if (this.isTreeData) {
14420
+ var inputRowClassRules = params.gridOptions.rowClassRules;
14421
+ params.gridOptions.rowClassRules = __assign(__assign({}, inputRowClassRules), { 'ag-empty-folder': function (params) {
14422
+ return params.data.isFolder && size(params.node.childrenAfterGroup) === 0;
14423
+ } });
14424
+ }
14421
14425
  /** Add pivot specific required settings */
14422
- if (params.gridOptions.pivotMode) {
14426
+ if (this.isPivotMode) {
14423
14427
  this.initPivotSecondaryColsProcess(params);
14424
14428
  params.gridOptions.saveSettings = false;
14425
14429
  }
14426
- if (params.gridOptions.usePivotGridStyle) {
14427
- var rowHeight_1 = 30;
14428
- params.gridOptions.rowHeight = rowHeight_1;
14429
- params.gridOptions.defaultColDef = __assign(__assign({}, params.gridOptions.defaultColDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this), cellStyle: function (params) {
14430
- var style = { lineHeight: rowHeight_1 + "px" };
14431
- if (params.colDef.type === exports.DatoGridColumnTypes.Number) {
14432
- style.textAlign = 'end';
14433
- }
14434
- return style;
14435
- } });
14436
- params.gridOptions.autoGroupColumnDef = __assign(__assign({}, params.gridOptions.autoGroupColumnDef), { cellClassRules: this.getPivotModeCellClassRules(), headerClass: this.getPivotHeaderClass.bind(this) });
14437
- }
14438
14430
  return params.gridOptions;
14439
14431
  };
14440
14432
  GridService.prototype.getPivotHeaderClass = function (params) {
@@ -14519,8 +14511,9 @@
14519
14511
  colId: this.CHECKBOX_SELECTION_COL_ID,
14520
14512
  checkboxSelection: true,
14521
14513
  headerComponentFramework: DatoGridMultiSelectColumnHeaderComponent,
14522
- width: 30,
14523
- maxWidth: 30,
14514
+ minWidth: 29,
14515
+ width: 29,
14516
+ maxWidth: 29,
14524
14517
  suppressSizeToFit: true,
14525
14518
  cellClass: 'checkbox-selection-cell',
14526
14519
  headerClass: 'header-checkbox-selection-cell',
@@ -14757,8 +14750,7 @@
14757
14750
  this.updateSettings({ gridAlignment: gridAlignment, columnsSizes: null });
14758
14751
  };
14759
14752
  GridService.prototype.saveSettingsToServer = function (settings) {
14760
- var isGlobal = this.gridQuery.getGridOptions().isGlobalSettings;
14761
- this.storageAPI.set(this.gridName, settings, isGlobal);
14753
+ this.storageAPI.set(this.gridName, settings);
14762
14754
  };
14763
14755
  /**
14764
14756
  * @internal used to log grid events to the platform's logging service
@@ -14871,8 +14863,8 @@
14871
14863
  var _b = __read(_a, 1), row = _b[0];
14872
14864
  var rawValue = _this.api.grid.getValue(column.getColId(), row);
14873
14865
  var formatter = column.getColDef().valueFormatter;
14874
- var value = formatter ? formatter(rawValue) : rawValue;
14875
- copyToClipboard(value);
14866
+ var value = formatter && typeof formatter !== 'string' ? formatter(rawValue) : rawValue;
14867
+ writeToClipboard(value);
14876
14868
  };
14877
14869
  if (node.isSelected()) {
14878
14870
  selected = _this.gridQuery.getSelectedRowNodes();
@@ -15306,8 +15298,8 @@
15306
15298
  * Refer docs - https://www.ag-grid.com/angular-data-grid/cell-styles/#cell-class-rules */
15307
15299
  GridService.prototype.getPivotModeCellClassRules = function () {
15308
15300
  return {
15309
- 'primary-0-background-color': this.isLeafGroupEvenCell.bind(this),
15310
- 'primary-100-background-color pointer dato-simple-bold': this.isRowGroupValuedCell.bind(this)
15301
+ 'even-row-group-leaf-cell': this.isLeafGroupEvenCell.bind(this),
15302
+ 'row-group-root-cell': this.isRowGroupValuedCell.bind(this)
15311
15303
  };
15312
15304
  };
15313
15305
  GridService.prototype.isLeafGroupEvenCell = function (params) {
@@ -15748,8 +15740,8 @@
15748
15740
  this.onGridChange = new core.EventEmitter();
15749
15741
  this.rowActions = [];
15750
15742
  this.gridActions = [];
15751
- this.contentInit = new rxjs.Subject();
15752
15743
  this.gridReady$ = this.gridQuery.gridReady$;
15744
+ this.contentInit = new rxjs.Subject();
15753
15745
  this.gridElements = {
15754
15746
  centerViewport: null,
15755
15747
  centerContainer: null,
@@ -15762,7 +15754,7 @@
15762
15754
  return this._gridOptions;
15763
15755
  },
15764
15756
  set: function (gridOptions) {
15765
- this._gridOptions = gridOptions;
15757
+ this._gridOptions = this.gridService.initGridOptions(gridOptions);
15766
15758
  this.gridService.treeData = gridOptions.treeData;
15767
15759
  this.gridService.isPivotMode = gridOptions.pivotMode;
15768
15760
  if (this.agGridEl) {
@@ -15783,9 +15775,12 @@
15783
15775
  this.rowHoverComponent && this.rowHoverComponent.destroy();
15784
15776
  this.rowHoverComponent = null;
15785
15777
  };
15786
- DatoGridControllerComponent.prototype.ngAfterContentInit = function () {
15787
- this.contentInit.next();
15788
- this.contentInit.complete();
15778
+ DatoGridControllerComponent.prototype.initializeGrid = function (agGrid, agGridEl) {
15779
+ if (!this.contentInit.isStopped) {
15780
+ this._initializeGrid(agGrid, agGridEl);
15781
+ this.contentInit.next();
15782
+ this.contentInit.complete();
15783
+ }
15789
15784
  };
15790
15785
  /* @internal */
15791
15786
  DatoGridControllerComponent.prototype._initializeGrid = function (agGrid, agGridEl) {
@@ -15796,10 +15791,7 @@
15796
15791
  .pipe(operators.switchMap(function () {
15797
15792
  _this.gridOptions = _this.normalizeOptions();
15798
15793
  agGrid.gridOptions = _this.gridOptions;
15799
- var isGlobal = _this.gridOptions.isGlobalSettings;
15800
- var settingsLoader = _this.gridOptions.saveSettings === false
15801
- ? rxjs.of(null)
15802
- : _this.storageAPI.get(_this.gridOptions.gridName, isGlobal);
15794
+ var settingsLoader = _this.gridOptions.saveSettings === false ? rxjs.of(null) : _this.storageAPI.get(_this.gridOptions.gridName);
15803
15795
  return rxjs.combineLatest([agGrid.gridReady, settingsLoader]);
15804
15796
  }), ngxTakeUntilDestroy.untilDestroyed(this))
15805
15797
  .subscribe(function (_a) {
@@ -15830,12 +15822,6 @@
15830
15822
  });
15831
15823
  };
15832
15824
  DatoGridControllerComponent.prototype.normalizeOptions = function () {
15833
- /**
15834
- * When treeData is enabled, Pagination must be turned off
15835
- */
15836
- if (this.gridOptions.treeData) {
15837
- this.gridOptions = __assign(__assign({}, this.gridOptions), { pagination: false });
15838
- }
15839
15825
  var params = {
15840
15826
  gridOptions: this.gridOptions,
15841
15827
  customHeadersTemplates: this.customHeadersTemplates,
@@ -16250,8 +16236,10 @@
16250
16236
  }
16251
16237
  Object.defineProperty(DatoGridV2Component.prototype, "grid", {
16252
16238
  set: function (agGrid) {
16253
- var agGridEl = query('ag-grid-angular', this.host.nativeElement);
16254
- this.controller._initializeGrid(agGrid, agGridEl);
16239
+ if (agGrid) {
16240
+ var agGridEl = query('ag-grid-angular', this.host.nativeElement);
16241
+ this.controller.initializeGrid(agGrid, agGridEl);
16242
+ }
16255
16243
  },
16256
16244
  enumerable: true,
16257
16245
  configurable: true
@@ -16289,9 +16277,9 @@
16289
16277
  { type: core.ElementRef }
16290
16278
  ]; };
16291
16279
  __decorate([
16292
- core.ViewChild(agGridAngular.AgGridNg2, { static: true }),
16293
- __metadata("design:type", agGridAngular.AgGridNg2),
16294
- __metadata("design:paramtypes", [agGridAngular.AgGridNg2])
16280
+ core.ViewChild(angular.AgGridAngular, { static: false }),
16281
+ __metadata("design:type", angular.AgGridAngular),
16282
+ __metadata("design:paramtypes", [angular.AgGridAngular])
16295
16283
  ], DatoGridV2Component.prototype, "grid", null);
16296
16284
  DatoGridV2Component = __decorate([
16297
16285
  core.Component({
@@ -16299,7 +16287,7 @@
16299
16287
  template: "<ag-grid-angular data-auto-id=\"grid\" class=\"dato-grid ag-theme-material\" [class.has-background]=\"enableBackground\" [class.enable-v2_1]=\"enableV2_1\"\n [class.with-multi-selection-col]=\"gridOptions?.showMultiSelectionCheckboxes\" [class.pivot-style]=\"isPivotStyle\">\n</ag-grid-angular>\n<dato-grid-pagination-v2 [class.has-background]=\"enableBackground\"></dato-grid-pagination-v2>\n",
16300
16288
  changeDetection: core.ChangeDetectionStrategy.OnPush,
16301
16289
  encapsulation: core.ViewEncapsulation.None,
16302
- styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
16290
+ styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important;min-width:auto!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex;padding-right:0}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
16303
16291
  }),
16304
16292
  __metadata("design:paramtypes", [DatoGridControllerComponent, core.ElementRef])
16305
16293
  ], DatoGridV2Component);
@@ -17094,19 +17082,7 @@
17094
17082
  });
17095
17083
  this.registerGroupListeners();
17096
17084
  this.subscribeRowsSelectionData();
17097
- this.subscribeUpdateGridActions();
17098
- };
17099
- DatoGridV2ToolbarComponent.prototype.getCellValueChangeEvent = function () {
17100
- var _this = this;
17101
- return this.gridController.gridQuery.waitForGrid(function () {
17102
- return _this.gridQuery.gridRef.cellValueChanged.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
17103
- });
17104
- };
17105
- DatoGridV2ToolbarComponent.prototype.getRowDataUpdatedEvent = function () {
17106
- var _this = this;
17107
- return this.gridController.gridQuery.waitForGrid(function () {
17108
- return _this.gridQuery.gridRef.rowDataUpdated.pipe(operators.debounceTime(100), ngxTakeUntilDestroy.untilDestroyed(_this));
17109
- });
17085
+ this.subscribeReloadGridActions();
17110
17086
  };
17111
17087
  DatoGridV2ToolbarComponent.prototype.onActionClick = function (action) {
17112
17088
  if (isFunction(action.onClick)) {
@@ -17362,9 +17338,9 @@
17362
17338
  _this.cdr.detectChanges();
17363
17339
  });
17364
17340
  };
17365
- DatoGridV2ToolbarComponent.prototype.subscribeUpdateGridActions = function () {
17341
+ DatoGridV2ToolbarComponent.prototype.subscribeReloadGridActions = function () {
17366
17342
  var _this = this;
17367
- this.gridService.getUpdateGridActionsStatus().subscribe(function () {
17343
+ this.gridService.onReloadGridActions().subscribe(function () {
17368
17344
  _this.initGridActions();
17369
17345
  });
17370
17346
  };
@@ -20858,9 +20834,9 @@
20858
20834
  DatoGridInitialsCellComponent = __decorate([
20859
20835
  core.Component({
20860
20836
  selector: 'dato-grid-initials-cell',
20861
- template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color initials-container\">\n <div *ngIf=\"initials\" class=\"initials text-center mr-12\" [class.bold]=\"isBold\">{{ initials }}</div>\n <div [class.bold]=\"isBold\">{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20837
+ template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color initials-container\">\n <div *ngIf=\"initials\" class=\"initials text-center mr-12\" [class.bold]=\"isBold\">{{ initials }}</div>\n <div class=\"ellipsis\" [class.bold]=\"isBold\">{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20862
20838
  changeDetection: core.ChangeDetectionStrategy.OnPush,
20863
- styles: [".initials-container .initials{width:34px;height:34px;line-height:33px;border-radius:50%;font-size:15px}.initials-container.bold{font-weight:600}"]
20839
+ styles: [".initials-container .initials{width:34px;height:34px;line-height:33px;border-radius:50%;font-size:15px;flex:0 0 auto}.initials-container.bold{font-weight:600}"]
20864
20840
  })
20865
20841
  ], DatoGridInitialsCellComponent);
20866
20842
  return DatoGridInitialsCellComponent;
@@ -20885,9 +20861,9 @@
20885
20861
  DatoGridAvatarCellComponent = __decorate([
20886
20862
  core.Component({
20887
20863
  selector: 'dato-grid-avatar-cell',
20888
- template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color avatar-container\">\n <div *ngIf=\"imageUrl\" [style.background-image]=\"'url(' + imageUrl + ')'\" class=\"avatar text-center mr-12\"></div>\n <div>{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20864
+ template: "<div *ngIf=\"!isGroup\" class=\"height-100 d-flex items-center primary-500-color avatar-container\">\n <div *ngIf=\"imageUrl\" [style.background-image]=\"'url(' + imageUrl + ')'\" class=\"avatar text-center mr-12\"></div>\n <div class=\"ellipsis\">{{text}}</div>\n</div>\n\n<span *ngIf=\"isGroup\">{{text}}</span>\n",
20889
20865
  changeDetection: core.ChangeDetectionStrategy.OnPush,
20890
- styles: [".avatar-container .avatar{width:34px;height:34px;border-radius:50%;background-size:contain}"]
20866
+ styles: [".avatar-container .avatar{width:34px;height:34px;border-radius:50%;background-size:contain;flex:0 0 auto}"]
20891
20867
  })
20892
20868
  ], DatoGridAvatarCellComponent);
20893
20869
  return DatoGridAvatarCellComponent;
@@ -20974,7 +20950,7 @@
20974
20950
  DatoDatePickerModule,
20975
20951
  DatoSortableModule,
20976
20952
  DatoLoadersModule,
20977
- agGridAngular.AgGridModule,
20953
+ angular.AgGridModule,
20978
20954
  DatoListV2Module,
20979
20955
  DatoHotkeysModule,
20980
20956
  DatoCheckboxModule
@@ -21601,40 +21577,6 @@
21601
21577
  * found in the LICENSE file at https://github.com/datorama/client-core/blob/master/LICENSE
21602
21578
  */
21603
21579
 
21604
- var RichTextService = /** @class */ (function () {
21605
- function RichTextService(http, config) {
21606
- this.http = http;
21607
- this.config = config;
21608
- }
21609
- RichTextService.prototype.getLib = function (appendScriptFunc, appendStyleFunc) {
21610
- if (!this.richTextScript$) {
21611
- this.initLib(appendScriptFunc, appendStyleFunc);
21612
- }
21613
- return this.richTextScript$;
21614
- };
21615
- RichTextService.prototype.initLib = function (appendScriptFunc, appendStyleFunc) {
21616
- this.richTextScript$ = rxjs.combineLatest([
21617
- this.http
21618
- .get(this.config.paths.richText + "/index.js", { responseType: 'text' })
21619
- .pipe(operators.tap(function (lib) { return appendScriptFunc(lib, 'rich-text-editor'); })),
21620
- this.http
21621
- .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21622
- .pipe(operators.tap(function (style) { return appendStyleFunc(style, 'tinymce-autocomplete'); }))
21623
- ]).pipe(operators.shareReplay(1));
21624
- };
21625
- RichTextService.ctorParameters = function () { return [
21626
- { type: http.HttpClient },
21627
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21628
- ]; };
21629
- RichTextService.ɵprov = core.ɵɵdefineInjectable({ factory: function RichTextService_Factory() { return new RichTextService(core.ɵɵinject(http.HttpClient), core.ɵɵinject(DATO_CORE_CONFIG)); }, token: RichTextService, providedIn: "root" });
21630
- RichTextService = __decorate([
21631
- core.Injectable({ providedIn: 'root' }),
21632
- __param(1, core.Inject(DATO_CORE_CONFIG)),
21633
- __metadata("design:paramtypes", [http.HttpClient, Object])
21634
- ], RichTextService);
21635
- return RichTextService;
21636
- }());
21637
-
21638
21580
  /**
21639
21581
  * @license
21640
21582
  * Copyright Datorama. All Rights Reserved.
@@ -21648,20 +21590,20 @@
21648
21590
  var ɵ0$3 = getTinymce;
21649
21591
  var DatoRichTextDirective = /** @class */ (function (_super) {
21650
21592
  __extends(DatoRichTextDirective, _super);
21651
- function DatoRichTextDirective(ngZone, richTextService, config, host) {
21593
+ function DatoRichTextDirective(ngZone, http, host, config) {
21652
21594
  var _this = _super.call(this) || this;
21653
21595
  _this.ngZone = ngZone;
21654
- _this.richTextService = richTextService;
21655
- _this.config = config;
21596
+ _this.http = http;
21656
21597
  _this.host = host;
21598
+ _this.config = config;
21657
21599
  _this.autocompleteOptions = {};
21658
21600
  _this.forcePlainTextPasting = false;
21659
21601
  _this.format = 'html';
21660
21602
  _this.isOneLine = false;
21661
21603
  _this.initialValue = '';
21662
- _this.defaultPlugins = 'link fullscreen image lists table autocomplete';
21604
+ _this.defaultPlugins = 'link fullscreen textcolor colorpicker image lists table textpattern autocomplete';
21663
21605
  _this.defaultToolbar = [
21664
- 'fontfamily fontsize forecolor backcolor bold italic underline link',
21606
+ 'fontselect fontsizeselect forecolor backcolor bold italic underline link',
21665
21607
  'alignleft aligncenter alignright alignjustify outdent indent | table numlist bullist | image fullscreen'
21666
21608
  ];
21667
21609
  return _this;
@@ -21687,11 +21629,28 @@
21687
21629
  base: this.config.paths.richText,
21688
21630
  query: ''
21689
21631
  };
21690
- this.richTextService
21691
- .getLib(appendScript, appendStyle)
21692
- .pipe(ngxTakeUntilDestroy.untilDestroyed(this))
21693
- .subscribe(function () {
21694
- _this.init.call(_this);
21632
+ /**
21633
+ * We support only one instance in load time
21634
+ */
21635
+ if (window.tinymce) {
21636
+ this.init.call(this);
21637
+ }
21638
+ else {
21639
+ this.loadLib().subscribe(function (lib) {
21640
+ appendScript(lib, 'rich-text-editor');
21641
+ _this.init.call(_this);
21642
+ _this.loadAutoCompleteStyle();
21643
+ });
21644
+ }
21645
+ };
21646
+ DatoRichTextDirective.prototype.loadLib = function () {
21647
+ return this.http.get(this.config.paths.richText + "/index.js", { responseType: 'text' });
21648
+ };
21649
+ DatoRichTextDirective.prototype.loadAutoCompleteStyle = function () {
21650
+ this.http
21651
+ .get(this.config.paths.richText + "/plugins/autocomplete/plugin.css", { responseType: 'text' })
21652
+ .subscribe(function (style) {
21653
+ appendStyle(style, 'tinymce-autocomplete');
21695
21654
  });
21696
21655
  };
21697
21656
  DatoRichTextDirective.prototype.initEditor = function (_, editor) {
@@ -21715,6 +21674,8 @@
21715
21674
  target: this.host.nativeElement,
21716
21675
  width: this.width || 600,
21717
21676
  height: this.height || 300,
21677
+ force_br_newlines: true,
21678
+ force_p_newlines: false,
21718
21679
  resize: 'both',
21719
21680
  branding: false,
21720
21681
  inline: this.inline,
@@ -21722,12 +21683,10 @@
21722
21683
  readonly: this.disabled,
21723
21684
  plugins: this.plugins || this.defaultPlugins,
21724
21685
  toolbar: isNil(this.toolbar) ? this.defaultToolbar : this.toolbar,
21725
- font_size_formats: '8px 10px 12px 14px 18px 24px 36px',
21686
+ fontsize_formats: '8px 10px 12px 14px 18px 24px 36px',
21726
21687
  min_width: 480,
21727
21688
  menubar: false,
21728
21689
  autocomplete: this.autocompleteOptions,
21729
- suffix: '.min',
21730
- skin: 'tinymce-5',
21731
21690
  setup: function (editor) {
21732
21691
  _this.editor = editor;
21733
21692
  editor.on('init', function (e) {
@@ -21784,9 +21743,9 @@
21784
21743
  var DatoRichTextDirective_1;
21785
21744
  DatoRichTextDirective.ctorParameters = function () { return [
21786
21745
  { type: core.NgZone },
21787
- { type: RichTextService },
21788
- { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] },
21789
- { type: core.ElementRef }
21746
+ { type: http.HttpClient },
21747
+ { type: core.ElementRef },
21748
+ { type: undefined, decorators: [{ type: core.Inject, args: [DATO_CORE_CONFIG,] }] }
21790
21749
  ]; };
21791
21750
  __decorate([
21792
21751
  core.Input(),
@@ -21852,9 +21811,10 @@
21852
21811
  }
21853
21812
  ]
21854
21813
  }),
21855
- __param(2, core.Inject(DATO_CORE_CONFIG)),
21814
+ __param(3, core.Inject(DATO_CORE_CONFIG)),
21856
21815
  __metadata("design:paramtypes", [core.NgZone,
21857
- RichTextService, Object, core.ElementRef])
21816
+ http.HttpClient,
21817
+ core.ElementRef, Object])
21858
21818
  ], DatoRichTextDirective);
21859
21819
  return DatoRichTextDirective;
21860
21820
  }(BaseCustomControl));
@@ -24377,9 +24337,7 @@
24377
24337
  };
24378
24338
  DatoBreadcrumbsComponent.prototype.initEditableHeader = function () {
24379
24339
  var _this = this;
24380
- this.headerControl.valueChanges
24381
- .pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this))
24382
- .subscribe(function (res) {
24340
+ this.headerControl.valueChanges.pipe(operators.debounceTime(300), ngxTakeUntilDestroy.untilDestroyed(this)).subscribe(function (res) {
24383
24341
  _this.updateEditableText.emit(res);
24384
24342
  _this.cdr.detectChanges();
24385
24343
  });
@@ -25742,7 +25700,7 @@
25742
25700
  };
25743
25701
  }
25744
25702
 
25745
- window.coreVersion = '22.13.7-rc.';
25703
+ window.coreVersion = '22.14.0';
25746
25704
 
25747
25705
  exports.APP_TRANSLATE = APP_TRANSLATE;
25748
25706
  exports.AceService = AceService;
@@ -26003,7 +25961,6 @@
26003
25961
  exports.compose = compose;
26004
25962
  exports.convertFromTreeData = convertFromTreeData;
26005
25963
  exports.convertToTreeData = convertToTreeData;
26006
- exports.copyToClipboard = copyToClipboard;
26007
25964
  exports.createComponent = createComponent;
26008
25965
  exports.createElement = createElement;
26009
25966
  exports.createGUID = createGUID;
@@ -26119,6 +26076,7 @@
26119
26076
  exports.queryAll = queryAll;
26120
26077
  exports.random = random;
26121
26078
  exports.rawDiff = rawDiff;
26079
+ exports.readFromClipboard = readFromClipboard;
26122
26080
  exports.reject = reject;
26123
26081
  exports.relativeDateTypes = relativeDateTypes;
26124
26082
  exports.removeClass = removeClass;
@@ -26130,7 +26088,6 @@
26130
26088
  exports.setAttr = setAttr;
26131
26089
  exports.setAttribute = setAttribute;
26132
26090
  exports.setDimensions = setDimensions;
26133
- exports.setEmptyFolderClass = setEmptyFolderClass;
26134
26091
  exports.setGridConfiguration = setGridConfiguration;
26135
26092
  exports.setGridModel = setGridModel;
26136
26093
  exports.setMaxDimensions = setMaxDimensions;
@@ -26169,6 +26126,7 @@
26169
26126
  exports.validateStringCondition = validateStringCondition;
26170
26127
  exports.values = values;
26171
26128
  exports.workerMap = workerMap;
26129
+ exports.writeToClipboard = writeToClipboard;
26172
26130
  exports.zoneStable = zoneStable;
26173
26131
  exports.ɵ0 = ɵ0$2;
26174
26132
  exports.ɵ1 = ɵ1$2;
@@ -26186,7 +26144,6 @@
26186
26144
  exports.ɵl = DatoGridItemsCountCellComponent;
26187
26145
  exports.ɵm = DatoGridV2ToolbarMoreMenuComponent;
26188
26146
  exports.ɵn = DatoGridSearchBarComponent;
26189
- exports.ɵo = RichTextService;
26190
26147
 
26191
26148
  Object.defineProperty(exports, '__esModule', { value: true });
26192
26149