@seniorsistemas/angular-components 14.13.6 → 14.14.1

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 (47) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +138 -35
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/dynamic-form/components/lookup/lookup.component.d.ts +4 -0
  6. package/components/dynamic-form/configurations/field-type.d.ts +2 -1
  7. package/components/dynamic-form/configurations/form-field.d.ts +2 -0
  8. package/components/dynamic-form/index.d.ts +1 -0
  9. package/components/empty-state/go-back/go-back.component.d.ts +11 -0
  10. package/components/locale/options/index.d.ts +9 -0
  11. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +59 -6
  12. package/esm2015/components/dynamic-form/configurations/field-type.js +2 -1
  13. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +3 -3
  14. package/esm2015/components/dynamic-form/configurations/fields/calendar-field.js +3 -3
  15. package/esm2015/components/dynamic-form/configurations/fields/currency-field.js +3 -3
  16. package/esm2015/components/dynamic-form/configurations/fields/decimal-field.js +3 -3
  17. package/esm2015/components/dynamic-form/configurations/fields/number-field.js +3 -3
  18. package/esm2015/components/dynamic-form/configurations/form-field.js +5 -1
  19. package/esm2015/components/dynamic-form/dynamic-form.js +3 -1
  20. package/esm2015/components/dynamic-form/dynamic-form.module.js +3 -3
  21. package/esm2015/components/dynamic-form/index.js +2 -1
  22. package/esm2015/components/empty-state/empty-state.module.js +6 -3
  23. package/esm2015/components/empty-state/go-back/go-back.component.js +37 -0
  24. package/esm2015/components/locale/options/index.js +10 -1
  25. package/esm2015/seniorsistemas-angular-components.js +10 -10
  26. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +59 -6
  27. package/esm5/components/dynamic-form/configurations/field-type.js +2 -1
  28. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +3 -3
  29. package/esm5/components/dynamic-form/configurations/fields/calendar-field.js +3 -3
  30. package/esm5/components/dynamic-form/configurations/fields/currency-field.js +3 -3
  31. package/esm5/components/dynamic-form/configurations/fields/decimal-field.js +3 -3
  32. package/esm5/components/dynamic-form/configurations/fields/number-field.js +3 -3
  33. package/esm5/components/dynamic-form/configurations/form-field.js +5 -1
  34. package/esm5/components/dynamic-form/dynamic-form.js +3 -1
  35. package/esm5/components/dynamic-form/dynamic-form.module.js +3 -3
  36. package/esm5/components/dynamic-form/index.js +2 -1
  37. package/esm5/components/empty-state/empty-state.module.js +6 -3
  38. package/esm5/components/empty-state/go-back/go-back.component.js +38 -0
  39. package/esm5/components/locale/options/index.js +10 -1
  40. package/esm5/seniorsistemas-angular-components.js +10 -10
  41. package/fesm2015/seniorsistemas-angular-components.js +126 -25
  42. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  43. package/fesm5/seniorsistemas-angular-components.js +130 -28
  44. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  45. package/package.json +1 -1
  46. package/seniorsistemas-angular-components.d.ts +9 -9
  47. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -1196,6 +1196,7 @@
1196
1196
  FieldType["Text"] = "Text";
1197
1197
  FieldType["Time"] = "Time";
1198
1198
  FieldType["Number"] = "Number";
1199
+ FieldType["Custom"] = "Custom";
1199
1200
  })(exports.FieldType || (exports.FieldType = {}));
1200
1201
 
1201
1202
  var FieldSize = /** @class */ (function () {
@@ -1296,8 +1297,17 @@
1296
1297
  }
1297
1298
  return LocaleOptions;
1298
1299
  }());
1300
+ /**
1301
+ * @deprecated
1302
+ */
1299
1303
  var DEFAULT_CALENDAR_LOCALE_OPTIONS = new CalendarLocaleOptions();
1304
+ /**
1305
+ * @deprecated
1306
+ */
1300
1307
  var DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();
1308
+ /**
1309
+ * @deprecated
1310
+ */
1301
1311
  var DEFAULT_LOCALE_OPTIONS = new LocaleOptions();
1302
1312
 
1303
1313
  var moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
