@coolon/angular-ui-powerups 2.0.0-alpha.1 → 2.0.0-alpha.10

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/CHANGELOG.md +68 -0
  2. package/assets/form.scss +33 -0
  3. package/bundles/coolon-angular-ui-powerups.umd.js +418 -233
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/bundles/coolon-angular-ui-powerups.umd.min.js +2 -2
  6. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  7. package/coolon-angular-ui-powerups.d.ts +55 -54
  8. package/coolon-angular-ui-powerups.metadata.json +1 -1
  9. package/esm2015/coolon-angular-ui-powerups.js +53 -52
  10. package/esm2015/coolon-angular-ui-powerups.js.map +1 -1
  11. package/esm2015/coolon-angular-ui-powerups.metadata.json +1 -1
  12. package/esm2015/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  13. package/esm2015/lib/components/card-container/card-container.component.js +1 -1
  14. package/esm2015/lib/components/card-container/card-container.component.metadata.json +1 -1
  15. package/esm2015/lib/components/components.module.js +29 -12
  16. package/esm2015/lib/components/components.module.js.map +1 -1
  17. package/esm2015/lib/components/components.module.metadata.json +1 -1
  18. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  19. package/esm2015/lib/components/forms/abstract-input.component.js +14 -2
  20. package/esm2015/lib/components/forms/abstract-input.component.js.map +1 -1
  21. package/esm2015/lib/components/forms/abstract-input.component.metadata.json +1 -1
  22. package/esm2015/lib/components/forms/abstract-list-input.component.js +37 -5
  23. package/esm2015/lib/components/forms/abstract-list-input.component.js.map +1 -1
  24. package/esm2015/lib/components/forms/abstract-list-input.component.metadata.json +1 -1
  25. package/esm2015/lib/components/forms/abstract-value-input.component.js +35 -6
  26. package/esm2015/lib/components/forms/abstract-value-input.component.js.map +1 -1
  27. package/esm2015/lib/components/forms/abstract-value-input.component.metadata.json +1 -1
  28. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +64 -0
  29. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -0
  30. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.metadata.json +1 -0
  31. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +1 -0
  32. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +1 -0
  33. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +4 -7
  34. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  35. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.metadata.json +1 -1
  36. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +8 -5
  37. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  38. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.metadata.json +1 -1
  39. package/esm2015/lib/components/forms/number-input/number-input.component.js +4 -7
  40. package/esm2015/lib/components/forms/number-input/number-input.component.js.map +1 -1
  41. package/esm2015/lib/components/forms/number-input/number-input.component.metadata.json +1 -1
  42. package/esm2015/lib/components/forms/password-input/password-input.component.js +5 -8
  43. package/esm2015/lib/components/forms/password-input/password-input.component.js.map +1 -1
  44. package/esm2015/lib/components/forms/password-input/password-input.component.metadata.json +1 -1
  45. package/esm2015/lib/components/forms/select-input/select-input.component.js +8 -5
  46. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  47. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  48. package/esm2015/lib/components/forms/string-input/string-input.component.js +2 -6
  49. package/esm2015/lib/components/forms/string-input/string-input.component.js.map +1 -1
  50. package/esm2015/lib/components/forms/string-input/string-input.component.metadata.json +1 -1
  51. package/esm2015/lib/components/forms/text-input/text-input.component.js +4 -7
  52. package/esm2015/lib/components/forms/text-input/text-input.component.js.map +1 -1
  53. package/esm2015/lib/components/forms/text-input/text-input.component.metadata.json +1 -1
  54. package/esm2015/lib/components/index.js +2 -1
  55. package/esm2015/lib/components/index.js.map +1 -1
  56. package/esm2015/lib/components/index.metadata.json +1 -1
  57. package/esm2015/lib/components/table/cell-editors.js.map +1 -1
  58. package/esm2015/lib/components/table/{cell-protal-ref.js → cell-portal-ref.js} +7 -3
  59. package/esm2015/lib/components/table/cell-portal-ref.js.map +1 -0
  60. package/esm2015/lib/components/table/{cell-protal-ref.metadata.json → cell-portal-ref.metadata.json} +1 -1
  61. package/esm2015/lib/components/table/column-model.js +27 -11
  62. package/esm2015/lib/components/table/column-model.js.map +1 -1
  63. package/esm2015/lib/components/table/column-model.metadata.json +1 -1
  64. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  65. package/esm2015/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  66. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  67. package/esm2015/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  68. package/esm2015/lib/components/table/table-model.js +8 -5
  69. package/esm2015/lib/components/table/table-model.js.map +1 -1
  70. package/esm2015/lib/components/table/table-model.metadata.json +1 -1
  71. package/esm2015/lib/components/table/table.component.js +1 -2
  72. package/esm2015/lib/components/table/table.component.js.map +1 -1
  73. package/esm2015/lib/components/table/table.component.metadata.json +1 -1
  74. package/esm2015/lib/components/table/table.component.scss.shim.ngstyle.js.map +1 -0
  75. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  76. package/esm2015/lib/place/place.module.ngfactory.js.map +1 -1
  77. package/esm5/coolon-angular-ui-powerups.js +53 -52
  78. package/esm5/coolon-angular-ui-powerups.js.map +1 -1
  79. package/esm5/lib/angular-ui-powerups.module.ngfactory.js.map +1 -1
  80. package/esm5/lib/components/card-container/card-container.component.js +1 -1
  81. package/esm5/lib/components/components.module.js +29 -12
  82. package/esm5/lib/components/components.module.js.map +1 -1
  83. package/esm5/lib/components/components.module.ngfactory.js.map +1 -1
  84. package/esm5/lib/components/forms/abstract-input.component.js +22 -2
  85. package/esm5/lib/components/forms/abstract-input.component.js.map +1 -1
  86. package/esm5/lib/components/forms/abstract-list-input.component.js +42 -5
  87. package/esm5/lib/components/forms/abstract-list-input.component.js.map +1 -1
  88. package/esm5/lib/components/forms/abstract-value-input.component.js +40 -6
  89. package/esm5/lib/components/forms/abstract-value-input.component.js.map +1 -1
  90. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js +67 -0
  91. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.js.map +1 -0
  92. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.ngfactory.js.map +1 -0
  93. package/esm5/lib/components/forms/autocomplete-input/autocomplete-input.component.scss.shim.ngstyle.js.map +1 -0
  94. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js +4 -7
  95. package/esm5/lib/components/forms/checkbox-input/checkbox-input.component.js.map +1 -1
  96. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js +8 -5
  97. package/esm5/lib/components/forms/multiple-select-input/multiple-select-input.component.js.map +1 -1
  98. package/esm5/lib/components/forms/number-input/number-input.component.js +4 -7
  99. package/esm5/lib/components/forms/number-input/number-input.component.js.map +1 -1
  100. package/esm5/lib/components/forms/password-input/password-input.component.js +5 -8
  101. package/esm5/lib/components/forms/password-input/password-input.component.js.map +1 -1
  102. package/esm5/lib/components/forms/select-input/select-input.component.js +8 -5
  103. package/esm5/lib/components/forms/select-input/select-input.component.js.map +1 -1
  104. package/esm5/lib/components/forms/string-input/string-input.component.js +2 -6
  105. package/esm5/lib/components/forms/string-input/string-input.component.js.map +1 -1
  106. package/esm5/lib/components/forms/text-input/text-input.component.js +4 -7
  107. package/esm5/lib/components/forms/text-input/text-input.component.js.map +1 -1
  108. package/esm5/lib/components/index.js +2 -1
  109. package/esm5/lib/components/index.js.map +1 -1
  110. package/esm5/lib/components/table/cell-editors.js.map +1 -1
  111. package/esm5/lib/components/table/{cell-protal-ref.js → cell-portal-ref.js} +7 -3
  112. package/esm5/lib/components/table/cell-portal-ref.js.map +1 -0
  113. package/esm5/lib/components/table/column-model.js +27 -11
  114. package/esm5/lib/components/table/column-model.js.map +1 -1
  115. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js +1 -1
  116. package/esm5/lib/components/table/table-cell-renderer/table-cell-renderer.component.js.map +1 -1
  117. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js +1 -1
  118. package/esm5/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.js.map +1 -1
  119. package/esm5/lib/components/table/table-model.js +8 -5
  120. package/esm5/lib/components/table/table-model.js.map +1 -1
  121. package/esm5/lib/components/table/table.component.js +1 -2
  122. package/esm5/lib/components/table/table.component.js.map +1 -1
  123. package/esm5/lib/components/table/table.component.scss.shim.ngstyle.js.map +1 -0
  124. package/esm5/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  125. package/esm5/lib/place/place.module.ngfactory.js.map +1 -1
  126. package/fesm2015/coolon-angular-ui-powerups.js +320 -157
  127. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  128. package/fesm5/coolon-angular-ui-powerups.js +351 -167
  129. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  130. package/lib/components/forms/abstract-input.component.d.ts +4 -1
  131. package/lib/components/forms/abstract-list-input.component.d.ts +8 -2
  132. package/lib/components/forms/abstract-value-input.component.d.ts +7 -2
  133. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +22 -0
  134. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  135. package/lib/components/forms/multiple-select-input/multiple-select-input.component.d.ts +8 -2
  136. package/lib/components/forms/number-input/number-input.component.d.ts +0 -2
  137. package/lib/components/forms/password-input/password-input.component.d.ts +0 -2
  138. package/lib/components/forms/select-input/select-input.component.d.ts +8 -2
  139. package/lib/components/forms/string-input/string-input.component.d.ts +1 -2
  140. package/lib/components/forms/text-input/text-input.component.d.ts +0 -2
  141. package/lib/components/index.d.ts +2 -1
  142. package/lib/components/table/cell-editors.d.ts +3 -3
  143. package/lib/components/table/{cell-protal-ref.d.ts → cell-portal-ref.d.ts} +4 -4
  144. package/lib/components/table/column-model.d.ts +15 -7
  145. package/lib/components/table/table-cell-renderer/table-cell-renderer.component.d.ts +1 -1
  146. package/lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.d.ts +1 -1
  147. package/lib/components/table/table-model.d.ts +10 -2
  148. package/package.json +2 -2
  149. package/esm2015/lib/components/table/cell-protal-ref.js.map +0 -1
  150. package/esm2015/lib/components/table/table.component.scss.ngstyle.js.map +0 -1
  151. package/esm5/lib/components/table/cell-protal-ref.js.map +0 -1
  152. package/esm5/lib/components/table/table.component.scss.ngstyle.js.map +0 -1
@@ -3,7 +3,7 @@ import { MultipleSelectionModel } from '@coolon/pectin';
3
3
  import { assert } from '@coolon/typescript-utilities';
