@seniorsistemas/angular-components 14.5.1 → 14.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +197 -90
  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 +3 -0
  6. package/components/locale/pipes/localized-bignumber-impure.pipe.d.ts +6 -0
  7. package/components/locale/pipes/localized-bignumber.pipe.d.ts +9 -0
  8. package/components/locale/pipes/localized-currency-impure.pipe.d.ts +3 -0
  9. package/components/locale/pipes/localized-currency.pipe.d.ts +3 -0
  10. package/components/locale/pipes/localized-number.pipe.d.ts +3 -0
  11. package/components/table/table-column/table-columns.component.d.ts +1 -1
  12. package/esm2015/components/custom-fields/custom-fields.component.js +74 -30
  13. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +13 -3
  14. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +3 -2
  15. package/esm2015/components/locale/locale.module.js +9 -1
  16. package/esm2015/components/locale/pipes/localized-bignumber-impure.pipe.js +16 -0
  17. package/esm2015/components/locale/pipes/localized-bignumber.pipe.js +38 -0
  18. package/esm2015/components/locale/pipes/localized-currency-impure.pipe.js +4 -1
  19. package/esm2015/components/locale/pipes/localized-currency.pipe.js +4 -1
  20. package/esm2015/components/locale/pipes/localized-number.pipe.js +4 -1
  21. package/esm2015/components/table/table-column/table-columns.component.js +11 -20
  22. package/esm2015/seniorsistemas-angular-components.js +34 -32
  23. package/esm5/components/custom-fields/custom-fields.component.js +74 -30
  24. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +13 -3
  25. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +3 -2
  26. package/esm5/components/locale/locale.module.js +9 -1
  27. package/esm5/components/locale/pipes/localized-bignumber-impure.pipe.js +21 -0
  28. package/esm5/components/locale/pipes/localized-bignumber.pipe.js +39 -0
  29. package/esm5/components/locale/pipes/localized-currency-impure.pipe.js +4 -1
  30. package/esm5/components/locale/pipes/localized-currency.pipe.js +4 -1
  31. package/esm5/components/locale/pipes/localized-number.pipe.js +4 -1
  32. package/esm5/components/table/table-column/table-columns.component.js +11 -21
  33. package/esm5/seniorsistemas-angular-components.js +34 -32
  34. package/fesm2015/seniorsistemas-angular-components.js +156 -57
  35. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  36. package/fesm5/seniorsistemas-angular-components.js +162 -58
  37. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  38. package/package.json +2 -2
  39. package/seniorsistemas-angular-components.d.ts +33 -31
  40. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -1,9 +1,10 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('primeng/breadcrumb'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('primeng/tieredmenu'), require('primeng/tooltip'), require('primeng/dom'), require('primeng/calendar'), require('@angular/animations'), require('@angular/forms'), require('@angular/common/http'), require('angular2-hotkeys'), require('primeng/autocomplete'), require('primeng/dialog'), require('primeng/table'), require('@seniorsistemas/ng2-currency-mask'), require('@seniorsistemas/senior-platform-data'), require('moment'), require('ngx-cookie-service'), require('ng2-currency-mask'), require('primeng/button'), require('primeng/checkbox'), require('primeng/chips'), require('primeng/dropdown'), require('primeng/fieldset'), require('primeng/inputmask'), require('primeng/inputtext'), require('primeng/inputtextarea'), require('primeng/keyfilter'), require('primeng/multiselect'), require('primeng/panel'), require('primeng/radiobutton'), require('@angular/platform-browser'), require('primeng/progressbar'), require('@ngx-translate/core'), require('cropperjs'), require('element-resize-detector'), require('@angular/cdk/a11y'), require('primeng/scrollpanel'), require('primeng/sidebar'), require('bignumber.js')) :