@@ -1631,7 +1641,7 @@
1631
1641
  function BignumberField(config) {
1632
1642
  var _a;
1633
1643
  var _this = _super.call(this, config) || this;
1634
- _this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1644
+ _this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
1635
1645
  _this.browserAutocomplete = config.browserAutocomplete;
1636
1646
  _this.precision = config.precision;
1637
1647
  _this.scale = (_a = config.scale) !== null && _a !== void 0 ? _a : 2;
@@ -1699,7 +1709,7 @@
1699
1709
  _this.maxDate = config.maxDate;
1700
1710
  _this.appendTo = config.appendTo;
1701
1711
  _this.showOnFocus = typeof config.showOnFocus === "boolean" ? config.showOnFocus : true;
1702
- _this.calendarLocaleOptions = config.calendarLocaleOptions || DEFAULT_CALENDAR_LOCALE_OPTIONS;
1712
+ _this.calendarLocaleOptions = config.calendarLocaleOptions || new CalendarLocaleOptions();
1703
1713
  _this.onBlur = config.onBlur;
1704
1714
  _this.onFocus = config.onFocus;
1705
1715
  _this.onSelect = config.onSelect;
@@ -1878,7 +1888,7 @@
1878
1888
  __extends(NumberField, _super);
1879
1889
  function NumberField(config) {
1880
1890
  var _this = _super.call(this, config) || this;
1881
- _this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1891
+ _this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
1882
1892
  _this.browserAutocomplete = config.browserAutocomplete;
1883
1893
  _this.precision = config.precision;
1884
1894
  _this.alignTo = config.alignTo || exports.NumberAlignmentOption.LEFT;
@@ -1901,7 +1911,7 @@
1901
1911
  __extends(DecimalField, _super);
1902
1912
  function DecimalField(config) {
1903
1913
  var _this = _super.call(this, config) || this;
1904
- _this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1914
+ _this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
1905
1915
  _this.alignTo = config.alignTo || exports.NumberAlignmentOption.RIGHT;
1906
1916
  _this.scale = config.scale || config.scale === 0 ? config.scale : 2;
1907
1917
  return _this;
@@ -1916,7 +1926,7 @@
1916
1926
  __extends(CurrencyField, _super);
1917
1927
  function CurrencyField(config) {
1918
1928
  var _this = _super.call(this, config) || this;
1919
- _this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1929
+ _this.numberLocaleOptions = config.numberLocaleOptions || new NumberLocaleOptions();
1920
1930
  return _this;
1921
1931
  }
1922
1932
  return CurrencyField;
@@ -2086,6 +2096,9 @@
2086
2096
  return new ChipsField(config);
2087
2097
  case exports.FieldType.Blob:
2088
2098
  return new BlobField(config);
2099
+ case exports.FieldType.Custom:
2100
+ var CustomFieldClass = config.CustomFieldClass, otherConfigs = __rest(config, ["CustomFieldClass"]);
2101
+ return new CustomFieldClass(otherConfigs);
2089
2102
  }
2090
2103
  }
2091
2104
  return FormField;
@@ -2134,9 +2147,24 @@
2134
2147
  LookupComponent_1 = LookupComponent;
2135
2148
  LookupComponent.prototype.ngOnInit = function () {
2136
2149
  var _this = this;
2150
+ if (!this.searchGridFields) {
2151
+ this.searchGridFields = this.searchFields.map(function (item) { return new FormField(__assign({}, item)); });
2152
+ }
2137
2153
  this.searchFields = this.searchFields.map(function (value) { return new FormField(__assign(__assign({}, value), { size: { sm: 12, md: 12, lg: 12, xl: 12 } })); });
2138
- this.searchGridFields = (this.searchGridFields || this.searchFields).map(function (gridField) {
2154
+ this.searchGridFields = this.searchGridFields.map(function (gridField) {
2139
2155
  gridField["width"] = _this.getColWidth(gridField.label);
2156
+ var calendarOptions = gridField.calendarLocaleOptions;
2157
+ if (calendarOptions === null || calendarOptions === void 0 ? void 0 : calendarOptions.dateFormat) {
2158
+ switch (gridField.type) {
2159
+ case exports.FieldType.Date:
2160
+ calendarOptions.dateFormat = _this._convertToMomentDateFormat(calendarOptions.dateFormat);
2161
+ break;
2162
+ case exports.FieldType.Time:
2163
+ calendarOptions.dateFormat = _this._convertToMomentHourFormat(calendarOptions.hourFormat, calendarOptions.dateFormat);
2164
+ break;
2165
+ }
2166
+ calendarOptions.dateFormat = calendarOptions.dateFormat;
2167
+ }
2140
2168
  return gridField;
2141
2169
  });
2142
2170
  var formGroup = this.searchFields.reduce(function (result, field) {
@@ -2162,6 +2190,36 @@
2162
2190
  _this.onChange(newValue);
2163
2191
  });
2164
2192
  };
2193
+ LookupComponent.prototype._convertToMomentHourFormat = function (hourFormat, format) {
2194
+ if (format === "dd/mm/yy") { // valor padrão para o format.
2195
+ return "LTS";
2196
+ }
2197
+ if (hourFormat === "12") {
2198
+ return format
2199
+ .replace(/\bH\b/, "h") // hour (12 hour time) (no leading zero)
2200
+ .replace(/\bHH\b/, "hh"); // hour (12 hour time)
2201
+ }
2202
+ if (hourFormat === "24") {
2203
+ return format
2204
+ .replace(/\bh\b/, "H") // hour (24 hour time) (no leading zero)
2205
+ .replace(/\bhh\b/, "HH"); // hour (24 hour time)
2206
+ }
2207
+ return format;
2208
+ };
2209
+ LookupComponent.prototype._convertToMomentDateFormat = function (format) {
2210
+ // A ordem dos replaces é importante.
2211
+ return format
2212
+ .replace(/\bd\b/, "D") // day of month (no leading zero)
2213
+ .replace(/\bdd\b/, "DD") // day of month
2214
+ .replace(/\bo\b/, "DDD") // day of the year (no leading zero)
2215
+ .replace(/\boo\b/, "DDDD") // day of the year
2216
+ .replace(/\bM\b/, "MMM") // month name short
2217
+ .replace(/\bMM\b/, "MMMM") // month name long
2218
+ .replace(/\bm\b/, "M") // month of year (no leading)
2219
+ .replace(/\bmm\b/, "MM") // month of year
2220
+ .replace(/\by\b/, "YY") // year (two digits)
2221
+ .replace(/\byy\b/, "YYYY"); // year (four digits)
2222
+ };
2165
2223
  LookupComponent.prototype.ngAfterViewInit = function () {
2166
2224
  this.autocomplete.onOverlayAnimationDone = function (event) { };
2167
2225
  };
@@ -2179,12 +2237,16 @@
2179
2237
  LookupComponent.prototype.getLookupSuggestions = function () {
2180
2238
  return this.lookupSuggestions;
2181
2239
  };
2182
- LookupComponent.prototype.lazyLoadGrid = function (event) {
2183
- // Ao definir uma ordenação na tabela do lookup esse método é chamado 2 vezes https://github.com/primefaces/primeng/issues/5480
2240
+ LookupComponent.prototype.makeSearchRequestParams = function (event) {
2184
2241
  var filters = this.formGroupDialog.getRawValue();
2185
2242
  var params = __assign(__assign({}, event), { filterData: filters });
2186
2243
  var multiSortMeta = event.multiSortMeta;
2187
2244
  this.multiSortMeta = multiSortMeta || this.multiSortMeta;
2245
+ return params;
2246
+ };
2247
+ LookupComponent.prototype.lazyLoadGrid = function (event) {
2248
+ // Ao definir uma ordenação na tabela do lookup esse método é chamado 2 vezes https://github.com/primefaces/primeng/issues/5480
2249
+ var params = this.makeSearchRequestParams(event);
2188
2250
  this.onSearchRequest.next(params);
2189
2251
  };
2190
2252
  LookupComponent.prototype.lazyLoadLookup = function (event) {
@@ -2215,12 +2277,15 @@
2215
2277
  inputEL.nativeElement.focus();
2216
2278
  };
2217
2279
  LookupComponent.prototype.search = function () {
2218
- this.table.reset();
2280
+ this.resetTable();
2219
2281
  this.collapsed = true;
2220
2282
  this.dialog.moveOnTop();
2221
2283
  };
2222
2284
  LookupComponent.prototype.clear = function () {
2223
2285
  this.formGroupDialog.reset(this.originalFormValues);
2286
+ this.resetTable();
2287
+ };
2288
+ LookupComponent.prototype.resetTable = function () {
2224
2289
  this.table.reset();
2225
2290
  };
2226
2291
  LookupComponent.prototype.select = function () {
@@ -2473,7 +2538,7 @@
2473
2538
  LookupComponent = LookupComponent_1 = __decorate([
2474
2539
  core.Component({
2475
2540
  selector: "s-lookup",
2476
- template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed ? {value: 'hidden', params: {transitionParams: transitionOptions }} : {value: 'visible', params: {transitionParams: transitionOptions}}\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed ? {value: ':leave', params: {transitionParams: transitionOptions }} : {value: ':enter', params: {transitionParams: transitionOptions}}\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\"\n >\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
2541
+ template: "<div [ngClass]=\"{ inputgroup: showSearch }\">\n <p-autoComplete\n #autocomplete\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"true\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"lazyLoadLookup($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [emptyMessage]=\"lookupEmptyMessage\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n <ng-template let-item pTemplate=\"selectedItem\">\n <span class=\"ui-autocomplete-token-label ng-tns-c65-43 ng-star-inserted\" \n [pTooltip]=\"lookupDisplayFieldTooltip ? item[lookupDisplayField] : null\" \n tooltipPosition=\"top\">\n {{item[lookupDisplayField]}}\n </span>\n </ng-template>\n </p-autoComplete>\n\n <button\n *ngIf=\"showSearch\"\n pButton\n type=\"button\"\n icon=\"fa fa-search\"\n class=\"button-addon\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n ></button>\n</div>\n\n<p-dialog\n appendTo=\"body\"\n styleClass=\"s-lookup-modal\"\n [header]=\"searchTitle\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n (onHide)=\"hideDialog()\"\n [blockScroll]=\"true\"\n [focusOnShow]=\"true\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n #dialog\n>\n <div *ngIf=\"dialogVisible\" class=\"s-lookup-modal-container\">\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter\"\n [@collapseContent]=\"collapsed \n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\"\n (@collapseContent.done)=\"onToggleDone()\">\n <form [formGroup]=\"formGroupDialog\" novalidate autocomplete=\"off\">\n <div *ngIf=\"!collapsed\"\n [@childCollapseContent]=\"collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\"\n class=\"form-content\">\n <div class=\"filter-title sds-section-title\">{{ filterTitle }}</div>\n <div class=\"form-fields\">\n <s-dynamic-form [fields]=\"searchFields\" [form]=\"formGroupDialog\"></s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"filterLabel\"\n (onClick)=\"search()\"\n pTooltip=\"(ALT + SHIFT + F)\"\n showDelay=\"500\"\n ></s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"clearLabel\"\n (onClick)=\"clear()\"\n priority=\"link\"\n pTooltip=\"(ALT + SHIFT + L)\"\n showDelay=\"500\"\n ></s-button>\n </div>\n </div>\n </div>\n </form> \n </div>\n <div *ngIf=\"searchFields && searchFields.length\" class=\"filter-toggle\">\n <div class=\"filter-toggle--start-border-mask\"></div>\n <button [id]=\"id + '-filter-toggle-button'\" type=\"button\" (click)=\"filterToggle()\">\n <span class=\"fa\" [ngClass]=\"{'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed}\"\n aria-hidden=\"true\"></span>\n </button>\n <div class=\"filter-toggle--end-border-mask\"></div>\n </div>\n <div class=\"content\" [ngClass]=\"{'empty-content': !searchTotalRecords && !loading}\">\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n *ngIf=\"!searchTotalRecords && !loading\"\n [title]=\"searchEmptyTitle\"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n ></s-empty-state>\n\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n *sLoadingState=\"loading\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngIf=\"multiple\" style=\"width: 50px\" />\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngIf=\"multiple\" style=\"width: 50px\">\n <s-table-header-checkbox [useAllObject]=\"lookupRowProps ? false : true\" [rowProps]=\"lookupRowProps\"></s-table-header-checkbox>\n </th>\n <th\n [style.width]=\"col.width\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled?.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n <p-sortIcon [field]=\"col.name\" *ngIf=\"!sortableColumnsDisabled?.includes(col.name)\"></p-sortIcon>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-rowIndex=\"rowIndex\">\n <tr\n sNavigation\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick (onDoubleClick)=\"onTableRowDoubleClick(rowData)\"\n >\n <td *ngIf=\"multiple\" style=\"width: 50px\" tabindex=\"0\">\n <p-tableCheckbox [value]=\"rowData\" [pSelectableRow]=\"rowData\"></p-tableCheckbox>\n </td>\n <td\n [style.width]=\"col['width']\"\n *ngFor=\"let col of searchGridFields\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n <ng-container *ngSwitchCase=\"'Boolean'\">\n <ng-container *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getBooleanLabel(rowData, col.name, col.optionsLabel) }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Date'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate: col.calendarLocaleOptions?.dateFormat || \"L\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'DateTime'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedDate | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Time'\">\n <ng-container *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) | localizedTime: col.calendarLocaleOptions?.dateFormat || \"LTS\" | async }}</span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Double'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedNumber: getScale(col.scale) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Money'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedCurrency | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Number'\">\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span> {{ getFieldValue(rowData, col.name) | localizedBignumber: getNumberMaskConfig(col) | async }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'Enum'\">\n <ng-container\n *ngIf=\"getLabelForValue(getFieldValue(rowData, col.name), col.options); else emptyTemplate\"\n >\n <span> {{ getLabelForValue(getFieldValue(rowData, col.name), col.options) }} </span>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"col.mask && col.mask()\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name))\">\n <span>{{ getFieldValue(rowData, col.name) | sMaskFormatter: col.mask() }}</span>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(col.mask && col.mask())\">\n <ng-container *ngIf=\"(isNumber(rowData, col.name) || getFieldValue(rowData, col.name)); else emptyTemplate\">\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{\n searchTotalRecordsLabel ||\n searchTotalRecords?.toString() + (searchTotalRecords === 1 ? recordLabel : recordsLabel)\n }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n\n <p-footer>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"selectLabel\"\n (onClick)=\"select()\"\n pTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\"\n [disabled]=\"!selected?.length\"\n ></s-button>\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"cancelLabel\"\n (onClick)=\"hideDialog()\"\n pTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\"\n ></s-button>\n </p-footer>\n</p-dialog>\n\n<ng-template #emptyTemplate>\n <span [ngClass]=\"'sds-empty-value'\">{{ emptyFieldLabel }}</span>\n</ng-template>\n",
2477
2542
  providers: [
2478
2543
  {
2479
2544
  provide: forms.NG_VALUE_ACCESSOR,
@@ -2509,6 +2574,18 @@
2509
2574
  return LookupComponent;
2510
2575
  }());
2511
2576
 
2577
+ var BaseFieldComponent = /** @class */ (function () {
2578
+ function BaseFieldComponent() {
2579
+ }
2580
+ BaseFieldComponent.prototype.isFunction = function (value) {
2581
+ return value instanceof Function;
2582
+ };
2583
+ BaseFieldComponent.prototype.trigger = function (callback) {
2584
+ return callback();
2585
+ };
2586
+ return BaseFieldComponent;
2587
+ }());
2588
+
2512
2589
 
2513
2590
  (function (DynamicType) {
2514
2591
  DynamicType["Autocomplete"] = "Autocomplete";
@@ -2702,14 +2779,49 @@
2702
2779
  return EmptyStateComponent;
2703
2780
  }());
2704
2781
 
2782
+ var EmptyStateGoBackComponent = /** @class */ (function () {
2783
+ function EmptyStateGoBackComponent(cookieService) {
2784
+ this.cookieService = cookieService;
2785
+ this.iconClass = "fa fa-exclamation-triangle";
2786
+ }
2787
+ EmptyStateGoBackComponent.prototype.goBack = function () {
2788
+ var portalUrl = this.cookieService.get("com.senior.portal.url");
2789
+ window.open(portalUrl, "_top");
2790
+ };
2791
+ EmptyStateGoBackComponent.nextId = 0;
2792
+ EmptyStateGoBackComponent.ctorParameters = function () { return [
2793
+ { type: ngxCookieService.CookieService }
2794
+ ]; };
2795
+ __decorate([
2796
+ core.Input()
2797
+ ], EmptyStateGoBackComponent.prototype, "iconClass", void 0);
2798
+ __decorate([
2799
+ core.Input()
2800
+ ], EmptyStateGoBackComponent.prototype, "title", void 0);
2801
+ __decorate([
2802
+ core.Input()
2803
+ ], EmptyStateGoBackComponent.prototype, "description", void 0);
2804
+ __decorate([
2805
+ core.Input()
2806
+ ], EmptyStateGoBackComponent.prototype, "primaryActionLabel", void 0);
2807
+ EmptyStateGoBackComponent = __decorate([
2808
+ core.Component({
2809
+ selector: "s-empty-state-go-back",
2810
+ template: "<s-empty-state \n [iconClass]=\"iconClass\" \n [title]=\"title\" \n [description]=\"description\" \n (primaryAction)=\"goBack()\"\n [primaryActionLabel]=\"primaryActionLabel\">\n</s-empty-state>"
2811
+ })
2812
+ ], EmptyStateGoBackComponent);
2813
+ return EmptyStateGoBackComponent;
2814
+ }());
2815
+
2705
2816
  var EmptyStateModule = /** @class */ (function () {
2706
2817
  function EmptyStateModule() {
2707
2818
  }
2708
2819
  EmptyStateModule = __decorate([
2709
2820
  core.NgModule({
2710
2821
  imports: [common.CommonModule, ButtonModule],
2711
- declarations: [EmptyStateComponent],
2712
- exports: [EmptyStateComponent],
2822
+ providers: [ngxCookieService.CookieService],
2823
+ declarations: [EmptyStateComponent, EmptyStateGoBackComponent],
2824
+ exports: [EmptyStateComponent, EmptyStateGoBackComponent],
2713
2825
  })
2714
2826
  ], EmptyStateModule);
2715
2827
  return EmptyStateModule;
@@ -4576,18 +4688,6 @@
4576
4688
  return ChipsFieldComponent;
4577
4689
  }());
4578
4690
 
4579
- var BaseFieldComponent = /** @class */ (function () {
4580
- function BaseFieldComponent() {
4581
- }
4582
- BaseFieldComponent.prototype.isFunction = function (value) {
4583
- return value instanceof Function;
4584
- };
4585
- BaseFieldComponent.prototype.trigger = function (callback) {
4586
- return callback();
4587
- };
4588
- return BaseFieldComponent;
4589
- }());
4590
-
4591
4691
  /**
4592
4692
  * @deprecated Should use bignumber instead
4593
4693
  */
@@ -5111,6 +5211,8 @@
5111
5211
  return TextAreaFieldComponent;
5112
5212
  case exports.FieldType.Blob:
5113
5213
  return FileUploadComponent$1;
5214
+ case exports.FieldType.Custom:
5215
+ return this.field.CustomFieldComponentClass;
5114
5216
  default:
5115
5217
  throw new Error("Trying to use an unsupported type (" + this.field.type + ").");
5116
5218
  }
@@ -5424,7 +5526,7 @@
5424
5526
  SectionComponent,
5425
5527
  SelectFieldComponent,
5426
5528
  TextAreaFieldComponent,
5427
- TextFieldComponent,
5529
+ TextFieldComponent
5428
5530
  ],
5429
5531
  exports: [DynamicFormComponent, LookupComponent],
5430
5532
  entryComponents: [
@@ -5443,7 +5545,7 @@
5443
5545
  SectionComponent,
5444
5546
  SelectFieldComponent,
5445
5547
  TextAreaFieldComponent,
5446
- TextFieldComponent,
5548
+ TextFieldComponent
5447
5549
  ],
5448
5550
  providers: [angular2Hotkeys.HotkeysService]
5449
5551
  })
@@ -9087,6 +9189,7 @@
9087
9189
 
9088
9190
  exports.AngularComponentsModule = AngularComponentsModule;
9089
9191
  exports.AutocompleteField = AutocompleteField;
9192
+ exports.BaseFieldComponent = BaseFieldComponent;
9090
9193
  exports.BignumberField = BignumberField;
9091
9194
  exports.BignumberInputDirective = BignumberInputDirective;
9092
9195
  exports.BignumberInputModule = BignumberInputModule;
@@ -9211,15 +9314,15 @@
9211
9314
  exports.ɵbk = CoreFacade;
9212
9315
  exports.ɵbl = CodeMirror6Core;
9213
9316
  exports.ɵc = LocalizedBignumberImpurePipe;
9214
- exports.ɵd = TableColumnsComponent;
9215
- exports.ɵe = TablePagingComponent;
9216
- exports.ɵf = InfoSignComponent;
9217
- exports.ɵg = AutocompleteFieldComponent;
9218
- exports.ɵh = BooleanFieldComponent;
9219
- exports.ɵi = CalendarFieldComponent;
9220
- exports.ɵj = ChipsFieldComponent;
9221
- exports.ɵk = CurrencyFieldComponent;
9222
- exports.ɵl = BaseFieldComponent;
9317
+ exports.ɵd = EmptyStateGoBackComponent;
9318
+ exports.ɵe = TableColumnsComponent;
9319
+ exports.ɵf = TablePagingComponent;
9320
+ exports.ɵg = InfoSignComponent;
9321
+ exports.ɵh = AutocompleteFieldComponent;
9322
+ exports.ɵi = BooleanFieldComponent;
9323
+ exports.ɵj = CalendarFieldComponent;
9324
+ exports.ɵk = ChipsFieldComponent;
9325
+ exports.ɵl = CurrencyFieldComponent;
9223
9326
  exports.ɵm = DynamicFieldComponent;
9224
9327
  exports.ɵn = DynamicFormDirective;
9225
9328
  exports.ɵo = FieldsetComponent;