4
4
  import { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';
5
5
  import _ from 'lodash';
6
- import { CellEditorPortalRef, CellHeaderPortalRef, ComponentCellRendererPortalRef, TemplateCellRendererPortalRef } from './cell-protal-ref';
6
+ import { CellEditorPortalRef, CellHeaderPortalRef, ComponentCellRendererPortalRef, TemplateCellRendererPortalRef } from './cell-portal-ref';
7
7
  import { DefaultCellRendererComponent } from './default-cell-renderer/default-cell-renderer.component';
8
8
  import { DefaultHeaderCellRendererComponent } from './default-header-cell-renderer/default-header-cell-renderer.component';
9
9
  import { EditRowControls } from './edit-row-controls/edit-row-controls.component';
@@ -103,24 +103,37 @@ var ColumnModel = /** @class */ (function () {
103
103
  export { ColumnModel };
104
104
  var PropertyColumnModel = /** @class */ (function (_super) {
105
105
  __extends(PropertyColumnModel, _super);
106
- function PropertyColumnModel(property, defaults) {
107
- var _this = _super.call(this, property.toString(), defaults) || this;
106
+ function PropertyColumnModel(id, property, defaults) {
107
+ var _this = _super.call(this, id, defaults) || this;
108
108
  _this.property = property;
109
109
  _this._format = function (value) { return value; };
110
110
  _this.cellRenderer(DefaultCellRendererComponent);
111
111
  return _this;
112
112
  }
113
- PropertyColumnModel.prototype.cellRenderer = function (componentType) {
113
+ PropertyColumnModel.prototype.cellRenderer = function (componentType, onComponentInitOrOptions) {
114
114
  var _this = this;
115
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
115
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
116
+ if (firstTime) {
117
+ if (_.isFunction(onComponentInitOrOptions)) {
118
+ onComponentInitOrOptions(component);
119
+ }
120
+ else {
121
+ if (_.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onComponentInit)) {
122
+ onComponentInitOrOptions.onComponentInit(component);
123
+ }
124
+ }
125
+ }
116
126
  component.value = _this._format(rowData.row[_this.property]);
127
+ if (!_.isFunction(onComponentInitOrOptions) && _.isFunction(onComponentInitOrOptions === null || onComponentInitOrOptions === void 0 ? void 0 : onComponentInitOrOptions.onRowUpdate)) {
128
+ onComponentInitOrOptions.onRowUpdate(component, rowData.row);
129
+ }
117
130
  }));
118
131
  return this;
119
132
  };
120
- PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, initialiseComponent) {
133
+ PropertyColumnModel.prototype.cellEditor = function (editor, validatorsOrInitialiser, onComponentInit) {
121
134
  var _this = this;
122
135
  var validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;
123
- var initialiser = _.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;
136
+ var initialiser = _.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;
124
137
  this.configureCellEditor(new CellEditorPortalRef(editor, function (component, editSession) {
125
138
  var formValueModel = editSession.form.pluck(_this.property);
126
139
  if (validators) {
@@ -146,8 +159,8 @@ var PropertyColumnModel = /** @class */ (function (_super) {
146
159
  export { PropertyColumnModel };
147
160
  var ListPropertyColumnModel = /** @class */ (function (_super) {
148
161
  __extends(ListPropertyColumnModel, _super);
149
- function ListPropertyColumnModel(property, defaults) {
150
- var _this = _super.call(this, property.toString(), defaults) || this;
162
+ function ListPropertyColumnModel(id, property, defaults) {
163
+ var _this = _super.call(this, id, defaults) || this;
151
164
  _this.property = property;
152
165
  _this._format = function (value) { return value.map(function (v) { return v === null || v === void 0 ? void 0 : v.toString(); }).join(', '); };
153
166
  _this.cellRenderer(DefaultCellRendererComponent);
@@ -195,9 +208,12 @@ var CustomValueColumnModel = /** @class */ (function (_super) {
195
208
  _this.cellRenderer(DefaultCellRendererComponent);
196
209
  return _this;
197
210
  }
198
- CustomValueColumnModel.prototype.cellRenderer = function (componentType) {
211
+ CustomValueColumnModel.prototype.cellRenderer = function (componentType, onComponentInit) {
199
212
  var _this = this;
200
- this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData) {
213
+ this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, function (component, rowData, firstTime) {
214
+ if (firstTime && _.isFunction(onComponentInit)) {
215
+ onComponentInit(component);
216
+ }
201
217
  component.value = _this.getValue(rowData.row);
202
218
  }));
203
219
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"column-model.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/column-model.ts"],"names":[],"mappings":";AAEA,OAAO,EAIL,sBAAsB,EAKvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kDAAkD,CAAC;AAC3E,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EAEnB,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,EAAE,kCAAkC,EAAE,MAAM,uEAAuE,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAElF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,iCAAiC,EAAE,MAAM,qEAAqE,CAAC;AAKxH,IAAM,IAAI,GAAG;AACb,CAAC,CAAC;;AASF;IAUE,qBAAqB,QAAgB,EAAU,QAA8B;QAAxD,aAAQ,GAAR,QAAQ,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAsB;QAFrE,sBAAiB,GAAG,SAAS,CAAC;QAGpC,IAAI,CAAC,kBAAkB,CAAC,kCAAkC,EAAE,UAAC,SAAS,EAAE,MAAM;YAC5E,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,mCAAa,GAAb;;QACE,OAAO,OAAA,IAAI,CAAC,uBAAuB,EAAE,0CAAE,UAAU,OAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACrF,CAAC;IAES,0CAAoB,GAA9B;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD,6CAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,oCAAc,GAAd,UAAe,oBAA0C;QACvD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,6CAAuB,GAAjC,UAAqC,MAAqC;QACxE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;IACvC,CAAC;IAES,2CAAqB,GAA/B,UAAmC,MAAuC;QACxE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;IACvC,CAAC;IAES,yCAAmB,GAA7B,UAAiC,UAAuC;QACtE,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC;IACzC,CAAC;IAED,wCAAkB,GAAlB,UAAsB,aAA+B,EAAE,WAA6D;QAClH,IAAI,CAAC,uBAAuB,CAAC,IAAI,mBAAmB,CAAS,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qCAAe,GAAf;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,sCAAgB,GAAhB,UAAiB,IAAS;QACxB,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,gCAAU,GAAV,UAAW,IAAS;QAClB,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtD;IACH,CAAC;IAED,sCAAgB,GAAhB,UAAiB,IAAsC,EAAE,SAAc;QACrE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,wCAAkB,GAAlB,UAAmB,IAAqC,EAAE,SAAc;QACtE,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,WAAW;IACX,sCAAgB,GAAhB,UAAiB,IAAqC,EAAE,SAAc;QACpE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAmB,GAAnB,UAAoB,IAAqC;QACvD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAES,sCAAgB,GAA1B,UAA2B,gBAAyB;QAClD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAqB,GAArB;QACE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,qDAA+B,GAA/B;QACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC;IACzC,CAAC;IAED,sDAAgC,GAAhC;QACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,KAAK,CAAC;IAC1C,CAAC;IAlFD;QADC,OAAO,EAAE;;;;oDAGT;IAOD;QADC,OAAO,EAAE;;;;8DAGT;IAwEH,kBAAC;CAAA,AApGD,IAoGC;SApGY,WAAW;AAkHxB;IAAsF,uCAAgB;IAKpG,6BAAqB,QAAW,EAAE,QAA8B;QAAhE,YACE,kBAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,SAErC;QAHoB,cAAQ,GAAR,QAAQ,CAAG;QAFxB,aAAO,GAA2B,UAAC,KAAK,IAAK,OAAA,KAAK,EAAL,CAAK,CAAC;QAIzD,KAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;;IAClD,CAAC;IAED,0CAAY,GAAZ,UAAa,aAA+C;QAA5D,iBAKC;QAJC,IAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,aAAa,EAAE,UAAC,SAAS,EAAE,OAAO;YAC9F,SAAS,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAID,wCAAU,GAAV,UAAkD,MAAwB,EAAE,uBAAwE,EAAE,mBAA4C;QAAlM,iBAcC;QAbC,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAC1G,IAAI,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,UAAC,SAAY,EAAE,WAA6B;YACnG,IAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE;gBACd,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAC1C;YACD,SAAS,CAAC,UAAU,GAAG,cAAc,CAAC;YACtC,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,SAAS,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAM,GAAN,UAAO,SAAiC;QACtC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,8CAAgB,GAAvB,UAAwB,gBAAyB;QAC/C,OAAO,iBAAM,gBAAgB,YAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEH,0BAAC;AAAD,CAAC,AA7CD,CAAsF,WAAW,GA6ChG;;AAED;IAA0F,2CAAgB;IAIxG,iCAAqB,QAAW,EAAE,QAA8B;QAAhE,YACE,kBAAM,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,SAErC;QAHoB,cAAQ,GAAR,QAAQ,CAAG;QAFxB,aAAO,GAAqD,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,WAAI,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,KAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAxC,CAAwC,CAAC;QAItH,KAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;;IAClD,CAAC;IAED,8CAAY,GAAZ,UAAa,aAAyE;QAAtF,iBAKC;QAJC,IAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,aAAa,EAAE,UAAC,SAAS,EAAE,OAAO;YAC9F,SAAS,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAID,4CAAU,GAAV,UAA8E,MAAwB,EAAE,uBAAkG,EAAE,mBAA4C;QAAxP,iBAeC;QAdC,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC;QAE1G,IAAI,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC,MAAM,EAAE,UAAC,SAAY,EAAE,WAA6B;YACnG,IAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,UAAU,EAAE;gBACd,aAAa,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aACzC;YACD,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC;YACpC,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,SAAS,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAM,GAAN,UAAO,SAA2D;QAChE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,kDAAgB,GAAvB,UAAwB,gBAAyB;QAC/C,OAAO,iBAAM,gBAAgB,YAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEH,8BAAC;AAAD,CAAC,AA7CD,CAA0F,WAAW,GA6CpG;;AAED;IAAoD,0CAAgB;IAClE,gCAAY,QAAgB,EAAE,QAA8B,EAAU,QAAyB;QAA/F,YACE,kBAAM,QAAQ,EAAE,QAAQ,CAAC,SAE1B;QAHqE,cAAQ,GAAR,QAAQ,CAAiB;QAE7F,KAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;;IAClD,CAAC;IAED,6CAAY,GAAZ,UAAa,aAA0C;QAAvD,iBAKC;QAJC,IAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,aAAa,EAAE,UAAC,SAAS,EAAE,OAAO;YAC9F,SAAS,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iDAAgB,GAAvB,UAAwB,gBAAyB;QAC/C,OAAO,iBAAM,gBAAgB,YAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEH,6BAAC;AAAD,CAAC,AAjBD,CAAoD,WAAW,GAiB9D;;AAED;IAAmD,4CAAgB;IAEjE,kCAAY,QAAgB,EAAE,WAA0D,EAAE,QAA8B;QAAxH,YACE,kBAAM,QAAQ,EAAE,QAAQ,CAAC,SAE1B;QADC,KAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;;IACrC,CAAC;IAED,+CAAY,GAAZ,UAAa,aAAwG;QACnH,IAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,aAAa,EAAE,UAAC,SAAS,EAAE,OAAqB;YAC5G,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAC5B,SAAS,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAC5C,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACpD,CAAC,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAES,uDAAoB,GAA9B;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IACH,+BAAC;AAAD,CAAC,AAnBD,CAAmD,WAAW,GAmB7D;;AAED;IAAoD,6CAAgB;IAGlE,mCAAY,QAAgB,EAAE,QAA8B;QAA5D,YACE,kBAAM,QAAQ,EAAE,QAAQ,CAAC,SAE1B;QALgB,YAAM,GAAG,IAAI,6BAA6B,EAAO,CAAC;QAIjE,KAAI,CAAC,qBAAqB,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;;IAC1C,CAAC;IAED,+CAAW,GAAX,UAAY,WAA6B,EAAE,aAA+B,EAAE,QAAiB,EAAE,QAAiB;QAC9G,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAEM,oDAAgB,GAAvB,UAAwB,gBAAyB;QAC/C,OAAO,iBAAM,gBAAgB,YAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAEH,gCAAC;AAAD,CAAC,AAhBD,CAAoD,WAAW,GAgB9D;;AAED;IAA+C,wCAAgB;IAI7D,8BAAY,QAAgB,EAAE,QAA8B,EAAmB,cAAmC;QAAlH,YACE,kBAAM,QAAQ,EAAE,QAAQ,CAAC,SAY1B;QAb8E,oBAAc,GAAd,cAAc,CAAqB;QAF1G,2BAAqB,GAAG,IAAI,CAAC;QAInC,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,cAAc,YAAY,sBAAsB,EAAE;YACpD,KAAI,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,UAAC,SAAS;gBACnE,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC;gBAC1C,SAAS,CAAC,oBAAoB,GAAG,KAAI,CAAC,qBAAqB,CAAC;YAC9D,CAAC,CAAC,CAAC;SACJ;QACD,KAAI,CAAC,qBAAqB,CAAC,IAAI,8BAA8B,CAAC,2BAA2B,EAAE,UAAC,SAAS,EAAE,OAAqB;YAC1H,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YAC5B,SAAS,CAAC,cAAc,GAAG,cAAc,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC;;IACN,CAAC;IAES,mDAAoB,GAA9B;QACE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,6DAA8B,GAA9B;QACE,OAAO,IAAI,CAAC,+BAA+B,EAAE,CAAC;IAChD,CAAC;IAED,+CAAgB,GAAhB,UAAiB,gBAAyB;QACxC,6EAA6E;QAC7E,wCAAwC;QACxC,OAAO,iBAAM,gBAAgB,YAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED,mDAAoB,GAApB,UAAqB,MAAe;QAClC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAS,GAAT,UAAU,GAAQ;QAChB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACH,2BAAC;AAAD,CAAC,AAzCD,CAA+C,WAAW,GAyCzD","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef, ViewContainerRef } from '@angular/core';\nimport {\n Command,\n DirtyTrackingForm,\n Form,\n MultipleSelectionModel,\n SelectionModel,\n Types,\n UnaryCommand,\n Validator\n} from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { CellEditorComponent, CellListEditorComponent } from './cell-editors';\nimport {\n CellEditorPortalRef,\n CellHeaderPortalRef,\n CellRendererPortalRef,\n ComponentCellRendererPortalRef,\n TemplateCellRendererPortalRef\n} from './cell-protal-ref';\nimport { ColumnTextProperties } from './column-text-properties';\nimport { DefaultCellRendererComponent } from './default-cell-renderer/default-cell-renderer.component';\nimport { DefaultHeaderCellRendererComponent } from './default-header-cell-renderer/default-header-cell-renderer.component';\nimport { EditRowControls } from './edit-row-controls/edit-row-controls.component';\nimport { EditSession } from './edit-session';\nimport { SelectCellRendererComponent } from './select-cell-renderer/select-cell-renderer.component';\nimport { SelectHeaderCellRendererComponent } from './select-header-cell-renderer/select-header-cell-renderer.component';\nimport { TableCellRendererComponent } from './table-cell-renderer/table-cell-renderer.component';\nimport { TableHeaderCellRendererComponent } from './table-header-cell-renderer/table-header-cell-renderer.component';\n\n\nconst noop = () => {\n};\n\nexport interface RowData<Row> {\n row: Row;\n editSession?: EditSession<Row>;\n editRowCommand: Command<void>;\n}\n\n\nexport class ColumnModel<Row> {\n\n private _columnTextProperties: ColumnTextProperties;\n\n private _columnHeaderPortalRef: CellHeaderPortalRef<Row, any>;\n private _cellRendererPortalRef: CellRendererPortalRef<Row, any>;\n private _cellEditorPortalRef: CellEditorPortalRef<Row, any>;\n\n private _selectRowOnClick = undefined;\n\n constructor(readonly columnId: string, private defaults: ColumnModel.Defaults) {\n this.cellHeaderRenderer(DefaultHeaderCellRendererComponent, (component, column) => {\n component.headerText = column.getHeaderText();\n });\n }\n\n @Memoize()\n getHeaderText(): string {\n return this.getColumnTextProperties()?.headerText() || this.getDefaultHeaderText();\n }\n\n protected getDefaultHeaderText() {\n return this.columnId;\n }\n\n @Memoize()\n getColumnTextProperties(): ColumnTextProperties {\n return this._columnTextProperties || this.defaults.getColumnTextProperties(this);\n }\n\n textProperties(columnTextProperties: ColumnTextProperties): this {\n this._columnTextProperties = columnTextProperties;\n return this;\n }\n\n protected configureHeaderRenderer<C>(config: CellHeaderPortalRef<Row, any>): void {\n this._columnHeaderPortalRef = config;\n }\n\n protected configureCellRenderer<C>(config: CellRendererPortalRef<Row, any>): void {\n this._cellRendererPortalRef = config;\n }\n\n protected configureCellEditor<E>(cellEditor: CellEditorPortalRef<Row, E>): void {\n this._cellEditorPortalRef = cellEditor;\n }\n\n cellHeaderRenderer<C>(componentType: ComponentType<C>, initialiser: (component: C, column: ColumnModel<Row>) => void): this {\n this.configureHeaderRenderer(new CellHeaderPortalRef<Row, C>(componentType, initialiser));\n return this;\n }\n\n hasEditorPortal() {\n return !!this._cellEditorPortalRef;\n }\n\n attachHeaderCell(host: any) {\n this._columnHeaderPortalRef.initialiseHost(host, this);\n }\n\n attachCell(host: any) {\n this._cellRendererPortalRef.initialiseHost(host, this);\n if (this.hasEditorPortal()) {\n this._cellEditorPortalRef.initialiseHost(host, this);\n }\n }\n\n onHeaderAttached(host: TableHeaderCellRendererComponent, component: any) {\n this._columnHeaderPortalRef.onPortalAttached(host, component);\n }\n\n onRendererAttached(host: TableCellRendererComponent<Row>, component: any) {\n this._cellRendererPortalRef.onPortalAttached(host, component);\n }\n\n // @Trace()\n onEditorAttached(host: TableCellRendererComponent<Row>, component: any) {\n this._cellEditorPortalRef.onPortalAttached(host, component);\n }\n\n updatePortalContent(host: TableCellRendererComponent<Row>) {\n this._cellRendererPortalRef.pushState(host);\n }\n\n protected selectRowOnClick(selectOnRowClick: boolean): this {\n this._selectRowOnClick = selectOnRowClick;\n return this;\n }\n\n isRowSelectionEnabled(): boolean | undefined {\n return this._selectRowOnClick;\n }\n\n isRowSelectionExplicitlyEnabled(): boolean {\n return this._selectRowOnClick === true;\n }\n\n isRowSelectionExplicitlyDisabled(): boolean {\n return this._selectRowOnClick === false;\n }\n}\n\nexport namespace ColumnModel {\n export interface Defaults {\n getColumnTextProperties(columnModel: ColumnModel<any>): ColumnTextProperties;\n }\n}\n\nexport interface CellEditorOptions<V, C> { //extends CellRendererOptions<E> {\n validators?: Validator<V>[];\n\n initialiseComponent?(component: C);\n}\n\nexport class PropertyColumnModel<Row, P extends Types.ValuePropertiesOf<Row>> extends ColumnModel<Row> {\n\n\n private _format: (value: Row[P]) => any = (value) => value;\n\n constructor(readonly property: P, defaults: ColumnModel.Defaults) {\n super(property.toString(), defaults);\n this.cellRenderer(DefaultCellRendererComponent);\n }\n\n cellRenderer(componentType: ComponentType<{ value: Row[P] }>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {\n component.value = this._format(rowData.row[this.property]);\n }));\n return this;\n }\n\n cellEditor<E extends CellEditorComponent<Row[P]>>(editor: ComponentType<E>, validators?: Validator<Row[P]>[], initialiseComponent?: (component: E) => void): this\n cellEditor<E extends CellEditorComponent<Row[P]>>(editor: ComponentType<E>, initialiseComponent?: (component: E) => void): this\n cellEditor<E extends CellEditorComponent<Row[P]>>(editor: ComponentType<E>, validatorsOrInitialiser?: Validator<Row[P]>[] | ((component: E) => void), initialiseComponent?: (component: E) => void): this {\n const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;\n const initialiser = _.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;\n this.configureCellEditor(new CellEditorPortalRef(editor, (component: E, editSession: EditSession<Row>) => {\n const formValueModel = editSession.form.pluck(this.property);\n if (validators) {\n formValueModel.validateUsing(validators);\n }\n component.valueModel = formValueModel;\n if (initialiser) {\n initialiser(component);\n }\n }));\n return this;\n }\n\n format(formatter: (value: Row[P]) => any): this {\n assert.isFunction(formatter);\n this._format = formatter;\n return this;\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class ListPropertyColumnModel<Row, P extends Types.ArrayPropertiesOf<Row>> extends ColumnModel<Row> {\n\n private _format: (value: Types.ArrayElementType<Row, P>[]) => any = (value) => value.map(v => v?.toString()).join(', ');\n\n constructor(readonly property: P, defaults: ColumnModel.Defaults) {\n super(property.toString(), defaults);\n this.cellRenderer(DefaultCellRendererComponent);\n }\n\n cellRenderer(componentType: ComponentType<{ value: Types.ArrayElementType<Row, P>[] }>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {\n component.value = this._format(rowData.row[this.property]);\n }));\n return this;\n }\n\n cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, validators?: Validator<Types.ArrayElementType<Row, P>[]>[], initialiseComponent?: (component: C) => void): this\n cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, initialiseComponent?: (component: C) => void): this\n cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, validatorsOrInitialiser?: Validator<Types.ArrayElementType<Row, P>[]>[] | ((component: C) => void), initialiseComponent?: (component: C) => void): this {\n const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;\n const initialiser = _.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;\n\n this.configureCellEditor(new CellEditorPortalRef(editor, (component: C, editSession: EditSession<Row>) => {\n const formListModel = editSession.form.pluckList(this.property);\n if (validators) {\n formListModel.validateUsing(validators);\n }\n component.listModel = formListModel;\n if (initialiser) {\n initialiser(component);\n }\n }));\n return this;\n }\n\n format(formatter: (value: Types.ArrayElementType<Row, P>[]) => any): this {\n assert.isFunction(formatter);\n this._format = formatter;\n return this;\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class CustomValueColumnModel<Row, V> extends ColumnModel<Row> {\n constructor(columnId: string, defaults: ColumnModel.Defaults, private getValue: (row: Row) => V) {\n super(columnId, defaults);\n this.cellRenderer(DefaultCellRendererComponent);\n }\n\n cellRenderer(componentType: ComponentType<{ value: V }>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {\n component.value = this.getValue(rowData.row);\n }));\n return this;\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class EditorControlColumnModel<Row> extends ColumnModel<Row> {\n\n constructor(columnId: string, saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>, defaults: ColumnModel.Defaults) {\n super(columnId, defaults);\n this.cellRenderer(EditRowControls);\n }\n\n cellRenderer(componentType: ComponentType<{ row: Row, editSession: EditSession<Row>, editRowCommand: Command<void> }>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData: RowData<Row>) => {\n component.row = rowData.row;\n component.editSession = rowData.editSession;\n component.editRowCommand = rowData.editRowCommand;\n }));\n return this;\n }\n\n protected getDefaultHeaderText(): string {\n return '';\n }\n}\n\nexport class CustomTemplateColumnModel<Row> extends ColumnModel<Row> {\n private readonly config = new TemplateCellRendererPortalRef<Row>();\n\n constructor(columnId: string, defaults: ColumnModel.Defaults) {\n super(columnId, defaults);\n this.configureCellRenderer(this.config);\n }\n\n setTemplate(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean) {\n this.config.registerPortal(templateRef, viewContainer, fillCell, padChild);\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class SelectionColumnModel<Row> extends ColumnModel<Row> {\n\n private _enableHeaderControls = true;\n\n constructor(columnId: string, defaults: ColumnModel.Defaults, private readonly selectionModel: SelectionModel<Row>) {\n super(columnId, defaults);\n this.selectOnRowClick(false);\n if (selectionModel instanceof MultipleSelectionModel) {\n this.cellHeaderRenderer(SelectHeaderCellRendererComponent, (component) => {\n component.selectionModel = selectionModel;\n component.enableHeaderControls = this._enableHeaderControls;\n });\n }\n this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectCellRendererComponent, (component, rowData: RowData<Row>) => {\n component.row = rowData.row;\n component.selectionModel = selectionModel;\n }));\n }\n\n protected getDefaultHeaderText(): string {\n return '';\n }\n\n isRowSelectionEnabledByDefault(): boolean | undefined {\n return this.isRowSelectionExplicitlyEnabled();\n }\n\n selectOnRowClick(selectOnRowClick: boolean): this {\n // note we're using different method name as the selection column treats this\n // state as the default for all columns.\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n enableHeaderControls(enable: boolean): this {\n this._enableHeaderControls = enable;\n return this;\n }\n\n selectRow(row: Row) {\n this.selectionModel.selectCommand.execute(row);\n }\n}\n\n\n"]}
1
+ {"version":3,"file":"column-model.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/column-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef, ViewContainerRef } from '@angular/core';\nimport {\n Command,\n DirtyTrackingForm,\n MultipleSelectionModel,\n SelectionModel,\n Types,\n UnaryCommand,\n Validator\n} from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { Memoize } from '@typescript-plus/fast-memoize-decorator/dist/src';\nimport _ from 'lodash';\nimport { CellEditorComponent, CellListEditorComponent } from './cell-editors';\nimport {\n CellEditorPortalRef,\n CellHeaderPortalRef,\n CellRendererPortalRef,\n ComponentCellRendererPortalRef,\n TemplateCellRendererPortalRef\n} from './cell-portal-ref';\nimport { ColumnTextProperties } from './column-text-properties';\nimport { DefaultCellRendererComponent } from './default-cell-renderer/default-cell-renderer.component';\nimport { DefaultHeaderCellRendererComponent } from './default-header-cell-renderer/default-header-cell-renderer.component';\nimport { EditRowControls } from './edit-row-controls/edit-row-controls.component';\nimport { EditSession } from './edit-session';\nimport { SelectCellRendererComponent } from './select-cell-renderer/select-cell-renderer.component';\nimport { SelectHeaderCellRendererComponent } from './select-header-cell-renderer/select-header-cell-renderer.component';\nimport { TableCellRendererComponent } from './table-cell-renderer/table-cell-renderer.component';\nimport { TableHeaderCellRendererComponent } from './table-header-cell-renderer/table-header-cell-renderer.component';\n\n\nconst noop = () => {\n};\n\nexport interface RowData<Row> {\n row: Row;\n editSession?: EditSession<Row>;\n editRowCommand: Command<void>;\n}\n\n\nexport class ColumnModel<Row> {\n\n private _columnTextProperties: ColumnTextProperties;\n\n private _columnHeaderPortalRef: CellHeaderPortalRef<Row, any>;\n private _cellRendererPortalRef: CellRendererPortalRef<Row, any>;\n private _cellEditorPortalRef: CellEditorPortalRef<Row, any>;\n\n private _selectRowOnClick = undefined;\n\n constructor(readonly columnId: string, private defaults: ColumnModel.Defaults) {\n this.cellHeaderRenderer(DefaultHeaderCellRendererComponent, (component, column) => {\n component.headerText = column.getHeaderText();\n });\n }\n\n @Memoize()\n getHeaderText(): string {\n return this.getColumnTextProperties()?.headerText() || this.getDefaultHeaderText();\n }\n\n protected getDefaultHeaderText() {\n return this.columnId;\n }\n\n @Memoize()\n getColumnTextProperties(): ColumnTextProperties {\n return this._columnTextProperties || this.defaults.getColumnTextProperties(this);\n }\n\n textProperties(columnTextProperties: ColumnTextProperties): this {\n this._columnTextProperties = columnTextProperties;\n return this;\n }\n\n protected configureHeaderRenderer<C>(config: CellHeaderPortalRef<Row, any>): void {\n this._columnHeaderPortalRef = config;\n }\n\n protected configureCellRenderer<C>(config: CellRendererPortalRef<Row, any>): void {\n this._cellRendererPortalRef = config;\n }\n\n protected configureCellEditor<E>(cellEditor: CellEditorPortalRef<Row, E>): void {\n this._cellEditorPortalRef = cellEditor;\n }\n\n cellHeaderRenderer<C>(componentType: ComponentType<C>, initialiser: (component: C, column: ColumnModel<Row>) => void): this {\n this.configureHeaderRenderer(new CellHeaderPortalRef<Row, C>(componentType, initialiser));\n return this;\n }\n\n hasEditorPortal() {\n return !!this._cellEditorPortalRef;\n }\n\n attachHeaderCell(host: any) {\n this._columnHeaderPortalRef.initialiseHost(host, this);\n }\n\n attachCell(host: any) {\n this._cellRendererPortalRef.initialiseHost(host, this);\n if (this.hasEditorPortal()) {\n this._cellEditorPortalRef.initialiseHost(host, this);\n }\n }\n\n onHeaderAttached(host: TableHeaderCellRendererComponent, component: any) {\n this._columnHeaderPortalRef.onPortalAttached(host, component);\n }\n\n onRendererAttached(host: TableCellRendererComponent<Row>, component: any) {\n this._cellRendererPortalRef.onPortalAttached(host, component);\n }\n\n // @Trace()\n onEditorAttached(host: TableCellRendererComponent<Row>, component: any) {\n this._cellEditorPortalRef.onPortalAttached(host, component);\n }\n\n updatePortalContent(host: TableCellRendererComponent<Row>) {\n this._cellRendererPortalRef.pushState(host);\n }\n\n protected selectRowOnClick(selectOnRowClick: boolean): this {\n this._selectRowOnClick = selectOnRowClick;\n return this;\n }\n\n isRowSelectionEnabled(): boolean | undefined {\n return this._selectRowOnClick;\n }\n\n isRowSelectionExplicitlyEnabled(): boolean {\n return this._selectRowOnClick === true;\n }\n\n isRowSelectionExplicitlyDisabled(): boolean {\n return this._selectRowOnClick === false;\n }\n}\n\nexport namespace ColumnModel {\n export interface Defaults {\n getColumnTextProperties(columnModel: ColumnModel<any>): ColumnTextProperties;\n }\n}\n\nexport interface CellEditorOptions<V, C> { //extends CellRendererOptions<E> {\n validators?: Validator<V>[];\n\n initialiseComponent?(component: C);\n}\n\n\nexport type OnComponentInit<C> = (component: C) => void;\n\nexport interface CellRendererOptions<Row, E> {\n onComponentInit?: (component: E) => void;\n onRowUpdate?: (component: E, row: Row) => void;\n}\n\nexport class PropertyColumnModel<Row, P extends Types.ValuePropertiesOf<Row>> extends ColumnModel<Row> {\n\n\n private _format: (value: Row[P]) => any = (value) => value;\n\n constructor(id: string, readonly property: P, defaults: ColumnModel.Defaults) {\n super(id, defaults);\n this.cellRenderer(DefaultCellRendererComponent);\n }\n\n cellRenderer<E extends { value: Row[P] }>(componentType: ComponentType<E>, options?: CellRendererOptions<Row, E>): this\n cellRenderer<E extends { value: Row[P] }>(componentType: ComponentType<E>, onComponentInit?: OnComponentInit<E>): this\n cellRenderer<E extends { value: Row[P] }>(componentType: ComponentType<E>, onComponentInitOrOptions?: CellRendererOptions<Row, E> | OnComponentInit<E>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {\n if (firstTime) {\n if (_.isFunction(onComponentInitOrOptions)) {\n onComponentInitOrOptions(component);\n } else {\n if (_.isFunction(onComponentInitOrOptions?.onComponentInit)) {\n onComponentInitOrOptions.onComponentInit(component);\n }\n }\n }\n component.value = this._format(rowData.row[this.property]);\n\n if (!_.isFunction(onComponentInitOrOptions) && _.isFunction(onComponentInitOrOptions?.onRowUpdate)) {\n onComponentInitOrOptions.onRowUpdate(component, rowData.row);\n }\n\n }));\n return this;\n }\n\n cellEditor<E extends CellEditorComponent<Row[P]>>(editor: ComponentType<E>, validators?: Validator<Row[P]>[], initialiseComponent?: (component: E) => void): this\n cellEditor<E extends CellEditorComponent<Row[P]>>(editor: ComponentType<E>, initialiseComponent?: (component: E) => void): this\n cellEditor<E extends CellEditorComponent<Row[P]>>(editor: ComponentType<E>, validatorsOrInitialiser?: Validator<Row[P]>[] | ((component: E) => void), onComponentInit?: (component: E) => void): this {\n const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;\n const initialiser = _.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : onComponentInit;\n this.configureCellEditor(new CellEditorPortalRef(editor, (component: E, editSession: EditSession<Row>) => {\n const formValueModel = editSession.form.pluck(this.property);\n if (validators) {\n formValueModel.validateUsing(validators);\n }\n component.valueModel = formValueModel;\n if (initialiser) {\n initialiser(component);\n }\n }));\n return this;\n }\n\n format(formatter: (value: Row[P]) => any): this {\n assert.isFunction(formatter);\n this._format = formatter;\n return this;\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class ListPropertyColumnModel<Row, P extends Types.ArrayPropertiesOf<Row>> extends ColumnModel<Row> {\n\n private _format: (value: Types.ArrayElementType<Row, P>[]) => any = (value) => value.map(v => v?.toString()).join(', ');\n\n constructor(id: string, readonly property: P, defaults: ColumnModel.Defaults) {\n super(id, defaults);\n this.cellRenderer(DefaultCellRendererComponent);\n }\n\n cellRenderer(componentType: ComponentType<{ value: Types.ArrayElementType<Row, P>[] }>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {\n component.value = this._format(rowData.row[this.property]);\n }));\n return this;\n }\n\n cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, validators?: Validator<Types.ArrayElementType<Row, P>[]>[], initialiseComponent?: (component: C) => void): this\n cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, initialiseComponent?: (component: C) => void): this\n cellEditor<C extends CellListEditorComponent<Types.ArrayElementType<Row, P>>>(editor: ComponentType<C>, validatorsOrInitialiser?: Validator<Types.ArrayElementType<Row, P>[]>[] | ((component: C) => void), initialiseComponent?: (component: C) => void): this {\n const validators = Array.isArray(validatorsOrInitialiser) ? validatorsOrInitialiser : undefined;\n const initialiser = _.isFunction(validatorsOrInitialiser) ? validatorsOrInitialiser : initialiseComponent;\n\n this.configureCellEditor(new CellEditorPortalRef(editor, (component: C, editSession: EditSession<Row>) => {\n const formListModel = editSession.form.pluckList(this.property);\n if (validators) {\n formListModel.validateUsing(validators);\n }\n component.listModel = formListModel;\n if (initialiser) {\n initialiser(component);\n }\n }));\n return this;\n }\n\n format(formatter: (value: Types.ArrayElementType<Row, P>[]) => any): this {\n assert.isFunction(formatter);\n this._format = formatter;\n return this;\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class CustomValueColumnModel<Row, V> extends ColumnModel<Row> {\n constructor(columnId: string, defaults: ColumnModel.Defaults, private getValue: (row: Row) => V) {\n super(columnId, defaults);\n this.cellRenderer(DefaultCellRendererComponent);\n }\n\n cellRenderer<C extends { value: V }>(componentType: ComponentType<C>, onComponentInit?: OnComponentInit<C>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {\n if (firstTime && _.isFunction(onComponentInit)) {\n onComponentInit(component);\n }\n component.value = this.getValue(rowData.row);\n }));\n return this;\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class EditorControlColumnModel<Row> extends ColumnModel<Row> {\n\n constructor(columnId: string, saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>, defaults: ColumnModel.Defaults) {\n super(columnId, defaults);\n this.cellRenderer(EditRowControls);\n }\n\n cellRenderer(componentType: ComponentType<{ row: Row, editSession: EditSession<Row>, editRowCommand: Command<void> }>): this {\n this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData: RowData<Row>) => {\n component.row = rowData.row;\n component.editSession = rowData.editSession;\n component.editRowCommand = rowData.editRowCommand;\n }));\n return this;\n }\n\n protected getDefaultHeaderText(): string {\n return '';\n }\n}\n\nexport class CustomTemplateColumnModel<Row> extends ColumnModel<Row> {\n private readonly config = new TemplateCellRendererPortalRef<Row>();\n\n constructor(columnId: string, defaults: ColumnModel.Defaults) {\n super(columnId, defaults);\n this.configureCellRenderer(this.config);\n }\n\n setTemplate(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean) {\n this.config.registerPortal(templateRef, viewContainer, fillCell, padChild);\n }\n\n public selectRowOnClick(selectOnRowClick: boolean): this {\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n}\n\nexport class SelectionColumnModel<Row> extends ColumnModel<Row> {\n\n private _enableHeaderControls = true;\n\n constructor(columnId: string, defaults: ColumnModel.Defaults, private readonly selectionModel: SelectionModel<Row>) {\n super(columnId, defaults);\n this.selectOnRowClick(false);\n if (selectionModel instanceof MultipleSelectionModel) {\n this.cellHeaderRenderer(SelectHeaderCellRendererComponent, (component) => {\n component.selectionModel = selectionModel;\n component.enableHeaderControls = this._enableHeaderControls;\n });\n }\n this.configureCellRenderer(new ComponentCellRendererPortalRef(SelectCellRendererComponent, (component, rowData: RowData<Row>) => {\n component.row = rowData.row;\n component.selectionModel = selectionModel;\n }));\n }\n\n protected getDefaultHeaderText(): string {\n return '';\n }\n\n isRowSelectionEnabledByDefault(): boolean | undefined {\n return this.isRowSelectionExplicitlyEnabled();\n }\n\n selectOnRowClick(selectOnRowClick: boolean): this {\n // note we're using different method name as the selection column treats this\n // state as the default for all columns.\n return super.selectRowOnClick(selectOnRowClick);\n }\n\n enableHeaderControls(enable: boolean): this {\n this._enableHeaderControls = enable;\n return this;\n }\n\n selectRow(row: Row) {\n this.selectionModel.selectCommand.execute(row);\n }\n}\n\n\n"]}
@@ -5,7 +5,7 @@ import { DisposableComponent } from '../../disposable-component';
5
5
  import { ColumnModel } from '../column-model';
6
6
  import { EditSession } from '../edit-session';
7
7
  import { TableModel } from '../table-model';
8
- import { CELL_RENDERER_PORTAL, CELL_EDITOR_PORTAL } from '../cell-protal-ref';
8
+ import { CELL_RENDERER_PORTAL, CELL_EDITOR_PORTAL } from '../cell-portal-ref';
9
9
  var TableCellRendererComponent = /** @class */ (function (_super) {
10
10
  __extends(TableCellRendererComponent, _super);
11
11
  function TableCellRendererComponent() {
@@ -1 +1 @@
1
- {"version":3,"file":"table-cell-renderer.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table-cell-renderer/table-cell-renderer.component.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAoC,MAAM,eAAe,CAAC;AAChG,OAAO,EAA0B,OAAO,EAAE,GAAG,EAAmB,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAW,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAO9E;IAAqD,8CAAmB;IA8BtE;QAAA,YACE,iBAAO,SAIR;QAfD,uBAAiB,GAAG,mBAAmB,CAAC;QAGxC,cAAQ,GAAG,KAAK,CAAC;QAGjB,cAAQ,GAAG,KAAK,CAAC;QAMf,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,KAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;;IACL,CAAC;IAED,6CAAQ,GAAR;QACQ,IAAA,0BAAkF,EAAhF,gBAAK,EAAE,oBAAO,EAAE,kBAAM,EAAE,cAAI,EAAE,gBAAK,EAAE,oBAAO,EAAE,sBAAkC,CAAC;QACzF,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,0CAA0C;QACrI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,oDAAe,GAAf;QACE,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC/D,CAAC;IAED,uDAAkB,GAAlB,UAAmB,QAAa;QAC9B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,qDAAgB,GAAhB,UAAiB,QAAiE;QAAlF,iBAMC;QALC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;YAClC,0DAA0D;YAC1D,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAhC,CAAgC,CAAC,CAAC;SACpD;IACH,CAAC;IAEO,sDAAiB,GAAzB,UAA0B,MAA+D;;QACvF,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,MAAM,CAAC,YAAY,EAAE,CAAC;SACvB;aAAM;YACL,IAAM,KAAK,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAoB,CAAC;YAC/E,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,0CAAE,YAAY,GAAG;SACrC;IACH,CAAC;IAED,WAAW;IACX,gDAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,sDAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED,oDAAe,GAAf;QACE,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;IAED,+CAAU,GAAV;QACE,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IApFD;QADC,KAAK,EAAE;;2DACC;IAGT;QADC,KAAK,EAAE;kCACA,WAAW;8DAAM;IAGzB;QADC,KAAK,EAAE;kCACK,WAAW;mEAAM;IAG9B;QADC,KAAK,EAAE;kCACI,UAAU;kEAAM;IAQ5B;QADC,WAAW,CAAC,OAAO,CAAC;;yEACmB;IAGxC;QADC,WAAW,CAAC,gBAAgB,CAAC;;gEACb;IAGjB;QADC,WAAW,CAAC,gBAAgB,CAAC;;gEACb;IA1BN,0BAA0B;QALtC,SAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,yTAAmD;;SAEpD,CAAC;;OACW,0BAA0B,CAwFtC;IAAD,iCAAC;CAAA,AAxFD,CAAqD,mBAAmB,GAwFvE;SAxFY,0BAA0B","sourcesContent":["import { Portal } from '@angular/cdk/portal';\nimport { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { BooleanValueModelChain, Command, Dsl, HasFocusContext } from '@coolon/pectin';\nimport { DisposableComponent } from '../../disposable-component';\nimport { CellEditorComponent, CellListEditorComponent } from '../cell-editors';\nimport { ColumnModel, RowData } from '../column-model';\nimport { EditSession } from '../edit-session';\nimport { TableModel } from '../table-model';\nimport { CELL_RENDERER_PORTAL, CELL_EDITOR_PORTAL } from '../cell-protal-ref';\n\n@Component({\n selector: 'aup-table-cell-renderer',\n templateUrl: './table-cell-renderer.component.html',\n styleUrls: ['./table-cell-renderer.component.scss']\n})\nexport class TableCellRendererComponent<Row> extends DisposableComponent implements OnInit, OnChanges {\n\n @Input()\n row: Row;\n\n @Input()\n column: ColumnModel<Row>;\n\n @Input()\n editSession: EditSession<Row>;\n\n @Input()\n tableModel: TableModel<Row>;\n\n private editRowCommand: Command<void>;\n\n [CELL_RENDERER_PORTAL]: Portal<any>;\n [CELL_EDITOR_PORTAL]: Portal<any>;\n\n @HostBinding('class')\n defaultClassNames = 'aup-cell-renderer';\n\n @HostBinding('class.fillCell')\n fillCell = false;\n\n @HostBinding('class.padChild')\n padChild = false;\n\n private firstEditableColumn: BooleanValueModelChain;\n\n constructor() {\n super();\n this.editRowCommand = Command.create(() => {\n this.tableModel.startEditSession(this.row);\n });\n }\n\n ngOnInit(): void {\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.firstEditableColumn = chain(this.tableModel.firstEditableColumn).equals(this.column); // this would break if the column changed.\n this.column.attachCell(this);\n }\n\n hasActiveEditor(): boolean {\n return !!this.editSession && !!this.column.hasEditorPortal();\n }\n\n initialiseRenderer(instance: any) {\n this.column.onRendererAttached(this, instance);\n }\n\n initialiseEditor(instance: CellEditorComponent<Row> | CellListEditorComponent<Row>) {\n this.column.onEditorAttached(this, instance);\n if (this.firstEditableColumn.value) {\n // @see https://github.com/angular/components/issues/12070\n setTimeout(() => this.tryAndFocusEditor(instance));\n }\n }\n\n private tryAndFocusEditor(editor: CellEditorComponent<Row> | CellListEditorComponent<Row>) {\n if (editor.requestFocus) {\n editor.requestFocus();\n } else {\n const model = (editor['valueModel'] || editor['listModel']) as HasFocusContext;\n model?.focusContext?.requestFocus();\n }\n }\n\n // @Trace()\n ngOnChanges(changes: SimpleChanges): void {\n this.column.updatePortalContent(this);\n }\n\n getRendererPortal() {\n return this[CELL_RENDERER_PORTAL];\n }\n\n getEditorPortal() {\n return this[CELL_EDITOR_PORTAL];\n }\n\n getRowData(): RowData<Row> {\n return {\n row: this.row,\n editSession: this.editSession,\n editRowCommand: this.editRowCommand\n };\n }\n}\n"]}
1
+ {"version":3,"file":"table-cell-renderer.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table-cell-renderer/table-cell-renderer.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Portal } from '@angular/cdk/portal';\nimport { Component, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { BooleanValueModelChain, Command, Dsl, HasFocusContext, Trace } from '@coolon/pectin';\nimport { DisposableComponent } from '../../disposable-component';\nimport { CellEditorComponent, CellListEditorComponent } from '../cell-editors';\nimport { ColumnModel, RowData } from '../column-model';\nimport { EditSession } from '../edit-session';\nimport { TableModel } from '../table-model';\nimport { CELL_RENDERER_PORTAL, CELL_EDITOR_PORTAL } from '../cell-portal-ref';\n\n@Component({\n selector: 'aup-table-cell-renderer',\n templateUrl: './table-cell-renderer.component.html',\n styleUrls: ['./table-cell-renderer.component.scss']\n})\nexport class TableCellRendererComponent<Row> extends DisposableComponent implements OnInit, OnChanges {\n\n @Input()\n row: Row;\n\n @Input()\n column: ColumnModel<Row>;\n\n @Input()\n editSession: EditSession<Row>;\n\n @Input()\n tableModel: TableModel<Row>;\n\n private editRowCommand: Command<void>;\n\n [CELL_RENDERER_PORTAL]: Portal<any>;\n [CELL_EDITOR_PORTAL]: Portal<any>;\n\n @HostBinding('class')\n defaultClassNames = 'aup-cell-renderer';\n\n @HostBinding('class.fillCell')\n fillCell = false;\n\n @HostBinding('class.padChild')\n padChild = false;\n\n private firstEditableColumn: BooleanValueModelChain;\n\n constructor() {\n super();\n this.editRowCommand = Command.create(() => {\n this.tableModel.startEditSession(this.row);\n });\n }\n\n ngOnInit(): void {\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.firstEditableColumn = chain(this.tableModel.firstEditableColumn).equals(this.column); // this would break if the column changed.\n this.column.attachCell(this);\n }\n\n hasActiveEditor(): boolean {\n return !!this.editSession && !!this.column.hasEditorPortal();\n }\n\n initialiseRenderer(instance: any) {\n this.column.onRendererAttached(this, instance);\n }\n\n initialiseEditor(instance: CellEditorComponent<Row> | CellListEditorComponent<Row>) {\n this.column.onEditorAttached(this, instance);\n if (this.firstEditableColumn.value) {\n // @see https://github.com/angular/components/issues/12070\n setTimeout(() => this.tryAndFocusEditor(instance));\n }\n }\n\n private tryAndFocusEditor(editor: CellEditorComponent<Row> | CellListEditorComponent<Row>) {\n if (editor.requestFocus) {\n editor.requestFocus();\n } else {\n const model = (editor['valueModel'] || editor['listModel']) as HasFocusContext;\n model?.focusContext?.requestFocus();\n }\n }\n\n // @Trace()\n ngOnChanges(changes: SimpleChanges): void {\n this.column.updatePortalContent(this);\n }\n\n getRendererPortal() {\n return this[CELL_RENDERER_PORTAL];\n }\n\n getEditorPortal() {\n return this[CELL_EDITOR_PORTAL];\n }\n\n getRowData(): RowData<Row> {\n return {\n row: this.row,\n editSession: this.editSession,\n editRowCommand: this.editRowCommand\n };\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, HostBinding, Input } from '@angular/core';
3
3
  import { ColumnModel } from '../column-model';
4
- import { HEADER_CELL_RENDERER_PORTAL } from '../cell-protal-ref';
4
+ import { HEADER_CELL_RENDERER_PORTAL } from '../cell-portal-ref';
5
5
  var TableHeaderCellRendererComponent = /** @class */ (function () {
6
6
  function TableHeaderCellRendererComponent() {
7
7
  this.defaultClassNames = 'aup-header-cell-renderer';
@@ -1 +1 @@
1
- {"version":3,"file":"table-header-cell-renderer.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAOjE;IAUE;QAJA,sBAAiB,GAAG,0BAA0B,CAAC;IAK/C,CAAC;IAED,mDAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,WAAW;IACX,2DAAgB,GAAhB,UAAiB,QAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,oDAAS,GAAT;QACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IArBD;QADC,KAAK,EAAE;kCACA,WAAW;oEAAM;IAGzB;QADC,WAAW,CAAC,OAAO,CAAC;;+EAC0B;IANpC,gCAAgC;QAL5C,SAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;YAC1C,8HAA0D;;SAE3D,CAAC;;OACW,gCAAgC,CAyB5C;IAAD,uCAAC;CAAA,AAzBD,IAyBC;SAzBY,gCAAgC","sourcesContent":["import { Portal } from '@angular/cdk/portal';\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { ColumnModel } from '../column-model';\nimport { HEADER_CELL_RENDERER_PORTAL } from '../cell-protal-ref';\n\n@Component({\n selector: 'aup-table-header-cell-renderer',\n templateUrl: './table-header-cell-renderer.component.html',\n styleUrls: ['./table-header-cell-renderer.component.scss']\n})\nexport class TableHeaderCellRendererComponent implements OnInit {\n\n @Input()\n column: ColumnModel<any>;\n\n @HostBinding('class')\n defaultClassNames = 'aup-header-cell-renderer';\n\n [HEADER_CELL_RENDERER_PORTAL]: Portal<any>;\n\n constructor() {\n }\n\n ngOnInit() {\n this.column.attachHeaderCell(this);\n }\n\n // @Trace()\n initialiseHeader(instance: any) {\n this.column.onHeaderAttached(this, instance);\n }\n\n getPortal() {\n return this[HEADER_CELL_RENDERER_PORTAL];\n }\n}\n"]}
1
+ {"version":3,"file":"table-header-cell-renderer.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table-header-cell-renderer/table-header-cell-renderer.component.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAOjE;IAUE;QAJA,sBAAiB,GAAG,0BAA0B,CAAC;IAK/C,CAAC;IAED,mDAAQ,GAAR;QACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,WAAW;IACX,2DAAgB,GAAhB,UAAiB,QAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,oDAAS,GAAT;QACE,OAAO,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IArBD;QADC,KAAK,EAAE;kCACA,WAAW;oEAAM;IAGzB;QADC,WAAW,CAAC,OAAO,CAAC;;+EAC0B;IANpC,gCAAgC;QAL5C,SAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;YAC1C,8HAA0D;;SAE3D,CAAC;;OACW,gCAAgC,CAyB5C;IAAD,uCAAC;CAAA,AAzBD,IAyBC;SAzBY,gCAAgC","sourcesContent":["import { Portal } from '@angular/cdk/portal';\nimport { Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { ColumnModel } from '../column-model';\nimport { HEADER_CELL_RENDERER_PORTAL } from '../cell-portal-ref';\n\n@Component({\n selector: 'aup-table-header-cell-renderer',\n templateUrl: './table-header-cell-renderer.component.html',\n styleUrls: ['./table-header-cell-renderer.component.scss']\n})\nexport class TableHeaderCellRendererComponent implements OnInit {\n\n @Input()\n column: ColumnModel<any>;\n\n @HostBinding('class')\n defaultClassNames = 'aup-header-cell-renderer';\n\n [HEADER_CELL_RENDERER_PORTAL]: Portal<any>;\n\n constructor() {\n }\n\n ngOnInit() {\n this.column.attachHeaderCell(this);\n }\n\n // @Trace()\n initialiseHeader(instance: any) {\n this.column.onHeaderAttached(this, instance);\n }\n\n getPortal() {\n return this[HEADER_CELL_RENDERER_PORTAL];\n }\n}\n"]}
@@ -101,7 +101,7 @@ var TableModel = /** @class */ (function () {
101
101
  this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);
102
102
  this.firstEditableColumn = chain(this.columns).select(function (c) { return c.hasEditorPortal(); }).first();
103
103
  this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(function (column) { return column.isRowSelectionExplicitlyEnabled(); }).isGreaterThanOrEqualTo(0);
104
- this.addRowClass("enable-hover", function () { return _this.isRowSelectionEnabled(); });
104
+ this.addRowClass('enable-hover', function () { return _this.isRowSelectionEnabled(); });
105
105
  }
106
106
  TableModel_1 = TableModel;
107
107
  TableModel.fromList = function (sourceOfTruth, builder) {
@@ -129,11 +129,11 @@ var TableModel = /** @class */ (function () {
129
129
  enumerable: true,
130
130
  configurable: true
131
131
  });
132
- TableModel.prototype.pluck = function (property) {
133
- return this.addColumn(new PropertyColumnModel(property, this));
132
+ TableModel.prototype.pluck = function (property, options) {
133
+ return this.addColumn(new PropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
134
134
  };
135
- TableModel.prototype.pluckList = function (property) {
136
- return this.addColumn(new ListPropertyColumnModel(property, this));
135
+ TableModel.prototype.pluckList = function (property, options) {
136
+ return this.addColumn(new ListPropertyColumnModel((options === null || options === void 0 ? void 0 : options.columnId) || property.toString(), property, this));
137
137
  };
138
138
  TableModel.prototype.addSelectionColumn = function (selectionModel) {
139
139
  assert.isNil(this.selectionColumnModel);
@@ -147,6 +147,9 @@ var TableModel = /** @class */ (function () {
147
147
  TableModel.prototype.addCustomColumn = function (columnId, dataAccessor) {
148
148
  return this.addColumn(new CustomValueColumnModel(columnId, this, dataAccessor));
149
149
  };
150
+ TableModel.prototype.addComponentColumn = function (columnId, component, onInit) {
151
+ return this.addColumn(new CustomValueColumnModel(columnId, this, function (row) { return row; })).cellRenderer(component, onInit);
152
+ };
150
153
  TableModel.prototype.addTemplateColumn = function (columnId) {
151
154
  return this.addColumn(new CustomTemplateColumnModel(columnId, this));
152
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"table-model.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assert,\n BooleanValueModelChain,\n CanIdentify, DirtyTrackingForm,\n Dsl,\n GarbageCollector,\n lang,\n ListModel,\n ListModelChain,\n MapModelChain,\n MutableListModel,\n SelectionModel,\n TrackExternal,\n Types,\n UnaryCommand,\n ValueModelChain\n} from '@coolon/pectin';\nimport {\n ColumnModel,\n CustomTemplateColumnModel,\n CustomValueColumnModel,\n EditorControlColumnModel,\n ListPropertyColumnModel,\n PropertyColumnModel,\n SelectionColumnModel\n} from './column-model';\nimport { ColumnTextProperties } from './column-text-properties';\nimport { EditSession } from './edit-session';\n\n// export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];\n// export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];\n\nclass RowClass<Row> {\n constructor(readonly className: string,\n readonly matches: (row: Row) => boolean) {\n }\n}\n\n/**\n * Example:\n * @example\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * });\n *\n * Editable tables\n * @example\n * const saveCommand = UnaryCommand.create((form: Form<Hero>) => {\n * if (form.validate()) {\n * // normal form save stuff\n * return true; // finish editing\n * }\n * return false; // continue editiing\n * }\n * const colorsNames: ListModel<string> = ...;\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\").cellEditor(StringInputComponent); <-- interface CellEditor { valueModel: DirtyTrackingForm.ValueModel<string> | ValueModel<string>; }\n * table.pluck(\"lastName\").cellEditor(StringInputComponent, {\n * validators: [Validator.present(\"We need a last name\")]\n * });\n * table.pluck(\"age\").cellEditor(NumberInputComponent);\n * table.pluck(\"favoriteColor\").cellEditor(SelectInputComponent, {\n * initialiseComponent(component: SelectInputComponent) {\n * selectInput.optionsModel = colorsNames; // <- initialise our component\n * }\n * });\n * table.addEditControls(saveCommand); // <- required to enable editing\n * });\n *\n * Selection models\n * @example\n * const model = TableModel.fromList(heroList, table => {\n * table.addSelectionColumn(selectionModel); // <- can be single or multiple selection model\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * });\n *\n * Custom cell renderers and editors\n * @example\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"favoriteColor\")\n * .cellHeaderRenderer(CellHeaderRendererComponent, (component, column) => {\n * // configure your component with what ever you need.\n * });\n * .cellRenderer(CellRendererComponent) // <-- interface CellEditor { value: string; }\n * .cellEditor(CellEditorComponent.); // <-- interface CellEditor { valueModel: DirtyTrackingForm.ValueModel<string> | ValueModel<string>; }\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * });\n *\n * I18n\n * @example\n * [table.yml]\n * table:\n * columns(ColumnTextProperties[]):\n * firstName:\n * headerText: \"First Name\"\n * fullName:\n * headerText: \"Full Name\"\n *\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"favoriteColor\").cellRenderer(...).cellEditor(...);\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n *\n * table.columnTextProperties(I18n.table.columns); // <- configures all columns\n * });\n */\n@TrackExternal.Strategy(new TrackExternal.OneTimeBinding())\nexport class TableModel<Row> {\n\n private readonly _garbage = new GarbageCollector();\n\n private readonly _columns = new MutableListModel<ColumnModel<Row>>();\n private _columnsById: MapModelChain<string, ColumnModel<Row>>;\n private _editorSessions = new MutableListModel<EditSession<Row>>();\n private readonly _rowsBeingEdited: MutableListModel<Row>;\n private readonly rowClassNamePredicates : RowClass<Row>[] = [];\n\n private _columnTextPropertiesLookup: { [columnName: string]: () => ColumnTextProperties };\n\n readonly identityOf: CanIdentify<Row>['identityOf'];\n private saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>;\n private _editorSessionByRowId: MapModelChain<any, EditSession<Row>>;\n\n readonly editing: BooleanValueModelChain;\n readonly dataSource: ListModelChain<Row>;\n readonly firstEditableColumn: ValueModelChain<ColumnModel<Row>>;\n private selectionColumnModel: SelectionColumnModel<Row>;\n private hasColumnsWithRowSelectionExplicitlyEnabled: BooleanValueModelChain;\n\n static fromList<Row>(sourceOfTruth: ListModel<Row>, builder?: (tableModel: TableModel<Row>) => void): TableModel<Row> {\n const model = new TableModel<Row>(sourceOfTruth);\n builder(model);\n return model;\n }\n\n private _createForm: (row: Row) => DirtyTrackingForm<Row> = (row) => new DirtyTrackingForm<Row>();\n\n protected constructor(private sourceOfTruth: ListModel<Row>) {\n this.identityOf = sourceOfTruth.identityOf;\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this._garbage);\n this._columnsById = chain(this._columns).indexBy('columnId');\n this._rowsBeingEdited = new MutableListModel<Row>([], {\n identifiedWith: this.identityOf\n });\n this._editorSessionByRowId = chain(this._editorSessions).indexBy('rowId');\n this.editing = chain(this._editorSessions).count().isGreaterThan(0);\n this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);\n this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();\n this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(column => column.isRowSelectionExplicitlyEnabled()).isGreaterThanOrEqualTo(0);\n this.addRowClass(\"enable-hover\", () => this.isRowSelectionEnabled());\n }\n\n get rowsBeingEdited(): ListModel<Row> {\n return this._rowsBeingEdited.readonly;\n }\n\n getTrackByFunction() {\n return (index: number, item: Row) => {\n return this.identityOf ? this.identityOf(item) : index;\n };\n }\n\n get columns(): ListModel<ColumnModel<Row>> {\n return this._columns.readonly;\n }\n\n pluck<P extends Types.ValuePropertiesOf<Row>>(property: P): PropertyColumnModel<Row, P> {\n return this.addColumn(new PropertyColumnModel<Row, P>(property, this));\n }\n\n pluckList<P extends Types.ArrayPropertiesOf<Row>>(property: P): ListPropertyColumnModel<Row, P> {\n return this.addColumn(new ListPropertyColumnModel<Row, P>(property, this));\n }\n\n addSelectionColumn(selectionModel: SelectionModel<Row>): SelectionColumnModel<Row> {\n assert.isNil(this.selectionColumnModel);\n this.selectionColumnModel = new SelectionColumnModel<Row>('selection', this, selectionModel);\n return this.addColumn(this.selectionColumnModel);\n }\n\n addEditControls(saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>): EditorControlColumnModel<Row> {\n this.saveCommand = saveCommand;\n return this.addColumn(new EditorControlColumnModel<Row>('editControls', saveCommand, this));\n }\n\n addCustomColumn<V>(columnId: string, dataAccessor: (row: Row) => V): CustomValueColumnModel<Row, V> {\n return this.addColumn(new CustomValueColumnModel<Row, V>(columnId, this, dataAccessor));\n }\n\n addTemplateColumn<V>(columnId: string): CustomTemplateColumnModel<Row> {\n return this.addColumn(new CustomTemplateColumnModel<Row>(columnId, this));\n }\n\n addRowClass(className: string, predicate: (row: Row) => boolean) {\n this.rowClassNamePredicates.push(new RowClass<Row>(className, predicate));\n }\n\n getRowClasses(row: Row):string[] {\n const classNames:string[] = [];\n this.rowClassNamePredicates.forEach(i => {\n if (i.matches(row)) {\n classNames.push(i.className)\n }\n });\n return classNames;\n }\n\n useFormFactory(factory: (row: Row) => DirtyTrackingForm<Row>): this {\n this._createForm = factory;\n return this;\n }\n\n protected addColumn<C extends ColumnModel<Row>>(column: C): C {\n if (this._columnsById.get(column.columnId)) {\n lang.illegalState(`Column with id=${column.columnId} already exists`);\n } else {\n this._columns.push(column);\n }\n return column;\n }\n\n columnTextProperties(columnTextProperties: { [columnName: string]: () => ColumnTextProperties }) {\n this._columnTextPropertiesLookup = columnTextProperties;\n }\n\n getColumnTextProperties(column: ColumnModel<Row>): ColumnTextProperties {\n const factory = this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[column.columnId] : undefined;\n return factory ? factory() : undefined;\n }\n\n startEditSession(row: Row): EditSession<Row> {\n const rowId = this.identityOf(row);\n if (this._rowsBeingEdited.query().indexOf(row) > -1) {\n return lang.illegalState(`Row with id=${rowId} already being edited`);\n } else {\n const editSession = new EditSession<Row>(rowId, row, this._createForm(row), this.saveCommand);\n const { when } = Dsl.disposeWith(editSession);\n when.valueOf(editSession.liveRowValue).changes((editedValue) => {\n this._rowsBeingEdited.replaceOrPush(editedValue);\n }, { initialValue: 'triggerChangeUnlessNil' });\n\n this._editorSessions.push(editSession);\n editSession.onDispose(() => {\n this._rowsBeingEdited.remove(editSession.liveRowValue.value);\n this._editorSessions.remove(editSession);\n });\n return editSession;\n }\n }\n\n getEditSessionFor(row: Row): EditSession<Row> {\n return this._editorSessionByRowId.get(this.identityOf(row));\n }\n\n cancelAllEditorSessions() {\n this._editorSessions.runInTransaction((draft) => {\n this._rowsBeingEdited.runInTransaction(() => {\n draft.value.forEach(session => session.dispose());\n });\n });\n }\n\n isRowSelectionEnabledFor(column: ColumnModel<Row>): boolean | undefined {\n return this.selectionColumnModel && (column.isRowSelectionEnabled() ?? this.isRowSelectionEnabledByDefault());\n }\n\n isRowSelectionEnabledByDefault(): boolean {\n return this.selectionColumnModel && this.selectionColumnModel.isRowSelectionEnabledByDefault();\n }\n\n isRowSelectionEnabled() {\n return this.hasColumnsWithRowSelectionExplicitlyEnabled.value || this.isRowSelectionEnabledByDefault();\n }\n\n selectRow(row: Row) {\n this.selectionColumnModel?.selectRow(row);\n }\n}\n\n"]}
1
+ {"version":3,"file":"table-model.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table-model.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComponentType } from '@angular/cdk/overlay';\nimport {\n assert,\n BooleanValueModelChain,\n CanIdentify,\n DirtyTrackingForm,\n Dsl,\n GarbageCollector,\n lang,\n ListModel,\n ListModelChain,\n MapModelChain,\n MutableListModel,\n SelectionModel,\n TrackExternal,\n Types,\n UnaryCommand,\n ValueModelChain\n} from '@coolon/pectin';\nimport {\n ColumnModel,\n CustomTemplateColumnModel,\n CustomValueColumnModel,\n EditorControlColumnModel,\n ListPropertyColumnModel,\n PropertyColumnModel,\n SelectionColumnModel\n} from './column-model';\nimport { ColumnTextProperties } from './column-text-properties';\nimport { EditSession } from './edit-session';\n\n// export type StringPropertiesOf<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];\n// export type NumberPropertiesOf<T> = { [K in keyof T]: T[K] extends number ? K : never }[keyof T];\n\nclass RowClass<Row> {\n constructor(readonly className: string,\n readonly matches: (row: Row) => boolean) {\n }\n}\n\n/**\n * Example:\n * @example\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * });\n *\n * Editable tables\n * @example\n * const saveCommand = UnaryCommand.create((form: Form<Hero>) => {\n * if (form.validate()) {\n * // normal form save stuff\n * return true; // finish editing\n * }\n * return false; // continue editiing\n * }\n * const colorsNames: ListModel<string> = ...;\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\").cellEditor(StringInputComponent); <-- interface CellEditor { valueModel: DirtyTrackingForm.ValueModel<string> | ValueModel<string>; }\n * table.pluck(\"lastName\").cellEditor(StringInputComponent, {\n * validators: [Validator.present(\"We need a last name\")]\n * });\n * table.pluck(\"age\").cellEditor(NumberInputComponent);\n * table.pluck(\"favoriteColor\").cellEditor(SelectInputComponent, {\n * initialiseComponent(component: SelectInputComponent) {\n * selectInput.optionsModel = colorsNames; // <- initialise our component\n * }\n * });\n * table.addEditControls(saveCommand); // <- required to enable editing\n * });\n *\n * Selection models\n * @example\n * const model = TableModel.fromList(heroList, table => {\n * table.addSelectionColumn(selectionModel); // <- can be single or multiple selection model\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * });\n *\n * Custom cell renderers and editors\n * @example\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"favoriteColor\")\n * .cellHeaderRenderer(CellHeaderRendererComponent, (component, column) => {\n * // configure your component with what ever you need.\n * });\n * .cellRenderer(CellRendererComponent) // <-- interface CellEditor { value: string; }\n * .cellEditor(CellEditorComponent.); // <-- interface CellEditor { valueModel: DirtyTrackingForm.ValueModel<string> | ValueModel<string>; }\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * });\n *\n * I18n\n * @example\n * [table.yml]\n * table:\n * columns(ColumnTextProperties[]):\n * firstName:\n * headerText: \"First Name\"\n * fullName:\n * headerText: \"Full Name\"\n *\n * const model = TableModel.fromList(heroList, table => {\n * table.pluck(\"favoriteColor\").cellRenderer(...).cellEditor(...);\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n *\n * table.columnTextProperties(I18n.table.columns); // <- configures all columns\n * });\n */\n@TrackExternal.Strategy(new TrackExternal.OneTimeBinding())\nexport class TableModel<Row> {\n\n private readonly _garbage = new GarbageCollector();\n\n private readonly _columns = new MutableListModel<ColumnModel<Row>>();\n private _columnsById: MapModelChain<string, ColumnModel<Row>>;\n private _editorSessions = new MutableListModel<EditSession<Row>>();\n private readonly _rowsBeingEdited: MutableListModel<Row>;\n private readonly rowClassNamePredicates: RowClass<Row>[] = [];\n\n private _columnTextPropertiesLookup: { [columnName: string]: () => ColumnTextProperties };\n\n readonly identityOf: CanIdentify<Row>['identityOf'];\n private saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>;\n private _editorSessionByRowId: MapModelChain<any, EditSession<Row>>;\n\n readonly editing: BooleanValueModelChain;\n readonly dataSource: ListModelChain<Row>;\n readonly firstEditableColumn: ValueModelChain<ColumnModel<Row>>;\n private selectionColumnModel: SelectionColumnModel<Row>;\n private hasColumnsWithRowSelectionExplicitlyEnabled: BooleanValueModelChain;\n\n static fromList<Row>(sourceOfTruth: ListModel<Row>, builder?: (tableModel: TableModel<Row>) => void): TableModel<Row> {\n const model = new TableModel<Row>(sourceOfTruth);\n builder(model);\n return model;\n }\n\n private _createForm: (row: Row) => DirtyTrackingForm<Row> = (row) => new DirtyTrackingForm<Row>();\n\n protected constructor(private sourceOfTruth: ListModel<Row>) {\n this.identityOf = sourceOfTruth.identityOf;\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this._garbage);\n this._columnsById = chain(this._columns).indexBy('columnId');\n this._rowsBeingEdited = new MutableListModel<Row>([], {\n identifiedWith: this.identityOf\n });\n this._editorSessionByRowId = chain(this._editorSessions).indexBy('rowId');\n this.editing = chain(this._editorSessions).count().isGreaterThan(0);\n this.dataSource = chain(this.sourceOfTruth).replaceAll(this.rowsBeingEdited);\n this.firstEditableColumn = chain(this.columns).select(c => c.hasEditorPortal()).first();\n this.hasColumnsWithRowSelectionExplicitlyEnabled = chain(this._columns).findIndex(column => column.isRowSelectionExplicitlyEnabled()).isGreaterThanOrEqualTo(0);\n this.addRowClass('enable-hover', () => this.isRowSelectionEnabled());\n }\n\n get rowsBeingEdited(): ListModel<Row> {\n return this._rowsBeingEdited.readonly;\n }\n\n getTrackByFunction() {\n return (index: number, item: Row) => {\n return this.identityOf ? this.identityOf(item) : index;\n };\n }\n\n get columns(): ListModel<ColumnModel<Row>> {\n return this._columns.readonly;\n }\n\n pluck<P extends Types.ValuePropertiesOf<Row>>(property: P, options?: { columnId: string }): PropertyColumnModel<Row, P> {\n return this.addColumn(new PropertyColumnModel<Row, P>(options?.columnId || property.toString(), property, this));\n }\n\n pluckList<P extends Types.ArrayPropertiesOf<Row>>(property: P, options?: { columnId: string }): ListPropertyColumnModel<Row, P> {\n return this.addColumn(new ListPropertyColumnModel<Row, P>(options?.columnId || property.toString(), property, this));\n }\n\n addSelectionColumn(selectionModel: SelectionModel<Row>): SelectionColumnModel<Row> {\n assert.isNil(this.selectionColumnModel);\n this.selectionColumnModel = new SelectionColumnModel<Row>('selection', this, selectionModel);\n return this.addColumn(this.selectionColumnModel);\n }\n\n addEditControls(saveCommand: UnaryCommand<DirtyTrackingForm<Row>, boolean>): EditorControlColumnModel<Row> {\n this.saveCommand = saveCommand;\n return this.addColumn(new EditorControlColumnModel<Row>('editControls', saveCommand, this));\n }\n\n addCustomColumn<V>(columnId: string, dataAccessor: (row: Row) => V): CustomValueColumnModel<Row, V> {\n return this.addColumn(new CustomValueColumnModel<Row, V>(columnId, this, dataAccessor));\n }\n\n addComponentColumn<C extends {value: Row}>(columnId: string, component: ComponentType<C>, onInit?:(c:C) => void): CustomValueColumnModel<Row, Row> {\n return this.addColumn(new CustomValueColumnModel<Row, Row>(columnId, this, row => row)).cellRenderer(component, onInit);\n }\n\n addTemplateColumn<V>(columnId: string): CustomTemplateColumnModel<Row> {\n return this.addColumn(new CustomTemplateColumnModel<Row>(columnId, this));\n }\n\n addRowClass(className: string, predicate: (row: Row) => boolean) {\n this.rowClassNamePredicates.push(new RowClass<Row>(className, predicate));\n }\n\n getRowClasses(row: Row): string[] {\n const classNames: string[] = [];\n this.rowClassNamePredicates.forEach(i => {\n if (i.matches(row)) {\n classNames.push(i.className);\n }\n });\n return classNames;\n }\n\n useFormFactory(factory: (row: Row) => DirtyTrackingForm<Row>): this {\n this._createForm = factory;\n return this;\n }\n\n protected addColumn<C extends ColumnModel<Row>>(column: C): C {\n if (this._columnsById.get(column.columnId)) {\n lang.illegalState(`Column with id=${column.columnId} already exists`);\n } else {\n this._columns.push(column);\n }\n return column;\n }\n\n columnTextProperties(columnTextProperties: { [columnName: string]: () => ColumnTextProperties }) {\n this._columnTextPropertiesLookup = columnTextProperties;\n }\n\n getColumnTextProperties(column: ColumnModel<Row>): ColumnTextProperties {\n const factory = this._columnTextPropertiesLookup ? this._columnTextPropertiesLookup[column.columnId] : undefined;\n return factory ? factory() : undefined;\n }\n\n startEditSession(row: Row): EditSession<Row> {\n const rowId = this.identityOf(row);\n if (this._rowsBeingEdited.query().indexOf(row) > -1) {\n return lang.illegalState(`Row with id=${rowId} already being edited`);\n } else {\n const editSession = new EditSession<Row>(rowId, row, this._createForm(row), this.saveCommand);\n const { when } = Dsl.disposeWith(editSession);\n when.valueOf(editSession.liveRowValue).changes((editedValue) => {\n this._rowsBeingEdited.replaceOrPush(editedValue);\n }, { initialValue: 'triggerChangeUnlessNil' });\n\n this._editorSessions.push(editSession);\n editSession.onDispose(() => {\n this._rowsBeingEdited.remove(editSession.liveRowValue.value);\n this._editorSessions.remove(editSession);\n });\n return editSession;\n }\n }\n\n getEditSessionFor(row: Row): EditSession<Row> {\n return this._editorSessionByRowId.get(this.identityOf(row));\n }\n\n cancelAllEditorSessions() {\n this._editorSessions.runInTransaction((draft) => {\n this._rowsBeingEdited.runInTransaction(() => {\n draft.value.forEach(session => session.dispose());\n });\n });\n }\n\n isRowSelectionEnabledFor(column: ColumnModel<Row>): boolean | undefined {\n return this.selectionColumnModel && (column.isRowSelectionEnabled() ?? this.isRowSelectionEnabledByDefault());\n }\n\n isRowSelectionEnabledByDefault(): boolean {\n return this.selectionColumnModel && this.selectionColumnModel.isRowSelectionEnabledByDefault();\n }\n\n isRowSelectionEnabled() {\n return this.hasColumnsWithRowSelectionExplicitlyEnabled.value || this.isRowSelectionEnabledByDefault();\n }\n\n selectRow(row: Row) {\n this.selectionColumnModel?.selectRow(row);\n }\n}\n\n"]}
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __extends, __metadata } from "tslib";
2
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { Component, Input } from '@angular/core';
3
3
  import { Dsl, TrackExternal } from '@coolon/pectin';
4
4
  import { DisposableComponent } from '../disposable-component';
5
5
  import { CustomTemplateColumnModel } from './column-model';
@@ -65,7 +65,6 @@ var TableComponent = /** @class */ (function (_super) {
65
65
  Component({
66
66
  selector: 'aup-table',
67
67
  template: "<table mat-table [dataSource]=\"tableModel.dataSource.value\" [trackBy]=\"tableModel.getTrackByFunction()\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\" matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef>\n <aup-table-header-cell-renderer [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-header-cell-renderer>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"onCellClicked(column, row)\" [class.enable-cursor]=\"tableModel.isRowSelectionEnabledFor(column)\">\n <aup-table-cell-renderer [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class.first-column]=\"first\"\n [class.last-column]=\"last\"\n ></aup-table-cell-renderer>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value;\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n ></tr>\n\n</table>\n",
68
- encapsulation: ViewEncapsulation.None,
69
68
  styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{flex:1}"]
70
69
  }),
71
70
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":"table.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAyC,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,GAAG,EAAiC,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAe,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH;IAAyC,kCAAmB;IAU1D;eACE,iBAAO;IACT,CAAC;IAED,iCAAQ,GAAR;QACQ,IAAA,0BAAkF,EAAhF,gBAAK,EAAE,oBAAO,EAAE,kBAAM,EAAE,cAAI,EAAE,gBAAK,EAAE,oBAAO,EAAE,sBAAkC,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,kCAAS,GAAT,UAAU,GAAQ;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,+CAAsB,GAAtB,UAAuB,QAAgB,EAAE,WAA6B,EAAE,aAA+B,EAAE,QAAiB,EAAE,QAAiB;QAC3I,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,YAAY,yBAAyB,EAAE;YAC/C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACpE;IACH,CAAC;IAED,sCAAa,GAAb,UAAc,WAA6B,EAAE,GAAQ;QACnD,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE;YACzD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAChC;IACH,CAAC;IAhCD;QAFC,KAAK,EAAE;QACP,aAAa,EAAE;kCACJ,UAAU;sDAAM;IAJjB,cAAc;QAN1B,SAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,slDAAqC;YAErC,aAAa,EAAE,iBAAiB,CAAC,IAAI;;SACtC,CAAC;;OACW,cAAc,CAsC1B;IAAD,qBAAC;CAAA,AAtCD,CAAyC,mBAAmB,GAsC3D;SAtCY,cAAc","sourcesContent":["import { Component, Input, OnInit, TemplateRef, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { Dsl, ListModelChain, MapModelChain, TrackExternal } from '@coolon/pectin';\nimport { DisposableComponent } from '../disposable-component';\nimport { ColumnModel, CustomTemplateColumnModel } from './column-model';\nimport { TableModel } from './table-model';\n\n/**\n * Create your model:\n * @example\n * this.heroTableModel = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * });\n *\n * Create your table\n * @example\n * <aup-table [tableModel]=\"heroTableModel\"></aup-table>\n *\n * Styling\n * @example\n * aup-table {\n * --column-gap: 10px; // defaults to 24px\n * aup-table-cell-renderer {\n * &:first-column {\n * // do stuff\n * }\n * &:last-column {\n * // do stuff\n * }\n * }\n * }\n */\n@Component({\n selector: 'aup-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class TableComponent<Row> extends DisposableComponent implements OnInit {\n\n @Input()\n @TrackExternal()\n tableModel: TableModel<Row>;\n\n columns: ListModelChain<ColumnModel<Row>>;\n columnIds: ListModelChain<string>;\n private columnsById: MapModelChain<string, ColumnModel<Row>>;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.columns = chain(this.tableModel.columns);\n this.columnIds = chain(this.columns).pluck('columnId');\n this.columnsById = chain(this.columns).indexBy('columnId');\n }\n\n isEditing(row: Row): boolean {\n return !!this.tableModel.getEditSessionFor(row);\n }\n\n registerColumnTemplate(columnId: string, templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean) {\n const column = this.columnsById.get(columnId);\n if (column instanceof CustomTemplateColumnModel) {\n column.setTemplate(templateRef, viewContainer, fillCell, padChild);\n }\n }\n\n onCellClicked(columnModel: ColumnModel<Row>, row: Row) {\n if (this.tableModel.isRowSelectionEnabledFor(columnModel)) {\n this.tableModel.selectRow(row);\n }\n }\n\n}\n"]}
1
+ {"version":3,"file":"table.component.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAA4D,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,GAAG,EAAiC,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAe,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH;IAAyC,kCAAmB;IAU1D;eACE,iBAAO;IACT,CAAC;IAED,iCAAQ,GAAR;QACQ,IAAA,0BAAkF,EAAhF,gBAAK,EAAE,oBAAO,EAAE,kBAAM,EAAE,cAAI,EAAE,gBAAK,EAAE,oBAAO,EAAE,sBAAkC,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,kCAAS,GAAT,UAAU,GAAQ;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,+CAAsB,GAAtB,UAAuB,QAAgB,EAAE,WAA6B,EAAE,aAA+B,EAAE,QAAiB,EAAE,QAAiB;QAC3I,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,YAAY,yBAAyB,EAAE;YAC/C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACpE;IACH,CAAC;IAED,sCAAa,GAAb,UAAc,WAA6B,EAAE,GAAQ;QACnD,IAAI,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE;YACzD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAChC;IACH,CAAC;IAhCD;QAFC,KAAK,EAAE;QACP,aAAa,EAAE;kCACJ,UAAU;sDAAM;IAJjB,cAAc;QAL1B,SAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,slDAAqC;;SAEtC,CAAC;;OACW,cAAc,CAsC1B;IAAD,qBAAC;CAAA,AAtCD,CAAyC,mBAAmB,GAsC3D;SAtCY,cAAc","sourcesContent":["import { Component, Input, OnInit, TemplateRef, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { Dsl, ListModelChain, MapModelChain, TrackExternal } from '@coolon/pectin';\nimport { DisposableComponent } from '../disposable-component';\nimport { ColumnModel, CustomTemplateColumnModel } from './column-model';\nimport { TableModel } from './table-model';\n\n/**\n * Create your model:\n * @example\n * this.heroTableModel = TableModel.fromList(heroList, table => {\n * table.pluck(\"firstName\");\n * table.pluck(\"lastName\");\n * table.addCustomColumn(\"fullName\", hero => `${hero.firstName} ${hero.lastName}`);\n * });\n *\n * Create your table\n * @example\n * <aup-table [tableModel]=\"heroTableModel\"></aup-table>\n *\n * Styling\n * @example\n * aup-table {\n * --column-gap: 10px; // defaults to 24px\n * aup-table-cell-renderer {\n * &:first-column {\n * // do stuff\n * }\n * &:last-column {\n * // do stuff\n * }\n * }\n * }\n */\n@Component({\n selector: 'aup-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss']\n})\nexport class TableComponent<Row> extends DisposableComponent implements OnInit {\n\n @Input()\n @TrackExternal()\n tableModel: TableModel<Row>;\n\n columns: ListModelChain<ColumnModel<Row>>;\n columnIds: ListModelChain<string>;\n private columnsById: MapModelChain<string, ColumnModel<Row>>;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);\n this.columns = chain(this.tableModel.columns);\n this.columnIds = chain(this.columns).pluck('columnId');\n this.columnsById = chain(this.columns).indexBy('columnId');\n }\n\n isEditing(row: Row): boolean {\n return !!this.tableModel.getEditSessionFor(row);\n }\n\n registerColumnTemplate(columnId: string, templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, fillCell: boolean, padChild: boolean) {\n const column = this.columnsById.get(columnId);\n if (column instanceof CustomTemplateColumnModel) {\n column.setTemplate(templateRef, viewContainer, fillCell, padChild);\n }\n }\n\n onCellClicked(columnModel: ColumnModel<Row>, row: Row) {\n if (this.tableModel.isRowSelectionEnabledFor(columnModel)) {\n this.tableModel.selectRow(row);\n }\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.component.scss.shim.ngstyle.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/components/table/table.component.scss.shim.ngstyle.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.module.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/interaction/interaction.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './interaction.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i4 from '@angular/material/button';\nimport * as i5 from '@angular/material/dialog';\nimport * as i6 from '@angular/material/tabs';\nimport * as i7 from '@angular/cdk/portal';\nimport * as i8 from '@angular/router';\nimport * as i9 from '@angular/material/icon';\nimport * as i10 from '../directives/command.directive';\nimport * as i11 from '../directives/focus-binding.directive';\nimport * as i12 from '@angular/flex-layout/flex';\nimport * as i13 from '@angular/flex-layout/grid';\nimport * as i14 from '../components/forms/number-input/number-input.component';\nimport * as i15 from '../components/forms/string-input/string-input.component';\nimport * as i16 from '../components/forms/text-input/text-input.component';\nimport * as i17 from '../components/forms/password-input/password-input.component';\nimport * as i18 from '../components/forms/checkbox-input/checkbox-input.component';\nimport * as i19 from '../components/forms/select-input/select-input.component';\nimport * as i20 from '../components/scroll-container/scroll-container.component';\nimport * as i21 from '../components/noop/noop.component';\nimport * as i22 from '../components/switch-case/switch-case.component';\nimport * as i23 from '../components/focus-container/focus-container.component';\nimport * as i24 from '../components/vertical-focus-container/vertical-focus-container.component';\nimport * as i25 from '../components/focusable.component';\nimport * as i26 from '../components/card-container/card-container.component';\nimport * as i27 from '../components/table/table.component';\nimport * as i28 from '../components/table/edit-row-controls/edit-row-controls.component';\nimport * as i29 from '../components/table/column-template/column-template.directive';\nimport * as i30 from '../components/forms/multiple-select-input/multiple-select-input.component';\nimport * as i31 from '../components/icon/icon.component';\nimport * as i32 from '../components/section-header/section-header.component';\nimport * as i33 from './components/activity-container/activity-container.component';\nimport * as i34 from './components/confirmation-dialog/confirmation-dialog.component';\nimport * as i35 from './components/confirm-then-dialog/confirm-then-dialog.component';\nimport * as i36 from './components/alert-dialog/alert-dialog.component';\nimport * as i37 from './components/activity-container/activity-outlet/activity-outlet.component';\nimport * as i38 from './components/inplace-interaction-context/in-place-interaction-context.component';\nimport * as i39 from './components/add-item-interaction-context/add-item-interaction-context.component';\nimport * as i40 from './components/activity-actions/activity-actions.component';\nimport * as i41 from './components/popup-interaction-context/popup-interaction-context.component';\nimport * as i42 from './components/input-activities/string-input-activity';\nimport * as i43 from './components/input-activities/select-input-activity';\nimport * as i44 from './components/input-activities/abstract-input-activity';\nimport * as i45 from './directives/interaction-context-trigger-for.directive';\nimport * as i46 from '../directives/directives.module';\nimport * as i47 from '../components/components.module';\nexport const InteractionModuleNgFactory:i0.NgModuleFactory<i1.InteractionModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any,any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf<any> = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.Dir = (<any>(null as any));\nvar _decl0_12:i4.MatButton = (<any>(null as any));\nvar _decl0_13:i4.MatAnchor = (<any>(null as any));\nvar _decl0_14:i5.MatDialogContainer = (<any>(null as any));\nvar _decl0_15:i5.MatDialogClose = (<any>(null as any));\nvar _decl0_16:i5.MatDialogTitle = (<any>(null as any));\nvar _decl0_17:i5.MatDialogContent = (<any>(null as any));\nvar _decl0_18:i5.MatDialogActions = (<any>(null as any));\nvar _decl0_19:i6.MatTabGroup = (<any>(null as any));\nvar _decl0_20:i6.MatTabLabel = (<any>(null as any));\nvar _decl0_21:i6.MatTab = (<any>(null as any));\nvar _decl0_22:i6.MatTabNav = (<any>(null as any));\nvar _decl0_23:i6.MatTabLink = (<any>(null as any));\nvar _decl0_24:i6.MatTabContent = (<any>(null as any));\nvar _decl0_25:i7.CdkPortal = (<any>(null as any));\nvar _decl0_26:i7.CdkPortalOutlet = (<any>(null as any));\nvar _decl0_27:i7.TemplatePortalDirective = (<any>(null as any));\nvar _decl0_28:i7.PortalHostDirective = (<any>(null as any));\nvar _decl0_29:i8.RouterOutlet = (<any>(null as any));\nvar _decl0_30:i8.RouterLink = (<any>(null as any));\nvar _decl0_31:i8.RouterLinkWithHref = (<any>(null as any));\nvar _decl0_32:i8.RouterLinkActive = (<any>(null as any));\nvar _decl0_33:i8.ɵangular_packages_router_router_l = (<any>(null as any));\nvar _decl0_34:i9.MatIcon = (<any>(null as any));\nvar _decl0_35:i10.CommandDirective<any> = (<any>(null as any));\nvar _decl0_36:i11.FocusBindingDirective = (<any>(null as any));\nvar _decl0_37:i12.DefaultLayoutDirective = (<any>(null as any));\nvar _decl0_38:i12.DefaultLayoutGapDirective = (<any>(null as any));\nvar _decl0_39:i12.DefaultLayoutAlignDirective = (<any>(null as any));\nvar _decl0_40:i12.DefaultFlexOrderDirective = (<any>(null as any));\nvar _decl0_41:i12.DefaultFlexOffsetDirective = (<any>(null as any));\nvar _decl0_42:i12.FlexFillDirective = (<any>(null as any));\nvar _decl0_43:i12.DefaultFlexAlignDirective = (<any>(null as any));\nvar _decl0_44:i12.DefaultFlexDirective = (<any>(null as any));\nvar _decl0_45:i13.ɵgrid_privatec = (<any>(null as any));\nvar _decl0_46:i13.ɵgrid_privatef = (<any>(null as any));\nvar _decl0_47:i13.ɵgrid_privatei = (<any>(null as any));\nvar _decl0_48:i13.ɵgrid_privatel = (<any>(null as any));\nvar _decl0_49:i13.ɵgrid_privateo = (<any>(null as any));\nvar _decl0_50:i13.ɵgrid_privater = (<any>(null as any));\nvar _decl0_51:i13.ɵgrid_privateu = (<any>(null as any));\nvar _decl0_52:i13.ɵgrid_privatex = (<any>(null as any));\nvar _decl0_53:i13.ɵgrid_privateba = (<any>(null as any));\nvar _decl0_54:i13.ɵgrid_privatebd = (<any>(null as any));\nvar _decl0_55:i13.ɵgrid_privatebg = (<any>(null as any));\nvar _decl0_56:i14.NumberInputComponent = (<any>(null as any));\nvar _decl0_57:i15.StringInputComponent = (<any>(null as any));\nvar _decl0_58:i16.TextInputComponent = (<any>(null as any));\nvar _decl0_59:i17.PasswordInputComponent = (<any>(null as any));\nvar _decl0_60:i18.CheckboxInputComponent = (<any>(null as any));\nvar _decl0_61:i19.SelectInputComponent<any> = (<any>(null as any));\nvar _decl0_62:i20.ScrollContainerComponent = (<any>(null as any));\nvar _decl0_63:i21.NoopComponent = (<any>(null as any));\nvar _decl0_64:i22.SwitchCaseComponent<any> = (<any>(null as any));\nvar _decl0_65:i22.SwitchCaseWhenDirective<any> = (<any>(null as any));\nvar _decl0_66:i22.SwitchCaseDefaultDirective<any> = (<any>(null as any));\nvar _decl0_67:i23.FocusContainerComponent = (<any>(null as any));\nvar _decl0_68:i24.VerticalFocusContainerComponent = (<any>(null as any));\nvar _decl0_69:i25.FocusableComponent = (<any>(null as any));\nvar _decl0_70:i26.CardContainerComponent = (<any>(null as any));\nvar _decl0_71:i27.TableComponent<any> = (<any>(null as any));\nvar _decl0_72:i28.EditRowControls<any> = (<any>(null as any));\nvar _decl0_73:i29.ColumnTemplateDirective = (<any>(null as any));\nvar _decl0_74:i30.MultipleSelectInputComponent<any> = (<any>(null as any));\nvar _decl0_75:i31.IconComponent = (<any>(null as any));\nvar _decl0_76:i32.SectionHeaderComponent = (<any>(null as any));\nvar _decl0_77:i33.ActivityContainerComponent<any,any,any> = (<any>(null as any));\nvar _decl0_78:i34.ConfirmationDialogComponent = (<any>(null as any));\nvar _decl0_79:i35.ConfirmThenDialogComponent<any,any,any> = (<any>(null as any));\nvar _decl0_80:i36.AlertDialogComponent = (<any>(null as any));\nvar _decl0_81:i37.ActivityOutletComponent<any,any,any> = (<any>(null as any));\nvar _decl0_82:i38.InPlaceInteractionContextComponent<any,any,any> = (<any>(null as any));\nvar _decl0_83:i39.AddItemInteractionContextComponent = (<any>(null as any));\nvar _decl0_84:i40.ActivityActionsComponent = (<any>(null as any));\nvar _decl0_85:i41.PopupInteractionContextComponent = (<any>(null as any));\nvar _decl0_86:i42.StringInputActivity = (<any>(null as any));\nvar _decl0_87:i43.SelectInputActivity<any> = (<any>(null as any));\nvar _decl0_88:i44.AbstractInputActivity<any,any> = (<any>(null as any));\nvar _decl0_89:i45.InteractionContextTriggerFor<any,any,any> = (<any>(null as any));\nvar _decl0_90:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_91:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_92:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_93:i2.JsonPipe = (<any>(null as any));\nvar _decl0_94:i2.SlicePipe = (<any>(null as any));\nvar _decl0_95:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_96:i2.PercentPipe = (<any>(null as any));\nvar _decl0_97:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_98:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_99:i2.DatePipe = (<any>(null as any));\nvar _decl0_100:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_101:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_102:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_103:i2.CommonModule = (<any>(null as any));\nvar _decl0_104:i4.MatButtonModule = (<any>(null as any));\nvar _decl0_105:i5.MatDialogModule = (<any>(null as any));\nvar _decl0_106:i6.MatTabsModule = (<any>(null as any));\nvar _decl0_107:i7.PortalModule = (<any>(null as any));\nvar _decl0_108:i8.RouterModule = (<any>(null as any));\nvar _decl0_109:i9.MatIconModule = (<any>(null as any));\nvar _decl0_110:i46.DirectivesModule = (<any>(null as any));\nvar _decl0_111:i12.FlexModule = (<any>(null as any));\nvar _decl0_112:i13.GridModule = (<any>(null as any));\nvar _decl0_113:i47.ComponentsModule = (<any>(null as any));\nvar _decl0_114:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_115:i0.ElementRef<any> = (<any>(null as any));\nfunction _View_ActivityContainerComponent_Host_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_ActivityContainerComponent_1_1():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_77;\n currVal_0;\n const currVal_1:any = _any;\n currVal_1;\n}\nfunction _View_ActivityContainerComponent_1_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_77.dynamicHeight;\n currVal_0;\n const currVal_1:any = _decl0_19.dynamicHeight;\n currVal_1;\n const currVal_2:any = (_decl0_19.headerPosition === 'below');\n currVal_2;\n const currVal_3:any = !_decl0_77.dynamicHeight;\n currVal_3;\n const currVal_4:any = _decl0_77.activityTabs;\n currVal_4;\n const currVal_5:any = _decl0_77.activityIndex;\n currVal_5;\n}\nfunction _View_ConfirmationDialogComponent_Host_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_78.class;\n currVal_0;\n}\nfunction _View_ConfirmationDialogComponent_2_1():void {\n if (_decl0_78.confirm.title) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_16.id;\n currVal_0;\n const currVal_1:any = _decl0_78.confirm.title();\n currVal_1;\n }\n}\nfunction _View_ConfirmationDialogComponent_2_2():void {\n var _any:any = (null as any);\n const currVal_0:any = _any;\n currVal_0;\n}\nfunction _View_ConfirmationDialogComponent_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_78.confirm.title;\n currVal_0;\n const currVal_1:any = _decl0_78.confirm.content();\n currVal_1;\n const currVal_2:any = (_decl0_12.disabled || null);\n currVal_2;\n const currVal_3:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_3;\n const currVal_4:any = _decl0_78.confirm.cancel();\n currVal_4;\n const currVal_5:any = (_decl0_78.isDestructive()? 'warn': 'primary');\n currVal_5;\n const currVal_6:any = (_decl0_12.disabled || null);\n currVal_6;\n const currVal_7:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_7;\n const currVal_8:any = _decl0_78.confirm.ok();\n currVal_8;\n const pd_9:any = ((<any>_decl0_78.cancel()) !== false);\n const pd_10:any = ((<any>_decl0_78.done()) !== false);\n}\nfunction _View_ConfirmThenDialogComponent_Host_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_79.class;\n currVal_0;\n}\nfunction _View_ConfirmThenDialogComponent_3_1():void {\n if (_decl0_79.confirm.title) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_16.id;\n currVal_0;\n const currVal_1:any = _decl0_79.confirm.title();\n currVal_1;\n }\n}\nfunction _View_ConfirmThenDialogComponent_3_2():void {\n var _any:any = (null as any);\n const currVal_0:any = _any;\n currVal_0;\n}\nfunction _View_ConfirmThenDialogComponent_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_79.confirm.title;\n currVal_0;\n const currVal_1:any = _decl0_79.confirm.content();\n currVal_1;\n const currVal_2:any = (_decl0_12.disabled || null);\n currVal_2;\n const currVal_3:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_3;\n const currVal_4:any = _decl0_79.confirm.cancel();\n currVal_4;\n const currVal_5:any = (_decl0_79.isDestructive()? 'warn': 'primary');\n currVal_5;\n const currVal_6:any = (_decl0_12.disabled || null);\n currVal_6;\n const currVal_7:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_7;\n const currVal_8:any = _decl0_79.confirm.ok();\n currVal_8;\n const pd_9:any = ((<any>_decl0_79.cancel()) !== false);\n const pd_10:any = ((<any>_decl0_79.onConfirm()) !== false);\n}\nfunction _View_AlertDialogComponent_Host_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_80.class;\n currVal_0;\n}\nfunction _View_AlertDialogComponent_4_1():void {\n if (_decl0_80.alert.title) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_16.id;\n currVal_0;\n const currVal_1:any = _decl0_80.alert.title();\n currVal_1;\n }\n}\nfunction _View_AlertDialogComponent_4_2():void {\n var _any:any = (null as any);\n const currVal_0:any = _any;\n currVal_0;\n}\nfunction _View_AlertDialogComponent_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_80.alert.title;\n currVal_0;\n const currVal_1:any = _decl0_80.alert.content();\n currVal_1;\n const currVal_2:any = 'primary';\n currVal_2;\n const currVal_3:any = (_decl0_12.disabled || null);\n currVal_3;\n const currVal_4:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_4;\n const currVal_5:any = _decl0_80.alert.ok();\n currVal_5;\n const pd_6:any = ((<any>_decl0_80.done()) !== false);\n}\nfunction _View_ActivityOutletComponent_Host_5_0():void {\n var _any:any = (null as any);\n}\nfunction _View_ActivityOutletComponent_5_0():void {\n var _any:any = (null as any);\n}\nfunction _View_InPlaceInteractionContextComponent_Host_6_0():void {\n var _any:any = (null as any);\n}\nfunction _View_InPlaceInteractionContextComponent_6_0():void {\n var _any:any = (null as any);\n const currVal_0:any = false;\n currVal_0;\n const currVal_1:any = (_decl0_82.isActive()? 1: 0);\n currVal_1;\n const currVal_2:any = _decl0_82.animationDuration;\n currVal_2;\n const currVal_3:any = _decl0_19.dynamicHeight;\n currVal_3;\n const currVal_4:any = (_decl0_19.headerPosition === 'below');\n currVal_4;\n const currVal_5:any = false;\n currVal_5;\n}\nfunction _View_AddItemInteractionContextComponent_Host_7_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_83.active;\n currVal_0;\n const currVal_1:any = _decl0_83.tabindex;\n currVal_1;\n}\nfunction _View_AddItemInteractionContextComponent_7_0():void {\n var _any:any = (null as any);\n const currVal_0:any = false;\n currVal_0;\n const currVal_1:any = _decl0_83.clickCommand;\n currVal_1;\n const currVal_2:any = _decl0_83.icon;\n currVal_2;\n const currVal_3:any = _decl0_83.label;\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n}\nfunction _View_ActivityActionsComponent_Host_8_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_84.alignEnd;\n currVal_0;\n const currVal_1:any = _decl0_84.alignStretch;\n currVal_1;\n}\nfunction _View_ActivityActionsComponent_8_2():void {\n if ((_decl0_84.hasCancelCommand() && !_decl0_84.hasCancelText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_84.cancelCommand;\n currVal_2;\n const currVal_3:any = 'mat:clear';\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_3():void {\n if ((_decl0_84.hasCancelCommand() && _decl0_84.hasCancelText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_84.cancelCommand;\n currVal_2;\n const currVal_3:any = _decl0_84.cancelText;\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_1():void {\n if (_decl0_84.hasCancelCommand()) {\n var _any:any = (null as any);\n const currVal_0:any = !_decl0_84.hasCancelText();\n currVal_0;\n const currVal_1:any = _decl0_84.hasCancelText();\n currVal_1;\n }\n}\nfunction _View_ActivityActionsComponent_8_5():void {\n if ((_decl0_84.hasConfirmCommand() && !_decl0_84.hasConfirmText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_84.confirmCommand;\n currVal_2;\n const currVal_3:any = 'mat:done';\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_6():void {\n if ((_decl0_84.hasConfirmCommand() && _decl0_84.hasConfirmText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_84.confirmCommand;\n currVal_2;\n const currVal_3:any = _decl0_84.confirmText;\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_4():void {\n if (_decl0_84.hasConfirmCommand()) {\n var _any:any = (null as any);\n const currVal_0:any = !_decl0_84.hasConfirmText();\n currVal_0;\n const currVal_1:any = _decl0_84.hasConfirmText();\n currVal_1;\n }\n}\nfunction _View_ActivityActionsComponent_8_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_84.hasCancelCommand();\n currVal_0;\n const currVal_1:any = _decl0_84.hasConfirmCommand();\n currVal_1;\n}\nfunction _View_PopupInteractionContextComponent_Host_9_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_85.active;\n currVal_0;\n}\nfunction _View_PopupInteractionContextComponent_9_0():void {\n var _any:any = (null as any);\n}\nfunction _View_StringInputActivity_Host_10_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_86.class;\n currVal_0;\n}\nfunction _View_StringInputActivity_10_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_86.data.label;\n currVal_0;\n const currVal_1:any = _decl0_86.data.placeholder;\n currVal_1;\n const currVal_2:any = _decl0_86.confirmCommand;\n currVal_2;\n const currVal_3:any = _decl0_86.cancelCommand;\n currVal_3;\n const currVal_4:any = _decl0_86.valueModel;\n currVal_4;\n const currVal_5:any = _decl0_57.baseClassName;\n currVal_5;\n const currVal_6:any = _decl0_86.confirmCommand;\n currVal_6;\n const currVal_7:any = _decl0_86.cancelCommand;\n currVal_7;\n const currVal_8:any = 'end';\n currVal_8;\n const currVal_9:any = _decl0_84.alignEnd;\n currVal_9;\n const currVal_10:any = _decl0_84.alignStretch;\n currVal_10;\n const pd_11:any = ((<any>_decl0_57.notifyClick()) !== false);\n const pd_12:any = ((<any>_decl0_57.notifyFocusIn()) !== false);\n const pd_13:any = ((<any>_decl0_57.notifyFocusOut()) !== false);\n}\nfunction _View_SelectInputActivity_Host_11_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_87.class;\n currVal_0;\n}\nfunction _View_SelectInputActivity_11_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_87.data.label;\n currVal_0;\n const currVal_1:any = _decl0_87.data.placeholder;\n currVal_1;\n const currVal_2:any = _decl0_87.confirmCommand;\n currVal_2;\n const currVal_3:any = _decl0_87.cancelCommand;\n currVal_3;\n const currVal_4:any = _decl0_87.valueModel;\n currVal_4;\n const currVal_5:any = _decl0_87.options;\n currVal_5;\n const currVal_6:any = _decl0_87.optionLabelFormat;\n currVal_6;\n const currVal_7:any = _decl0_61.baseClassName;\n currVal_7;\n const currVal_8:any = _decl0_87.confirmCommand;\n currVal_8;\n const currVal_9:any = _decl0_87.cancelCommand;\n currVal_9;\n const currVal_10:any = 'end';\n currVal_10;\n const currVal_11:any = _decl0_84.alignEnd;\n currVal_11;\n const currVal_12:any = _decl0_84.alignStretch;\n currVal_12;\n const pd_13:any = ((<any>_decl0_61.notifyClick()) !== false);\n const pd_14:any = ((<any>_decl0_61.notifyFocusIn()) !== false);\n const pd_15:any = ((<any>_decl0_61.notifyFocusOut()) !== false);\n}\nfunction _View_AbstractInputActivity_Host_12_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_88.class;\n currVal_0;\n}\nfunction _View_AbstractInputActivity_12_0():void {\n var _any:any = (null as any);\n}\n"]}
1
+ {"version":3,"file":"interaction.module.ngfactory.js","sourceRoot":"ng://@coolon/angular-ui-powerups/","sources":["lib/interaction/interaction.module.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\nimport * as i1 from './interaction.module';\nimport * as i2 from '@angular/common';\nimport * as i3 from '@angular/cdk/bidi';\nimport * as i4 from '@angular/material/button';\nimport * as i5 from '@angular/material/dialog';\nimport * as i6 from '@angular/material/tabs';\nimport * as i7 from '@angular/cdk/portal';\nimport * as i8 from '@angular/router';\nimport * as i9 from '@angular/material/icon';\nimport * as i10 from '../directives/command.directive';\nimport * as i11 from '../directives/focus-binding.directive';\nimport * as i12 from '@angular/flex-layout/flex';\nimport * as i13 from '@angular/flex-layout/grid';\nimport * as i14 from '../components/forms/number-input/number-input.component';\nimport * as i15 from '../components/forms/string-input/string-input.component';\nimport * as i16 from '../components/forms/text-input/text-input.component';\nimport * as i17 from '../components/forms/password-input/password-input.component';\nimport * as i18 from '../components/forms/checkbox-input/checkbox-input.component';\nimport * as i19 from '../components/forms/select-input/select-input.component';\nimport * as i20 from '../components/forms/multiple-select-input/multiple-select-input.component';\nimport * as i21 from '../components/forms/autocomplete-input/autocomplete-input.component';\nimport * as i22 from '../components/scroll-container/scroll-container.component';\nimport * as i23 from '../components/noop/noop.component';\nimport * as i24 from '../components/switch-case/switch-case.component';\nimport * as i25 from '../components/focus-container/focus-container.component';\nimport * as i26 from '../components/vertical-focus-container/vertical-focus-container.component';\nimport * as i27 from '../components/focusable.component';\nimport * as i28 from '../components/card-container/card-container.component';\nimport * as i29 from '../components/table/table.component';\nimport * as i30 from '../components/table/edit-row-controls/edit-row-controls.component';\nimport * as i31 from '../components/table/column-template/column-template.directive';\nimport * as i32 from '../components/icon/icon.component';\nimport * as i33 from '../components/section-header/section-header.component';\nimport * as i34 from './components/activity-container/activity-container.component';\nimport * as i35 from './components/confirmation-dialog/confirmation-dialog.component';\nimport * as i36 from './components/confirm-then-dialog/confirm-then-dialog.component';\nimport * as i37 from './components/alert-dialog/alert-dialog.component';\nimport * as i38 from './components/activity-container/activity-outlet/activity-outlet.component';\nimport * as i39 from './components/inplace-interaction-context/in-place-interaction-context.component';\nimport * as i40 from './components/add-item-interaction-context/add-item-interaction-context.component';\nimport * as i41 from './components/activity-actions/activity-actions.component';\nimport * as i42 from './components/popup-interaction-context/popup-interaction-context.component';\nimport * as i43 from './components/input-activities/string-input-activity';\nimport * as i44 from './components/input-activities/select-input-activity';\nimport * as i45 from './components/input-activities/abstract-input-activity';\nimport * as i46 from './directives/interaction-context-trigger-for.directive';\nimport * as i47 from '../directives/directives.module';\nimport * as i48 from '../components/components.module';\nexport const InteractionModuleNgFactory:i0.NgModuleFactory<i1.InteractionModule> = (null as any);\nvar _decl0_0:i2.NgClass = (<any>(null as any));\nvar _decl0_1:i2.NgComponentOutlet = (<any>(null as any));\nvar _decl0_2:i2.NgForOf<any,any> = (<any>(null as any));\nvar _decl0_3:i2.NgIf<any> = (<any>(null as any));\nvar _decl0_4:i2.NgTemplateOutlet = (<any>(null as any));\nvar _decl0_5:i2.NgStyle = (<any>(null as any));\nvar _decl0_6:i2.NgSwitch = (<any>(null as any));\nvar _decl0_7:i2.NgSwitchCase = (<any>(null as any));\nvar _decl0_8:i2.NgSwitchDefault = (<any>(null as any));\nvar _decl0_9:i2.NgPlural = (<any>(null as any));\nvar _decl0_10:i2.NgPluralCase = (<any>(null as any));\nvar _decl0_11:i3.Dir = (<any>(null as any));\nvar _decl0_12:i4.MatButton = (<any>(null as any));\nvar _decl0_13:i4.MatAnchor = (<any>(null as any));\nvar _decl0_14:i5.MatDialogContainer = (<any>(null as any));\nvar _decl0_15:i5.MatDialogClose = (<any>(null as any));\nvar _decl0_16:i5.MatDialogTitle = (<any>(null as any));\nvar _decl0_17:i5.MatDialogContent = (<any>(null as any));\nvar _decl0_18:i5.MatDialogActions = (<any>(null as any));\nvar _decl0_19:i6.MatTabGroup = (<any>(null as any));\nvar _decl0_20:i6.MatTabLabel = (<any>(null as any));\nvar _decl0_21:i6.MatTab = (<any>(null as any));\nvar _decl0_22:i6.MatTabNav = (<any>(null as any));\nvar _decl0_23:i6.MatTabLink = (<any>(null as any));\nvar _decl0_24:i6.MatTabContent = (<any>(null as any));\nvar _decl0_25:i7.CdkPortal = (<any>(null as any));\nvar _decl0_26:i7.CdkPortalOutlet = (<any>(null as any));\nvar _decl0_27:i7.TemplatePortalDirective = (<any>(null as any));\nvar _decl0_28:i7.PortalHostDirective = (<any>(null as any));\nvar _decl0_29:i8.RouterOutlet = (<any>(null as any));\nvar _decl0_30:i8.RouterLink = (<any>(null as any));\nvar _decl0_31:i8.RouterLinkWithHref = (<any>(null as any));\nvar _decl0_32:i8.RouterLinkActive = (<any>(null as any));\nvar _decl0_33:i8.ɵangular_packages_router_router_l = (<any>(null as any));\nvar _decl0_34:i9.MatIcon = (<any>(null as any));\nvar _decl0_35:i10.CommandDirective<any> = (<any>(null as any));\nvar _decl0_36:i11.FocusBindingDirective = (<any>(null as any));\nvar _decl0_37:i12.DefaultLayoutDirective = (<any>(null as any));\nvar _decl0_38:i12.DefaultLayoutGapDirective = (<any>(null as any));\nvar _decl0_39:i12.DefaultLayoutAlignDirective = (<any>(null as any));\nvar _decl0_40:i12.DefaultFlexOrderDirective = (<any>(null as any));\nvar _decl0_41:i12.DefaultFlexOffsetDirective = (<any>(null as any));\nvar _decl0_42:i12.FlexFillDirective = (<any>(null as any));\nvar _decl0_43:i12.DefaultFlexAlignDirective = (<any>(null as any));\nvar _decl0_44:i12.DefaultFlexDirective = (<any>(null as any));\nvar _decl0_45:i13.ɵgrid_privatec = (<any>(null as any));\nvar _decl0_46:i13.ɵgrid_privatef = (<any>(null as any));\nvar _decl0_47:i13.ɵgrid_privatei = (<any>(null as any));\nvar _decl0_48:i13.ɵgrid_privatel = (<any>(null as any));\nvar _decl0_49:i13.ɵgrid_privateo = (<any>(null as any));\nvar _decl0_50:i13.ɵgrid_privater = (<any>(null as any));\nvar _decl0_51:i13.ɵgrid_privateu = (<any>(null as any));\nvar _decl0_52:i13.ɵgrid_privatex = (<any>(null as any));\nvar _decl0_53:i13.ɵgrid_privateba = (<any>(null as any));\nvar _decl0_54:i13.ɵgrid_privatebd = (<any>(null as any));\nvar _decl0_55:i13.ɵgrid_privatebg = (<any>(null as any));\nvar _decl0_56:i14.NumberInputComponent = (<any>(null as any));\nvar _decl0_57:i15.StringInputComponent = (<any>(null as any));\nvar _decl0_58:i16.TextInputComponent = (<any>(null as any));\nvar _decl0_59:i17.PasswordInputComponent = (<any>(null as any));\nvar _decl0_60:i18.CheckboxInputComponent = (<any>(null as any));\nvar _decl0_61:i19.SelectInputComponent<any> = (<any>(null as any));\nvar _decl0_62:i20.MultipleSelectInputComponent<any> = (<any>(null as any));\nvar _decl0_63:i21.AutocompleteInputComponent<any> = (<any>(null as any));\nvar _decl0_64:i22.ScrollContainerComponent = (<any>(null as any));\nvar _decl0_65:i23.NoopComponent = (<any>(null as any));\nvar _decl0_66:i24.SwitchCaseComponent<any> = (<any>(null as any));\nvar _decl0_67:i24.SwitchCaseWhenDirective<any> = (<any>(null as any));\nvar _decl0_68:i24.SwitchCaseDefaultDirective<any> = (<any>(null as any));\nvar _decl0_69:i25.FocusContainerComponent = (<any>(null as any));\nvar _decl0_70:i26.VerticalFocusContainerComponent = (<any>(null as any));\nvar _decl0_71:i27.FocusableComponent = (<any>(null as any));\nvar _decl0_72:i28.CardContainerComponent = (<any>(null as any));\nvar _decl0_73:i29.TableComponent<any> = (<any>(null as any));\nvar _decl0_74:i30.EditRowControls<any> = (<any>(null as any));\nvar _decl0_75:i31.ColumnTemplateDirective = (<any>(null as any));\nvar _decl0_76:i32.IconComponent = (<any>(null as any));\nvar _decl0_77:i33.SectionHeaderComponent = (<any>(null as any));\nvar _decl0_78:i34.ActivityContainerComponent<any,any,any> = (<any>(null as any));\nvar _decl0_79:i35.ConfirmationDialogComponent = (<any>(null as any));\nvar _decl0_80:i36.ConfirmThenDialogComponent<any,any,any> = (<any>(null as any));\nvar _decl0_81:i37.AlertDialogComponent = (<any>(null as any));\nvar _decl0_82:i38.ActivityOutletComponent<any,any,any> = (<any>(null as any));\nvar _decl0_83:i39.InPlaceInteractionContextComponent<any,any,any> = (<any>(null as any));\nvar _decl0_84:i40.AddItemInteractionContextComponent = (<any>(null as any));\nvar _decl0_85:i41.ActivityActionsComponent = (<any>(null as any));\nvar _decl0_86:i42.PopupInteractionContextComponent = (<any>(null as any));\nvar _decl0_87:i43.StringInputActivity = (<any>(null as any));\nvar _decl0_88:i44.SelectInputActivity<any> = (<any>(null as any));\nvar _decl0_89:i45.AbstractInputActivity<any,any> = (<any>(null as any));\nvar _decl0_90:i46.InteractionContextTriggerFor<any,any,any> = (<any>(null as any));\nvar _decl0_91:i2.AsyncPipe = (<any>(null as any));\nvar _decl0_92:i2.UpperCasePipe = (<any>(null as any));\nvar _decl0_93:i2.LowerCasePipe = (<any>(null as any));\nvar _decl0_94:i2.JsonPipe = (<any>(null as any));\nvar _decl0_95:i2.SlicePipe = (<any>(null as any));\nvar _decl0_96:i2.DecimalPipe = (<any>(null as any));\nvar _decl0_97:i2.PercentPipe = (<any>(null as any));\nvar _decl0_98:i2.TitleCasePipe = (<any>(null as any));\nvar _decl0_99:i2.CurrencyPipe = (<any>(null as any));\nvar _decl0_100:i2.DatePipe = (<any>(null as any));\nvar _decl0_101:i2.I18nPluralPipe = (<any>(null as any));\nvar _decl0_102:i2.I18nSelectPipe = (<any>(null as any));\nvar _decl0_103:i2.KeyValuePipe = (<any>(null as any));\nvar _decl0_104:i2.CommonModule = (<any>(null as any));\nvar _decl0_105:i4.MatButtonModule = (<any>(null as any));\nvar _decl0_106:i5.MatDialogModule = (<any>(null as any));\nvar _decl0_107:i6.MatTabsModule = (<any>(null as any));\nvar _decl0_108:i7.PortalModule = (<any>(null as any));\nvar _decl0_109:i8.RouterModule = (<any>(null as any));\nvar _decl0_110:i9.MatIconModule = (<any>(null as any));\nvar _decl0_111:i47.DirectivesModule = (<any>(null as any));\nvar _decl0_112:i12.FlexModule = (<any>(null as any));\nvar _decl0_113:i13.GridModule = (<any>(null as any));\nvar _decl0_114:i48.ComponentsModule = (<any>(null as any));\nvar _decl0_115:i0.TemplateRef<any> = (<any>(null as any));\nvar _decl0_116:i0.ElementRef<any> = (<any>(null as any));\nfunction _View_ActivityContainerComponent_Host_1_0():void {\n var _any:any = (null as any);\n}\nfunction _View_ActivityContainerComponent_1_1():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_78;\n currVal_0;\n const currVal_1:any = _any;\n currVal_1;\n}\nfunction _View_ActivityContainerComponent_1_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_78.dynamicHeight;\n currVal_0;\n const currVal_1:any = _decl0_19.dynamicHeight;\n currVal_1;\n const currVal_2:any = (_decl0_19.headerPosition === 'below');\n currVal_2;\n const currVal_3:any = !_decl0_78.dynamicHeight;\n currVal_3;\n const currVal_4:any = _decl0_78.activityTabs;\n currVal_4;\n const currVal_5:any = _decl0_78.activityIndex;\n currVal_5;\n}\nfunction _View_ConfirmationDialogComponent_Host_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_79.class;\n currVal_0;\n}\nfunction _View_ConfirmationDialogComponent_2_1():void {\n if (_decl0_79.confirm.title) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_16.id;\n currVal_0;\n const currVal_1:any = _decl0_79.confirm.title();\n currVal_1;\n }\n}\nfunction _View_ConfirmationDialogComponent_2_2():void {\n var _any:any = (null as any);\n const currVal_0:any = _any;\n currVal_0;\n}\nfunction _View_ConfirmationDialogComponent_2_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_79.confirm.title;\n currVal_0;\n const currVal_1:any = _decl0_79.confirm.content();\n currVal_1;\n const currVal_2:any = (_decl0_12.disabled || null);\n currVal_2;\n const currVal_3:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_3;\n const currVal_4:any = _decl0_79.confirm.cancel();\n currVal_4;\n const currVal_5:any = (_decl0_79.isDestructive()? 'warn': 'primary');\n currVal_5;\n const currVal_6:any = (_decl0_12.disabled || null);\n currVal_6;\n const currVal_7:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_7;\n const currVal_8:any = _decl0_79.confirm.ok();\n currVal_8;\n const pd_9:any = ((<any>_decl0_79.cancel()) !== false);\n const pd_10:any = ((<any>_decl0_79.done()) !== false);\n}\nfunction _View_ConfirmThenDialogComponent_Host_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_80.class;\n currVal_0;\n}\nfunction _View_ConfirmThenDialogComponent_3_1():void {\n if (_decl0_80.confirm.title) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_16.id;\n currVal_0;\n const currVal_1:any = _decl0_80.confirm.title();\n currVal_1;\n }\n}\nfunction _View_ConfirmThenDialogComponent_3_2():void {\n var _any:any = (null as any);\n const currVal_0:any = _any;\n currVal_0;\n}\nfunction _View_ConfirmThenDialogComponent_3_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_80.confirm.title;\n currVal_0;\n const currVal_1:any = _decl0_80.confirm.content();\n currVal_1;\n const currVal_2:any = (_decl0_12.disabled || null);\n currVal_2;\n const currVal_3:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_3;\n const currVal_4:any = _decl0_80.confirm.cancel();\n currVal_4;\n const currVal_5:any = (_decl0_80.isDestructive()? 'warn': 'primary');\n currVal_5;\n const currVal_6:any = (_decl0_12.disabled || null);\n currVal_6;\n const currVal_7:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_7;\n const currVal_8:any = _decl0_80.confirm.ok();\n currVal_8;\n const pd_9:any = ((<any>_decl0_80.cancel()) !== false);\n const pd_10:any = ((<any>_decl0_80.onConfirm()) !== false);\n}\nfunction _View_AlertDialogComponent_Host_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_81.class;\n currVal_0;\n}\nfunction _View_AlertDialogComponent_4_1():void {\n if (_decl0_81.alert.title) {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_16.id;\n currVal_0;\n const currVal_1:any = _decl0_81.alert.title();\n currVal_1;\n }\n}\nfunction _View_AlertDialogComponent_4_2():void {\n var _any:any = (null as any);\n const currVal_0:any = _any;\n currVal_0;\n}\nfunction _View_AlertDialogComponent_4_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_81.alert.title;\n currVal_0;\n const currVal_1:any = _decl0_81.alert.content();\n currVal_1;\n const currVal_2:any = 'primary';\n currVal_2;\n const currVal_3:any = (_decl0_12.disabled || null);\n currVal_3;\n const currVal_4:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_4;\n const currVal_5:any = _decl0_81.alert.ok();\n currVal_5;\n const pd_6:any = ((<any>_decl0_81.done()) !== false);\n}\nfunction _View_ActivityOutletComponent_Host_5_0():void {\n var _any:any = (null as any);\n}\nfunction _View_ActivityOutletComponent_5_0():void {\n var _any:any = (null as any);\n}\nfunction _View_InPlaceInteractionContextComponent_Host_6_0():void {\n var _any:any = (null as any);\n}\nfunction _View_InPlaceInteractionContextComponent_6_0():void {\n var _any:any = (null as any);\n const currVal_0:any = false;\n currVal_0;\n const currVal_1:any = (_decl0_83.isActive()? 1: 0);\n currVal_1;\n const currVal_2:any = _decl0_83.animationDuration;\n currVal_2;\n const currVal_3:any = _decl0_19.dynamicHeight;\n currVal_3;\n const currVal_4:any = (_decl0_19.headerPosition === 'below');\n currVal_4;\n const currVal_5:any = false;\n currVal_5;\n}\nfunction _View_AddItemInteractionContextComponent_Host_7_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_84.active;\n currVal_0;\n const currVal_1:any = _decl0_84.tabindex;\n currVal_1;\n}\nfunction _View_AddItemInteractionContextComponent_7_0():void {\n var _any:any = (null as any);\n const currVal_0:any = false;\n currVal_0;\n const currVal_1:any = _decl0_84.clickCommand;\n currVal_1;\n const currVal_2:any = _decl0_84.icon;\n currVal_2;\n const currVal_3:any = _decl0_84.label;\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n}\nfunction _View_ActivityActionsComponent_Host_8_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_85.alignEnd;\n currVal_0;\n const currVal_1:any = _decl0_85.alignStretch;\n currVal_1;\n}\nfunction _View_ActivityActionsComponent_8_2():void {\n if ((_decl0_85.hasCancelCommand() && !_decl0_85.hasCancelText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_85.cancelCommand;\n currVal_2;\n const currVal_3:any = 'mat:clear';\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_3():void {\n if ((_decl0_85.hasCancelCommand() && _decl0_85.hasCancelText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_85.cancelCommand;\n currVal_2;\n const currVal_3:any = _decl0_85.cancelText;\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_1():void {\n if (_decl0_85.hasCancelCommand()) {\n var _any:any = (null as any);\n const currVal_0:any = !_decl0_85.hasCancelText();\n currVal_0;\n const currVal_1:any = _decl0_85.hasCancelText();\n currVal_1;\n }\n}\nfunction _View_ActivityActionsComponent_8_5():void {\n if ((_decl0_85.hasConfirmCommand() && !_decl0_85.hasConfirmText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_85.confirmCommand;\n currVal_2;\n const currVal_3:any = 'mat:done';\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_6():void {\n if ((_decl0_85.hasConfirmCommand() && _decl0_85.hasConfirmText())) {\n var _any:any = (null as any);\n const currVal_0:any = (_decl0_12.disabled || null);\n currVal_0;\n const currVal_1:any = (_decl0_12._animationMode === 'NoopAnimations');\n currVal_1;\n const currVal_2:any = _decl0_85.confirmCommand;\n currVal_2;\n const currVal_3:any = _decl0_85.confirmText;\n currVal_3;\n const pd_4:any = ((<any>_decl0_35.notifyClick(_any)) !== false);\n }\n}\nfunction _View_ActivityActionsComponent_8_4():void {\n if (_decl0_85.hasConfirmCommand()) {\n var _any:any = (null as any);\n const currVal_0:any = !_decl0_85.hasConfirmText();\n currVal_0;\n const currVal_1:any = _decl0_85.hasConfirmText();\n currVal_1;\n }\n}\nfunction _View_ActivityActionsComponent_8_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_85.hasCancelCommand();\n currVal_0;\n const currVal_1:any = _decl0_85.hasConfirmCommand();\n currVal_1;\n}\nfunction _View_PopupInteractionContextComponent_Host_9_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_86.active;\n currVal_0;\n}\nfunction _View_PopupInteractionContextComponent_9_0():void {\n var _any:any = (null as any);\n}\nfunction _View_StringInputActivity_Host_10_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_87.class;\n currVal_0;\n}\nfunction _View_StringInputActivity_10_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_87.data.label;\n currVal_0;\n const currVal_1:any = _decl0_87.data.placeholder;\n currVal_1;\n const currVal_2:any = _decl0_87.confirmCommand;\n currVal_2;\n const currVal_3:any = _decl0_87.cancelCommand;\n currVal_3;\n const currVal_4:any = _decl0_87.valueModel;\n currVal_4;\n const currVal_5:any = _decl0_57.dense;\n currVal_5;\n const currVal_6:any = _decl0_57.baseClassName;\n currVal_6;\n const currVal_7:any = _decl0_87.confirmCommand;\n currVal_7;\n const currVal_8:any = _decl0_87.cancelCommand;\n currVal_8;\n const currVal_9:any = 'end';\n currVal_9;\n const currVal_10:any = _decl0_85.alignEnd;\n currVal_10;\n const currVal_11:any = _decl0_85.alignStretch;\n currVal_11;\n const pd_12:any = ((<any>_decl0_57.notifyClick()) !== false);\n const pd_13:any = ((<any>_decl0_57.notifyFocusIn()) !== false);\n const pd_14:any = ((<any>_decl0_57.notifyFocusOut()) !== false);\n}\nfunction _View_SelectInputActivity_Host_11_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_88.class;\n currVal_0;\n}\nfunction _View_SelectInputActivity_11_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_88.data.label;\n currVal_0;\n const currVal_1:any = _decl0_88.data.placeholder;\n currVal_1;\n const currVal_2:any = _decl0_88.confirmCommand;\n currVal_2;\n const currVal_3:any = _decl0_88.cancelCommand;\n currVal_3;\n const currVal_4:any = _decl0_88.valueModel;\n currVal_4;\n const currVal_5:any = _decl0_88.options;\n currVal_5;\n const currVal_6:any = _decl0_88.optionLabelFormat;\n currVal_6;\n const currVal_7:any = _decl0_61.dense;\n currVal_7;\n const currVal_8:any = _decl0_61.baseClassName;\n currVal_8;\n const currVal_9:any = _decl0_88.confirmCommand;\n currVal_9;\n const currVal_10:any = _decl0_88.cancelCommand;\n currVal_10;\n const currVal_11:any = 'end';\n currVal_11;\n const currVal_12:any = _decl0_85.alignEnd;\n currVal_12;\n const currVal_13:any = _decl0_85.alignStretch;\n currVal_13;\n const pd_14:any = ((<any>_decl0_61.notifyClick()) !== false);\n const pd_15:any = ((<any>_decl0_61.notifyFocusIn()) !== false);\n const pd_16:any = ((<any>_decl0_61.notifyFocusOut()) !== false);\n}\nfunction _View_AbstractInputActivity_Host_12_0():void {\n var _any:any = (null as any);\n const currVal_0:any = _decl0_89.class;\n currVal_0;\n}\nfunction _View_AbstractInputActivity_12_0():void {\n var _any:any = (null as any);\n}\n"]}