3
- typeof define === 'function' && define.amd ? define('@seniorsistemas/angular-components', ['exports', '@angular/core', '@angular/common', 'primeng/breadcrumb', '@angular/router', 'rxjs', 'rxjs/operators', 'primeng/tieredmenu', 'primeng/tooltip', 'primeng/dom', 'primeng/calendar', '@angular/animations', '@angular/forms', '@angular/common/http', 'angular2-hotkeys', 'primeng/autocomplete', 'primeng/dialog', 'primeng/table', '@seniorsistemas/ng2-currency-mask', '@seniorsistemas/senior-platform-data', 'moment', 'ngx-cookie-service', 'ng2-currency-mask', 'primeng/button', 'primeng/checkbox', 'primeng/chips', 'primeng/dropdown', 'primeng/fieldset', 'primeng/inputmask', 'primeng/inputtext', 'primeng/inputtextarea', 'primeng/keyfilter', 'primeng/multiselect', 'primeng/panel', 'primeng/radiobutton', '@angular/platform-browser', 'primeng/progressbar', '@ngx-translate/core', 'cropperjs', 'element-resize-detector', '@angular/cdk/a11y', 'primeng/scrollpanel', 'primeng/sidebar', 'bignumber.js'], factory) :
4
- (global = global || self, factory((global.seniorsistemas = global.seniorsistemas || {}, global.seniorsistemas['angular-components'] = {}), global.ng.core, global.ng.common, global.breadcrumb, global.ng.router, global.rxjs, global.rxjs.operators, global.tieredmenu, global.tooltip, global.dom, global.calendar, global.ng.animations, global.ng.forms, global.ng.common.http, global.angular2Hotkeys, global.autocomplete, global.dialog, global.table, global.ng2CurrencyMask, global.seniorPlatformData, global.moment_, global.ngxCookieService, global.ng2CurrencyMask$1, global.button, global.checkbox, global.chips, global.dropdown, global.fieldset, global.inputmask, global.inputtext, global.inputtextarea, global.keyfilter, global.multiselect, global.panel, global.radiobutton, global.ng.platformBrowser, global.progressbar, global.core$1, global.Cropper, global.elementResizeDetectorMaker_, global.ng.cdk.a11y, global.scrollpanel, global.sidebar, global.bignumber_js));
5
- }(this, (function (exports, core, common, breadcrumb, router, rxjs, operators, tieredmenu, tooltip, dom, calendar, animations, forms, http, angular2Hotkeys, autocomplete, dialog, table, ng2CurrencyMask, seniorPlatformData, moment_, ngxCookieService, ng2CurrencyMask$1, button, checkbox, chips, dropdown, fieldset, inputmask, inputtext, inputtextarea, keyfilter, multiselect, panel, radiobutton, platformBrowser, progressbar, core$1, Cropper, elementResizeDetectorMaker_, a11y, scrollpanel, sidebar, bignumber_js) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('primeng/breadcrumb'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('primeng/tieredmenu'), require('primeng/tooltip'), require('primeng/dom'), require('primeng/calendar'), require('@angular/animations'), require('@angular/forms'), require('@angular/common/http'), require('angular2-hotkeys'), require('bignumber.js'), require('primeng/autocomplete'), require('primeng/dialog'), require('primeng/table'), require('@seniorsistemas/ng2-currency-mask'), require('@seniorsistemas/senior-platform-data'), require('moment'), require('ngx-cookie-service'), require('ng2-currency-mask'), require('primeng/button'), require('primeng/checkbox'), require('primeng/chips'), require('primeng/dropdown'), require('primeng/fieldset'), require('primeng/inputmask'), require('primeng/inputtext'), require('primeng/inputtextarea'), require('primeng/keyfilter'), require('primeng/multiselect'), require('primeng/panel'), require('primeng/radiobutton'), require('@angular/platform-browser'), require('primeng/progressbar'), require('@ngx-translate/core'), require('cropperjs'), require('element-resize-detector'), require('@angular/cdk/a11y'), require('primeng/scrollpanel'), require('primeng/sidebar')) :
3
+ typeof define === 'function' && define.amd ? define('@seniorsistemas/angular-components', ['exports', '@angular/core', '@angular/common', 'primeng/breadcrumb', '@angular/router', 'rxjs', 'rxjs/operators', 'primeng/tieredmenu', 'primeng/tooltip', 'primeng/dom', 'primeng/calendar', '@angular/animations', '@angular/forms', '@angular/common/http', 'angular2-hotkeys', 'bignumber.js', 'primeng/autocomplete', 'primeng/dialog', 'primeng/table', '@seniorsistemas/ng2-currency-mask', '@seniorsistemas/senior-platform-data', 'moment', 'ngx-cookie-service', 'ng2-currency-mask', 'primeng/button', 'primeng/checkbox', 'primeng/chips', 'primeng/dropdown', 'primeng/fieldset', 'primeng/inputmask', 'primeng/inputtext', 'primeng/inputtextarea', 'primeng/keyfilter', 'primeng/multiselect', 'primeng/panel', 'primeng/radiobutton', '@angular/platform-browser', 'primeng/progressbar', '@ngx-translate/core', 'cropperjs', 'element-resize-detector', '@angular/cdk/a11y', 'primeng/scrollpanel', 'primeng/sidebar'], factory) :
4
+ (global = global || self, factory((global.seniorsistemas = global.seniorsistemas || {}, global.seniorsistemas['angular-components'] = {}), global.ng.core, global.ng.common, global.breadcrumb, global.ng.router, global.rxjs, global.rxjs.operators, global.tieredmenu, global.tooltip, global.dom, global.calendar, global.ng.animations, global.ng.forms, global.ng.common.http, global.angular2Hotkeys, global.BigNumber, global.autocomplete, global.dialog, global.table, global.ng2CurrencyMask, global.seniorPlatformData, global.moment_, global.ngxCookieService, global.ng2CurrencyMask$1, global.button, global.checkbox, global.chips, global.dropdown, global.fieldset, global.inputmask, global.inputtext, global.inputtextarea, global.keyfilter, global.multiselect, global.panel, global.radiobutton, global.ng.platformBrowser, global.progressbar, global.core$1, global.Cropper, global.elementResizeDetectorMaker_, global.ng.cdk.a11y, global.scrollpanel, global.sidebar));
5
+ }(this, (function (exports, core, common, breadcrumb, router, rxjs, operators, tieredmenu, tooltip, dom, calendar, animations, forms, http, angular2Hotkeys, BigNumber, autocomplete, dialog, table, ng2CurrencyMask, seniorPlatformData, moment_, ngxCookieService, ng2CurrencyMask$1, button, checkbox, chips, dropdown, fieldset, inputmask, inputtext, inputtextarea, keyfilter, multiselect, panel, radiobutton, platformBrowser, progressbar, core$1, Cropper, elementResizeDetectorMaker_, a11y, scrollpanel, sidebar) { 'use strict';
6
6
 
7
+ var BigNumber__default = 'default' in BigNumber ? BigNumber['default'] : BigNumber;
7
8
  Cropper = Cropper && Object.prototype.hasOwnProperty.call(Cropper, 'default') ? Cropper['default'] : Cropper;
8
9
 
9
10
  /*! *****************************************************************************
@@ -1352,6 +1353,54 @@
1352
1353
  return LocaleService;
1353
1354
  }());
1354
1355
 
1356
+ var LocalizedBignumberPipe = /** @class */ (function () {
1357
+ function LocalizedBignumberPipe(localeService) {
1358
+ this.localeService = localeService;
1359
+ }
1360
+ LocalizedBignumberPipe.prototype.transform = function (value, options) {
1361
+ return value !== undefined && value !== null ? this.applyMask(value, options) : rxjs.of(value);
1362
+ };
1363
+ LocalizedBignumberPipe.prototype.applyMask = function (value, options) {
1364
+ return this.localeService.get().pipe(operators.map(function (localeConfig) {
1365
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
1366
+ var configs = {
1367
+ prefix: (_c = (_a = options.prefix) !== null && _a !== void 0 ? _a : (_b = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _b === void 0 ? void 0 : _b.currencySymbol) !== null && _c !== void 0 ? _c : "R$",
1368
+ thousandsSeparator: (_f = (_d = options === null || options === void 0 ? void 0 : options.thousandsSeparator) !== null && _d !== void 0 ? _d : (_e = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _e === void 0 ? void 0 : _e.thousandsSeparator) !== null && _f !== void 0 ? _f : ".",
1369
+ decimalSeparator: (_j = (_g = options === null || options === void 0 ? void 0 : options.decimalSeparator) !== null && _g !== void 0 ? _g : (_h = localeConfig === null || localeConfig === void 0 ? void 0 : localeConfig.number) === null || _h === void 0 ? void 0 : _h.decimalSeparator) !== null && _j !== void 0 ? _j : ",",
1370
+ scale: (_k = options === null || options === void 0 ? void 0 : options.scale) !== null && _k !== void 0 ? _k : 2
1371
+ };
1372
+ var isNumber = !(new BigNumber__default(value).isNaN());
1373
+ return ng2CurrencyMask.applyMask(value, configs, isNumber);
1374
+ }));
1375
+ };
1376
+ LocalizedBignumberPipe.ctorParameters = function () { return [
1377
+ { type: LocaleService }
1378
+ ]; };
1379
+ LocalizedBignumberPipe = __decorate([
1380
+ core.Pipe({
1381
+ name: "localizedBignumber",
1382
+ })
1383
+ ], LocalizedBignumberPipe);
1384
+ return LocalizedBignumberPipe;
1385
+ }());
1386
+
1387
+ var LocalizedBignumberImpurePipe = /** @class */ (function (_super) {
1388
+ __extends(LocalizedBignumberImpurePipe, _super);
1389
+ function LocalizedBignumberImpurePipe() {
1390
+ return _super !== null && _super.apply(this, arguments) || this;
1391
+ }
1392
+ LocalizedBignumberImpurePipe.prototype.transform = function (value, options) {
1393
+ return _super.prototype.transform.call(this, value, options);
1394
+ };
1395
+ LocalizedBignumberImpurePipe = __decorate([
1396
+ core.Pipe({
1397
+ name: "localizedBignumberImpure",
1398
+ pure: false,
1399
+ })
1400
+ ], LocalizedBignumberImpurePipe);
1401
+ return LocalizedBignumberImpurePipe;
1402
+ }(LocalizedBignumberPipe));
1403
+
1355
1404
  var LocalizedCurrencyPipeOptions = /** @class */ (function (_super) {
1356
1405
  __extends(LocalizedCurrencyPipeOptions, _super);
1357
1406
  function LocalizedCurrencyPipeOptions(config) {
@@ -1362,6 +1411,9 @@
1362
1411
  }
1363
1412
  return LocalizedCurrencyPipeOptions;
1364
1413
  }(NumberLocaleOptions));
1414
+ /**
1415
+ * @deprecated Should use localizedBignumberPipe instead
1416
+ */
1365
1417
  var LocalizedCurrencyPipe = /** @class */ (function () {
1366
1418
  function LocalizedCurrencyPipe(localeService) {
1367
1419
  this.localeService = localeService;
@@ -1400,6 +1452,9 @@
1400
1452
  return LocalizedCurrencyPipe;
1401
1453
  }());
1402
1454
 
1455
+ /**
1456
+ * @deprecated Should use localizedBignumberPipe instead
1457
+ */
1403
1458
  var LocalizedCurrencyImpurePipe = /** @class */ (function (_super) {
1404
1459
  __extends(LocalizedCurrencyImpurePipe, _super);
1405
1460
  function LocalizedCurrencyImpurePipe() {
@@ -1452,6 +1507,9 @@
1452
1507
  return LocalizedDateImpurePipe;
1453
1508
  }(LocalizedDatePipe));
1454
1509
 
1510
+ /**
1511
+ * @deprecated Should use localizedBignumberPipe instead
1512
+ */
1455
1513
  var LocalizedNumberPipe = /** @class */ (function () {
1456
1514
  function LocalizedNumberPipe(localeService) {
1457
1515
  this.localeService = localeService;
@@ -1525,6 +1583,8 @@
1525
1583
  LocalizedCurrencyImpurePipe,
1526
1584
  LocalizedDateImpurePipe,
1527
1585
  LocalizedTimeImpurePipe,
1586
+ LocalizedBignumberPipe,
1587
+ LocalizedBignumberImpurePipe
1528
1588
  ],
1529
1589
  };
1530
1590
  };
@@ -1545,6 +1605,8 @@
1545
1605
  LocalizedCurrencyImpurePipe,
1546
1606
  LocalizedDateImpurePipe,
1547
1607
  LocalizedTimeImpurePipe,
1608
+ LocalizedBignumberPipe,
1609
+ LocalizedBignumberImpurePipe
1548
1610
  ],
1549
1611
  declarations: [
1550
1612
  LocalizedCurrencyPipe,
@@ -1554,6 +1616,8 @@
1554
1616
  LocalizedCurrencyImpurePipe,
1555
1617
  LocalizedDateImpurePipe,
1556
1618
  LocalizedTimeImpurePipe,
1619
+ LocalizedBignumberPipe,
1620
+ LocalizedBignumberImpurePipe
1557
1621
  ],
1558
1622
  })
1559
1623
  ], LocaleModule);
@@ -1563,11 +1627,12 @@
1563
1627
  var BignumberField = /** @class */ (function (_super) {
1564
1628
  __extends(BignumberField, _super);
1565
1629
  function BignumberField(config) {
1630
+ var _a;
1566
1631
  var _this = _super.call(this, config) || this;
1567
1632
  _this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;
1568
1633
  _this.browserAutocomplete = config.browserAutocomplete;
1569
1634
  _this.precision = config.precision;
1570
- _this.scale = config.scale || 0;
1635
+ _this.scale = (_a = config.scale) !== null && _a !== void 0 ? _a : 2;
1571
1636
  _this.alignTo = _this.scale ? ng2CurrencyMask.AlignmentOptions.RIGHT : ng2CurrencyMask.AlignmentOptions.LEFT;
1572
1637
  _this.mask = config.mask;
1573
1638
  _this.leftAddon = config.leftAddon;
@@ -2211,7 +2276,7 @@
2211
2276
  return this.emptyFieldLabel;
2212
2277
  };
2213
2278
  LookupComponent.prototype.isNumber = function (obj, path) {
2214
- return typeof this.getFieldValue(obj, path) === "number";
2279
+ return !(new BigNumber__default(this.getFieldValue(obj, path)).isNaN());
2215
2280
  };
2216
2281
  LookupComponent.prototype.setHotkeys = function () {
2217
2282
  var _this = this;
@@ -2253,6 +2318,15 @@
2253
2318
  LookupComponent.prototype.isFunction = function (value) {
2254
2319
  return value instanceof Function;
2255
2320
  };
2321
+ LookupComponent.prototype.getNumberMaskConfig = function (col) {
2322
+ var _a, _b, _c;
2323
+ return {
2324
+ scale: this.getScale(col.scale),
2325
+ decimalSeparator: (_a = col.numberLocaleOptions) === null || _a === void 0 ? void 0 : _a.decimalSeparator,
2326
+ thousandsSeparator: (_b = col.numberLocaleOptions) === null || _b === void 0 ? void 0 : _b.thousandsSeparator,
2327
+ prefix: (_c = col.numberLocaleOptions) === null || _c === void 0 ? void 0 : _c.currencySymbol
2328
+ };
2329
+ };
2256
2330
  var LookupComponent_1;
2257
2331
  LookupComponent.nextId = 0;
2258
2332
  LookupComponent.ctorParameters = function () { return [
@@ -2387,7 +2461,7 @@
2387
2461
  LookupComponent = LookupComponent_1 = __decorate([
2388
2462
  core.Component({
2389
2463
  selector: "s-lookup",
2390
- 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 </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 sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\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: \"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 | 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=\"'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",
2464
+ 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 </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 sNavigation [pSelectableRow]=\"rowData\" [pSelectableRowIndex]=\"rowIndex\">\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: \"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 | 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",
2391
2465
  providers: [
2392
2466
  {
2393
2467
  provide: forms.NG_VALUE_ACCESSOR,
@@ -3818,7 +3892,7 @@
3818
3892
  return uninformed;
3819
3893
  }
3820
3894
  else {
3821
- var numberConfigs = __assign(__assign({}, locale.number), { scale: column.scale ? _this.getColumnScale(column.scale) : locale.number.scale });
3895
+ var numberConfigs = __assign(__assign({}, locale.number), { scale: column.scale ? _this.getColumnScale(column.scale) : locale.number.scale, prefix: locale.number.currencySymbol + " " });
3822
3896
  switch (column.type) {
3823
3897
  case exports.EnumColumnFieldType.ENUM:
3824
3898
  if (column.badgeConfigs && column.badgeConfigs.length) {
@@ -3826,7 +3900,7 @@
3826
3900
  }
3827
3901
  return _this.translate.instant(column.enumPrefix + attributeValue.toString().toLowerCase());
3828
3902
  case exports.EnumColumnFieldType.CURRENCY:
3829
- return _this.applyMask(attributeValue, numberConfigs);
3903
+ return ng2CurrencyMask.applyMask(attributeValue, numberConfigs, _this.isNumber(attributeValue));
3830
3904
  case exports.EnumColumnFieldType.DATE:
3831
3905
  var dateFormat = column.dateFormat ? column.dateFormat : locale.calendar.dateFormat;
3832
3906
  return moment_(attributeValue).format(dateFormat);
@@ -3837,7 +3911,8 @@
3837
3911
  case exports.EnumColumnFieldType.STRING:
3838
3912
  return attributeValue;
3839
3913
  case exports.EnumColumnFieldType.NUMBER:
3840
- return _this.applyMask(attributeValue, numberConfigs, false);
3914
+ numberConfigs.prefix = "";
3915
+ return ng2CurrencyMask.applyMask(attributeValue, numberConfigs, _this.isNumber(attributeValue));
3841
3916
  case exports.EnumColumnFieldType.TOKENS:
3842
3917
  return _this.getTokens(attributeValue);
3843
3918
  }
@@ -3892,21 +3967,8 @@
3892
3967
  return tooltip;
3893
3968
  }
3894
3969
  };
3895
- TableColumnsComponent.prototype.applyMask = function (value, options, useCurrencySymbol) {
3896
- if (useCurrencySymbol === void 0) { useCurrencySymbol = true; }
3897
- var scale = options.scale, thousandsSeparator = options.thousandsSeparator, decimalSeparator = options.decimalSeparator;
3898
- var currencySymbol = useCurrencySymbol ? options.currencySymbol : "";
3899
- var rawValue = Number(value ? value : 0).toFixed(scale);
3900
- var onlyNumbers = rawValue.replace(/[^0-9]/g, "");
3901
- var integerPart = onlyNumbers
3902
- .slice(0, onlyNumbers.length - scale)
3903
- .replace(/^0*/g, "")
3904
- .replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator) || "0";
3905
- var decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);
3906
- var newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;
3907
- var isZero = !Number(onlyNumbers);
3908
- var operator = rawValue.includes("-") && !isZero ? "-" : "";
3909
- return "" + operator + currencySymbol + " " + newValue;
3970
+ TableColumnsComponent.prototype.isNumber = function (value) {
3971
+ return !(new BigNumber__default(value).isNaN());
3910
3972
  };
3911
3973
  TableColumnsComponent.prototype.getTokens = function (values) {
3912
3974
  if (!this.isArray(values))
@@ -3970,9 +4032,9 @@
3970
4032
  ], TableColumnsComponent.prototype, "locale", void 0);
3971
4033
  TableColumnsComponent = __decorate([
3972
4034
  core.Component({
3973
- template: "\n<ng-template #columnsTemplate>\n <td *ngFor=\"let column of formattedColumns\" [ngStyle]=\"column.style\" (click)=\"column.onColumnClick ? column.onColumnClick(rowValue) : null\">\n\n <div *ngIf=\"column.type !== 'TOKENS' || !isArray(column.columnValue); else tokensTemplate\">\n\n <span *ngIf=\"column.type !== 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" [ngClass]=\"column.badgeClass\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </span>\n\n <a *ngIf=\"column.type === 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" (click)=\"column.onLinkClick ? column.onLinkClick(rowValue) : null\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </a>\n\n <ng-template #columnValueTemplate>\n <span *ngFor=\"let value of getSplittedString(column)\">\n <span [ngClass]=\"{ 'sds-pale-text': value.isUninformed }\">{{value.value}}</span>\n <span>{{value.separator}}</span>\n </span>\n </ng-template>\n\n </div>\n\n <ng-template #tokensTemplate>\n <s-token-list\n [tokens]=\"column.columnValue\"\n [hidePointerEvents]=\"true\"\n >\n </s-token-list>\n </ng-template>\n\n </td>\n</ng-template>\n",
4035
+ template: "\n<ng-template #columnsTemplate>\n <td *ngFor=\"let column of formattedColumns\" [ngStyle]=\"column.style\" (click)=\"column.onColumnClick ? column.onColumnClick(rowValue) : null\">\n\n <div *ngIf=\"column.type !== 'TOKENS' || !isArray(column.columnValue); else tokensTemplate\">\n\n <span *ngIf=\"column.type !== 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" [ngClass]=\"column.badgeClass\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </span>\n\n <a *ngIf=\"column.type === 'LINK'\" [pTooltip]=\"column.tooltip\" [escape]=\"false\" (click)=\"column.onLinkClick ? column.onLinkClick(rowValue) : null\">\n <ng-container *ngTemplateOutlet=\"columnValueTemplate\"></ng-container> \n </a>\n\n <ng-template #columnValueTemplate>\n <span *ngFor=\"let value of getSplittedString(column)\">\n <span [ngClass]=\"{ 'sds-empty-value': value.isUninformed }\">{{value.value}}</span>\n <span>{{value.separator}}</span>\n </span>\n </ng-template>\n\n </div>\n\n <ng-template #tokensTemplate>\n <s-token-list\n [tokens]=\"column.columnValue\"\n [hidePointerEvents]=\"true\"\n >\n </s-token-list>\n </ng-template>\n\n </td>\n</ng-template>\n",
3974
4036
  selector: "s-table-columns",
3975
- styles: [".sds-pale-text{color:#999}:host{display:none}"]
4037
+ styles: [":host{display:none}"]
3976
4038
  }),
3977
4039
  __param(2, core.Inject("hostProjectConfigs"))
3978
4040
  ], TableColumnsComponent);
@@ -4938,6 +5000,21 @@
4938
5000
  return CustomFieldsService;
4939
5001
  }());
4940
5002
 
5003
+ var CustomFieldType;
5004
+ (function (CustomFieldType) {
5005
+ CustomFieldType["String"] = "String";
5006
+ CustomFieldType["Boolean"] = "Boolean";
5007
+ CustomFieldType["Integer"] = "Integer";
5008
+ CustomFieldType["Double"] = "Double";
5009
+ CustomFieldType["Date"] = "Date";
5010
+ CustomFieldType["DateTime"] = "DateTime";
5011
+ CustomFieldType["Time"] = "Time";
5012
+ CustomFieldType["Money"] = "Money";
5013
+ CustomFieldType["Blob"] = "Blob";
5014
+ CustomFieldType["Binary"] = "Binary";
5015
+ CustomFieldType["Any"] = "Any";
5016
+ CustomFieldType["Enum"] = "Enum";
5017
+ })(CustomFieldType || (CustomFieldType = {}));
4941
5018
  var moment$3 = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
4942
5019
  var CustomFieldsComponent = /** @class */ (function () {
4943
5020
  function CustomFieldsComponent(customFieldsService, localeService, sanitizer, translateService) {
@@ -5000,17 +5077,18 @@
5000
5077
  .subscribe(function (response) {
5001
5078
  var _a = __read(response, 2), customFieldsResponse = _a[0], localeOptions = _a[1];
5002
5079
  var defaults = {};
5003
- defaults[exports.FieldType.String] = {};
5004
- defaults[exports.FieldType.Boolean] = { defaultValue: false };
5005
- defaults[exports.FieldType.Integer] = {};
5006
- defaults[exports.FieldType.Double] = { defaultMask: "" };
5007
- defaults[exports.FieldType.Money] = {};
5008
- defaults[exports.FieldType.Date] = {};
5009
- defaults[exports.FieldType.DateTime] = {};
5010
- defaults[exports.FieldType.Time] = {};
5011
- defaults[exports.FieldType.Blob] = {};
5012
- defaults[exports.FieldType.Enum] = {};
5013
- defaults[exports.FieldType.Binary] = {};
5080
+ defaults[CustomFieldType.String] = {};
5081
+ defaults[CustomFieldType.Boolean] = { defaultValue: false };
5082
+ defaults[CustomFieldType.Integer] = {};
5083
+ defaults[CustomFieldType.Double] = { defaultMask: "" };
5084
+ defaults[CustomFieldType.Money] = {};
5085
+ defaults[CustomFieldType.Date] = {};
5086
+ defaults[CustomFieldType.DateTime] = {};
5087
+ defaults[CustomFieldType.Time] = {};
5088
+ defaults[CustomFieldType.Blob] = {};
5089
+ defaults[CustomFieldType.Enum] = {};
5090
+ defaults[CustomFieldType.Binary] = {};
5091
+ defaults[CustomFieldType.Any] = {};
5014
5092
  if (!customFieldsResponse || !customFieldsResponse.entity_)
5015
5093
  return;
5016
5094
  var _b = customFieldsResponse.entity_, active = _b.active, fields = _b.fields;
@@ -5020,16 +5098,23 @@
5020
5098
  .filter(function (field) { return field.customizable && field.customization && field.customization.active; })
5021
5099
  .forEach(function (field) {
5022
5100
  var formField = _this.getFormField(field, localeOptions);
5023
- if (field.type === exports.FieldType.Blob && _this.value && _this.value[formField.name])
5101
+ var fieldType = field.type;
5102
+ if (field.type === CustomFieldType.Blob && _this.value && _this.value[formField.name])
5024
5103
  _this.createBlobToFileUpload(formField);
5025
5104
  var validationRegex = field.customization.validationRegex;
5026
- var asIsTypes = [exports.FieldType.Boolean, exports.FieldType.Money, exports.FieldType.Date, exports.FieldType.DateTime, exports.FieldType.Time];
5105
+ var asIsTypes = [
5106
+ CustomFieldType.Boolean,
5107
+ CustomFieldType.Money,
5108
+ CustomFieldType.Date,
5109
+ CustomFieldType.DateTime,
5110
+ CustomFieldType.Time
5111
+ ];
5027
5112
  var validators = [];
5028
- if (validationRegex && asIsTypes.indexOf(formField.type) == -1)
5113
+ if (validationRegex && !asIsTypes.includes(fieldType))
5029
5114
  validators.push(forms.Validators.pattern(validationRegex));
5030
- if (formField.type === exports.FieldType.Integer && !formField.mask)
5115
+ if (fieldType === CustomFieldType.Integer && !formField.mask)
5031
5116
  validators.push(forms.Validators.pattern(/^\-?\d*$/));
5032
- var control = new forms.FormControl({ value: defaults[formField.type].defaultValue, disabled: _this.formGroup.disabled }, validators);
5117
+ var control = new forms.FormControl({ value: defaults[fieldType].defaultValue, disabled: _this.formGroup.disabled }, validators);
5033
5118
  control.markAsDirty({ onlySelf: true });
5034
5119
  _this.formGroup.addControl(formField.name, control);
5035
5120
  _this.fields.push(formField);
@@ -5114,17 +5199,13 @@
5114
5199
  var _this = this;
5115
5200
  var parsedValues = {};
5116
5201
  this.fields.forEach(function (field) {
5117
- var type = field.type, name = field.name, mask = field.mask;
5202
+ var type = field.type, name = field.name, mask = field.mask, scale = field.scale;
5118
5203
  var value = _this.formGroup.get(name).value;
5119
5204
  if (value)
5120
5205
  switch (type) {
5121
- case exports.FieldType.Integer:
5122
- if (mask)
5123
- value = parseInt(value, 10);
5124
- break;
5125
- case exports.FieldType.Double:
5206
+ case exports.FieldType.Number:
5126
5207
  if (mask)
5127
- value = parseFloat(value.replace(/\./g, "").replace(/,/g, "."));
5208
+ value = new BigNumber__default(value).toFixed(scale).toString();
5128
5209
  break;
5129
5210
  case exports.FieldType.Date:
5130
5211
  value = moment$3(value).format("YYYY-MM-DD");
@@ -5136,7 +5217,7 @@
5136
5217
  value = moment$3(value).format("HH:mm:ss");
5137
5218
  break;
5138
5219
  }
5139
- if (value != null && !Number.isNaN(value)) {
5220
+ if (value !== null && !(new BigNumber__default(value).isNaN())) {
5140
5221
  parsedValues[name] = value;
5141
5222
  }
5142
5223
  else if (_this.isTypeNumberOrEnum(type)) {
@@ -5148,22 +5229,46 @@
5148
5229
  return parsedValues;
5149
5230
  };
5150
5231
  CustomFieldsComponent.prototype.isTypeNumberOrEnum = function (type) {
5151
- return type === exports.FieldType.Integer || type === exports.FieldType.Double || type === exports.FieldType.Money || type === exports.FieldType.Enum;
5232
+ var numberOrEnum = [
5233
+ exports.FieldType.Number,
5234
+ exports.FieldType.Enum
5235
+ ];
5236
+ return numberOrEnum.includes(type);
5152
5237
  };
5153
5238
  CustomFieldsComponent.prototype.getFormField = function (field, localeOptions) {
5239
+ var _a, _b;
5154
5240
  var parameters;
5155
5241
  switch (field.type) {
5156
- case exports.FieldType.Blob:
5242
+ case CustomFieldType.Blob:
5157
5243
  parameters = this.getBlobParameters();
5158
5244
  break;
5159
- case exports.FieldType.Boolean:
5245
+ case CustomFieldType.Boolean:
5160
5246
  parameters = this.getBooleanParameters();
5161
5247
  break;
5162
5248
  case "Enumeration":
5163
- case exports.FieldType.Enum:
5249
+ case CustomFieldType.Enum:
5164
5250
  field.type = exports.FieldType.Enum;
5165
5251
  parameters = this.getEnumParameters(field);
5166
5252
  break;
5253
+ case CustomFieldType.Money:
5254
+ parameters = {
5255
+ type: exports.FieldType.Number,
5256
+ leftAddon: {
5257
+ label: (_b = (_a = localeOptions === null || localeOptions === void 0 ? void 0 : localeOptions.number) === null || _a === void 0 ? void 0 : _a.currencySymbol) !== null && _b !== void 0 ? _b : "R$",
5258
+ },
5259
+ };
5260
+ break;
5261
+ case CustomFieldType.Double:
5262
+ parameters = {
5263
+ type: exports.FieldType.Number
5264
+ };
5265
+ break;
5266
+ case CustomFieldType.Integer:
5267
+ parameters = {
5268
+ type: exports.FieldType.Number,
5269
+ scale: 0
5270
+ };
5271
+ break;
5167
5272
  default:
5168
5273
  parameters = {};
5169
5274
  break;
@@ -5221,7 +5326,7 @@
5221
5326
  * com os fields inseridos e deletados.
5222
5327
  */
5223
5328
  CustomFieldsComponent.prototype.createFieldCustomization = function (fields) {
5224
- this.hasBlob = !!fields.filter(function (field) { return field.type === exports.FieldType.Blob; }).length;
5329
+ this.hasBlob = !!fields.filter(function (field) { return field.type === CustomFieldType.Blob; }).length;
5225
5330
  if (this.hasBlob) {
5226
5331
  this.formGroup.addControl("fieldCustomization", new forms.FormArray([
5227
5332
  new forms.FormGroup({
@@ -6467,9 +6572,9 @@
6467
6572
  });
6468
6573
  StatsCardComponent.prototype.updateDisplayValue = function () {
6469
6574
  var _this = this;
6470
- var previousRawValue = new bignumber_js.BigNumber(this.previousValue.replace(/\D/g, ""));
6471
- var rawValue = new bignumber_js.BigNumber(this.value.replace(/\D/g, ""));
6472
- var eachAnimationDuration = new bignumber_js.BigNumber(this.ANIMATION_DURATION_MS).dividedBy(new bignumber_js.BigNumber(this.STEP_DURATION_MS));
6575
+ var previousRawValue = new BigNumber.BigNumber(this.previousValue.replace(/\D/g, ""));
6576
+ var rawValue = new BigNumber.BigNumber(this.value.replace(/\D/g, ""));
6577
+ var eachAnimationDuration = new BigNumber.BigNumber(this.ANIMATION_DURATION_MS).dividedBy(new BigNumber.BigNumber(this.STEP_DURATION_MS));
6473
6578
  var incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(eachAnimationDuration).dp(0, 7);
6474
6579
  var incremental = previousRawValue.isLessThan(rawValue);
6475
6580
  clearInterval(this.intervalId);
@@ -7190,37 +7295,39 @@
7190
7295
  exports.TokenListComponent = TokenListComponent;
7191
7296
  exports.TokenListModule = TokenListModule;
7192
7297
  exports.ɵa = LocalizedCurrencyImpurePipe;
7193
- exports.ɵb = TokenListModule;
7194
- exports.ɵba = HeaderComponent;
7195
- exports.ɵbb = FooterComponent;
7196
- exports.ɵbc = InfoSignComponent;
7197
- exports.ɵbd = NumberLocaleOptions;
7198
- exports.ɵbe = ThumbnailService;
7199
- exports.ɵbf = InfiniteScrollModule;
7200
- exports.ɵbg = InfiniteScrollDirective;
7201
- exports.ɵc = TableColumnsComponent;
7202
- exports.ɵd = InfoSignModule;
7203
- exports.ɵe = AutocompleteFieldComponent;
7204
- exports.ɵf = BooleanFieldComponent;
7205
- exports.ɵg = CalendarFieldComponent;
7206
- exports.ɵh = ChipsFieldComponent;
7207
- exports.ɵi = CurrencyFieldComponent;
7208
- exports.ɵj = BaseFieldComponent;
7209
- exports.ɵk = DynamicFieldComponent;
7210
- exports.ɵl = DynamicFormDirective;
7211
- exports.ɵm = FieldsetComponent;
7212
- exports.ɵn = FileUploadComponent$1;
7213
- exports.ɵo = LookupFieldComponent;
7214
- exports.ɵp = NumberFieldComponent;
7215
- exports.ɵq = BignumberFieldComponent;
7216
- exports.ɵr = RadioButtonComponent;
7217
- exports.ɵs = RowComponent;
7218
- exports.ɵt = SectionComponent;
7219
- exports.ɵu = SelectFieldComponent;
7220
- exports.ɵv = TextAreaFieldComponent;
7221
- exports.ɵw = TextFieldComponent;
7222
- exports.ɵy = DecimalField;
7223
- exports.ɵz = StructureModule;
7298
+ exports.ɵb = LocalizedBignumberPipe;
7299
+ exports.ɵba = DecimalField;
7300
+ exports.ɵbb = StructureModule;
7301
+ exports.ɵbc = HeaderComponent;
7302
+ exports.ɵbd = FooterComponent;
7303
+ exports.ɵbe = InfoSignComponent;
7304
+ exports.ɵbf = NumberLocaleOptions;
7305
+ exports.ɵbg = ThumbnailService;
7306
+ exports.ɵbh = InfiniteScrollModule;
7307
+ exports.ɵbi = InfiniteScrollDirective;
7308
+ exports.ɵc = LocalizedBignumberImpurePipe;
7309
+ exports.ɵd = TokenListModule;
7310
+ exports.ɵe = TableColumnsComponent;
7311
+ exports.ɵf = InfoSignModule;
7312
+ exports.ɵg = AutocompleteFieldComponent;
7313
+ exports.ɵh = BooleanFieldComponent;
7314
+ exports.ɵi = CalendarFieldComponent;
7315
+ exports.ɵj = ChipsFieldComponent;
7316
+ exports.ɵk = CurrencyFieldComponent;
7317
+ exports.ɵl = BaseFieldComponent;
7318
+ exports.ɵm = DynamicFieldComponent;
7319
+ exports.ɵn = DynamicFormDirective;
7320
+ exports.ɵo = FieldsetComponent;
7321
+ exports.ɵp = FileUploadComponent$1;
7322
+ exports.ɵq = LookupFieldComponent;
7323
+ exports.ɵr = NumberFieldComponent;
7324
+ exports.ɵs = BignumberFieldComponent;
7325
+ exports.ɵt = RadioButtonComponent;
7326
+ exports.ɵu = RowComponent;
7327
+ exports.ɵv = SectionComponent;
7328
+ exports.ɵw = SelectFieldComponent;
7329
+ exports.ɵx = TextAreaFieldComponent;
7330
+ exports.ɵy = TextFieldComponent;
7224
7331
 
7225
7332
  Object.defineProperty(exports, '__esModule', { value: true });
7226
7333