@tft/crispr-forms 12.2.18 → 12.2.22

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 (29) hide show
  1. package/bundles/tft-crispr-forms.umd.js +16 -11
  2. package/bundles/tft-crispr-forms.umd.js.map +1 -1
  3. package/esm2015/lib/crispr-forms.module.ngfactory.js.map +1 -1
  4. package/esm2015/lib/form-group-list/form-group-list.component.js +9 -7
  5. package/esm2015/lib/form-group-list/form-group-list.component.js.map +1 -1
  6. package/esm2015/lib/form-group-list/form-group-list.component.metadata.json +1 -1
  7. package/esm2015/lib/material/autocomplete-field/autocomplete-field.component.js +6 -3
  8. package/esm2015/lib/material/autocomplete-field/autocomplete-field.component.js.map +1 -1
  9. package/esm2015/lib/material/material.module.ngfactory.js.map +1 -1
  10. package/esm2015/lib/material/unit-conversion-field/unit-conversion-field.component.js +1 -1
  11. package/esm2015/lib/material/unit-conversion-field/unit-conversion-field.component.js.map +1 -1
  12. package/esm2015/lib/material/unit-conversion-field/unit-conversion-field.component.metadata.json +1 -1
  13. package/esm2015/lib/models/autocomplete-field.config.js.map +1 -1
  14. package/esm2015/lib/models/crispr-field.config.js.map +1 -1
  15. package/esm2015/lib/models/form-group-list.config.js.map +1 -1
  16. package/esm2015/lib/models/input-field.config.js.map +1 -1
  17. package/esm2015/lib/models/unit-conversion-field.config.js.map +1 -1
  18. package/fesm2015/tft-crispr-forms.js +16 -11
  19. package/fesm2015/tft-crispr-forms.js.map +1 -1
  20. package/lib/material/autocomplete-field/autocomplete-field.component.d.ts +1 -1
  21. package/lib/models/autocomplete-field.config.d.ts +2 -1
  22. package/lib/models/crispr-field.config.d.ts +3 -1
  23. package/lib/models/form-group-list.config.d.ts +8 -1
  24. package/lib/models/input-field.config.d.ts +1 -1
  25. package/lib/models/unit-conversion-field.config.d.ts +0 -1
  26. package/package.json +1 -1
  27. package/tft-crispr-forms-12.2.22.tgz +0 -0
  28. package/tft-crispr-forms.metadata.json +1 -1
  29. package/tft-crispr-forms-12.2.18.tgz +0 -0
@@ -728,11 +728,14 @@
728
728
  * @param options the array of options to search for option with corresponding value
729
729
  */
730
730
  AutocompleteFieldComponent.prototype.displayLabel = function (options) {
731
+ if (this.config.displayWith) {
732
+ return this.config.displayWith(options);
733
+ }
731
734
  return function (value) {
732
735
  var _a;
733
- return !!options && Array.isArray(options)
734
- ? (_a = options.find(function (option) { return option.value === value; })) === null || _a === void 0 ? void 0 : _a.label
735
- : value;
736
+ var label = !!options && Array.isArray(options)
737
+ ? (_a = options.find(function (option) { return JSON.stringify(option.value) === JSON.stringify(value); })) === null || _a === void 0 ? void 0 : _a.label : value;
738
+ return label;
736
739
  };
737
740
  };
738
741
  AutocompleteFieldComponent.prototype.handleSelect = function (event) {
@@ -1216,7 +1219,7 @@
1216
1219
  { type: core.Component, args: [{
1217
1220
  // eslint-disable-next-line @angular-eslint/component-selector
1218
1221
  selector: 'crispr-unit-conversion-field',
1219
- template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\"\n [autocomplete]=\"config.autoComplete\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <!-- <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span> -->\n <!-- <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info> -->\n </mat-form-field>\n\n\n</crispr-field-container>\n",
1222
+ template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <!-- <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span> -->\n <!-- <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info> -->\n </mat-form-field>\n\n\n</crispr-field-container>\n",
1220
1223
  changeDetection: core.ChangeDetectionStrategy.OnPush,
1221
1224
  styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}"]
1222
1225
  },] }
@@ -1462,7 +1465,7 @@
1462
1465
  };
1463
1466
 
1464
1467
  var defaultConfig = {
1465
- addItemLabel: 'ADD ITEM',
1468
+ addButtonLabel: 'ADD ITEM',
1466
1469
  minListLength: 1,
1467
1470
  };
1468
1471
  var FormGroupListMixin = crisprControlMixin(CrisprFieldComponent);
@@ -1480,11 +1483,13 @@
1480
1483
  };
1481
1484
  FormGroupListComponent.prototype.setControlValue = function (values) {
1482
1485
  var _this = this;
1483
- if (values && this.control) {
1484
- values.forEach(function (value) { return _this.addGroup(value); });
1485
- }
1486
- else if (this.config.minListLength > 0) {
1487
- this.addGroup();
1486
+ if (this.control) {
1487
+ if ((values === null || values === void 0 ? void 0 : values.length) > 0) {
1488
+ values.forEach(function (value) { return _this.addGroup(value); });
1489
+ }
1490
+ else if (this.config.displayInitialItem) {
1491
+ this.addGroup();
1492
+ }
1488
1493
  }
1489
1494
  };
1490
1495
  FormGroupListComponent.prototype.addGroup = function (value) {
@@ -1499,7 +1504,7 @@
1499
1504
  FormGroupListComponent.decorators = [
1500
1505
  { type: core.Component, args: [{
1501
1506
  selector: 'crispr-form-group-list',
1502
- template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- TODO: add sortBy function -->\n <div *ngFor=\"let control of formArray?.controls; let i = index;\">\n <!-- TODO: use content projection to allow custom item label component -->\n <div class=\"item-header\">\n <span class=\"mat-h2\" *ngIf=\"config.itemLabelBuilder\"> {{ config.itemLabelBuilder(i) }} </span>\n <button\n mat-icon-button\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"deleteGroup(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroupName]=\"i\">\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [config]=\"field\"\n [value]=\"value && value[i] | initialControlValue : field\"\n [group]=\"control\">\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"group-footer\">\n <button\n type=\"button\"\n class=\"add\"\n mat-raised-button\n [color]=\"config.addButtonColor\"\n (click)=\"addGroup()\">\n {{config.addItemLabel}}\n </button>\n </div>\n\n</crispr-field-container>\n",
1507
+ template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- TODO: add sortBy function -->\n <div *ngFor=\"let control of formArray?.controls; let i = index;\">\n <!-- TODO: use content projection to allow custom item label component -->\n <div class=\"item-header\">\n <span class=\"mat-h2\" *ngIf=\"config.itemLabelBuilder\"> {{ config.itemLabelBuilder(i) }} </span>\n <button\n mat-icon-button\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"deleteGroup(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroupName]=\"i\">\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [config]=\"field\"\n [value]=\"value && value[i] | initialControlValue : field\"\n [group]=\"control\">\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"group-footer\">\n <button\n type=\"button\"\n class=\"add\"\n mat-raised-button\n [color]=\"config.addButtonColor\"\n (click)=\"addGroup()\">\n {{config.addItemLabel || config.addButtonLabel}}\n </button>\n </div>\n\n</crispr-field-container>\n",
1503
1508
  changeDetection: core.ChangeDetectionStrategy.OnPush,
1504
1509
  styles: [".item-header{display:flex;justify-content:space-between}.group-footer{display:flex;justify-content:flex-end}.group-footer button.add{margin-bottom:16px}"]
1505
1510
  },] }