@seniorsistemas/angular-components 14.9.9 → 14.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-angular-components.umd.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/esm2015/components/locale/pipes/localized-bignumber.pipe.js +2 -2
- package/esm5/components/locale/pipes/localized-bignumber.pipe.js +2 -2
- package/fesm2015/seniorsistemas-angular-components.js +1 -1
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +1 -1
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-angular-components.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.component.ts","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.module.ts","ng://@seniorsistemas/angular-components/components/button/button-priority.ts","ng://@seniorsistemas/angular-components/components/button/button-size.ts","ng://@seniorsistemas/angular-components/components/button/button.component.ts","ng://@seniorsistemas/angular-components/components/button/button.module.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.directive.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.module.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.component.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.module.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.component.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-size.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/autocomplete-field.ts","ng://@seniorsistemas/angular-components/components/locale/options/calendar.ts","ng://@seniorsistemas/angular-components/components/locale/options/number.ts","ng://@seniorsistemas/angular-components/components/locale/options/index.ts","ng://@seniorsistemas/angular-components/components/locale/locale.service.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-number.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/locale.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/bignumber-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/blob-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/boolean-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/calendar-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/chips-field.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.directive.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/number-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/decimal-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/currency-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/lookup-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/radio-button-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/select-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-area-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/form-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/lookup/lookup.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/grid.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/row.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/structure.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/fieldset.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/section.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-config.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.module.ts","ng://@seniorsistemas/angular-components/components/utils/breakpoints.ts","ng://@seniorsistemas/angular-components/components/utils/export-utils.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.module.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.component.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.directive.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.module.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.component.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.directive.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.module.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.directive.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.module.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.pipe.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.module.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/number-input.directive.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/number-input.module.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkbox.component.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkox.module.ts","ng://@seniorsistemas/angular-components/components/table/navigation/navigation.directive.ts","ng://@seniorsistemas/angular-components/components/table/row-toggler/row-toggler.directive.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-column-field-type.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-badge-colors.ts","ng://@seniorsistemas/angular-components/components/table/table-column/table-columns.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.module.ts","ng://@seniorsistemas/angular-components/components/table/table.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/boolean/boolean-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/calendar/calendar-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/chips/chips-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/base-field-component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/currency/currency-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/lookup/lookup-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/number/number-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/radio-button/radio-button-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/select/select-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text-area/text-area-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text/text-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/grid/row/row.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/fieldset/fieldset.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/section/section.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/bignumber/number-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.directive.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.module.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.service.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.component.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.module.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.directive.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.module.ts","ng://@seniorsistemas/angular-components/components/structure/header.component.ts","ng://@seniorsistemas/angular-components/components/structure/footer.component.ts","ng://@seniorsistemas/angular-components/components/structure/structure.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.component.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.service.ts","ng://@seniorsistemas/angular-components/components/mouse-events/long-press.directive.ts","ng://@seniorsistemas/angular-components/components/mouse-events/mouse-events.module.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail-size.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.service.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.component.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.module.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/field/object-card-field.component.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/main/object-card-main.component.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.component.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.module.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.component.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.module.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.component.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.module.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.component.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.module.ts","ng://@seniorsistemas/angular-components/components/steps/steps.component.ts","ng://@seniorsistemas/angular-components/components/steps/steps.module.ts","ng://@seniorsistemas/angular-components/components/tile/tile.component.ts","ng://@seniorsistemas/angular-components/components/tile/tile.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search-size.enum.ts","ng://@seniorsistemas/angular-components/components/global-search/elements/dropdown/global-search-dropdown-item.component.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.component.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.directive.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.module.ts","ng://@seniorsistemas/angular-components/angular-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET } from \"@angular/router\";\nimport { MenuItem } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { filter, takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: `s-breadcrumb`,\n templateUrl: `./breadcrumb.component.html`,\n})\nexport class BreadcrumbComponent implements OnDestroy {\n @Input() public homeUrl: string;\n public home: MenuItem;\n public items: MenuItem[];\n public title: string;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private activatedRoute: ActivatedRoute, private router: Router) {\n this.router.events\n .pipe(takeUntil(this.ngUnsubscribe), filter(event => event instanceof NavigationEnd))\n .subscribe(() => this.onNavigationEnd());\n }\n\n private onNavigationEnd() {\n const currentRoute = this.activatedRoute.root;\n const validRoutes: ActivatedRoute[] = this.getValidChildren(currentRoute);\n\n this.title = this.getCurrentTitle(validRoutes);\n this.home = this.getCurrentHome(validRoutes);\n this.items = this.getCurrentItems(validRoutes);\n }\n\n private getValidChildren(route: ActivatedRoute): ActivatedRoute[] {\n const valid = route.routeConfig && route.routeConfig.path && route.routeConfig.component && route.outlet === PRIMARY_OUTLET;\n return route.children.reduce((validRoutes, child) => [...validRoutes, ...this.getValidChildren(child)], valid ? [route] : []);\n }\n\n private getCurrentTitle(routes: ActivatedRoute[]) {\n const last = routes[routes.length - 1];\n if (last && last.routeConfig) return this.getTitle(last);\n }\n\n private getCurrentHome(routes: ActivatedRoute[]) {\n let home;\n\n if (this.homeUrl) home = { url: this.homeUrl, icon: \"fa fa-home\" };\n else if (routes.length) home = { ...this.getMenuItem(routes[0], routes.length === 1), icon: \"fa fa-home\" };\n\n return home;\n }\n\n private getCurrentItems(routes: ActivatedRoute[]) {\n if (!routes.length) return;\n const items = this.homeUrl ? routes : routes.slice(1);\n if (items.length) return items.map((route, i) => this.getMenuItem(route, i === routes.length - 1));\n }\n\n private getMenuItem(route: ActivatedRoute, disabled = false) {\n const label = this.getTitle(route);\n const routes = route.pathFromRoot;\n const routerLink = routes\n .slice(0, routes.indexOf(route) + 1)\n .reduce((result, item) => [...result, ...item.snapshot.url.map(url => url.path)], [\"/\"]);\n\n return {\n label,\n routerLink,\n queryParams: route.snapshot.queryParams,\n routerLinkActiveOptions: { exact: true },\n disabled,\n };\n }\n\n private getTitle(route: ActivatedRoute) {\n const { snapshot, routeConfig } = route;\n const title = snapshot.data.routeTitle;\n if (!title) throw new Error(`No routeTitle defined for the route /${routeConfig.path}`);\n return title;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BreadcrumbModule as PrimeBreadcrumbModule } from \"primeng/breadcrumb\";\n\nimport { BreadcrumbComponent } from \"./breadcrumb.component\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports: [CommonModule, PrimeBreadcrumbModule, RouterModule],\n declarations: [BreadcrumbComponent],\n exports: [BreadcrumbComponent, RouterModule],\n})\nexport class BreadcrumbModule {}\n","export enum ButtonPriority {\n Default = \"default\",\n Primary = \"primary\",\n Secondary = \"secondary\",\n Link = \"link\",\n}\n","export enum ButtonSize {\n Default = \"default\",\n Small = \"small\",\n}\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\nimport { TieredMenu } from \"primeng/tieredmenu\";\nimport { DomHandler } from \"primeng/dom\";\nimport { ButtonPriority } from \"./button-priority\";\nimport { ButtonSize } from \"./button-size\";\n\n@Component({\n selector: \"s-button\",\n templateUrl: \"./button.component.html\",\n styleUrls: [\"./button.component.scss\"],\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @HostBinding(\"style.min-width\")\n public minWidth = \"40px\";\n\n @Input()\n public id = `s-button-${ButtonComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public tooltip: string;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public rightIconClass: string;\n\n @Input()\n public caret = true;\n\n @Input()\n public styleClass: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public disabled = false;\n\n @Input()\n public auxiliary = false;\n\n @Input()\n public type = \"button\";\n\n @Input()\n public priority: ButtonPriority = ButtonPriority.Primary;\n\n @Input()\n public model: MenuItem[] = [];\n\n @Input()\n public size = ButtonSize.Default;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n\n public tooltipZIndex: number;\n\n @ViewChild(TieredMenu, { static: true })\n private menu: TieredMenu;\n\n public ngOnInit() {\n this.onClick.subscribe((event: any) => {\n if (!this.model || !this.model.length) return;\n\n this.menu.model = this.model;\n this.menu.toggle(event);\n });\n }\n\n public isOpen() {\n return this.model && this.model.length && this.menu.visible;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n const isMultiple = this.model && this.model.length;\n\n if (hasText || (hasIcon && isMultiple)) this.minWidth = \"80px\";\n if (hasText && hasIcon && isMultiple) this.minWidth = \"100px\";\n }\n\n public updateTooltipZIndex() {\n this.tooltipZIndex = this.baseZIndex + ++DomHandler.zindex;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\nimport { TieredMenuModule } from \"primeng/tieredmenu\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonComponent } from \"./button.component\";\n\n@NgModule({\n imports: [CommonModule, RouterModule, TieredMenuModule, TooltipModule],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule {}\n","import { AfterViewChecked, Directive, HostListener, Input, OnDestroy, OnInit, Renderer2 } from \"@angular/core\";\nimport { Calendar } from \"primeng/calendar\";\n\n@Directive({\n selector: \"p-calendar[sCalendarMask]\",\n})\nexport class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {\n\n SELECTORS = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n @Input()\n public slotChar = \"_\";\n\n @Input()\n public autoClear = false;\n\n public value: any;\n public input: HTMLInputElement;\n public filled: boolean;\n\n private _mask: string;\n private defs: any;\n private tests: any[];\n private partialPosition: any;\n private firstNonMaskPos: number;\n private lastRequiredNonMaskPos: any;\n private len: number;\n private oldVal: string;\n private buffer: any;\n private defaultBuffer: string;\n private focusText: string;\n private caretTimeoutId: any;\n private androidChrome: boolean;\n private firstTime = true;\n\n private focusListener: () => void;\n private blurListener: () => void;\n private keydownListener: () => void;\n private keypressListener: () => void;\n private inputListener: () => void;\n private pasteListener: () => void;\n\n constructor(public host: Calendar, public renderer: Renderer2) {}\n\n private setListeners() {\n this.input = this.host.inputfieldViewChild.nativeElement;\n this.value = this.input.value;\n\n this.focusListener = this.renderer.listen(this.input, \"focus\", () => {\n this.onInputFocus();\n });\n\n this.blurListener = this.renderer.listen(this.input, \"blur\", (event: any) => {\n this.onInputBlur(event);\n });\n\n this.keydownListener = this.renderer.listen(this.input, \"keydown\", (event: any) => {\n this.onKeyDown(event);\n });\n\n this.keypressListener = this.renderer.listen(this.input, \"keypress\", (event: any) => {\n this.onKeyPress(event);\n });\n\n this.inputListener = this.renderer.listen(this.input, \"input\", (event: any) => {\n this.onInputChange(event);\n });\n\n this.pasteListener = this.renderer.listen(this.input, \"paste\", (event: any) => {\n this.handleInputChange(event);\n });\n }\n\n public ngOnInit() {\n const ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n this.createMaskFromDateFormat();\n this.initMask();\n }\n\n get mask(): string {\n return this._mask;\n }\n\n set mask(val: string) {\n this._mask = val;\n\n this.initMask();\n this.writeValue(\"\");\n }\n\n public writeValue(value: any): void {\n this.value = value;\n\n if (this.input) {\n if (this.value == undefined) {\n this.input.value = \"\";\n } else {\n this.input.value = this.value;\n }\n\n this.checkVal();\n this.focusText = this.input.value;\n this.updateFilledState();\n }\n }\n\n public onInputBlur(e: any) {\n this.checkVal();\n this.updateFilledState();\n\n if (this.value != this.focusText) {\n if (\n !this.input.disabled &&\n (this.value === undefined || this.value === null || (this.value as string).indexOf(this.slotChar) >= 0)\n ) {\n this.value = \"\";\n e.target.value = \"\";\n this.host.updateModel(null);\n }\n\n this.updateModel(e);\n const event = document.createEvent(\"HTMLEvents\");\n event.initEvent(\"change\", true, false);\n this.input.dispatchEvent(event);\n }\n }\n\n public onKeyDown(e: any) {\n if (this.host.readonlyInput) {\n return;\n }\n\n const k = e.which || e.keyCode;\n const iPhone = /iphone/i.test(navigator.userAgent);\n let pos;\n let begin;\n let end;\n this.oldVal = this.input.value;\n\n // Backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModel(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // Enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // Escape\n this.input.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n e.preventDefault();\n }\n }\n\n public onKeyPress(e: any) {\n if (this.host.readonlyInput) return;\n\n const k = e.which || e.keyCode;\n const pos = this.caret();\n let p;\n let c;\n let next: any;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n // Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < this.len) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(navigator.userAgent)) {\n // Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n this.updateFilledState();\n }\n\n public checkVal(allow?: boolean) {\n // Try to place characters where they belong\n const test = this.input.value;\n let lastMatch = -1;\n let i: any;\n let c: any;\n let pos = 0;\n\n for (i = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join(\"\") === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.input.value) {\n this.input.value = \"\";\n }\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.input.value = this.input.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n }\n\n public onInputFocus() {\n if (this.host.readonlyInput) return;\n\n clearTimeout(this.caretTimeoutId);\n let pos: any;\n\n this.focusText = this.input.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.input !== document.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask.replace(\"?\", \"\").length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n }\n\n public onInputChange(event: any) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n }\n\n public handleInputChange(event: any) {\n if (this.host.readonlyInput) return;\n\n setTimeout(() => {\n const pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n }, 0);\n }\n\n public updateModel(e: any) {\n const updatedValue = e.target.value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.host.onUserInput(e);\n }\n }\n\n public updateFilledState() {\n this.filled = this.input && this.input.value != \"\";\n }\n\n public focus() {\n this.input.focus();\n }\n\n private initMask() {\n this.tests = [];\n this.partialPosition = this.mask.length;\n this.len = this.mask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n \"9\": \"[0-9]\",\n };\n\n const maskTokens = this.mask.split(\"\");\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c == \"?\") {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c != \"?\") {\n if (this.defs[c]) {\n this.buffer.push(this.getPlaceholder(i));\n } else {\n this.buffer.push(c);\n }\n }\n }\n\n this.defaultBuffer = this.buffer.join(\"\");\n }\n\n private caret(first?: number, last?: number) {\n let range, begin, end;\n\n if (!this.input.offsetParent || this.input !== document.activeElement) {\n return;\n }\n\n if (typeof first == \"number\") {\n begin = first;\n end = typeof last === \"number\" ? last : begin;\n\n if (this.input.setSelectionRange) {\n this.input.setSelectionRange(begin, end);\n } else if (this.input[\"createTextRange\"]) {\n range = this.input[\"createTextRange\"]();\n range.collapse(true);\n range.moveEnd(\"character\", end);\n range.moveStart(\"character\", begin);\n range.select();\n }\n } else {\n if (this.input.setSelectionRange) {\n begin = this.input.selectionStart;\n end = this.input.selectionEnd;\n } else if (document[\"selection\"] && document[\"selection\"].createRange) {\n range = document[\"selection\"].createRange();\n begin = 0 - range.duplicate().moveStart(\"character\", -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n private getPlaceholder(i: number) {\n if (i < this.slotChar.length) return this.slotChar.charAt(i);\n return this.slotChar.charAt(0);\n }\n\n private seekNext(pos: any) {\n while (++pos < this.len) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private seekPrev(pos: any) {\n while (--pos >= 0 && !this.tests[pos]) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private shiftL(begin: number, end: number) {\n let i: any;\n let j: any;\n\n if (begin < 0) {\n return;\n }\n\n j = this.seekNext(end);\n\n for (i = begin; i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else break;\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n }\n\n private shiftR(pos: any) {\n let i: any;\n let c = this.getPlaceholder(pos);\n let j: any;\n let t: any;\n\n for (i = pos; i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else break;\n }\n }\n }\n\n private handleAndroidInput(e: any) {\n const curVal = this.input.value;\n const pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // A deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) {\n pos.begin--;\n }\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) {\n pos.begin++;\n }\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n } else {\n this.checkVal(true);\n\n while (pos.begin < this.len && !this.tests[pos.begin]) {\n pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n }\n }\n\n private updateCalendarValue(sentVal: string) {\n // TODO verificar\n const dateVal = <Date>this.host.parseValueFromString(sentVal);\n if (this.host.isSelectable(dateVal.getDate(), dateVal.getMonth(), dateVal.getFullYear(), false)) {\n this.host.updateModel(sentVal);\n this.host.updateUI();\n }\n }\n\n private clearBuffer(start: any, end: any) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n\n private writeBuffer() {\n this.input.value = this.buffer.join(\"\");\n }\n\n private createMaskFromDateFormat() {\n const calendar = this.host;\n let mask = this.autoClear ? \"?\" : \"\";\n\n if (!calendar.timeOnly) {\n let dateFormat = calendar.dateFormat;\n dateFormat = dateFormat.replace(/y/g, \"yy\");\n mask += dateFormat.replace(/[^/*,.\\-+\\[\\]\\\\]/g, \"9\");\n if (calendar.showTime) {\n mask += \" \";\n }\n }\n\n if (calendar.showTime || calendar.timeOnly) {\n mask += \"99:99\";\n if (calendar.showSeconds) {\n mask += \":99\";\n }\n }\n\n this._mask = mask;\n\n this.initMask();\n }\n\n isCompleted(): boolean {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n ngAfterViewChecked(): void {\n if (this.host.inputfieldViewChild && this.firstTime) {\n this.firstTime = false;\n this.setListeners();\n this.input.type = \"tel\";\n }\n }\n\n ngOnDestroy(): void {\n if (this.focusListener) this.focusListener();\n if (this.blurListener) this.blurListener();\n if (this.keydownListener) this.keydownListener();\n if (this.keypressListener) this.keypressListener();\n if (this.inputListener) this.inputListener();\n if (this.pasteListener) this.pasteListener();\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n onKeydownEventTest(e: KeyboardEvent) {\n const { key } = e;\n if (key == \"Tab\") {\n // Este código foi implementado para corrigir um problema no componente na v9\n // Deve ser removido assim que atualizarmos o PrimeNG para a v10\n const allFocusableElements = document.querySelectorAll(this.SELECTORS);\n let nextIsFocusable = false;\n let previousFocusable: string;\n let forceCloseModal = true;\n allFocusableElements.forEach(element => {\n if (!e.shiftKey) {\n if (nextIsFocusable && element.id) {\n this.focusableElement(element.id, forceCloseModal);\n nextIsFocusable = false;\n e.preventDefault();\n return;\n }\n }\n\n let activeTagName = window.document.activeElement.tagName;\n if (e.shiftKey && element.id && element.tagName === \"INPUT\" && activeTagName == \"BUTTON\") {\n previousFocusable = element.id;\n forceCloseModal = false;\n }\n \n if (element.id === this.host.inputId) {\n if (previousFocusable) {\n this.focusableElement(previousFocusable, forceCloseModal);\n e.preventDefault();\n forceCloseModal = true;\n return;\n }\n nextIsFocusable = true;\n } else if (e.shiftKey && element.id) {\n previousFocusable = element.id;\n }\n });\n }\n }\n\n public focusableElement(id: string, hide: boolean) {\n const htmlElement = window.document.getElementById(id);\n htmlElement.focus();\n if(hide)\n this.host.hideOverlay();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CalendarMaskDirective } from \"./calendar-mask.directive\";\nimport { CommonModule } from \"@angular/common\";\n\n@NgModule({\n declarations: [CalendarMaskDirective],\n imports: [CommonModule],\n exports: [CalendarMaskDirective],\n})\nexport class CalendarMaskModule {}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\n\n@Component({\n selector: \"s-collapse-link\",\n templateUrl: \"./collapse-link.component.html\",\n styleUrls: [\"./collapse-link.component.scss\"],\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"void\",\n style({\n height: 0,\n opacity: 0,\n })\n ),\n state(\n \"*\",\n style({\n height: \"*\",\n opacity: 1,\n })\n ),\n transition(\"void <=> *\", animate(\"400ms cubic-bezier(0.86, 0, 0.07, 1)\")),\n ]),\n ],\n})\nexport class CollapseLinkComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public buttonId = `s-collapse-button-${CollapseLinkComponent.nextId++}`;\n @Input()\n public expandedLabel = \"Mostrar menos\";\n @Input()\n public collapsedLabel = \"Mostrar mais\";\n @Input()\n public disabled = false;\n @Input()\n public collapse = true;\n\n public collapsed = true;\n public animating: boolean;\n\n constructor() {}\n\n public ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.collapse) {\n this.onCollapse(changes.collapse.currentValue);\n }\n }\n\n public toggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n public onCollapse(collapse: boolean) {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = collapse;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { CollapseLinkComponent } from \"./collapse-link.component\";\n\n@NgModule({\n declarations: [CollapseLinkComponent],\n exports: [CollapseLinkComponent],\n imports: [CommonModule],\n})\nexport class CollapseLinkModule {}\n","import { AbstractControl } from \"@angular/forms\";\nimport { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-control-errors\",\n templateUrl: \"./control-errors.component.html\",\n styleUrls: [\"./control-errors.component.scss\"],\n})\nexport class ControlErrorsComponent {\n public static nextId = 0;\n\n @Input()\n id = `s-control-errors-${ControlErrorsComponent.nextId++}`;\n @Input()\n control: AbstractControl;\n @Input()\n errorMessages: any = {};\n @Input()\n form: any;\n\n getErrorMessagesList() {\n if (!this.control || !this.control.dirty) return [];\n return Object.keys(this.control.errors || {}).map(error => this.errorMessages[error]);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n declarations: [ControlErrorsComponent],\n exports: [ControlErrorsComponent],\n})\nexport class ControlErrorsModule {}\n","export enum FieldType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Boolean = \"Boolean\",\n Chips = \"Chips\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n /**\n * @deprecated Should use 'Number' instead\n */\n Double = \"Double\",\n Enum = \"Enum\",\n Blob = \"Blob\",\n /**\n * @deprecated Should use 'Number' instead\n */\n Integer = \"Integer\",\n Lookup = \"Lookup\",\n /**\n * @deprecated Should use 'Number' instead\n */\n Money = \"Money\",\n Radio = \"Radio\",\n String = \"String\",\n Text = \"Text\",\n Time = \"Time\",\n Number = \"Number\"\n}\n","export class FieldSize {\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n\n constructor({ sm = 12, md = 6, lg = 6, xl = 6 }: FieldSize) {\n this.sm = sm;\n this.md = md;\n this.lg = lg;\n this.xl = xl;\n }\n}\n","import { FieldSize } from \"../field-size\";\nimport { FieldType } from \"../field-type\";\n\nexport interface FieldConfig {\n defaultValue?: any;\n required?: () => boolean;\n visible?: () => boolean;\n id?: string;\n name: string;\n label: string;\n infoSign?: string;\n tooltip?: string;\n placeholder?: string;\n showClear?: boolean;\n type?: FieldType;\n size?: FieldSize;\n errorMessages?: () => ({}) | {};\n}\n\nexport abstract class Field {\n public required?: () => boolean;\n public visible?: () => boolean;\n public id?: string;\n public name: string;\n public label: string;\n public infoSign?: string;\n public tooltip?: string;\n public placeholder?: string;\n public showClear?: boolean;\n public type: FieldType;\n public size: FieldSize;\n public gridClass: string[];\n public defaultValue?: any;\n public errorMessages?: () => ({}) | {};\n\n constructor(config: FieldConfig) {\n this.required = config.required || (() => false);\n this.visible = config.visible || (() => true);\n this.id = config.id;\n this.name = config.name;\n this.label = config.label;\n this.infoSign = config.infoSign;\n this.tooltip = config.tooltip;\n this.placeholder = config.placeholder || \"\";\n this.showClear = config.showClear || false;\n this.type = config.type;\n this.size = new FieldSize(config.size || {});\n this.errorMessages = config.errorMessages;\n this.gridClass = Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);\n this.defaultValue = config.defaultValue;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface AutocompleteFieldConfig extends FieldConfig {\n dataKey?: string;\n displayField?: string;\n multiple?: boolean;\n appendTo?: string;\n emptyMessage?: string;\n suggestionsObservable: Observable<any>;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onSearch: (value: string) => void;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class AutocompleteField extends Field {\n public dataKey: string;\n public displayField?: string;\n public multiple?: boolean;\n public appendTo?: string;\n public emptyMessage?: string;\n public suggestionsObservable: Observable<any>;\n public suggestions: any[] = [];\n\n public onSelect?: (event: any) => void;\n public onUnselect?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onSearch: (value: string) => void;\n public onBlur?: (event: FocusEvent) => void;\n\n constructor(config: AutocompleteFieldConfig) {\n super({ ...config, type: FieldType.Autocomplete } as AutocompleteFieldConfig);\n Object.assign(this, config);\n this.suggestionsObservable.subscribe(suggestions => (this.suggestions = suggestions));\n }\n}\n","export interface ICalendarLocaleOptions {\n hourFormat?: string;\n dateFormat?: string;\n firstDayOfWeek?: number;\n today?: string;\n clear?: string;\n dayNames?: string[];\n dayNamesShort?: string[];\n dayNamesMin?: string[];\n monthNamesShort?: string[];\n monthNames?: string[];\n}\n\nexport class CalendarLocaleOptions implements ICalendarLocaleOptions {\n public hourFormat = \"24\";\n public dateFormat = \"dd/mm/yy\";\n public firstDayOfWeek = 0;\n public today = \"Hoje\";\n public clear = \"Limpar\";\n public dayNames: string[] = [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"];\n public dayNamesShort: string[] = [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sab\"];\n public dayNamesMin: string[] = [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"];\n public monthNamesShort: string[] = [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dec\"];\n public monthNames: string[] = [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\",\n ];\n\n constructor(config: ICalendarLocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n","export interface INumberLocaleOptions {\n thousandsSeparator?: string;\n decimalSeparator?: string;\n currencySymbol?: string;\n}\n\nexport class NumberLocaleOptions implements INumberLocaleOptions {\n public thousandsSeparator = \".\";\n public decimalSeparator = \",\";\n public currencySymbol = \"R$\";\n\n constructor(config: INumberLocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n","import { CalendarLocaleOptions } from \"./calendar\";\nimport { NumberLocaleOptions } from \"./number\";\n\nexport interface ILocaleOptions {\n calendar?: CalendarLocaleOptions;\n number?: NumberLocaleOptions;\n}\n\nexport class LocaleOptions implements ILocaleOptions {\n calendar = new CalendarLocaleOptions();\n number = new NumberLocaleOptions();\n\n constructor(config: ILocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n\nexport const DEFAULT_CALENDAR_LOCALE_OPTIONS = new CalendarLocaleOptions();\nexport const DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();\nexport const DEFAULT_LOCALE_OPTIONS = new LocaleOptions();\n\nexport * from \"./calendar\";\nexport * from \"./number\";\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { user } from \"@seniorsistemas/senior-platform-data\";\nimport * as moment_ from \"moment\";\nimport { from, Observable, of } from \"rxjs\";\nimport { catchError, map, switchMap, tap } from \"rxjs/operators\";\nimport { ILocaleOptions, LocaleOptions } from \"./options/index\";\nimport { CookieService } from 'ngx-cookie-service';\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Injectable()\nexport class LocaleService {\n private locale: string;\n private localeOptions: LocaleOptions;\n private localeOptionsAddress = \"https://cdn.senior.com.br/primeng/locales\";\n private localeOptionsVersion = \"3.0.0\";\n\n constructor(\n private http: HttpClient,\n private cookieService: CookieService\n ) { }\n\n get(): Observable<LocaleOptions> {\n return this.localeOptions\n ? of(this.localeOptions)\n : this.getLocaleConfig().pipe(tap((localeOptions: LocaleOptions) => (this.localeOptions = localeOptions)));\n }\n\n getLocale(): Observable<string> {\n return this.locale\n ? of(this.locale)\n : from(this.getUserData()).pipe(\n map((userData: any) => {\n this.locale = <string>userData.locale || <string>userData.tenantLocale || \"pt-BR\";\n return this.locale;\n })\n );\n }\n\n private getUserData() {\n try {\n return of(JSON.parse(this.cookieService.get('com.senior.token')));\n } catch (ex) {\n console.warn('Unable to obtain user locale from cookie, calling getUser');\n return user.getUserData();\n }\n }\n\n private getLocaleConfig(): Observable<LocaleOptions> {\n return this.getLocale().pipe(\n switchMap((locale: string) => {\n moment.locale(locale);\n\n return this.http\n .get<ILocaleOptions>(`${this.localeOptionsAddress}/${this.localeOptionsVersion}/${locale}.json`)\n .pipe(map(response => new LocaleOptions(response)));\n }),\n catchError((err: any) => {\n console.warn(`Error getting locale configuration. Using fallback.`, err);\n return of(new LocaleOptions());\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { applyMask, MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\n\n@Pipe({\n name: \"localizedBignumber\",\n})\nexport class LocalizedBignumberPipe implements PipeTransform {\n constructor(\n private localeService: LocaleService\n ) {}\n\n public transform(value?: any, options?: MaskConfig): any {\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value?: any, options?: MaskConfig) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const configs: MaskConfig = {\n prefix: options.prefix ?? localeConfig?.number?.currencySymbol ?? \"R$\",\n thousandsSeparator: options?.thousandsSeparator ?? localeConfig?.number?.thousandsSeparator ?? \".\",\n decimalSeparator: options?.decimalSeparator ?? localeConfig?.number?.decimalSeparator ?? \",\",\n scale: options?.scale ?? 2\n };\n const isNumber = !(new BigNumber(value).isNaN());\n return applyMask(value, configs, isNumber);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { LocalizedBignumberPipe } from \"./localized-bignumber.pipe\";\n\n@Pipe({\n name: \"localizedBignumberImpure\",\n pure: false,\n})\nexport class LocalizedBignumberImpurePipe extends LocalizedBignumberPipe implements PipeTransform {\n public transform(value?: any, options?: MaskConfig): any {\n return super.transform(value, options);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { INumberLocaleOptions, NumberLocaleOptions } from \"../options\";\n\nexport interface ILocalizedCurrencyPipeOptions extends INumberLocaleOptions {\n scale?: number;\n}\n\nexport class LocalizedCurrencyPipeOptions extends NumberLocaleOptions implements ILocalizedCurrencyPipeOptions {\n public scale = 2;\n\n constructor(config: ILocalizedCurrencyPipeOptions = {}) {\n super(config);\n }\n}\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrency\",\n})\nexport class LocalizedCurrencyPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value?: any, options?: LocalizedCurrencyPipeOptions): any {\n if (!options) {\n options = new LocalizedCurrencyPipeOptions();\n }\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value: any, options: LocalizedCurrencyPipeOptions) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const config = { ...localeConfig.number, ...options };\n const { scale, currencySymbol, thousandsSeparator, decimalSeparator } = config;\n\n const rawValue = Number(value).toFixed(scale);\n const onlyNumbers = rawValue.replace(/[^0-9]/g, ``);\n const integerPart =\n onlyNumbers\n .slice(0, onlyNumbers.length - scale)\n .replace(/^0*/g, ``)\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) || `0`;\n const decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);\n const newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;\n const isZero = !Number(onlyNumbers);\n const operator = rawValue.includes(\"-\") && !isZero ? \"-\" : \"\";\n return `${operator}${currencySymbol}${newValue}`;\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions } from \"./localized-currency.pipe\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrencyImpure\",\n pure: false,\n})\nexport class LocalizedCurrencyImpurePipe extends LocalizedCurrencyPipe implements PipeTransform {\n public transform(value?: any, options: LocalizedCurrencyPipeOptions = new LocalizedCurrencyPipeOptions()): any {\n return super.transform(value, options);\n }\n}\n","import * as moment_ from \"moment\";\nimport { Pipe, PipeTransform } from \"@angular/core\";\n\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedDate\",\n})\nexport class LocalizedDatePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"L LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value).format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedDatePipe } from \"./localized-date.pipe\";\n\n@Pipe({\n name: \"localizedDateImpure\",\n pure: false,\n})\nexport class LocalizedDateImpurePipe extends LocalizedDatePipe implements PipeTransform {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { from } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale.service\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({ name: \"localizedNumber\" })\nexport class LocalizedNumberPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n transform(value: number | string, minimumFractionDigits?: number) {\n return from(this.localeService.getLocale()).pipe(\n map((locale: string) => {\n const numericValue = Number(value);\n\n if (!value && isNaN(numericValue)) return;\n\n return new Intl.NumberFormat(locale, {\n minimumFractionDigits: minimumFractionDigits || 0,\n }).format(Number(value));\n })\n );\n }\n}\n\nexport interface Locale {\n localidade?: string;\n tenantLocale?: string;\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport * as moment_ from \"moment\";\nimport { map } from \"rxjs/operators\";\n\nimport { LocaleService } from \"../locale.service\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedTime\",\n})\nexport class LocalizedTimePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value, \"HH:mm:ss\").format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedTimePipe } from \"./localized-time.pipe\";\n\n@Pipe({\n name: \"localizedTimeImpure\",\n pure: false,\n})\nexport class LocalizedTimeImpurePipe extends LocalizedTimePipe implements PipeTransform {}\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders } from \"@angular/compiler/src/core\";\nimport { NgModule } from \"@angular/core\";\nimport { LocaleService } from \"./locale.service\";\nimport { LocalizedBignumberImpurePipe } from \"./pipes/localized-bignumber-impure.pipe\";\nimport { LocalizedBignumberPipe } from \"./pipes/localized-bignumber.pipe\";\nimport { LocalizedCurrencyImpurePipe } from \"./pipes/localized-currency-impure.pipe\";\nimport { LocalizedCurrencyPipe } from \"./pipes/localized-currency.pipe\";\nimport { LocalizedDateImpurePipe } from \"./pipes/localized-date-impure.pipe\";\nimport { LocalizedDatePipe } from \"./pipes/localized-date.pipe\";\nimport { LocalizedNumberPipe } from \"./pipes/localized-number.pipe\";\nimport { LocalizedTimeImpurePipe } from \"./pipes/localized-time-impure.pipe\";\nimport { LocalizedTimePipe } from \"./pipes/localized-time.pipe\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe\n ],\n declarations: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe\n ],\n})\nexport class LocaleModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n providers: [\n LocaleService,\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe\n ],\n };\n }\n\n public static forChild(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n };\n }\n}\n","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { DEFAULT_NUMBER_LOCALE_OPTIONS, NumberLocaleOptions } from \"../../../locale/index\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BignumberFieldConfig extends FieldConfig {\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class BignumberField extends Field {\n public numberLocaleOptions: NumberLocaleOptions;\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: AlignmentOptions;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(config: BignumberFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.scale = config.scale ?? 2;\n this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { ElementRef } from \"@angular/core\";\nimport { FileDto } from \"../../../file-upload/index\";\nimport { FormField } from \"./../../configurations/form-field\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BlobFieldConfig extends FieldConfig {\n accept: string;\n files: FileDto[];\n chooseLabel: string;\n removeLabel: string;\n cancelLabel: string;\n successTooltip: string;\n multiple: boolean;\n onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n onRemoveFile: (event: FileDto, field: FormField) => void;\n onCancelUpload: (event: number, field: FormField) => void;\n onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n}\n\nexport class BlobField extends Field {\n public accept: string;\n public files: FileDto[];\n public chooseLabel: string;\n public removeLabel: string;\n public cancelLabel: string;\n public successTooltip: string;\n public multiple: boolean;\n public onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n public onRemoveFile: (event: FileDto, field: FormField) => void;\n public onCancelUpload: (event: number, field: FormField) => void;\n public onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n\n constructor(config: BlobFieldConfig) {\n super(config);\n this.accept = config.accept;\n this.files = config.files || [];\n this.chooseLabel = config.chooseLabel;\n this.removeLabel = config.removeLabel;\n this.cancelLabel = config.cancelLabel;\n this.successTooltip = config.successTooltip;\n this.multiple = config.multiple;\n this.onUploadFile = config.onUploadFile;\n this.onRemoveFile = config.onRemoveFile;\n this.onCancelUpload = config.onCancelUpload;\n this.onDownloadFile = config.onDownloadFile;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface BooleanOptionsLabelConfig {\n true: string;\n false: string;\n empty?: string;\n}\n\nexport class BooleanOptionsLabel {\n public true: string;\n public false: string;\n public empty?: string;\n\n constructor(config: BooleanOptionsLabelConfig) {\n this.true = config.true;\n this.false = config.false;\n this.empty = config.empty;\n }\n}\n\nexport interface BooleanFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n optionsLabel: BooleanOptionsLabel;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class BooleanField extends Field {\n public verticalAlignment?: boolean;\n public optionsLabel: BooleanOptionsLabel;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: BooleanFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n","import { CalendarLocaleOptions, DEFAULT_CALENDAR_LOCALE_OPTIONS } from \"../../../locale/index\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface CalendarFieldConfig extends FieldConfig {\n view?: string;\n minDate?: Date;\n maxDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n calendarLocaleOptions?: CalendarLocaleOptions;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: string;\n rangeSeparator?: string;\n}\n\nexport class CalendarField extends Field {\n public view?: string;\n public appendTo: string;\n public minDate?: Date;\n public maxDate?: Date;\n public calendarLocaleOptions: CalendarLocaleOptions;\n public showOnFocus?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: string;\n public rangeSeparator?: string;\n\n constructor(config: CalendarFieldConfig) {\n super(config);\n this.view = config.view || \"date\";\n this.minDate = config.minDate;\n this.maxDate = config.maxDate;\n this.appendTo = config.appendTo;\n this.showOnFocus = typeof config.showOnFocus === \"boolean\" ? config.showOnFocus : true;\n this.calendarLocaleOptions = config.calendarLocaleOptions || DEFAULT_CALENDAR_LOCALE_OPTIONS;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onSelect = config.onSelect;\n this.onInput = config.onInput;\n this.onClose = config.onClose;\n this.onTodayClick = config.onTodayClick;\n this.onClearClick = config.onClearClick;\n this.onMonthChange = config.onMonthChange;\n this.onYearChange = config.onYearChange;\n this.selectionMode = config.selectionMode || \"single\";\n this.rangeSeparator = config.rangeSeparator || \"-\";\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface ChipsFieldConfig extends FieldConfig {\n onAdd: (event: any) => void;\n onRemove: (event: any) => void;\n onChipClick: (event: any) => void;\n onFocus: (event: any) => void;\n onBlur: (event: any) => void;\n}\n\nexport class ChipsField extends Field {\n public onAdd: (event: any) => void;\n public onRemove: (event: any) => void;\n public onChipClick: (event: any) => void;\n public onFocus: (event: any) => void;\n public onBlur: (event: any) => void;\n\n constructor(config: ChipsFieldConfig) {\n super(config);\n this.onAdd = config.onAdd;\n this.onRemove = config.onRemove;\n this.onChipClick = config.onChipClick;\n this.onFocus = config.onFocus;\n this.onBlur = config.onBlur;\n }\n}\n","import { Directive, forwardRef, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { CurrencyMaskDirective } from \"ng2-currency-mask\";\n\n/**\n * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead\n */\nexport enum NumberAlignmentOption {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\n/**\n * @deprecated Should use BigNumberInput directive instead\n */\n@Directive({\n selector: \"input[sNumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class NumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator = \",\";\n\n @Input()\n public thousandsSeparator = \".\";\n\n @Input()\n public alignTo = NumberAlignmentOption.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n private regex: RegExp = /\\d/;\n\n public ngOnInit() {\n this.updateVariables();\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimal: this.decimalSeparator,\n thousands: this.thousandsSeparator,\n precision: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator.length;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this.maxLength = maxLength;\n }\n\n /**\n * Prevents the default CurrencyMask behavior when typed a incorrect value.\n * By default the CurrencyMask inputs the mask value to the component value when typed a incorrect value.\n */\n public handleKeypress(event: KeyboardEvent): void {\n const negativeOperator = \"-\";\n const { key } = event;\n\n if (\n this.thousandsSeparator.includes(key) ||\n this.decimalSeparator.includes(key) ||\n negativeOperator.includes(key) ||\n this.regex.test(key) ||\n \"Enter\".toUpperCase() === key.toUpperCase()\n )\n super.handleKeypress(event);\n else event.preventDefault();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { NumberInputDirective } from \"./number-input.directive\";\n\n/**\n * @deprecated Should use 'BignumberInputModule' instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [NumberInputDirective],\n exports: [NumberInputDirective],\n})\nexport class NumberInputModule {}\n","import { DEFAULT_NUMBER_LOCALE_OPTIONS, NumberLocaleOptions } from \"../../../locale/index\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\n\n/**\n * @deprecated Should use BignumberFieldConfig instead\n */\nexport interface NumberFieldConfig extends FieldConfig {\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n alignTo?: NumberAlignmentOption;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class NumberField extends Field {\n public numberLocaleOptions: NumberLocaleOptions;\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public alignTo: NumberAlignmentOption;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(config: NumberFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.alignTo = config.alignTo || NumberAlignmentOption.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { DEFAULT_NUMBER_LOCALE_OPTIONS } from \"../../../locale/index\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { NumberField, NumberFieldConfig } from \"./number-field\";\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport interface DecimalFieldConfig extends NumberFieldConfig {\n scale?: Function | number;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class DecimalField extends NumberField implements DecimalFieldConfig {\n public scale?: Function | number;\n\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n this.alignTo = config.alignTo || NumberAlignmentOption.RIGHT;\n this.scale = config.scale || config.scale === 0 ? config.scale : 2;\n }\n}\n","import { DEFAULT_NUMBER_LOCALE_OPTIONS } from \"../../../locale/index\";\nimport { DecimalField, DecimalFieldConfig } from \"./decimal-field\";\n\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class CurrencyField extends DecimalField {\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface LookupFieldConfig extends FieldConfig {\n multiple?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions: any[];\n suggestionsObservable: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterLabel?: string;\n filterTitle?: string;\n clearLabel?: string;\n cancelLabel?: string;\n selectLabel?: string;\n emptyMessage?: string;\n recordLabel?: string;\n recordsLabel?: string;\n appendTo?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class LookupField extends Field {\n public multiple = false;\n public searchFields: any[];\n public searchGridFields: any[];\n public lookupSuggestions: any[];\n public suggestionsObservable: Observable<any[]>;\n public searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n public dataKey: string;\n public lookupDisplayField: string;\n public searchTitle = \"Pesquisa avançada\";\n public searchEmptyTitle = \"Nenhum registro encontrado\";\n public filterLabel = \"Filtrar\";\n public filterTitle = \"Filtros\";\n public clearLabel = \"Limpar\";\n public cancelLabel = \"Cancelar\";\n public selectLabel = \"Selecionar\";\n public recordLabel = \" registro\";\n public recordsLabel = \" registros\";\n public emptyMessage: string;\n public appendTo?: string;\n public onLookupRequest: (query: string) => void;\n public onSearchRequest: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n\n private _gridData: any[];\n private _searchTotalRecords: number;\n private _searchTotalRecordsLabel: string;\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(config: LookupFieldConfig) {\n super({ ...config, type: FieldType.Lookup } as LookupFieldConfig);\n Object.assign(this, config);\n\n this.suggestionsObservable.subscribe(suggestions => (this.lookupSuggestions = suggestions));\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel;\n });\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface RadioButtonFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n options: RationButtonOption[];\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class RadioButtonField extends Field {\n public verticalAlignment?: boolean;\n public options: RationButtonOption[];\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: RadioButtonFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.options = config.options;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n\nexport class RationButtonOption {\n label: string;\n value?: any;\n\n constructor(config: RationButtonOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface SelectFieldConfig extends FieldConfig {\n appendTo?: string;\n optionLabel?: string;\n dataKey?: string;\n autoDisplayFirst?: boolean;\n options: () => SelectOption[] | any[];\n multiple?: boolean;\n multipleSelectedLabel?: string;\n onClick?: (event: any) => void;\n onChange?: (event: any) => void;\n}\n\nexport class SelectField extends Field {\n public appendTo?: string;\n public optionLabel?: string;\n public dataKey?: string;\n public autoDisplayFirst?: boolean;\n public options: () => SelectOption[] | any[];\n public multiple?: boolean;\n public multipleSelectedLabel?: string;\n public onClick?: (event: any) => void;\n public onChange?: (event: any) => void;\n\n constructor(config: SelectFieldConfig) {\n super(config);\n this.appendTo = config.appendTo;\n this.dataKey = config.dataKey;\n this.optionLabel = config.optionLabel;\n this.autoDisplayFirst = config.autoDisplayFirst;\n this.options = config.options;\n this.multiple = config.multiple;\n this.multipleSelectedLabel = config.multipleSelectedLabel || \"{0} registros selecionados\";\n this.onClick = config.onClick;\n this.onChange = config.onChange;\n }\n}\n\nexport class SelectOption {\n label: string;\n value?: any;\n\n constructor(config: SelectOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface TextAreaFieldConfig extends FieldConfig {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n style?: { [klass: string]: any };\n}\n\nexport class TextAreaField extends Field {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public style?: { [klass: string]: any };\n\n constructor(config: TextAreaFieldConfig) {\n super(config);\n this.cols = config.cols;\n this.rows = config.rows;\n this.keyFilter = config.keyFilter;\n this.style = config.style;\n }\n}\n","import { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface TextFieldConfig extends FieldConfig {\n mask?: () => string | any;\n inputType?: string;\n keyFilter?: any;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n maxLength?: string | number;\n browserAutocomplete?: boolean;\n style?: { [klass: string]: any };\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class TextField extends Field {\n public mask?: () => string | any;\n public inputType?: string;\n public keyFilter?: any;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public maxLength?: string | number;\n public browserAutocomplete?: boolean;\n public style?: { [klass: string]: any };\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: any) => void;\n\n constructor(config: TextFieldConfig) {\n super(config);\n this.mask = config.mask;\n this.inputType = config.inputType;\n this.keyFilter = config.keyFilter;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.maxLength = config.maxLength || 9999999;\n this.browserAutocomplete = config.browserAutocomplete;\n this.style = config.style;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { FileDto } from \"../../file-upload/index\";\nimport { CalendarLocaleOptions, NumberLocaleOptions } from \"../../locale/index\";\nimport { NumberAlignmentOption } from \"../../number-input\";\nimport { AddonConfig } from \"./addon-config\";\nimport { FieldSize } from \"./field-size\";\nimport { FieldType } from \"./field-type\";\nimport { AutocompleteField } from \"./fields/autocomplete-field\";\nimport { BignumberField } from \"./fields/bignumber-field\";\nimport { BlobField } from \"./fields/blob-field\";\nimport { BooleanField, BooleanOptionsLabel } from \"./fields/boolean-field\";\nimport { CalendarField } from \"./fields/calendar-field\";\nimport { ChipsField } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField } from \"./fields/decimal-field\";\nimport { LookupField } from \"./fields/lookup-field\";\nimport { NumberField } from \"./fields/number-field\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField } from \"./fields/select-field\";\nimport { TextAreaField } from \"./fields/text-area-field\";\nimport { TextField } from \"./fields/text-field\";\n\nexport class FormField {\n id?: string;\n /**\n * Tells whether the field is required or not\n */\n required?: () => boolean;\n name?: string;\n sortableColumnName?: string;\n type?: FieldType;\n label?: string;\n /**\n * Labels of a Radio Button, only used to FieldType Boolean\n */\n optionsLabel?: BooleanOptionsLabel;\n tooltip?: string;\n /**\n * Mask pattern.\n */\n mask?: () => string | string;\n /**\n * Message to display when there are no results for a query.\n */\n emptyMessage?: string;\n cols?: number;\n rows?: number;\n placeholder?: string;\n options?: any;\n calendarLocaleOptions?: CalendarLocaleOptions;\n numberLocaleOptions?: NumberLocaleOptions;\n multiple?: boolean;\n appendTo?: string;\n browserAutocomplete?: boolean;\n showClear?: boolean;\n showOnFocus?: boolean;\n style?: { [klass: string]: any };\n /**\n * Whether the `RadioButton` should be displayed on the vertical or not.\n *\n * @default false\n */\n verticalAlignment?: boolean;\n /**\n * Field max length\n */\n precision?: Function | number;\n /**\n * Number of decimal places\n */\n scale?: Function | number;\n /**\n * @deprecated Using FieldType.Number this attribute is unnecessary\n */\n alignTo?: NumberAlignmentOption | AlignmentOptions;\n gridClass?:\n | string\n | string[]\n | Set<string>\n | {\n [klass: string]: any;\n };\n size?: FieldSize;\n multipleSelectedLabel?: string;\n inputType?: string;\n accept?: string;\n files?: FileDto[];\n /**\n * The minimum selectable date.\n */\n minDate?: Date;\n /**\n * The maximum selectable date.\n */\n maxDate?: Date;\n /**\n * Text or icon to be grouped in the left of an input.\n */\n leftAddon?: AddonConfig;\n /**\n * Text or icon to be grouped in right of an input.\n */\n rightAddon?: AddonConfig;\n /**\n * InfoSign para a label do input.\n */\n infoSign?: string;\n /**\n * Expression to restricts user input\n */\n keyFilter?: any;\n\n /**\n * Default value for field\n */\n defaultValue?: any;\n /**\n * Customized FormField error message\n */\n errorMessages?: () => ({}) | {};\n visible?: () => boolean;\n /**\n * Callback to invoke when the field loses focus\n */\n onBlur?: (event: FocusEvent) => void;\n /**\n * Callback to invoke when the field receives focus\n */\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: any) => void;\n onChange?: (event: boolean) => void;\n onSelect?: (event: any) => void;\n /**\n * Callback to invoke on component click.\n */\n onClick?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n /**\n * Callback to invoke when a value is added.\n */\n onAdd?: (event: any) => void;\n /**\n * Callback to invoke when a value is removed.\n */\n onRemove?: (event: any) => void;\n /**\n * Callback to invoke when a chip is clicked.\n */\n onChipClick?: (event: any) => void;\n\n constructor(config: any) {\n switch (config.type) {\n case FieldType.Enum:\n return new SelectField(config);\n case FieldType.Autocomplete:\n return new AutocompleteField(config);\n case FieldType.Money:\n return new CurrencyField(config);\n case FieldType.Integer:\n return new NumberField(config);\n case FieldType.Double:\n return new DecimalField(config);\n case FieldType.Number:\n return new BignumberField(config);\n case FieldType.String:\n case FieldType.Binary:\n return new TextField(config);\n case FieldType.Text:\n return new TextAreaField(config);\n case FieldType.Boolean:\n return new BooleanField(config);\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.Time:\n return new CalendarField(config);\n case FieldType.Lookup:\n return new LookupField(config);\n case FieldType.Radio:\n return new RadioButtonField(config);\n case FieldType.Chips:\n return new ChipsField(config);\n case FieldType.Blob:\n return new BlobField(config);\n }\n }\n}\n\nexport class Option {\n label: string;\n value?: any;\n\n constructor(label: string, value: any) {\n this.label = label;\n this.value = value;\n }\n}\n","import { animate, animateChild, group, query, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { BignumberFieldConfig } from \"../../configurations/fields/bignumber-field\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { Hotkey, HotkeysService } from \"angular2-hotkeys\";\nimport BigNumber from \"bignumber.js\";\nimport { SortMeta } from \"primeng/api\";\nimport { AutoComplete } from \"primeng/autocomplete\";\nimport { Dialog } from \"primeng/dialog\";\nimport { Table } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { BooleanOptionsLabel } from \"../../configurations/fields/boolean-field\";\nimport { FormField } from \"../../configurations/form-field\";\nimport { FieldType } from \"../..\";\n\n@Component({\n selector: \"s-lookup\",\n templateUrl: \"./lookup.component.html\",\n styleUrls: [\"./lookup.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LookupComponent),\n multi: true,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"hidden\",\n style({\n width: \"10px\",\n padding: 0,\n })\n ),\n state(\n \"visible\",\n style({\n width: \"*\",\n })\n ),\n transition(\"visible <=> hidden\", [group([query(\"@childCollapseContent\", animateChild()), animate(\"{{transitionParams}}\")])]),\n ]),\n trigger(\"childCollapseContent\", [\n state(\n \":leave\",\n style({\n opacity: 0,\n })\n ),\n state(\n \":enter\",\n style({\n opacity: 1,\n })\n ),\n transition(\"* <=> *\", animate(\"{{transitionParams}}\")),\n ]),\n ],\n})\nexport class LookupComponent implements ControlValueAccessor, OnChanges, OnInit, AfterViewInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public formControlName: string;\n\n @Input()\n public id = `s-lookup-${LookupComponent.nextId++}`;\n\n @Input()\n public multiple: boolean;\n\n @Input()\n public dataKey: string;\n\n @Input()\n public required: boolean;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showSearch = true;\n\n @Input()\n public lookupSuggestions: any[];\n\n @Input()\n public lookupDisplayField: string;\n\n @Input()\n public lookupDisplayFieldTooltip: boolean;\n\n @Input()\n public lookupEmptyMessage: string;\n\n @Input()\n public lookupAppendTo = \"body\";\n\n @Input()\n public searchTitle = \"Pesquisa avançada\";\n\n @Input()\n public searchEmptyTitle = \"Nenhum registro encontrado\";\n\n @Input()\n public searchEmptyDescription: string;\n\n @Input()\n public searchGridData: any[];\n\n @Input()\n public searchTotalRecords: number;\n\n @Input()\n public searchFields: FormField[] = [];\n\n @Input()\n public searchGridFields: FormField[];\n\n @Input()\n public multiSortMeta: SortMeta[];\n\n @Input()\n public filterTitle = \"Filtros\";\n\n @Input()\n public filterLabel = \"Filtrar\";\n\n @Input()\n public clearLabel = \"Limpar\";\n\n @Input()\n public cancelLabel = \"Cancelar\";\n\n @Input()\n public selectLabel = \"Selecionar\";\n\n @Input()\n public emptyFieldLabel = \"Não informado\";\n\n @Input()\n public recordLabel = \" registro\";\n\n @Input()\n public recordsLabel = \" registros\";\n\n @Input()\n public placeholder: string;\n\n @Input()\n public searchTotalRecordsLabel: string;\n\n @Input()\n public sortableColumnsDisabled: string[];\n\n @Input()\n public lookupRowProps: string[];\n\n @Output()\n public onLookupRequest: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onSearchRequest: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onKeyUp: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onClear: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(Table, { static: false })\n public table: Table;\n\n @ViewChild(Dialog, { static: false })\n public dialog: Dialog;\n\n @ViewChild(AutoComplete, { static: false })\n public autocomplete: AutoComplete;\n\n public value: any;\n public loading: boolean;\n public animating: boolean;\n public dialogVisible = false;\n public collapsed = false;\n public selected: any[] = [];\n public formGroupDialog: FormGroup;\n public transitionOptions = \"400ms cubic-bezier(0.86, 0, 0.07, 1)\";\n\n private onChange: Function;\n private onTouched: Function;\n private ngUnsubscribe = new Subject();\n private originalFormValues = {};\n\n constructor(private hotkeysService: HotkeysService) {}\n\n public ngOnInit() {\n this.searchFields = this.searchFields.map(\n (value: FormField) => new FormField({ ...value, size: { sm: 12, md: 12, lg: 12, xl: 12 } })\n );\n\n this.searchGridFields = (this.searchGridFields || this.searchFields).map((gridField: FormField) => {\n gridField[\"width\"] = this.getColWidth(gridField.label);\n\n const calendarOptions = gridField.calendarLocaleOptions;\n\n if (calendarOptions?.dateFormat) {\n switch (gridField.type) {\n case FieldType.Date:\n calendarOptions.dateFormat = this._convertToMomentDateFormat(calendarOptions.dateFormat);\n break;\n case FieldType.Time:\n calendarOptions.dateFormat = this._convertToMomentHourFormat(\n calendarOptions.hourFormat,\n calendarOptions.dateFormat\n );\n break;\n }\n }\n\n return gridField;\n });\n\n const formGroup = this.searchFields.reduce((result: any, field) => {\n result[field.name] = new FormControl(field.defaultValue);\n this.originalFormValues[field.name] = field.defaultValue;\n return result;\n }, {});\n\n this.formGroupDialog = new FormGroup(formGroup);\n\n this.onSearchRequest.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => (this.loading = true));\n this.onSelect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n this.onUnselect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n this.onClear.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => !this.multiple && this.onChange());\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.onTouched();\n });\n this.onBlur.pipe(takeUntil(this.ngUnsubscribe)).subscribe(event => {\n const currentValue = this.value && this.value[this.lookupDisplayField];\n const { value } = event.target;\n\n if (this.multiple || !currentValue || currentValue == value) return;\n\n const newValue = \"\";\n event.target.value = newValue;\n this.onChange(newValue);\n });\n }\n\n private _convertToMomentHourFormat(hourFormat: string, format: string) {\n if (format === \"dd/mm/yy\") { // valor padrão para o format.\n return \"LTS\";\n }\n\n if (hourFormat === \"12\") {\n return format\n .replace(/\\bH\\b/, \"h\") // hour (12 hour time) (no leading zero)\n .replace(/\\bHH\\b/, \"hh\"); // hour (12 hour time)\n }\n\n if (hourFormat === \"24\") {\n return format\n .replace(/\\bh\\b/, \"H\") // hour (24 hour time) (no leading zero)\n .replace(/\\bhh\\b/, \"HH\"); // hour (24 hour time)\n }\n\n return format;\n }\n\n private _convertToMomentDateFormat(format: string): string {\n // A ordem dos replaces é importante.\n return format\n .replace(/\\bd\\b/, \"D\") // day of month (no leading zero)\n .replace(/\\bdd\\b/, \"DD\") // day of month\n .replace(/\\bo\\b/, \"DDD\") // day of the year (no leading zero)\n .replace(/\\boo\\b/, \"DDDD\") // day of the year\n .replace(/\\bM\\b/, \"MMM\") // month name short\n .replace(/\\bMM\\b/, \"MMMM\") // month name long\n .replace(/\\bm\\b/, \"M\") // month of year (no leading)\n .replace(/\\bmm\\b/, \"MM\") // month of year\n .replace(/\\by\\b/, \"YY\") // year (two digits)\n .replace(/\\byy\\b/, \"YYYY\"); // year (four digits)\n }\n\n public ngAfterViewInit() {\n this.autocomplete.onOverlayAnimationDone = ( event ) => { };\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (this.dialogVisible && changes.searchGridData) this.loading = false;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public getGridData() {\n return this.searchGridData;\n }\n\n public getLookupSuggestions() {\n return this.lookupSuggestions;\n }\n\n public lazyLoadGrid(event: any) {\n // Ao definir uma ordenação na tabela do lookup esse método é chamado 2 vezes https://github.com/primefaces/primeng/issues/5480\n const filters = this.formGroupDialog.getRawValue();\n const params = { ...event, filterData: filters };\n const { multiSortMeta } = event;\n this.multiSortMeta = multiSortMeta || this.multiSortMeta;\n this.onSearchRequest.next(params);\n }\n\n public lazyLoadLookup(event: any) {\n this.onLookupRequest.next(event.query);\n }\n\n public showDialog() {\n this.searchGridData = undefined;\n this.onTouched();\n this.hotkeysService.pause([...this.hotkeysService.hotkeys]);\n this.setHotkeys();\n\n let selected: any = [];\n if (this.multiple && this.value) selected = selected.concat(this.value);\n else if (this.value) selected = [this.value];\n this.selected = selected;\n\n this.loading = true;\n this.dialogVisible = true;\n }\n\n public hideDialog() {\n const { inputEL, multiInputEL } = this.autocomplete;\n this.dialogVisible = false;\n this.collapsed = false;\n this.hotkeysService.unpause([...this.hotkeysService.pausedHotkeys]);\n\n if (this.multiple) multiInputEL.nativeElement.focus();\n else inputEL.nativeElement.focus();\n }\n\n public search() {\n this.table.reset();\n this.collapsed = true;\n this.dialog.moveOnTop();\n }\n\n public clear() {\n this.formGroupDialog.reset(this.originalFormValues);\n this.table.reset();\n }\n\n public select() {\n if (!this.selected.length) return;\n\n const selected = this.selected && (this.multiple ? this.selected : this.selected[0]);\n this.value = selected;\n this.onSelect.next(selected);\n this.hideDialog();\n }\n\n public onSelectionChange(selected: any) {\n if (!selected) return;\n if (Array.isArray(selected)) this.selected = selected;\n else this.selected = [selected];\n }\n\n public registerOnChange(fn: Function) {\n this.onChange = (val: any) => {\n this.writeValue(val);\n fn(val);\n };\n }\n\n public registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n public writeValue(value: any) {\n this.value = value;\n }\n\n public setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n\n public getFieldValue(obj: any, path: string) {\n return path.split(\".\").reduce((result, prop) => (result[prop] === undefined ? \"\" : result[prop]), obj);\n }\n\n public getLabelForValue(value: any, options: { label: string; value: any }[]) {\n if (!options) return value;\n const option = options.find(opt => opt.value === value);\n return option ? option.label : value;\n }\n\n public isBooleanValue(obj: any, path: string) {\n const value = this.getFieldValue(obj, path);\n if (value === true || value === false) return true;\n else return false;\n }\n\n public getBooleanLabel(obj: any, path: string, optionsLabel: BooleanOptionsLabel) {\n const value = this.getFieldValue(obj, path);\n if (value === true) return optionsLabel.true;\n else if (value === false) return optionsLabel.false;\n else return this.emptyFieldLabel;\n }\n\n public isNumber(obj: any, path: string) {\n return !(new BigNumber(this.getFieldValue(obj, path)).isNaN());\n }\n\n public setHotkeys() {\n const clearHotkey = this.newHotkey(\"alt+shift+l\", this.clear.bind(this));\n const findHotkey = this.newHotkey(\"alt+shift+f\", this.search.bind(this));\n const hideHotkey = this.newHotkey(\"alt+shift+c\", this.hideDialog.bind(this));\n const selectHotkey = this.newHotkey(\"alt+shift+s\", this.select.bind(this));\n\n const bindedHotkeys = [clearHotkey, findHotkey, hideHotkey, selectHotkey];\n bindedHotkeys.forEach((hotkey: Hotkey) => this.hotkeysService.add(hotkey));\n }\n\n private newHotkey(combo: string, fn: Function): Hotkey {\n return new Hotkey(\n combo,\n () => {\n fn();\n return false;\n },\n [\"INPUT\", \"SELECT\", \"TEXTAREA\"]\n );\n }\n\n public filterToggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n /**\n * Calculate the table column size. The minimum value is 14.286em, which is equals to 200px duo to the current font size.\n * @param label Column name.\n */\n public getColWidth(label: string) {\n const size = label.length;\n if (size < 14.286) return `14.286em`;\n return `${size}em`;\n }\n\n public getScale(scale: any): number {\n return this.isFunction(scale) ? scale() : scale;\n }\n\n private isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public getNumberMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: col.numberLocaleOptions?.currencySymbol\n };\n }\n}\n","export enum DynamicType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Boolean = \"Boolean\",\n Chips = \"Chips\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n Enum = \"Enum\",\n Fieldset = \"Fieldset\",\n Integer = \"Integer\",\n Lookup = \"Lookup\",\n Money = \"Money\",\n Radio = \"Radio\",\n Row = \"Row\",\n Section = \"Section\",\n String = \"String\",\n Text = \"Text\",\n Time = \"Time\",\n Number = \"Number\"\n}\n","import { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\n\nexport interface GridConfig {\n fields?: FormField[];\n type: GridType;\n}\n\nexport class Grid {\n public fields: FormField[];\n public type: GridType;\n\n constructor(config: GridConfig) {\n Object.assign(this, { ...config });\n }\n}\n","import { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\nimport { Grid, GridConfig } from \"./grid\";\n\nexport class Row extends Grid {\n public fields: FormField[];\n public type: GridType;\n\n constructor(config: GridConfig) {\n super(config);\n }\n}\n","import { Grid } from \"../grid/grid\";\nimport { StructureType } from \"../structure-type\";\n\nexport interface StructureConfig {\n header: string;\n configs?: Grid[];\n type: StructureType;\n}\n\nexport abstract class Structure {\n public header: string;\n public configs?: Grid[];\n public type: StructureType;\n\n constructor(config: StructureConfig) {\n Object.assign(this, { ...config });\n }\n}\n","import { Structure, StructureConfig } from \"./structure\";\n\nexport interface FieldsetConfig extends StructureConfig {\n beforeToggle?: (event: any) => void;\n afterToggle?: (event: any) => void;\n}\n\nexport class Fieldset extends Structure {\n public beforeToggle?: (event: any) => void;\n public afterToggle?: (event: any) => void;\n\n constructor(config: FieldsetConfig) {\n super(config);\n Object.assign(this, { ...config });\n }\n}\n","import { Structure, StructureConfig } from \"./structure\";\n\nexport class Section extends Structure {\n constructor(config: StructureConfig) {\n super(config);\n }\n}\n","import { DynamicType } from \"./dynamic-type\";\nimport { AutocompleteField, AutocompleteFieldConfig } from \"./fields/autocomplete-field\";\nimport { BignumberField, BignumberFieldConfig } from \"./fields/bignumber-field\";\nimport { BooleanField, BooleanFieldConfig } from \"./fields/boolean-field\";\nimport { CalendarField, CalendarFieldConfig } from \"./fields/calendar-field\";\nimport { ChipsField, ChipsFieldConfig } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField, DecimalFieldConfig } from \"./fields/decimal-field\";\nimport { LookupField, LookupFieldConfig } from \"./fields/lookup-field\";\nimport { NumberField, NumberFieldConfig } from \"./fields/number-field\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField, SelectFieldConfig } from \"./fields/select-field\";\nimport { TextAreaField, TextAreaFieldConfig } from \"./fields/text-area-field\";\nimport { TextField, TextFieldConfig } from \"./fields/text-field\";\nimport { Row } from \"./grid/row\";\nimport { Fieldset, FieldsetConfig } from \"./structure/fieldset\";\nimport { Section } from \"./structure/section\";\nimport { StructureConfig } from \"./structure/structure\";\n\nexport class DynamicConfig {\n constructor(config: any) {\n const { type } = config;\n switch (type) {\n case DynamicType.Autocomplete:\n return new AutocompleteField(config as AutocompleteFieldConfig);\n case DynamicType.Binary:\n case DynamicType.String:\n return new TextField(config as TextFieldConfig);\n case DynamicType.Boolean:\n return new BooleanField(config as BooleanFieldConfig);\n case DynamicType.Chips:\n return new ChipsField(config as ChipsFieldConfig);\n case DynamicType.Date:\n case DynamicType.DateTime:\n case DynamicType.Time:\n return new CalendarField(config as CalendarFieldConfig);\n case DynamicType.Double:\n return new DecimalField(config as DecimalFieldConfig);\n case DynamicType.Enum:\n return new SelectField(config as SelectFieldConfig);\n case DynamicType.Fieldset:\n return new Fieldset(config as FieldsetConfig);\n case DynamicType.Integer:\n return new NumberField(config as NumberFieldConfig);\n case DynamicType.Number:\n return new BignumberField(config as BignumberFieldConfig);\n case DynamicType.Lookup:\n return new LookupField(config as LookupFieldConfig);\n case DynamicType.Money:\n return new CurrencyField(config as DecimalFieldConfig);\n case DynamicType.Radio:\n return new RadioButtonField(config);\n case DynamicType.Row:\n return new Row(config);\n case DynamicType.Section:\n return new Section(config as StructureConfig);\n case DynamicType.Text:\n return new TextAreaField(config as TextAreaFieldConfig);\n }\n }\n}\n","import { Component, Input, ViewEncapsulation, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { DynamicConfig } from \"./configurations/dynamic-config\";\nimport { FormField } from \"./configurations/form-field\";\n\n@Component({\n selector: \"s-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"dynamic-form.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DynamicFormComponent {\n @Input()\n public id: string;\n @Input()\n public configs: DynamicConfig[];\n @Input()\n public fields: FormField[]; // @TODO deve-se remover em uma vesão de quebra. O default deve ser configs.\n @Input()\n public form: FormGroup;\n @Input()\n public errorMessages?: any = {};\n}\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\n@Component({\n selector: `s-empty-state`,\n templateUrl: `./empty-state.component.html`,\n styleUrls: [\"./empty-state.component.css\"],\n})\nexport class EmptyStateComponent {\n public static nextId = 0;\n\n @Input() id = `s-empty-state-${EmptyStateComponent.nextId++}`;\n @Input() iconClass = \"fa fa-inbox\";\n @Input() title: string;\n @Input() description?: string;\n @Input() showPrimaryAction = true;\n @Input() showSecondaryAction = true;\n @Input() primaryActionLabel?: string;\n @Input() secondaryActionLabel?: string;\n @Input() primaryModel?: MenuItem[] = [];\n\n @Output() primaryAction = new EventEmitter();\n @Output() secondaryAction = new EventEmitter();\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ButtonModule } from \"../button/index\";\nimport { EmptyStateComponent } from \"./empty-state.component\";\n\n@NgModule({\n imports: [CommonModule, ButtonModule],\n declarations: [EmptyStateComponent],\n exports: [EmptyStateComponent],\n})\nexport class EmptyStateModule {}\n","export const Breakpoints = {\n SM_MIN: 0,\n SM_MAX: 767,\n MD_MIN: 768,\n MD_MAX: 991,\n LG_MIN: 992,\n LG_MAX: 1199,\n XL_MIN: 1200,\n XL_MAX: Infinity,\n};\n","import { ElementRef } from \"@angular/core\";\n\nexport class ExportUtils {\n constructor() {\n throw new Error(\"Classe não deve ser instanciada.\");\n }\n\n public static addClass(element: ElementRef, className: string) {\n element.nativeElement.className = `${element.nativeElement.className} ${className}`;\n }\n\n public static removeClass(element: ElementRef, className: string) {\n if (element.nativeElement.className.includes(className)) {\n element.nativeElement.className = element.nativeElement.className.replace(className, \"\");\n }\n }\n\n public static exportCSV(\n columns: Partial<any>[] = [],\n data: any[] = [],\n csvSeparator: string = \";\",\n documentName: string = \"download\"\n ) {\n let csv = \"\\ufeff\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n csv += `\"${column.header || column.field}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n\n data.forEach((record: any) => {\n csv += \"\\n\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n let cellData = this.resolveFieldData(record, column.field);\n\n if (cellData != null) cellData = String(cellData).replace(/\"/g, `\"\"`);\n else cellData = \"\";\n\n csv += `\"${cellData}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n });\n\n const blob = new Blob([csv], {\n type: \"text/csv;charset=utf-8;\",\n });\n\n if (window.navigator.msSaveOrOpenBlob) navigator.msSaveOrOpenBlob(blob, documentName + \".csv\");\n else {\n const link = document.createElement(\"a\");\n link.style.display = \"none\";\n document.body.appendChild(link);\n if (link.download !== undefined) {\n link.setAttribute(\"href\", URL.createObjectURL(blob));\n link.setAttribute(\"download\", documentName + \".csv\");\n link.click();\n } else {\n csv = \"data:text/csv;charset=utf-8,\" + csv;\n window.open(encodeURI(csv));\n }\n document.body.removeChild(link);\n }\n }\n\n private static resolveFieldData(data: any, field: any): any {\n if (data && field) {\n if (this.isFunction(field)) return field(data);\n else if (field.indexOf(\".\") == -1) return data[field];\n else {\n const fields: string[] = field.split(\".\");\n let value = data;\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[fields[i]];\n }\n return value;\n }\n } else return null;\n }\n\n private static isFunction(obj: any) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\nimport { Subject } from \"rxjs\";\nimport { Breakpoints } from \"../utils\";\n\nexport interface FileDto extends File {\n objectId?: string;\n version?: string;\n objectURL?: string | SafeUrl;\n isUploading?: boolean;\n savedFile?: boolean;\n progress?: number;\n error?: HttpErrorResponse;\n}\n\nexport enum ValidateErrors {\n MAX_FILE_SIZE = \"MAX_FILE_SIZE\",\n MAX_FILE_LIMIT = \"MAX_FILE_LIMIT\",\n}\n\n@Component({\n selector: \"s-file-upload\",\n templateUrl: \"./file-upload.component.html\",\n styleUrls: [\"./file-upload.component.scss\"],\n})\nexport class FileUploadComponent implements OnInit, OnDestroy, AfterContentInit {\n public static nextId = 0;\n\n @ViewChild(\"inputUpload\", { static: false })\n private inputUpload: ElementRef;\n @ViewChild(\"anchor\", { static: false })\n private anchor: ElementRef;\n @Input()\n public id = `s-file-upload-${FileUploadComponent.nextId++}`;\n @Input()\n public chooseLabel = \"Anexar arquivos\";\n @Input()\n public removeLabel = \"Remover\";\n @Input()\n public cancelLabel = \"Cancelar\";\n @Input()\n public successTooltip = \"Arquivo anexado com sucesso\";\n @Input()\n public multiple: boolean;\n @Input()\n public accept: string;\n @Input()\n public ariaLabelFileName: string;\n @Input()\n public maxFileSize: number;\n @Input()\n public fileLimit: number;\n @Input()\n public ariaLabelProgress = \"Carregando arquivo\";\n @Input()\n public ariaLabelSuccess: string;\n @Input()\n public ariaLabelError: string;\n @Input()\n public ariaLabelRemove: string;\n\n @Output()\n public uploadHandler: EventEmitter<{ files: FileDto[] }> = new EventEmitter();\n @Output()\n public removeFile: EventEmitter<{ file: File }> = new EventEmitter();\n @Output()\n public cancelUpload: EventEmitter<number> = new EventEmitter();\n @Output()\n public downloadFile: EventEmitter<{ index: number; anchor: ElementRef }> = new EventEmitter();\n @Output()\n public validateErros: EventEmitter<ValidateErrors> = new EventEmitter();\n\n public uploadedFileCount = 0;\n public isSmallDevice: boolean;\n private _files: FileDto[] = [];\n private ngUsubscribe: Subject<void> = new Subject();\n\n constructor(private sanitizer: DomSanitizer) {}\n\n public ngOnInit() {}\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public update() {\n const windowWidth = window.innerWidth;\n this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;\n }\n\n public onFileSelect(files: FileDto[]): void {\n const previousFiles = [ ...this.files ];\n if (!this.multiple) {\n this.files = [];\n }\n\n if (this.fileLimit) {\n this.uploadedFileCount += files.length;\n if (this.isFileLimitExceeded()) {\n this.uploadedFileCount -= this.files.length;\n this.validateErros.emit(ValidateErrors.MAX_FILE_LIMIT);\n return;\n }\n }\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (this.isFileSizeExceeded(file)) {\n this.validateErros.emit(ValidateErrors.MAX_FILE_SIZE);\n this.files = previousFiles;\n return;\n } else {\n this.files.push(file);\n }\n }\n\n if (this.hasFiles()) {\n this.uploadHandler.emit({ files: this.files });\n this.inputUpload.nativeElement.value = \"\";\n }\n }\n\n public onRemoveFile(event: Event, file: FileDto): void {\n this.files.splice(this.files.indexOf(file), 1);\n this.uploadedFileCount -= 1;\n this.removeFile.emit({ file });\n event.preventDefault();\n }\n\n public onCancelUpload(event: Event, index: number) {\n this.uploadedFileCount -= 1;\n this.files.splice(index, 1);\n this.cancelUpload.emit(index);\n event.preventDefault();\n }\n\n public onDowloadFile(event: Event, index: number) {\n this.downloadFile.emit({ index, anchor: this.anchor });\n event.preventDefault();\n }\n\n private hasFiles(): boolean {\n return this.files && this.files.length > 0;\n }\n\n @Input()\n public set files(files: FileDto[]) {\n this._files = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n this._files.push(files[i]);\n }\n }\n\n public get files(): FileDto[] {\n return this._files;\n }\n\n public getFileSize(size: number) {\n return (size / 1024).toFixed(2);\n }\n\n public isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n public defaltCatchError(err: HttpErrorResponse, index: number) {\n this.files[index].error = err;\n this.files[index].isUploading = false;\n throw new Error(\"error in upload file. Details: \" + err.message);\n }\n\n public isFileLimitExceeded() {\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n }\n\n public isFileSizeExceeded(file: File): boolean {\n return this.maxFileSize && file.size > this.maxFileSize;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ProgressBarModule } from \"primeng/progressbar\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { ButtonModule } from \"./../button/button.module\";\nimport { FileUploadComponent } from \"./file-upload.component\";\n\n@NgModule({\n declarations: [FileUploadComponent],\n imports: [CommonModule, ButtonModule, TooltipModule, ProgressBarModule],\n exports: [FileUploadComponent],\n})\nexport class FileUploadModule {}\n","import { Component, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"s-info-sign-component\",\n templateUrl: \"./info-sign.component.html\",\n})\nexport class InfoSignComponent {\n templateRef: TemplateRef<any>;\n tooltip: string;\n\n constructor() {}\n}\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { InfoSignComponent } from \"./info-sign.component\";\n\n@Directive({\n selector: \"[sInfoSign]\",\n})\nexport class InfoSignDirective implements OnInit, OnDestroy {\n @Input()\n sInfoSign: string;\n private componentRef: ComponentRef<any>;\n\n constructor(\n private readonly templateRef: TemplateRef<any>,\n private readonly viewContainer: ViewContainerRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n ngOnInit(): void {\n if (!this.componentRef && this.sInfoSign) {\n this.viewContainer.clear();\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(InfoSignComponent);\n this.componentRef = this.viewContainer.createComponent(componentFactory);\n\n this.componentRef.instance.templateRef = this.templateRef;\n this.componentRef.instance.tooltip = this.sInfoSign;\n } else if (this.componentRef && this.sInfoSign) {\n this.componentRef.instance.tooltip = this.sInfoSign;\n } else {\n this.viewContainer.clear();\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n }\n\n ngOnDestroy(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { InfoSignComponent } from \"./info-sign.component\";\nimport { InfoSignDirective } from \"./info-sign.directive\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\n@NgModule({\n imports: [TooltipModule, CommonModule],\n declarations: [InfoSignDirective, InfoSignComponent],\n exports: [InfoSignDirective],\n entryComponents: [InfoSignComponent],\n})\nexport class InfoSignModule {}\n","import { Component, Input, OnDestroy, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"s-loading-state\",\n templateUrl: \"./loading-state.component.html\",\n styleUrls: [\"./loading-state.component.scss\"],\n})\nexport class LoadingStateComponent implements OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n @Input()\n public blockWindow: boolean;\n\n @Input()\n public set loading(loading: boolean) {\n this._loading = loading;\n\n if (loading) this.block();\n else this.unblock();\n }\n\n public get loading() {\n return this._loading;\n }\n\n public contents: TemplateRef<any>;\n public blocking: boolean;\n\n private _loading: boolean;\n private BLOCK_TIMEOUT_VALUE = 300;\n private UNBLOCK_TIMEOUT_VALUE = 200;\n private blockTimeoutId: any;\n private unblockTimeoutId: any;\n\n public block() {\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n this.unblockTimeoutId = undefined;\n }\n\n if (!this.blockTimeoutId) {\n this.blockTimeoutId = setTimeout(() => {\n this.blocking = true;\n this.blockTimeoutId = undefined;\n }, this.BLOCK_TIMEOUT_VALUE);\n }\n }\n\n public unblock() {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n this.blockTimeoutId = undefined;\n }\n\n if (!this.unblockTimeoutId) {\n this.unblockTimeoutId = setTimeout(() => {\n this.blocking = false;\n this.unblockTimeoutId = undefined;\n }, this.UNBLOCK_TIMEOUT_VALUE);\n }\n }\n\n public ngOnDestroy() {\n if (this.blockTimeoutId) clearTimeout(this.blockTimeoutId);\n if (this.unblockTimeoutId) clearTimeout(this.unblockTimeoutId);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\nimport { LoadingStateComponent } from \"./loading-state.component\";\n\n@Directive({\n selector: \"[sLoadingState]\",\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n @Input()\n public set sLoadingState(active: boolean) {\n this._loading = active;\n if (this.loaderComponent) this.loaderComponent.instance.loading = active;\n }\n\n public get sLoadingState() {\n return this._loading;\n }\n\n private _loading = false;\n private loaderComponent: ComponentRef<LoadingStateComponent>;\n\n constructor(\n private target: ViewContainerRef,\n private template: TemplateRef<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private cdr: ChangeDetectorRef\n ) {}\n\n public ngAfterViewInit() {\n this.createComponent();\n }\n\n private createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n this.loaderComponent = this.target.createComponent(factory);\n this.loaderComponent.instance.contents = this.template;\n this.loaderComponent.instance.loading = this.sLoadingState;\n this.cdr.detectChanges();\n }\n\n public ngOnDestroy() {\n this.loaderComponent.destroy();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { LoadingStateComponent } from \"./loading-state.component\";\nimport { LoadingStateDirective } from \"./loading-state.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LoadingStateComponent, LoadingStateDirective],\n exports: [LoadingStateComponent, LoadingStateDirective],\n entryComponents: [LoadingStateComponent],\n})\nexport class LoadingStateModule {}\n","import { Directive, forwardRef, Input, OnInit } from \"@angular/core\";\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from \"@angular/forms\";\n\n@Directive({\n selector: \"input[sLocalizedNumberInput]\",\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => LocalizedNumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class LocalizedNumberInputDirective implements OnInit, Validator {\n @Input()\n public decimalSeparator = \",\";\n @Input()\n public thousandsSeparator = \".\";\n @Input()\n public precision = 2;\n private numberRegex: string;\n\n constructor() {}\n\n ngOnInit() {\n // Gera a expressão regular para validar números de acordo com os separadores decimais e de milhares.\n // Exemplo: /^(\\+?)(\\-?)([0-9]{0,3})*((\\,[0-9]{3,3})|((\\,[0-9]{3,3})+(\\,[0-9]{3,3}))|((\\,[0-9]{3,3})+(\\.[0-9]{1,10})))?$/g\n // tslint:disable-next-line: max-line-length\n this.numberRegex = `^((\\\\+?)|(-?))([0-9]{1,3})+((\\\\${this.thousandsSeparator}[0-9]{3,3})|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.thousandsSeparator}[0-9]{3,3}))|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.decimalSeparator}[0-9]{1,2}))|(\\\\${this.decimalSeparator}[0-9]{1,${this.precision}}))?$`;\n }\n\n validate(control: AbstractControl): ValidationErrors {\n if (control.value && !String(control.value).match(new RegExp(this.numberRegex, \"g\"))) return { invalidNumber: true };\n return null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LocalizedNumberInputDirective } from \"./localized-number-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LocalizedNumberInputDirective],\n exports: [LocalizedNumberInputDirective],\n})\nexport class LocalizedNumberInputModule {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"sMaskFormatter\",\n})\nexport class MaskFormatterPipe implements PipeTransform {\n private defs = {\n \"9\": \"[0-9]\",\n a: \"[A-Za-z]\",\n \"*\": \"[A-Za-z]|[0-9]\",\n };\n\n transform(value: string, maskFormat: string): any {\n const buffer = [];\n let opcionalPos;\n let pos = 0;\n const maskTokens = maskFormat.split(\"\");\n const symbolsPosAfterOpcional = [];\n const hasOpcional = maskFormat.includes(\"?\");\n\n for (let i = 0; i < maskTokens.length; i++) {\n const token = maskTokens[i];\n\n if (token != \"?\") {\n if (this.defs[token]) {\n const tokenRegex = this.defs[token];\n const charAtPos = value.charAt(pos);\n const isValidChar = new RegExp(tokenRegex).test(charAtPos);\n if (isValidChar) {\n if (pos < maskTokens.length) {\n buffer.push(value.charAt(pos));\n pos++;\n }\n } else {\n throw new Error(\"Value doesn't match mask format\");\n }\n } else {\n buffer.push(token);\n if (hasOpcional && i > opcionalPos) {\n symbolsPosAfterOpcional.push(i);\n }\n }\n } else {\n opcionalPos = i;\n }\n }\n\n if (buffer[buffer.length - 1] !== value.charAt(value.length - 1) && symbolsPosAfterOpcional.length) {\n let formattedValue = buffer.join(\"\");\n let beforeSymbol;\n let symbol;\n let firstAfterSymbol;\n let endOfString;\n\n for (let i = 0; i < symbolsPosAfterOpcional.length; i++) {\n const symbolPos = symbolsPosAfterOpcional[i];\n beforeSymbol = formattedValue.substr(0, symbolPos - 1);\n symbol = formattedValue.substr(symbolPos - 1, 1);\n firstAfterSymbol = formattedValue.substr(symbolPos, 1);\n endOfString = formattedValue.substr(symbolPos + 1);\n\n formattedValue = `${beforeSymbol}${firstAfterSymbol}${symbol}${endOfString}`;\n }\n return `${formattedValue}${value.substr(value.length - symbolsPosAfterOpcional.length)}`;\n }\n\n return buffer.join(\"\");\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { MaskFormatterPipe } from \"./mask-formatter.pipe\";\n\n@NgModule({\n exports: [MaskFormatterPipe],\n declarations: [MaskFormatterPipe],\n})\nexport class MaskFormatterModule {}\n","import { Directive, forwardRef, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { AlignmentOptions, CurrencyMaskDirective } from \"@seniorsistemas/ng2-currency-mask\";\n\n@Directive({\n selector: \"input[sBignumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BignumberInputDirective),\n multi: true,\n },\n ],\n})\n\nexport class BignumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator = \",\";\n\n @Input()\n public thousandsSeparator = \".\";\n\n @Input()\n public alignTo = AlignmentOptions.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n public ngOnInit() {\n this.updateVariables();\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimalSeparator: this.decimalSeparator,\n thousandsSeparator: this.thousandsSeparator,\n scale: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator.length;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this.maxLength = maxLength;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { BignumberInputDirective } from \"./number-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BignumberInputDirective],\n exports: [BignumberInputDirective],\n})\nexport class BignumberInputModule {}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Table, TableService } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"s-table-header-checkbox\",\n template: `\n <div class=\"ui-chkbox ui-widget\" (click)=\"onClick()\">\n <div class=\"ui-helper-hidden-accessible\">\n <input type=\"checkbox\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\">\n </div>\n <div [ngClass]=\"{'ui-chkbox-box ui-widget ui-state-default':true,\n 'ui-state-active':checked, 'ui-state-disabled': isDisabled(), 'ui-state-focus': hasFocus}\">\n <span [id]=\"id\" class=\"ui-chkbox-icon ui-clickable\" [ngClass]=\"{'pi pi-check':checked}\"></span>\n </div>\n </div>\n `,\n})\nexport class TableHeaderCheckboxComponent implements OnInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `s-table-header-checkbox-${TableHeaderCheckboxComponent.nextId++}`;\n @Input()\n public disabled: boolean;\n @Input()\n public rowProps: string[];\n @Input()\n public useAllObject: boolean;\n\n public checked: boolean;\n public hasFocus: boolean;\n\n private ngUnsubscribe = new Subject();\n\n constructor(public table: Table, public tableService: TableService) {\n this.table.tableService.valueSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n\n this.table.tableService.selectionSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n }\n\n public ngOnInit() {\n this.checked = this.updateCheckedState();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n }\n\n public onFocus() {\n this.hasFocus = true;\n }\n\n public onBlur() {\n this.hasFocus = false;\n }\n\n isDisabled() {\n return this.disabled || !this.table.value || !this.table.value.length;\n }\n\n onClick() {\n if (!this.disabled) {\n if (this.table.value && this.table.value.length > 0) this.onToggleCheckbox(!this.checked);\n }\n }\n\n public updateCheckedState() {\n if (this.table.filteredValue) {\n const val = this.table.filteredValue;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllFilteredValuesChecked();\n } else {\n const val = this.table.value;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllValuesChecked();\n }\n }\n\n public onToggleCheckbox(checked: boolean) {\n const { filteredValue, value, dataKey } = this.table;\n const gridData = checked ? (filteredValue ? filteredValue.slice() : value.slice()) : [];\n\n if (checked) {\n const unselecteds = gridData\n .filter(record => !this.table._selection.find((selected: any) => record[dataKey] === selected[dataKey]))\n .map((record: any) => {\n if (this.useAllObject) return record;\n\n const newRecord = {};\n if (this.rowProps) this.rowProps.forEach((prop: string) => (newRecord[prop] = record[prop]));\n else newRecord[dataKey] = record[dataKey];\n return newRecord;\n });\n this.table._selection = [...this.table._selection, ...unselecteds];\n } else {\n value.forEach((data: any) => {\n this.table._selection = this.table._selection.filter((record: any) => record[dataKey] !== data[dataKey]);\n });\n }\n\n this.table.updateSelectionKeys();\n this.table.selectionChange.emit(this.table._selection);\n this.tableService.onSelectionChange();\n\n if (this.table.isStateful()) this.table.saveState();\n }\n\n public isAllFilteredValuesChecked() {\n if (!this.table.filteredValue) {\n return false;\n } else {\n for (const rowData of this.table.filteredValue) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n\n public isAllValuesChecked() {\n if (!this.table.value) {\n return false;\n } else {\n for (const rowData of this.table.value) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TableHeaderCheckboxComponent } from \"./table-header-checkbox.component\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [TableHeaderCheckboxComponent],\n declarations: [TableHeaderCheckboxComponent],\n})\nexport class TableHeaderCheckboxModule {}\n","import { Directive, HostListener } from \"@angular/core\";\n\n@Directive({ selector: \"[sNavigation]\" })\nexport class NavigationDirective {\n @HostListener(\"keydown\", [\"$event\"])\n onKeyDown(event: KeyboardEvent): void {\n switch (event.key) {\n case \"Right\": // IE 11\n case \"ArrowRight\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusFirstColFromCurrentRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusNextSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Left\": // IE 11\n case \"ArrowLeft\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusLastColFromPrevRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusPrevSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Up\": // IE 11\n case \"ArrowUp\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setPrevRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setAboveColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Down\": // IE 11\n case \"ArrowDown\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setNextRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setUnderColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n }\n }\n\n private focusLastColFromPrevRow(event: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(event);\n\n if (prevRow) {\n (prevRow.lastElementChild as HTMLTableColElement).focus();\n }\n }\n\n private focusFirstColFromCurrentRow(row: HTMLTableRowElement): void {\n const firstCol = row.firstElementChild as HTMLTableColElement;\n\n if (firstCol) {\n firstCol.focus();\n }\n }\n\n private focusNextSelectableCol(col: HTMLTableColElement): void {\n const nextCol = col.nextElementSibling as HTMLTableColElement;\n\n if (nextCol) {\n nextCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return this.setNextRowFocus(currentRow);\n }\n }\n\n private focusPrevSelectableCol(col: HTMLTableColElement): void {\n const prevCol = col.previousElementSibling as HTMLTableColElement;\n\n if (prevCol) {\n prevCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return currentRow.focus();\n }\n }\n\n private setAboveColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const prevRow = this.findPrevSelectableRow(currentRow as HTMLTableRowElement);\n\n if (prevRow) (prevRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setUnderColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const nextRow = this.findNextSelectableRow(currentRow as HTMLTableRowElement);\n if (nextRow) (nextRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setNextRowFocus(row: HTMLTableRowElement): void {\n const nextRow = this.findNextSelectableRow(row);\n if (nextRow) {\n nextRow.focus();\n }\n }\n\n private setPrevRowFocus(row: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(row);\n if (prevRow) {\n prevRow.focus();\n }\n }\n\n private isRow(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"tr\";\n }\n\n private isCol(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"td\";\n }\n\n private findPrevSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const prevRow = <HTMLTableRowElement>row.previousElementSibling;\n if (prevRow) return prevRow;\n else return null;\n }\n\n private findNextSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const nextRow = <HTMLTableRowElement>row.nextElementSibling;\n if (nextRow) return nextRow;\n else return null;\n }\n}\n","import { Directive, HostListener, Input } from \"@angular/core\";\nimport { RowToggler, Table } from \"primeng/table\";\n\n@Directive({ selector: \"[sRowToggler]\" })\nexport class RowTogllerDirective extends RowToggler {\n @Input(\"sRowToggler\")\n data: any;\n\n constructor(public dt: Table) {\n super(dt);\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent) {\n if (this.isEnabled()) {\n switch (event.key) {\n case \"Enter\":\n this.dt.toggleRow(this.data, event);\n event.preventDefault();\n break;\n default:\n event.preventDefault();\n break;\n }\n }\n }\n}\n","export enum EnumColumnFieldType {\n STRING = \"STRING\",\n NUMBER = \"NUMBER\",\n BOOLEAN = \"BOOLEAN\",\n DATE = \"DATE\",\n CURRENCY = \"CURRENCY\",\n ENUM = \"ENUM\",\n LOOKUP = \"LOOKUP\",\n LINK = \"LINK\",\n TOKENS = \"TOKENS\"\n}\n","export enum EnumBadgeColors {\n RED = \"sds-semantic-red\",\n ORANGE = \"sds-semantic-orange\",\n YELLOW = \"sds-semantic-yellow\",\n GREEN = \"sds-semantic-green\",\n BLUE = \"sds-semantic-blue\"\n}\n","import { Inject, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { Component, Input, ViewChild } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport * as moment from \"moment\";\nimport { applyMask, MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\n\nimport { HostProjectConfigs } from \"../../../angular-components.module\";\nimport { IToken } from \"../../token-list\";\nimport {\n BadgeColumn,\n BadgeConfigs,\n Column,\n ColumnValues,\n EnumColumnFieldType,\n TableColumnLocaleOptions\n} from \"./models\";\n\n@Component({\n templateUrl: \"./table-columns.component.html\",\n styleUrls: [\"./table-columns.component.scss\"],\n selector: \"s-table-columns\",\n})\nexport class TableColumnsComponent implements OnChanges {\n\n @ViewChild(\"columnsTemplate\", { static: true }) columnsTemplate: TemplateRef<any>;\n\n @Input() columns!: Column[];\n @Input() rowValue!: any;\n @Input() locale!: TableColumnLocaleOptions;\n\n public formattedColumns: ColumnValues[] = [];\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private translate: TranslateService,\n @Inject(\"hostProjectConfigs\") private hostProjectConfigs: HostProjectConfigs\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.validateComponentAttributes(changes);\n this.createColumnsTemplate(changes);\n }\n\n private validateComponentAttributes(changes: SimpleChanges): void {\n if (!changes.columns?.currentValue) throw new Error(\"The 'columns' attribute must be informed!\");\n if (!changes.rowValue?.currentValue) throw new Error(\"The 'rowValue' attribute must be informed!\");\n if (!changes.locale?.currentValue) throw new Error(\"The 'locale' attribute must be informed!\");\n }\n\n private createColumnsTemplate(changes: SimpleChanges): void {\n this.viewContainerRef.clear();\n\n const columns: Column[] = changes.columns.currentValue;\n const rowValue: object = changes.rowValue.currentValue;\n const locale: TableColumnLocaleOptions = changes.locale.currentValue;\n\n columns.forEach((column) => this.formattedColumns.push(this.getColumnValue(column, rowValue, locale)));\n this.viewContainerRef.createEmbeddedView(this.columnsTemplate);\n }\n\n private getColumnValue(column: Column, rowValue: object, locale: TableColumnLocaleOptions): ColumnValues {\n const prefix = column.prefix\n ? column.prefix\n : `${this.hostProjectConfigs.domain}.${this.hostProjectConfigs.service}.`;\n const separator = column.separator\n ? column.separator\n : \" - \";\n const uninformed: string = this.translate.instant(prefix + \"empty_label\");\n const style = column.style;\n let badgeClass: BadgeColumn = {\n \"sds-badge\": false\n };\n\n const columnValue: any[] = column.attributes\n .map((attribute: string) => {\n let attributeValue!: any;\n\n attribute\n .split(\"/\")\n .forEach((value: string) => {\n if (!attributeValue) {\n value\n .split(\".\")\n .forEach((val: string, i) => {\n if (rowValue) {\n if (i === 0) {\n attributeValue = rowValue[val];\n } else if (attributeValue) {\n attributeValue = attributeValue[val];\n }\n }\n });\n }\n });\n\n if (attributeValue === null || attributeValue === undefined || (this.isArray(attributeValue) && !attributeValue.length)) {\n return uninformed;\n } else {\n const numberConfigs: MaskConfig = {\n ...locale.number,\n scale: column.scale ? this.getColumnScale(column.scale) : locale.number.scale,\n prefix: `${locale.number.currencySymbol} `\n };\n\n switch (column.type) {\n case EnumColumnFieldType.ENUM:\n if (column.badgeConfigs && column.badgeConfigs.length) {\n badgeClass = this.getBadgeClass(attributeValue, column.badgeConfigs);\n }\n return this.translate.instant(column.enumPrefix + attributeValue.toString().toLowerCase());\n\n case EnumColumnFieldType.CURRENCY:\n return applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n\n case EnumColumnFieldType.DATE:\n const dateFormat = column.dateFormat ? column.dateFormat : locale.calendar.dateFormat;\n return moment(attributeValue).format(dateFormat);\n\n case EnumColumnFieldType.BOOLEAN:\n const value = attributeValue ? \"yes\" : \"no\";\n return this.translate.instant(prefix + value);\n\n case EnumColumnFieldType.LINK:\n case EnumColumnFieldType.STRING:\n return attributeValue;\n\n case EnumColumnFieldType.NUMBER:\n numberConfigs.prefix = \"\";\n return applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n\n case EnumColumnFieldType.TOKENS:\n return this.getTokens(attributeValue);\n }\n }\n });\n\n const unifiedColumnValues = columnValue.join(separator);\n const uninformedNumber = unifiedColumnValues\n .split(separator)\n .filter(value => value === uninformed).length;\n\n let formattedColumnValue: string | IToken[];\n if (uninformedNumber === column.attributes.length) {\n formattedColumnValue = uninformed;\n } else if (column.type === EnumColumnFieldType.TOKENS) {\n formattedColumnValue = [].concat.apply([], columnValue.filter(values => values !== uninformed));\n } else {\n formattedColumnValue = unifiedColumnValues;\n }\n\n return {\n style,\n columnValue: formattedColumnValue,\n badgeClass,\n separator,\n uninformed,\n type: column.type,\n tooltip: this.getColumnTooltip(column.tooltip),\n onLinkClick: column.onLinkClick,\n onColumnClick: column.onColumnClick\n };\n }\n\n private getBadgeClass(value: string, badgeConfigs: BadgeConfigs[]): BadgeColumn {\n const badgeColumn = {\n \"sds-badge\": true\n };\n const color = badgeConfigs.find(badgeConfig => badgeConfig.enumValue === value)?.color.valueOf();\n badgeColumn[color] = true;\n\n return badgeColumn;\n }\n\n private getColumnScale(scale: number | ((rowValue: any) => number)): number {\n if (typeof scale === \"function\") {\n return scale(this.rowValue);\n }\n return scale;\n }\n\n private getColumnTooltip(tooltip: string | ((rowValue: any) => string)): string {\n if (tooltip !== undefined && tooltip !== null) {\n if (typeof tooltip === \"function\") {\n return tooltip(this.rowValue);\n }\n return tooltip;\n }\n }\n\n private isNumber(value: any): boolean {\n return !(new BigNumber(value).isNaN());\n }\n\n private getTokens(values: any): IToken[] {\n if (!this.isArray(values)) throw new Error(\"To use tokens an array must be informed\");\n // tslint:disable-next-line: max-line-length\n if (!this.isValidTokenArray(values)) throw new Error(\"Not a valid token array. Token array must be a primitive values array or an objects with label attribute array\");\n\n if (this.isLabelObjectArray(values)) return values;\n\n return values\n .filter((value: any) => value !== undefined && value !== null)\n .map((value: any) => {\n const label = typeof value === \"symbol\" ? value.toString() : `${value}`;\n return {\n label\n };\n });\n }\n\n private isValidTokenArray(values: any[]): boolean {\n return this.isPrimitiveValuesArray(values) || this.isLabelObjectArray(values);\n }\n\n private isPrimitiveValuesArray(values: any[]): boolean {\n return values.filter(value => value !== Object(value)).length === values.length;\n }\n\n private isLabelObjectArray(values: any[]): boolean {\n return values.filter(value => value?.label !== null && value?.label !== undefined).length === values.length;\n }\n\n public isArray(value: any): boolean {\n return Array.isArray(value);\n }\n\n public getSplittedString(column: ColumnValues): { value: string, isUninformed: boolean, separator: string }[] {\n const { columnValue, separator, uninformed } = column;\n if (typeof columnValue === \"string\") {\n const splittedString = columnValue.split(separator);\n return splittedString.map((string, index) => {\n const isLastIndex = splittedString.length - 1 === index;\n return {\n value: string,\n isUninformed: string === uninformed,\n separator: !isLastIndex ? separator : \"\"\n };\n });\n }\n }\n\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: `s-token-list`,\n templateUrl: `./token-list.component.html`,\n styleUrls: [\"./token-list.component.css\"],\n})\nexport class TokenListComponent {\n public static nextId = 0;\n\n @Input() id = `s-token-list-${TokenListComponent.nextId++}`;\n @Input() tokens: IToken[];\n @Input() removableTokens = false;\n @Input() hidePointerEvents = false;\n\n @Output() public tokenSelected: EventEmitter<IToken> = new EventEmitter();\n @Output() public tokenRemoved: EventEmitter<IToken> = new EventEmitter();\n}\n\nexport interface IToken {\n id?: string;\n label: string;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TokenListComponent } from \"./token-list.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TokenListComponent],\n exports: [TokenListComponent],\n})\nexport class TokenListModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { NavigationDirective } from \"./navigation/navigation.directive\";\nimport { RowTogllerDirective } from \"./row-toggler/row-toggler.directive\";\nimport { TableColumnsComponent } from \"./table-column/table-columns.component\";\nimport { TokenListModule } from \"../token-list\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n TokenListModule\n ],\n exports: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent\n ],\n declarations: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent\n ],\n})\nexport class TableModule {}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { AutocompleteField } from \"../../../configurations/fields/autocomplete-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"autocomplete-field.component.html\",\n})\nexport class AutocompleteFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: AutocompleteField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { BooleanField } from \"../../../configurations/fields/boolean-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"boolean-field.component.html\",\n})\nexport class BooleanFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BooleanField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { CalendarField } from \"../../../configurations/fields/calendar-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"calendar-field.component.html\",\n})\nexport class CalendarFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CalendarField;\n @Input()\n public formControl: FormControl;\n @Input()\n public showTime: boolean;\n @Input()\n public timeOnly: boolean;\n @Input()\n public showSeconds: boolean;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { ChipsField } from \"../../../configurations/fields/chips-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"chips-field.component.html\",\n})\nexport class ChipsFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: ChipsField;\n @Input()\n public formControl: FormControl;\n}\n","import { FormControl } from \"@angular/forms\";\nimport { AutocompleteField } from \"../../configurations/fields/autocomplete-field\";\nimport { BooleanField } from \"../../configurations/fields/boolean-field\";\nimport { CalendarField } from \"../../configurations/fields/calendar-field\";\nimport { ChipsField } from \"../../configurations/fields/chips-field\";\nimport { CurrencyField } from \"../../configurations/fields/currency-field\";\nimport { BlobField } from \"../../configurations/fields/blob-field\";\nimport { LookupField } from \"../../configurations/fields/lookup-field\";\nimport { NumberField } from \"../../configurations/fields/number-field\";\nimport { RadioButtonField } from \"../../configurations/fields/radio-button-field\";\nimport { SelectField } from \"../../configurations/fields/select-field\";\nimport { TextAreaField } from \"../../configurations/fields/text-area-field\";\nimport { TextField } from \"../../configurations/fields/text-field\";\n\nexport interface BaseFieldComponentConfig {\n field:\n | AutocompleteField\n | BooleanField\n | CalendarField\n | ChipsField\n | CurrencyField\n | BlobField\n | LookupField\n | NumberField\n | RadioButtonField\n | SelectField\n | TextField\n | TextAreaField;\n formControl: FormControl;\n}\n\nexport class BaseFieldComponent {\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public trigger(callback: any) {\n return callback();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { CurrencyField } from \"../../../configurations/fields/currency-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n/**\n * @deprecated Should use bignumber instead\n */\n@Component({\n templateUrl: \"currency-field.component.html\",\n})\nexport class CurrencyFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CurrencyField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { BlobField } from \"../../../configurations/fields/blob-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"file-upload.component.html\",\n})\nexport class FileUploadComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BlobField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { LookupField } from \"../../../configurations/fields/lookup-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"lookup-field.component.html\",\n})\nexport class LookupFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: LookupField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { NumberAlignmentOption } from \"../../../../number-input/index\";\nimport { DecimalField } from \"../../../configurations/fields/decimal-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"./../../../configurations/field-type\";\n\n/**\n * @deprecated Should use bignumber instead\n */\n@Component({\n templateUrl: \"number-field.component.html\",\n styleUrls: [\"./number-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: DecimalField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get numberAlignmentOption() {\n return NumberAlignmentOption;\n }\n\n public get fieldType() {\n return FieldType;\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { RadioButtonField } from \"../../../configurations/fields/radio-button-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"radion-button-field.component.html\",\n})\nexport class RadioButtonComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: RadioButtonField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n constructor() {}\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onClick.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onClick) this.field.onClick(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { SelectField } from \"../../../configurations/fields/select-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"select-field.component.html\",\n})\nexport class SelectFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: SelectField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { TextAreaField } from \"../../../configurations/fields/text-area-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"text-area-field.component.html\",\n})\nexport class TextAreaFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: TextAreaField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { TextField } from \"../../../configurations/fields/text-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"text-field.component.html\",\n styleUrls: [\"./text-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TextFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: TextField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Row } from \"../../../configurations/grid/row\";\n\n@Component({\n template: `\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <label\n [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\"\n *sInfoSign=\"field.infoSign\"\n >\n {{ field.label }}\n </label>\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n </div>\n </ng-container>\n </div>\n `,\n})\nexport class RowComponent implements OnInit {\n @Input()\n public id: string;\n @Input()\n public config: Row;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n\n constructor() {}\n\n public ngOnInit() {}\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages) return this.isFunction(errorMessages) ? errorMessages() : errorMessages;\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Fieldset } from \"../../../configurations/structure/fieldset\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n selector: \"s-fieldset\",\n template: `\n <p-fieldset [toggleable]=\"true\" (onBeforeToggle)=\"config.beforeToggle ? config.beforeToggle($event) : 'null'\"\n (onAfterToggle)=\"config.afterToggle ? config.afterToggle($event) : 'null'\">\n <p-header>{{config.header}}</p-header>\n <ng-container *ngFor=\"let conf of config.configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n </p-fieldset>\n `,\n})\nexport class FieldsetComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Fieldset;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Section } from \"../../../configurations/structure/section\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n template: `\n <h3 class=\"sds-section-title\">{{config.header}}</h3>\n <ng-container *ngFor=\"let conf of config.configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n `,\n})\nexport class SectionComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Section;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FormField } from \"./configurations/form-field\";\n\n@Component({\n selector: \"s-dynamic-field\",\n template: `\n <div class=\"ui-fluid\" [formGroup]=\"form\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <span *ngIf=\"field.label\"><label [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\" *sInfoSign=\"field.infoSign\">{{ field.label }}</label></span>\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: form}\"></ng-container>\n <s-control-errors [form]=\"form\" [control]=\"form.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n </div>\n </ng-container>\n </div>\n </div>\n `,\n})\nexport class DynamicFieldComponent implements OnInit {\n @Input()\n public id: string;\n\n @Input()\n public fields: FormField[];\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public errorMessages?: any;\n\n constructor() {}\n\n public ngOnInit() {}\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages)\n return this.isFunction(errorMessages)\n ? { ...this.errorMessages, ...errorMessages() }\n : { ...this.errorMessages, ...errorMessages };\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","export enum GridType {\n Row = \"Row\",\n}\n","export enum StructureType {\n Fieldset = \"Fieldset\",\n Section = \"Section\",\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { BignumberField } from \"../../../configurations/fields/bignumber-field\";\n\n@Component({\n templateUrl: \"number-field.component.html\",\n styleUrls: [\"./number-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BignumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: BignumberField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get fieldType() {\n return FieldType;\n }\n}\n","import { ComponentFactoryResolver, ComponentRef, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BignumberFieldComponent } from \"./components/fields/bignumber/number-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CurrencyFieldComponent } from \"./components/fields/currency/currency-field.component\";\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { NumberFieldComponent } from \"./components/fields/number/number-field.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { TextFieldComponent } from \"./components/fields/text/text-field.component\";\nimport { RowComponent } from \"./components/grid/row/row.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Grid } from \"./configurations/grid/grid\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\n\nexport abstract class DynamicForm {\n group: FormGroup;\n errorMessages: any;\n abstract createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef): any;\n abstract updateVariables(component: ComponentRef<any>): void;\n abstract getComponent(): any;\n\n constructor({ group, errorMessages }: { group: FormGroup; errorMessages: any }) {\n this.group = group;\n this.errorMessages = errorMessages;\n }\n}\n\nexport class DynamicField extends DynamicForm {\n field: FormField;\n errorMessages: any;\n\n constructor({ group, field, errorMessages }: { group: FormGroup; field: FormField; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n this.field = field;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.field = this.field;\n // Must be this way because some teams use name like \"e070emp.codemp\"\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n component.instance.errorMessages = this.errorMessages;\n this.setVariablesByType(component);\n return component;\n }\n\n public setVariablesByType(component: ComponentRef<any>) {\n switch (this.field.type) {\n case FieldType.DateTime:\n component.instance.showTime = true;\n component.instance.showSeconds = true;\n break;\n case FieldType.Time:\n component.instance.timeOnly = true;\n component.instance.showSeconds = true;\n break;\n }\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.field = this.field;\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n this.setVariablesByType(component);\n }\n\n public getComponent(): any {\n switch (this.field.type) {\n case FieldType.Autocomplete:\n return AutocompleteFieldComponent;\n case FieldType.Binary:\n case FieldType.String:\n return TextFieldComponent;\n case FieldType.Boolean:\n return BooleanFieldComponent;\n case FieldType.Chips:\n return ChipsFieldComponent;\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.Time:\n return CalendarFieldComponent;\n case FieldType.Double:\n case FieldType.Integer:\n return NumberFieldComponent;\n case FieldType.Number:\n return BignumberFieldComponent;\n case FieldType.Enum:\n return SelectFieldComponent;\n case FieldType.Lookup:\n return LookupFieldComponent;\n case FieldType.Money:\n return CurrencyFieldComponent;\n case FieldType.Radio:\n return RadioButtonComponent;\n case FieldType.Text:\n return TextAreaFieldComponent;\n case FieldType.Blob:\n return FileUploadComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.field.type}).`);\n }\n }\n}\n\nexport class DynamicStructure extends DynamicForm {\n group: FormGroup;\n config: Structure;\n errorMessages: any;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Structure; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.config = this.config;\n component.instance.group = this.group;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.structure = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent(): any {\n switch (this.config.type) {\n case StructureType.Fieldset:\n return FieldsetComponent;\n case StructureType.Section:\n return SectionComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n\nexport class DynamicGrid extends DynamicForm {\n group: FormGroup;\n config: Grid;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Grid; errorMessages: any }) {\n super({ group, errorMessages });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.config = this.config;\n component.instance.group = this.group;\n component.instance.errorMessages = this.errorMessages;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.config = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent(): any {\n switch (this.config.type) {\n case GridType.Row:\n return RowComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnChanges, OnInit, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Grid } from \"./configurations/grid/grid\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\nimport { DynamicField, DynamicForm, DynamicGrid, DynamicStructure } from \"./dynamic-form\";\n\n@Directive({ selector: \"[sDynamicForm]\" })\nexport class DynamicFormDirective implements OnInit, OnChanges {\n private id: string;\n private config: Structure | FormField | Grid;\n private group: FormGroup;\n private errorMessages: FormGroup;\n private directiveConfig: DynamicForm;\n\n @Input()\n set sDynamicForm(context: { id: string; config: FormField; structure: Structure; group: FormGroup; errorMessages: any }) {\n const { id, config, group, errorMessages } = context;\n this.id = id;\n this.config = config;\n this.group = group;\n this.errorMessages = errorMessages;\n }\n\n public component: ComponentRef<any>;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef) {}\n\n public ngOnInit() {\n if (this.isField()) {\n if (!((this.config as FormField).id) && this.id) {\n (this.config as FormField).id = this.id + \"-\" + (this.config as FormField).name;\n }\n\n this.directiveConfig = new DynamicField({\n group: this.group,\n field: this.config as FormField,\n errorMessages: this.errorMessages,\n });\n } else if (this.isStructure()) {\n this.directiveConfig = new DynamicStructure({\n group: this.group,\n config: this.config as Structure,\n errorMessages: this.errorMessages,\n });\n } else if (this.isGrid()) {\n this.directiveConfig = new DynamicGrid({\n group: this.group,\n config: this.config as Grid,\n errorMessages: this.errorMessages,\n });\n } else throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n\n this.component = this.directiveConfig.createComponent(this.resolver, this.container);\n this.component.instance.id = this.id;\n this.component.instance.errorMessages = this.errorMessages;\n }\n\n public ngOnChanges() {\n if (this.component) {\n this.directiveConfig.updateVariables(this.component);\n this.component.instance.errorMessages = this.errorMessages;\n }\n }\n\n public isField() {\n return FieldType[this.config.type];\n }\n\n public isStructure() {\n return StructureType[this.config.type];\n }\n\n public isGrid() {\n return GridType[this.config.type];\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { HotkeyModule, HotkeysService } from \"angular2-hotkeys\";\nimport { AutoCompleteModule } from \"primeng/autocomplete\";\nimport { ButtonModule as PrimeButtonModule } from \"primeng/button\";\nimport { CalendarModule } from \"primeng/calendar\";\nimport { CheckboxModule } from \"primeng/checkbox\";\nimport { ChipsModule } from \"primeng/chips\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { FieldsetModule } from \"primeng/fieldset\";\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\nimport { MultiSelectModule } from \"primeng/multiselect\";\nimport { PanelModule } from \"primeng/panel\";\nimport { RadioButtonModule } from \"primeng/radiobutton\";\nimport { TableModule as PrimeNGTableModule } from \"primeng/table\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { ButtonModule } from \"../button/index\";\nimport { CalendarMaskModule } from \"../calendar-mask/calendar-mask.module\";\nimport { ControlErrorsModule } from \"../control-errors/index\";\nimport { EmptyStateModule } from \"../empty-state/index\";\nimport { FileUploadModule } from \"../file-upload/index\";\nimport { InfoSignModule } from \"../info-sign\";\nimport { LoadingStateModule } from \"../loading-state/index\";\nimport { LocaleModule } from \"../locale/index\";\nimport { LocalizedNumberInputModule } from \"../localized-number-input/index\";\nimport { MaskFormatterModule } from \"../mask/mask-formatter.module\";\nimport { NumberInputModule } from \"../number-input/index\";\nimport { BignumberInputModule } from \"../bignumber-input/index\";\nimport { TableHeaderCheckboxModule } from \"../table-header/index\";\nimport { TableModule } from \"../table/index\";\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CurrencyFieldComponent } from \"./components/fields/currency/currency-field.component\";\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { NumberFieldComponent } from \"./components/fields/number/number-field.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { TextFieldComponent } from \"./components/fields/text/text-field.component\";\nimport { RowComponent } from \"./components/grid/row/row.component\";\nimport { LookupComponent } from \"./components/lookup/lookup.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\nimport { DynamicFieldComponent } from \"./dynamic-field.component\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { DynamicFormDirective } from \"./dynamic-form.directive\";\nimport { BignumberFieldComponent } from \"./components/fields/bignumber/number-field.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n InputTextModule,\n CheckboxModule,\n CalendarModule,\n InputMaskModule,\n DropdownModule,\n NumberInputModule,\n BignumberInputModule,\n LocalizedNumberInputModule,\n ControlErrorsModule,\n LocaleModule,\n AutoCompleteModule,\n MultiSelectModule,\n PrimeButtonModule,\n ButtonModule,\n PanelModule,\n DialogModule,\n RadioButtonModule,\n PrimeNGTableModule,\n EmptyStateModule,\n LoadingStateModule,\n HotkeyModule,\n ChipsModule,\n CalendarMaskModule,\n InputTextareaModule,\n RadioButtonModule,\n KeyFilterModule,\n FieldsetModule,\n TableHeaderCheckboxModule,\n FileUploadModule,\n TableModule,\n InfoSignModule,\n MaskFormatterModule,\n HotkeyModule.forRoot()\n ],\n declarations: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CurrencyFieldComponent,\n DynamicFormComponent,\n DynamicFieldComponent,\n DynamicFormDirective,\n FieldsetComponent,\n FileUploadComponent,\n LookupComponent,\n LookupFieldComponent,\n NumberFieldComponent,\n BignumberFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n TextAreaFieldComponent,\n TextFieldComponent,\n ],\n exports: [DynamicFormComponent, LookupComponent],\n entryComponents: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CurrencyFieldComponent,\n FieldsetComponent,\n FileUploadComponent,\n LookupFieldComponent,\n NumberFieldComponent,\n BignumberFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n TextAreaFieldComponent,\n TextFieldComponent,\n ],\n providers: [HotkeysService]\n})\nexport class DynamicFormModule {}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\n\n@Injectable()\nexport class CustomFieldsService {\n constructor(private http: HttpClient) {\n }\n\n public getCustomFields(domain: string, service: string, entity: string, endpoint: string): Observable<any> {\n const entityDto = { entityId: { domain_: domain, service_: service, id: entity } };\n return this.http.post(endpoint, entityDto);\n }\n\n public getFileLocationUrl(dto: {\n domain: string;\n service: string;\n entityName: string;\n field: string;\n fileName: string;\n }, endpoint: string): Observable<any> {\n return this.http.post(endpoint, dto);\n }\n\n public uploadTempFile(location: string, file: File) {\n return this.http.put(location, file, {\n reportProgress: true,\n observe: \"events\",\n headers: { \"Content-Type\": file.type }\n });\n }\n\n public requestAccess(objectId: string, endpoint: string) {\n return this.http.post(endpoint, { objectId });\n }\n\n public getFile(permanentUrl: string) {\n return this.http.get(permanentUrl, { responseType: \"blob\" });\n }\n}\n","import { HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\nimport { Component, ElementRef, Input, OnDestroy, OnInit } from \"@angular/core\";\nimport {\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n ValidatorFn,\n Validators,\n} from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport * as moment_ from \"moment\";\nimport { forkJoin, Observable, of, Subject, throwError } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\nimport { FieldType, FormField } from \"../dynamic-form/index\";\nimport { FileDto } from \"../file-upload/index\";\nimport { LocaleOptions } from \"../locale\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport BigNumber from \"bignumber.js\";\n\nenum CustomFieldType {\n String = \"String\",\n Boolean = \"Boolean\",\n Integer = \"Integer\",\n Double = \"Double\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Time = \"Time\",\n Money = \"Money\",\n Blob = \"Blob\",\n Binary = \"Binary\",\n Any = \"Any\",\n Enum = \"Enum\"\n}\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Component({\n selector: \"s-custom-fields\",\n templateUrl: \"./custom-fields.component.html\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n ],\n})\nexport class CustomFieldsComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator {\n @Input()\n public domain: string;\n @Input()\n public service: string;\n @Input()\n public entity: string;\n @Input()\n public invalidErrorLabel: string;\n @Input()\n public entityObject: any;\n @Input()\n public customFieldsEndpoint = \"platform/field_customization/queries/getEntity\";\n @Input()\n public fileLocationEndpoint = \"platform/field_customization/actions/requestUpload\";\n @Input()\n public requestAccessEndpoint = \"platform/field_customization/actions/requestAccess\";\n @Input()\n public requiredErrorMessage: string;\n\n public fields: FormField[] = [];\n public formGroup: FormGroup;\n private ready = false;\n private onChange: any;\n private onTouched: any;\n private value: any;\n private ngUsubscribe: Subject<void> = new Subject();\n private uploadCanceled: boolean;\n private hasBlob: boolean;\n private hasUploaded: boolean;\n\n constructor(\n private customFieldsService: CustomFieldsService,\n private localeService: LocaleService,\n private sanitizer: DomSanitizer,\n private translateService: TranslateService\n ) {\n }\n\n public registerOnChange(fn: Function) {\n this.onChange = fn;\n this.formGroup.valueChanges.subscribe(() => this.onChange(this.parseFieldsValues()));\n }\n\n public registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n public writeValue(value: any) {\n if (this.ready) {\n const newValue = this.parseValuesForFields(value);\n this.formGroup.patchValue(newValue);\n this.value = newValue;\n this.createFilesIfSetFormValuesAfterInit();\n } else {\n this.formGroup.patchValue(value || {});\n this.value = value;\n }\n }\n\n public setDisabledState(state: boolean) {\n if (state) this.formGroup.disable();\n else this.formGroup.enable();\n }\n\n public getCustomFields(): Observable<any> {\n if (this.entityObject && this.entityObject.entity_) {\n return of(this.entityObject);\n }\n return this.customFieldsService.getCustomFields(this.domain, this.service, this.entity, this.customFieldsEndpoint);\n }\n\n public ngOnInit() {\n if (!this.domain) throw new Error(\"You need to specify the custom-fields domain!\");\n if (!this.service) throw new Error(\"You need to specify the custom-fields service!\");\n if (!this.entity) throw new Error(\"You need to specify the custom-fields entity!\");\n\n this.formGroup = new FormGroup({});\n const observables = [this.getCustomFields(), this.localeService.get()];\n forkJoin(observables)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((response: any[]) => {\n const [customFieldsResponse, localeOptions] = response;\n const defaults: any = {};\n defaults[CustomFieldType.String] = {};\n defaults[CustomFieldType.Boolean] = { defaultValue: false };\n defaults[CustomFieldType.Integer] = {};\n defaults[CustomFieldType.Double] = { defaultMask: \"\" };\n defaults[CustomFieldType.Money] = {};\n defaults[CustomFieldType.Date] = {};\n defaults[CustomFieldType.DateTime] = {};\n defaults[CustomFieldType.Time] = {};\n defaults[CustomFieldType.Blob] = {};\n defaults[CustomFieldType.Enum] = {};\n defaults[CustomFieldType.Binary] = {};\n defaults[CustomFieldType.Any] = {};\n\n if (!customFieldsResponse || !customFieldsResponse.entity_) return;\n const { active, fields } = customFieldsResponse.entity_;\n if (!active) return;\n\n fields\n .filter((field: any) => field.customizable && field.customization && field.customization.active)\n .forEach((field: any) => {\n const formField = this.getFormField(field, localeOptions);\n const fieldType = field.type;\n\n if (field.type === CustomFieldType.Blob && this.value && this.value[formField.name])\n this.createBlobToFileUpload(formField);\n\n const { validationRegex } = field.customization;\n\n const asIsTypes = [\n CustomFieldType.Boolean,\n CustomFieldType.Money,\n CustomFieldType.Date,\n CustomFieldType.DateTime,\n CustomFieldType.Time\n ];\n\n const validators = [];\n if (validationRegex && !asIsTypes.includes(fieldType))\n validators.push(Validators.pattern(validationRegex));\n if (fieldType === CustomFieldType.Integer && !formField.mask) validators.push(Validators.pattern(/^\\-?\\d*$/));\n\n if (formField.required()) {\n validators.push(Validators.required);\n }\n\n const control = new FormControl(\n { value: defaults[fieldType].defaultValue, disabled: this.formGroup.disabled },\n validators\n );\n\n control.markAsDirty({ onlySelf: true });\n this.formGroup.addControl(formField.name, control);\n this.fields.push(formField);\n });\n\n this.createFieldCustomization(fields);\n this.formGroup.patchValue(this.parseValuesForFields(this.value));\n this.formGroup.markAsDirty({ onlySelf: true });\n this.ready = true;\n });\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public validate() {\n const errors: any = {};\n Object.keys(this.formGroup.controls).forEach(field => {\n const { errors: controlErrors } = this.formGroup.get(field);\n if (controlErrors) errors[field] = controlErrors;\n });\n return errors;\n }\n\n private parseValuesForFields(values: any) {\n const parsedValues = { ...values };\n\n this.fields.forEach(field => {\n const { type, name } = field;\n const value = values && values[name];\n\n /**\n * Tratamento exclusivo para campos boolean que tem o status Empty\n * Essa condicional necessita estar antes do if (!value) return;\n * Pois ela tem um status que usa null no valor do campo radio boolean\n */\n if (type === FieldType.Boolean) {\n const isString = typeof value === \"string\";\n const notValid = !isString && typeof value !== \"boolean\";\n if (notValid) {\n parsedValues[name] = null;\n } else {\n // Condicional para campos que retornam string de boolen do backand\n if (isString) {\n parsedValues[name] = value === \"true\" ? true : false;\n } else {\n parsedValues[name] = value;\n }\n }\n }\n\n if (!value) return;\n\n switch (type) {\n case FieldType.Date:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.DateTime:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.Time:\n parsedValues[name] = moment(value, \"HH:mm:ss\").toDate();\n break;\n }\n });\n\n return parsedValues;\n }\n\n /**\n * Algumas equipes só setam valor no formulário, após o carregamento da tela\n * Como é bem padrão isso, foi necessário criar esse método para gerar o file\n * após setar o valor no formulário\n */\n private createFilesIfSetFormValuesAfterInit() {\n if (!this.hasUploaded) {\n this.fields.filter((field: FormField) => field.type === FieldType.Blob).forEach(field => {\n if (this.formGroup.get(field.name).value) this.createBlobToFileUpload(field);\n });\n }\n }\n\n private parseFieldsValues() {\n const parsedValues: any = {};\n\n this.fields.forEach(field => {\n const { type, name, mask, scale } = field;\n let value = this.formGroup.get(name).value;\n\n if (value) {\n switch (type) {\n case FieldType.Number:\n if (mask) value = new BigNumber(value).toFixed(scale as number).toString();\n break;\n case FieldType.Date:\n value = moment(value).format(\"YYYY-MM-DD\");\n break;\n case FieldType.DateTime:\n value = moment(value).format();\n break;\n case FieldType.Time:\n value = moment(value).format(\"HH:mm:ss\");\n break;\n }\n }\n \n if (value !== null && !Number.isNaN(value)) {\n parsedValues[name] = value;\n } else if (this.isTypeNumberOrEnum(type)) {\n parsedValues[name] = field.multiple ? [] : null;\n }\n });\n\n if (this.hasBlob) parsedValues[\"fieldCustomization\"] = this.formGroup.get(\"fieldCustomization\").value;\n return parsedValues;\n }\n\n private isTypeNumberOrEnum(type: FieldType): boolean {\n const numberOrEnum = [\n FieldType.Number,\n FieldType.Enum\n ];\n return numberOrEnum.includes(type);\n }\n\n private getFormField(field: any, localeOptions: LocaleOptions): FormField {\n let parameters;\n\n switch (field.type) {\n case CustomFieldType.Blob:\n parameters = this.getBlobParameters();\n break;\n case CustomFieldType.Boolean:\n parameters = this.getBooleanParameters();\n break;\n case \"Enumeration\":\n case CustomFieldType.Enum:\n field.type = FieldType.Enum;\n parameters = this.getEnumParameters(field);\n break;\n case CustomFieldType.Money:\n parameters = {\n type: FieldType.Number,\n leftAddon: {\n label: localeOptions?.number?.currencySymbol ?? \"R$\",\n },\n };\n break;\n case CustomFieldType.Double:\n parameters = {\n type: FieldType.Number\n };\n break;\n case CustomFieldType.Integer:\n parameters = {\n type: FieldType.Number,\n scale: 0\n };\n break;\n default:\n parameters = {};\n break;\n }\n\n return new FormField({\n name: field.id,\n label: field.customization.label,\n tooltip: field.customization.tooltip,\n type: field.type,\n mask: field.customization.mask,\n required: () => field.customization.mandatory,\n calendarOptions: localeOptions.calendar,\n currencyOptions: localeOptions.number,\n ...parameters,\n });\n }\n\n private getEnumParameters(field: any): object {\n return {\n showClear: true,\n multiple: field.customization.customEnumeration.multiple,\n options: field.customization.customEnumeration.values.map((e: any) => ({ label: e.value, value: e.key })),\n };\n }\n\n private getBooleanParameters(): object {\n return {\n optionsLabel: {\n true: this.getTranslateLabel(`true_label`),\n false: this.getTranslateLabel(`false_label`),\n empty: this.getTranslateLabel(`empty_label`),\n },\n };\n }\n\n private getBlobParameters(): object {\n return {\n size: {\n sm: 12,\n md: 12,\n lg: 12,\n xl: 12,\n },\n accept: \"image/*, application/*, text/*\",\n chooseLabel: this.getTranslateLabel(`choose_label`),\n removeLabel: this.getTranslateLabel(`remove_label`),\n cancelLabel: this.getTranslateLabel(`cancel_label`),\n successTooltip: this.getTranslateLabel(`success_tooltip`),\n multiple: false,\n onUploadFile: (event: { files: FileDto[] }, formfield: FormField) => {\n this.hasUploaded = true;\n this.uploadFile(event, formfield);\n },\n onRemoveFile: (event: { file: FileDto }, formfield: FormField) => {\n this.removeFile(event, formfield);\n },\n onCancelUpload: (event: number, formfield: FormField) => {\n this.cancelUpload(event, formfield);\n },\n onDownloadFile: (event: { index: number; anchor: ElementRef }, formfield: FormField) => {\n this.downloadFile(event, formfield);\n },\n };\n }\n\n /**\n * à necessário criar o fieldCustomization quando há um Blob na entidade para gerar o\n * com os fields inseridos e deletados.\n */\n private createFieldCustomization(fields: any[]): void {\n this.hasBlob = !!fields.filter((field: any) => field.type === CustomFieldType.Blob).length;\n if (this.hasBlob) {\n this.formGroup.addControl(\n \"fieldCustomization\",\n new FormArray([\n new FormGroup({\n domain: new FormControl(this.domain),\n service: new FormControl(this.service),\n entity: new FormControl(this.entity),\n toDelete: new FormControl({ value: {}, disabled: false }),\n toInsert: new FormControl({ value: {}, disabled: false }),\n }),\n ])\n );\n }\n }\n\n private createBlobToFileUpload(field: FormField) {\n const objectId = this.value[field.name] ? this.value[field.name] : this.formGroup.get(field.name).value;\n const fileName = objectId.substring(objectId.lastIndexOf(\"/\") + 1);\n const file: Partial<FileDto> = { name: fileName, objectId, savedFile: true };\n field.files = [file as FileDto];\n }\n\n private downloadFile(event: { index: number; anchor: ElementRef }, field: FormField) {\n const { index, anchor } = event;\n const currentFile = field.files[index];\n if (currentFile.objectURL) {\n anchor.nativeElement.click();\n } else {\n this.customFieldsService\n .requestAccess(currentFile.objectId, this.requestAccessEndpoint)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((data: { fileName: string; uri: string }) => {\n const { fileName, uri } = data;\n this.customFieldsService\n .getFile(uri)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((blob: any) => {\n const newFile = <FileDto>new File([blob], fileName);\n newFile.objectURL = this.sanitizer.bypassSecurityTrustUrl(uri);\n anchor.nativeElement.setAttribute(\"href\", uri);\n newFile.objectId = currentFile.objectId;\n newFile.savedFile = true;\n field.files[index] = newFile;\n field.files = [...field.files];\n anchor.nativeElement.click();\n });\n });\n }\n }\n\n private uploadFile(event: { files: FileDto[] }, formField: any): void {\n const { files } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n\n // Se ocorrer um upload, já existindo um arquivo com upload feito. à necessário excluir o mesmo.\n if (field.files && field.files.length) {\n this.removeFile({ file: field.files[0] }, field);\n }\n field.files = files;\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (!file.savedFile && !file.progress) {\n file.isUploading = true;\n this.formGroup.get(field.name).setValidators(isUploading(file));\n this.formGroup.get(field.name).updateValueAndValidity();\n this.customFieldsService\n .getFileLocationUrl(\n {\n domain: this.domain,\n service: this.service,\n entityName: this.entity,\n field: field.name,\n fileName: file.name,\n },\n this.fileLocationEndpoint\n )\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i)))\n )\n .subscribe((data: any) => {\n const { location, version, objectId } = data;\n file.version = version;\n file.objectId = objectId;\n file[\"uploadSubscribe\"] = this.customFieldsService\n .uploadTempFile(location, file)\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\n finalize(() => {\n file.isUploading = false;\n })\n )\n .subscribe((response: any) => {\n const { type } = response;\n if (!this.uploadCanceled) {\n if (type === HttpEventType.UploadProgress)\n file.progress = Math.round(response.loaded / response.total) * 100;\n else if (type === HttpEventType.Response) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n\n const value = { objectId, name: file.name, version: file.version };\n const toInsert = this.formGroup.get(\"fieldCustomization\").value[0].toInsert;\n this.formGroup.get(\"fieldCustomization\").value[0].toInsert = {\n ...toInsert,\n [field.name]: value,\n };\n this.formGroup.get(field.name).setValue(`${file.objectId}/${file.name}`);\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).updateValueAndValidity();\n field.files = [file];\n }\n } else if (this.uploadCanceled && type === HttpEventType.Response) this.uploadCanceled = false;\n });\n field.files = [file];\n });\n }\n }\n }\n\n private removeFile(event: { file: FileDto }, formField: any): void {\n const { file } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files = [];\n if (file.objectId) {\n // Quando é um arquivo já salvo o objectId já é no formato \"objectId/name\"\n const value = file.savedFile ? `${file.objectId}` : `${file.objectId}/${file.name}`;\n const toDelete = this.formGroup.get(\"fieldCustomization\").value[0].toDelete;\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\n this.formGroup.get(\"fieldCustomization\").value[0].toDelete = {\n ...toDelete,\n [field.name]: [...(toDelete[field.name] || []), value],\n };\n }\n\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).setValue(\"\");\n this.formGroup.get(field.name).updateValueAndValidity();\n }\n\n private cancelUpload(index: number, formField: any): void {\n this.uploadCanceled = true;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files[index][\"uploadSubscribe\"].unsubscribe();\n field.files = [];\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).setValue(\"\");\n this.formGroup.get(field.name).updateValueAndValidity();\n }\n\n private defaltCatchError(field: FormField, err: HttpErrorResponse, index: number): Observable<never> {\n const { files } = field;\n files[index].error = err;\n files[index].isUploading = false;\n field.files = [...files];\n this.formGroup.get(field.name).setValidators([errorOnUpload(files[index])]);\n this.formGroup.get(field.name).updateValueAndValidity();\n return throwError(new Error(\"error in upload file. Details: \" + err.message));\n }\n\n private getTranslateLabel(label: string): string {\n return this.translateService.instant(`${this.domain}.${this.service}.${label}`);\n }\n}\n\nfunction isUploading(file: FileDto): ValidatorFn {\n return () => (file.isUploading ? { isUploading: true } : null);\n}\n\nfunction errorOnUpload(file: FileDto): ValidatorFn {\n return () => (file.error ? { uploadError: true } : null);\n}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormModule } from \"../dynamic-form/index\";\nimport { LocaleModule } from \"../locale/index\";\nimport { CustomFieldsComponent } from \"./custom-fields.component\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateModule, TranslateService } from \"@ngx-translate/core\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n LocaleModule,\n DynamicFormModule,\n TranslateModule\n ],\n declarations: [CustomFieldsComponent],\n exports: [CustomFieldsComponent],\n providers: [CustomFieldsService, TranslateService]\n})\nexport class CustomFieldsModule {\n}\n","import { AfterViewInit, Directive, Input } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Directive({\n selector: \"p-table[sEditableOverlay]\",\n})\nexport class EditableOverlayDirective implements AfterViewInit {\n @Input()\n public table: any;\n\n constructor() {}\n\n ngAfterViewInit() {\n this.table.bindDocumentEditListener = this.bindDocument.bind(this);\n }\n\n public isFromOverlayTrigger(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"ng-trigger-overlayAnimation\"));\n }\n\n public isFromModal(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"s-lookup\"));\n }\n\n private bindDocument() {\n if (!this.table.documentEditListener) {\n this.table.documentEditListener = (event: any) => {\n if (\n !this.isFromOverlayTrigger(event) &&\n !this.isFromModal(event) &&\n this.table.editingCell &&\n !this.table.editingCellClick &&\n this.table.isEditingCellValid()\n ) {\n DomHandler.removeClass(this.table.editingCell, \"ui-editing-cell\");\n this.table.editingCell = null;\n this.table.unbindDocumentEditListener();\n }\n\n this.table.editingCellClick = false;\n };\n\n document.addEventListener(\"click\", this.table.documentEditListener);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { EditableOverlayDirective } from \"./editable-overlay.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EditableOverlayDirective],\n exports: [EditableOverlayDirective],\n})\nexport class EditableOverlayModule {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-header\",\n template: `<ng-content></ng-content>`,\n})\nexport class HeaderComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-footer\",\n template: `<ng-content></ng-content>`,\n})\nexport class FooterComponent {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { HeaderComponent } from \"./header.component\";\nimport { FooterComponent } from \"./footer.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [HeaderComponent, FooterComponent],\n exports: [HeaderComponent, FooterComponent],\n})\nexport class StructureModule {}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n OnChanges,\n SimpleChanges,\n ContentChild,\n} from \"@angular/core\";\nimport Cropper from \"cropperjs\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { FooterComponent } from \"../structure/footer.component\";\n\n@Component({\n selector: \"s-image-cropper\",\n templateUrl: \"./image-cropper.component.html\",\n styleUrls: [\"../../../../node_modules/cropperjs/dist/cropper.min.css\", \"./image-cropper.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImageCropperComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public id = `s-image-cropper-${ImageCropperComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header = \"Recortar imagem\";\n\n @Input()\n public cropLabel = \"Recortar\";\n\n @Input()\n public selectAnotherLabel = \"Trocar\";\n\n @Input()\n public removeLabel = \"Remover\";\n\n @Input()\n public cancelLabel = \"Cancelar\";\n\n @Input()\n public emptyStateTitle = \"Selecione uma foto, em seguida você poderá ajustá-la\";\n\n @Input()\n public emptyStateActionLabel = \"Escolher imagem\";\n\n @Input()\n public emptyStateIconClass = \"fa fa-picture-o\";\n\n @Input()\n public aspectRatio = NaN;\n\n @Input()\n public rounded = false;\n\n @Input()\n public allowSelectAnother = true;\n\n @Input()\n public allowRemove = true;\n\n @Input()\n public allowCancel = true;\n\n @Input()\n public imageSource?: string;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @Output()\n public changeImage = new EventEmitter();\n\n @Output()\n public croppedImage = new EventEmitter<string>();\n\n @Output()\n public croppedCanvas = new EventEmitter<HTMLCanvasElement>();\n\n @Output()\n public removedImage = new EventEmitter();\n\n @Output()\n public cancel = new EventEmitter();\n\n @ViewChild(\"image\", { static: true })\n public image: ElementRef;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n public cropper: Cropper;\n\n public ngOnInit() {\n if (this.imageSource) this.initCropper();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.imageSource && changes.imageSource.currentValue) {\n this.initCropper();\n }\n }\n\n private initCropper() {\n if (this.cropper) this.cropper.destroy();\n this.image.nativeElement.src = this.imageSource;\n this.cropper = new Cropper(this.image.nativeElement, {\n aspectRatio: this.rounded ? 1 : this.aspectRatio,\n guides: false,\n dragMode: \"move\" as Cropper.DragMode,\n minCropBoxHeight: 2,\n minCropBoxWidth: 2,\n toggleDragModeOnDblclick: false,\n });\n }\n\n public getRoundedCanvas(sourceCanvas: HTMLCanvasElement) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n const width = sourceCanvas.width;\n const height = sourceCanvas.height;\n canvas.width = width;\n canvas.height = height;\n context.imageSmoothingEnabled = true;\n context.drawImage(sourceCanvas, 0, 0, width, height);\n context.globalCompositeOperation = \"destination-in\";\n context.beginPath();\n context.arc(width / 2, height / 2, Math.min(width, height) / 2, 0, 2 * Math.PI, true);\n context.fill();\n return canvas;\n }\n\n public onCropImage() {\n if (!this.imageSource) {\n this.croppedImage.emit();\n this.croppedCanvas.emit();\n } else {\n const croppedCanvas = this.rounded ? this.getRoundedCanvas(this.cropper.getCroppedCanvas()) : this.cropper.getCroppedCanvas();\n this.croppedCanvas.emit(croppedCanvas);\n this.croppedImage.emit(croppedCanvas.toDataURL());\n }\n\n this.visibleChange.emit(false);\n }\n\n public onChangeImage() {\n this.changeImage.emit();\n }\n\n public onRemoveImage() {\n this.imageSource = undefined;\n this.removedImage.emit();\n }\n\n public onCancel() {\n this.visibleChange.emit(false);\n this.cancel.emit();\n }\n\n public onModalVisibleChange(visible: boolean) {\n if (!visible) this.onCancel();\n this.visibleChange.emit(visible);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { DialogModule } from \"primeng/dialog\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\n\n@NgModule({\n imports: [CommonModule, DialogModule, ButtonModule, EmptyStateModule, StructureModule],\n declarations: [ImageCropperComponent],\n exports: [ImageCropperComponent, StructureModule],\n entryComponents: [ImageCropperComponent],\n})\nexport class ImageCropperModule {}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, EmbeddedViewRef, ComponentRef } from \"@angular/core\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil, delay } from \"rxjs/operators\";\n\n@Injectable()\nexport class ImageCropperService {\n public activeCropper: ActiveCropper;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public show(config?: ImageCropperConfig) {\n if (this.activeCropper) this.destroy(this.activeCropper);\n\n const activeCropper = {\n componentRef: this.componentFactoryResolver.resolveComponentFactory(ImageCropperComponent).create(this.injector),\n ngUnsubscribe: new Subject(),\n };\n\n this.activeCropper = activeCropper;\n\n this.appRef.attachView(activeCropper.componentRef.hostView);\n const domElem = (activeCropper.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.configureInstance(activeCropper, config);\n activeCropper.componentRef.instance.visible = true;\n\n activeCropper.componentRef.instance.visibleChange\n .pipe(\n takeUntil(this.activeCropper.ngUnsubscribe),\n delay(1000)\n )\n .subscribe(visible => {\n if (!visible) this.destroy(activeCropper);\n });\n }\n\n private configureInstance(activeCropper: ActiveCropper, config?: ImageCropperConfig) {\n const instance = activeCropper.componentRef.instance;\n\n if (config) {\n Object.keys(config).forEach(key => {\n const value = config[key];\n if (typeof value !== \"function\") instance[key] = value;\n else if (typeof value === \"function\") {\n instance[key].pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe((...param: any[]) => config[key](...param));\n }\n });\n }\n\n instance.visibleChange.pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe(visible => (instance.visible = visible));\n }\n\n private destroy(activeCropper: ActiveCropper) {\n activeCropper.ngUnsubscribe.next();\n activeCropper.ngUnsubscribe.complete();\n\n this.appRef.detachView(activeCropper.componentRef.hostView);\n activeCropper.componentRef.destroy();\n }\n}\n\nexport interface ActiveCropper {\n componentRef?: ComponentRef<ImageCropperComponent>;\n ngUnsubscribe?: Subject<any>;\n}\n\nexport interface ImageCropperConfig {\n id?: any;\n header?: string;\n cropLabel?: string;\n selectAnotherLabel?: string;\n removeLabel?: string;\n cancelLabel?: string;\n emptyStateTitle?: string;\n emptyStateActionLabel?: string;\n emptyStateIconClass?: string;\n aspectRatio?: number;\n rounded?: boolean;\n allowSelectAnother?: boolean;\n allowRemove?: boolean;\n allowCancel?: boolean;\n imageSource?: string;\n\n cancel?: () => any;\n changeImage?: () => any;\n removedImage?: () => any;\n croppedImage?: (imageSource: string) => any;\n croppedCanvas?: (imageSource: HTMLCanvasElement) => any;\n}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { debounceTime, repeat, takeUntil } from \"rxjs/operators\";\n\n@Directive({\n selector: \"[sLongPress]\",\n})\nexport class LongPressDirective implements OnInit, OnDestroy {\n @Input()\n public sLongPressDelay = 500;\n\n @Output()\n public sLongPress = new EventEmitter<MouseEvent>();\n\n public mouseUp = new Subject<MouseEvent>();\n public mouseDown = new Subject<MouseEvent>();\n public ngUnsubscribe = new Subject();\n\n @HostListener(\"mouseup\", [\"$event\"])\n @HostListener(\"touchend\", [\"$event\"])\n public onMouseUp(event: MouseEvent) {\n this.mouseUp.next(event);\n }\n\n @HostListener(\"mousedown\", [\"$event\"])\n @HostListener(\"touchstart\", [\"$event\"])\n public onMouseDown(event: MouseEvent) {\n this.mouseDown.next(event);\n }\n\n public ngOnInit() {\n this.mouseDown\n .pipe(\n debounceTime(this.sLongPressDelay),\n takeUntil(this.mouseUp),\n repeat(),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(event => this.sLongPress.emit(event));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LongPressDirective } from \"./long-press.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LongPressDirective],\n exports: [LongPressDirective],\n})\nexport class MouseEventsModule {}\n","export enum ThumbnailSize {\n Small = \"small\",\n Medium = \"medium\",\n Large = \"large\",\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ThumbnailService {\n constructor() {}\n\n public getBinaryFile(img: HTMLImageElement) {\n return new Promise(resolve => {\n const getOrientation = this.getOrientation.bind(this);\n\n let http = new XMLHttpRequest();\n http.addEventListener(\"load\", () => {\n if (http.readyState === 4 && (http.status == 200 || http.status === 0)) {\n const orientation = getOrientation(http.response);\n http = null;\n resolve(orientation);\n }\n });\n\n http.addEventListener(\"error\", () => {\n http = null;\n throw new Error(\"Não foi possÃvel carregar a imagem\");\n });\n\n http.open(\"GET\", img.src, true);\n http.responseType = \"arraybuffer\";\n http.send(null);\n });\n }\n\n /**\n * Retorna a tag da orientação EXIF {-1} Não definido, {-2} Não é formato JPEG, {1, 2, 3, 4, 5, 6, 7, 8} valores da orientação.\n */\n private getOrientation(file: ArrayBuffer): number {\n const view = new DataView(file);\n\n if (view.getUint16(0, false) != 0xffd8) return -2; // not jpeg\n\n const length = view.byteLength;\n let offset = 2;\n\n while (offset < length) {\n const marker = view.getUint16(offset, false);\n offset += 2;\n\n if (marker == 0xffe1) {\n if (view.getUint32((offset += 2), false) != 0x45786966) {\n return -1; // not defined\n }\n const little = view.getUint16((offset += 6), false) == 0x4949;\n offset += view.getUint32(offset + 4, little);\n const tags = view.getUint16(offset, little);\n offset += 2;\n\n for (let i = 0; i < tags; i++)\n if (view.getUint16(offset + i * 12, little) == 0x0112) return view.getUint16(offset + i * 12 + 8, little);\n // tslint:disable-next-line: no-bitwise\n } else if ((marker & 0xff00) != 0xff00) break;\n else offset += view.getUint16(offset, false);\n }\n return -1; // not defined\n }\n}\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild, OnDestroy } from \"@angular/core\";\nimport { from, Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { ThumbnailSize } from \"./thumbnail-size\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@Component({\n selector: \"s-thumbnail\",\n templateUrl: \"./thumbnail.component.html\",\n styleUrls: [\"./thumbnail.component.scss\"],\n})\nexport class ThumbnailComponent implements AfterViewInit, OnDestroy {\n public static nextId = 0;\n public fallback = false;\n public orientation: number;\n\n @ViewChild(\"img\", { static: false })\n public imgEl: ElementRef;\n\n @Input()\n public id = `s-thumbnail-${ThumbnailComponent.nextId++}`;\n\n @Input()\n public size: ThumbnailSize = ThumbnailSize.Medium;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public iconClass = \"far fa-image\";\n\n @Input()\n public hasAction = false;\n\n @Input()\n public actionIconClass = \"fas fa-camera\";\n\n @Input()\n public isTile = false;\n\n @Input()\n public isBrand = false;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private thumbnailService: ThumbnailService) {}\n\n ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n ngAfterViewInit(): void {\n if (this.imgEl)\n this.imgEl.nativeElement.addEventListener(\"load\", () => {\n from(this.thumbnailService.getBinaryFile(this.imgEl.nativeElement))\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((orientation: number) => (this.orientation = orientation));\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"./thumbnail.component\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ThumbnailComponent],\n exports: [ThumbnailComponent],\n providers: [ThumbnailService],\n})\nexport class ThumbnailModule {}\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\n\n@Component({\n selector: \"s-object-card-field\",\n templateUrl: \"./object-card-field.component.html\",\n styleUrls: [\"./object-card-field.component.scss\"],\n})\nexport class ObjectCardFieldComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-field-${ObjectCardFieldComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n}\n","import { AfterContentInit, Component, ContentChild, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailSize } from \"../../../thumbnail/thumbnail-size\";\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { Breakpoints } from \"../../../utils\";\n\n@Component({\n selector: \"s-object-card-main\",\n templateUrl: \"./object-card-main.component.html\",\n styleUrls: [\"./object-card-main.component.scss\"],\n})\nexport class ObjectCardMainComponent implements AfterContentInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-main-${ObjectCardMainComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass = \"fa fa-picture-o\";\n\n @Input()\n public hasThumbnail = true;\n\n @Input()\n public hasDescription = true;\n\n @Input()\n public isBrand = false;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n private _thumbnailSize = ThumbnailSize.Medium;\n\n public set thumbnailSize(value: ThumbnailSize) {\n this._thumbnailSize = value;\n if (this.thumbnailComponent) this.thumbnailComponent.size = value;\n }\n\n public get thumbnailSize() {\n return this._thumbnailSize;\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n public update() {\n const windowWidth = window.innerWidth;\n\n if (windowWidth <= Breakpoints.SM_MAX) this.thumbnailSize = ThumbnailSize.Small;\n else this.thumbnailSize = ThumbnailSize.Medium;\n }\n}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from \"@angular/core\";\nimport * as elementResizeDetectorMaker_ from \"element-resize-detector\";\n\nimport { Breakpoints } from \"../utils/breakpoints\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\n\nconst elementResizeDetectorMaker = elementResizeDetectorMaker_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Component({\n selector: \"s-object-card\",\n templateUrl: \"./object-card.component.html\",\n styleUrls: [\"./object-card.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n ],\n})\nexport class ObjectCardComponent implements AfterViewInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-${ObjectCardComponent.nextId++}`;\n\n @Input()\n public expanded = false;\n\n @Input()\n public expandTooltip = \"Abrir painel\";\n\n @Input()\n public collapseTooltip = \"Fechar painel\";\n\n @Input()\n public fieldsMinWidth = 200;\n\n @Output()\n public expandedChange = new EventEmitter<boolean>();\n\n @ContentChild(ObjectCardMainComponent, { static: true })\n public main: ObjectCardMainComponent;\n\n @ContentChildren(ObjectCardFieldComponent, { descendants: true })\n public fields?: QueryList<ObjectCardFieldComponent>;\n\n public maxVisibleFields = 0;\n\n constructor(private cdr: ChangeDetectorRef, private elementRef: ElementRef) {}\n\n public ngAfterViewInit() {\n this.update();\n this.cdr.detectChanges();\n this.fields.changes.subscribe(() => {\n this.update();\n });\n\n const erd = elementResizeDetectorMaker({\n strategy: \"scroll\",\n });\n\n erd.listenTo(this.elementRef.nativeElement, () => this.update());\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n const mainFieldWidth = containerWidth * 0.3 > 260 ? containerWidth * 0.3 : 260;\n const fieldsMinWidth = this.fieldsMinWidth;\n const expandIconWidth = 50;\n const fieldElementList = this.elementRef.nativeElement.getElementsByClassName(\"s-object-card-field\");\n for (const element of fieldElementList) {\n element.style.minWidth = `${this.fieldsMinWidth}px`;\n }\n\n let maxFieldQtd;\n\n if (windowWidth <= Breakpoints.SM_MAX) maxFieldQtd = 0;\n else maxFieldQtd = Math.floor((containerWidth - mainFieldWidth) / fieldsMinWidth);\n\n if (maxFieldQtd && maxFieldQtd < this.fields.length) {\n maxFieldQtd = Math.floor((containerWidth - mainFieldWidth - expandIconWidth) / fieldsMinWidth);\n }\n\n this.maxVisibleFields = maxFieldQtd;\n\n if (maxFieldQtd >= this.fields.length && this.expanded) this.collapse();\n }\n\n public toggle() {\n this.expanded ? this.collapse() : this.expand();\n }\n\n public expand() {\n this.expanded = true;\n this.expandedChange.emit(this.expanded);\n }\n\n public collapse() {\n this.expanded = false;\n this.expandedChange.emit(this.expanded);\n }\n\n public getExpandedFieldWidth() {\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n\n let fieldsPerRow;\n if (containerWidth <= Breakpoints.SM_MAX) fieldsPerRow = 1;\n else if (containerWidth <= Breakpoints.MD_MAX) fieldsPerRow = 2;\n else if (containerWidth <= Breakpoints.LG_MAX) fieldsPerRow = 4;\n else fieldsPerRow = 6;\n\n return 12 / fieldsPerRow;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ObjectCardComponent } from \"./object-card.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule, ButtonModule],\n declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n})\nexport class ObjectCardModule {}\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-product-header\",\n templateUrl: \"./product-header.component.html\",\n styleUrls: [\"./product-header.component.scss\"],\n})\nexport class ProductHeaderComponent implements AfterViewInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-product-header-${ProductHeaderComponent.nextId++}`;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @ViewChild(\"headerContainer\", { static: false })\n public container: ElementRef;\n\n public ngAfterViewInit() {\n this.container.nativeElement.style.zIndex = String(this.baseZIndex + ++DomHandler.zindex);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ProductHeaderComponent } from \"./product-header.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [ProductHeaderComponent],\n exports: [ProductHeaderComponent, ThumbnailModule],\n})\nexport class ProductHeaderModule {}\n","import { FocusTrapFactory } from \"@angular/cdk/a11y\";\nimport { Component, ContentChild, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { Sidebar } from \"primeng/sidebar\";\nimport { FooterComponent } from \"../structure/footer.component\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-sidebar\",\n templateUrl: \"./sidebar.component.html\",\n styleUrls: [\"./sidebar.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SidebarComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-sidebar-${SidebarComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public largeSized = false;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @ViewChild(Sidebar, { static: true })\n public innerSidebar: Sidebar;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n constructor(private focusTrapFactory: FocusTrapFactory) {}\n\n public onShow() {\n DomHandler.addClass(document.body, \"ui-overflow-hidden-sidebar\");\n const focusTrap = this.focusTrapFactory.create(this.innerSidebar.containerViewChild.nativeElement, false);\n focusTrap.focusInitialElementWhenReady();\n }\n\n public onHide() {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n }\n\n public close(event: Event) {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n}\n","import { A11yModule } from \"@angular/cdk/a11y\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ScrollPanelModule } from \"primeng/scrollpanel\";\nimport { SidebarModule as PrimeSidebar } from \"primeng/sidebar\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { SidebarComponent } from \"./sidebar.component\";\n\n@NgModule({\n imports: [CommonModule, A11yModule, PrimeSidebar, ScrollPanelModule, StructureModule],\n declarations: [SidebarComponent],\n exports: [StructureModule, SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Component, Input, ViewEncapsulation, Output, EventEmitter } from \"@angular/core\";\nimport { BigNumber } from \"bignumber.js\";\n\n@Component({\n selector: \"s-stats-card\",\n templateUrl: \"./stats-card.component.html\",\n styleUrls: [\"./stats-card.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class StatsCardComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-stats-card-${StatsCardComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public lightVersion = false;\n\n @Input()\n public lightMode = true;\n\n @Input()\n public iconClass = \"fa fa-bar-chart\";\n\n @Input()\n public color = \"#339966\";\n\n @Input()\n public animateNumbers = true;\n\n @Input()\n public clickable = false;\n\n @Input()\n public set value(value: string) {\n this.previousValue = this._value;\n this._value = String(value);\n if (this.animateNumbers) this.updateDisplayValue();\n else this.displayValue = this.value;\n }\n\n @Input()\n public tooltip = \"\";\n\n public get value() {\n return this._value;\n }\n\n @Output()\n public onClick: EventEmitter<MouseEvent> = new EventEmitter();\n\n public displayValue: string;\n\n private ANIMATION_DURATION_MS = 200;\n private STEP_DURATION_MS = 20;\n private previousValue = \"0\";\n private intervalId: any;\n private _value = \"0\";\n\n private updateDisplayValue() {\n const animationDuration = new BigNumber(this.ANIMATION_DURATION_MS);\n const stepDuration = new BigNumber(this.STEP_DURATION_MS);\n const animationCount = animationDuration.dividedBy(stepDuration);\n\n const previousRawValue = new BigNumber(this.previousValue.replace(/\\D/g, \"\"));\n const rawValue = new BigNumber(this.value.replace(/\\D/g, \"\"));\n\n const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);\n const incremental = previousRawValue.isLessThan(rawValue);\n\n clearInterval(this.intervalId);\n\n this.displayValue = this.replaceNumericPositions(this.value);\n\n let counter = previousRawValue;\n\n this.intervalId = setInterval(() => {\n if (incremental && counter.isLessThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.plus(incrementValue);\n } else if (!incremental && counter.isGreaterThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.minus(incrementValue);\n } else {\n this.displayValue = this.value;\n\n clearInterval(this.intervalId);\n }\n }, this.STEP_DURATION_MS);\n }\n\n public replaceNumericPositions(value: string, newValue?: BigNumber) {\n const rawValue = value.replace(/[^\\d]/g, \"\");\n const newValueString = newValue ? newValue.toString() : \"\";\n const formattedNewValue = newValueString\n .toString()\n .replace(/\\D/g, \"\")\n .padStart(rawValue.length, \"0\");\n let newValueIndex = 0;\n\n return value\n .split(\"\")\n .map(char => {\n const number = Number(char);\n if (number || char === \"0\") return formattedNewValue[newValueIndex++];\n return char;\n })\n .join(\"\");\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StatsCardComponent } from \"./stats-card.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [StatsCardComponent],\n exports: [StatsCardComponent],\n})\nexport class StatsCardModule {}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nexport enum StepState {\n Default = \"default\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport interface Step {\n id: any;\n label: string;\n ariaLabel?: string;\n ariaControls?: string;\n /**\n * @deprecated\n * @todo remover propriedade deprecada\n */\n description?: string;\n state?: StepState;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport interface StepSelectionEvent {\n step: Step;\n index: number;\n event: any;\n}\n\n@Component({\n selector: \"s-steps\",\n templateUrl: \"./steps.component.html\",\n styleUrls: [\"./steps.component.scss\"],\n host: {\n \"aria-orientation\": \"horizontal\",\n role: \"tablist\",\n \"tab-index\": \"0\",\n },\n animations: [\n trigger(\"beforeActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 100ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 250ms linear\")]),\n ]),\n trigger(\"activeDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"100ms 150ms linear\")]),\n transition(\"desactive => active\", [animate(\"100ms 150ms linear\")]),\n ]),\n trigger(\"afterActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 250ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 100ms linear\")]),\n ]),\n ],\n})\nexport class StepsComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-steps-${StepsComponent.nextId++}`;\n @Input()\n public steps: Step[];\n @Input()\n public activeIndex = 0;\n\n @Output()\n public stepSelected: EventEmitter<StepSelectionEvent> = new EventEmitter();\n\n public stepClick(step: Step, index: number, event: any) {\n if (step.disabled || index == this.activeIndex) return;\n this.stepSelected.emit({ step, index, event });\n }\n\n public get stepState() {\n return StepState;\n }\n\n public barAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex;\n return visited || activated;\n }\n\n public afterBarAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex - 1;\n return visited || activated;\n }\n\n get visibledStep() {\n return this.steps.filter((step: Step) => !step.hidden);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StepsComponent } from \"./steps.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [StepsComponent],\n exports: [StepsComponent],\n})\nexport class StepsModule {}\n","import { Component, EventEmitter, Input, Output, HostListener } from \"@angular/core\";\n\n@Component({\n selector: \"s-tile\",\n templateUrl: \"./tile.component.html\",\n styleUrls: [\"./tile.component.scss\"],\n})\nexport class TileComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-tile-${TileComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public description: string;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabIndex = 0;\n\n @Output()\n public onClick = new EventEmitter();\n\n get initialLetter(): string {\n let initialLetter = \"\";\n if (this.label) {\n const words = this.label.split(\" \", 2);\n initialLetter = words[0].charAt(0).toUpperCase();\n if (words.length > 1) {\n initialLetter += words[1].charAt(0).toUpperCase();\n }\n }\n return initialLetter;\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeyDown(event: any) {\n if (!this.disabled && [13, 32].includes(event.keyCode)) this.onClick.emit();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { TileComponent } from \"./tile.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [TileComponent],\n exports: [TileComponent, ThumbnailModule],\n})\nexport class TileModule {}\n","export enum GlobalSearchSizeEnum {\n STANDARD = \"STANDARD\",\n MEDIUM = \"MEDIUM\",\n SMALL = \"SMALL\"\n}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ElementRef\n} from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { GlobalSearchSizeEnum } from \"../../global-search-size.enum\";\n\n@Component({\n selector: \"s-global-search-dropdown-item\",\n templateUrl: \"./global-search-dropdown-item.component.html\",\n styleUrls: [\"./global-search-dropdown-item.component.scss\"]\n})\nexport class GlobalSearchDropdownItemComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-global-search-dropdown-item-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public primaryLabel: string;\n\n @Input()\n public secondaryEmptyLabel: string;\n\n @Input()\n public tertiaryEmptyLabel: string;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public secondaryLabel?: string;\n\n @Input()\n public tertiaryLabel?: string;\n\n @Input()\n public size = GlobalSearchSizeEnum.STANDARD;\n\n @Input()\n public template: ElementRef;\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n\n private isStandardSize() {\n return this.size === GlobalSearchSizeEnum.STANDARD;\n }\n\n public isMediumSize() {\n return this.size === GlobalSearchSizeEnum.MEDIUM;\n }\n\n public isSmallSize() {\n return this.size === GlobalSearchSizeEnum.SMALL;\n }\n\n public getImageSize() {\n return this.isStandardSize() ? \"medium\" : \"small\";\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ContentChildren,\n QueryList,\n ChangeDetectorRef\n} from \"@angular/core\";\nimport { trigger, state, style, transition, animate } from \"@angular/animations\";\n\nimport { ExportUtils } from \"../utils\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\n\n@Component({\n selector: \"s-global-search\",\n templateUrl: \"./global-search.component.html\",\n styleUrls: [\"./global-search.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n ]\n})\nexport class GlobalSearchComponent {\n\n public static nextId = 0;\n\n @ViewChild(\"globalSearch\", { static: false }) globalSearch: ElementRef;\n\n @Input()\n public id = `s-global-search-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public delay = 500;\n\n @Input()\n public totalItensLabel: string;\n\n @Input()\n public showMoreLabel: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public isLoading = false;\n\n @Input()\n public totalElements: number;\n\n @Input()\n public emptyTitle: string;\n\n @Input()\n public emptyDescription: string;\n\n @Input()\n public emptyIcon: string;\n\n @Input() showFooter = true;\n\n @ContentChildren(GlobalSearchDropdownItemComponent)\n public dropdownItens: QueryList<GlobalSearchDropdownItemComponent>;\n\n @Output() onSearch = new EventEmitter<string>();\n @Output() onFocus = new EventEmitter<boolean>();\n @Output() onShowMore = new EventEmitter();\n\n public search: string;\n public wasSearched = false;\n public isModalLoading = false;\n public expanded = true;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n public onChange() {\n const search = this.search;\n setTimeout(() => {\n if (this.search === search) {\n this.canShowGlobalSearchActive();\n this.onSearch.emit(this.search);\n }\n }, this.delay);\n }\n\n public focusIn() {\n this.onFocus.emit(true);\n }\n\n public focusOut() {\n this.onFocus.emit(false);\n }\n\n public showMore() {\n this.onShowMore.emit();\n }\n\n private removeActiveClassByGlobalSearch() {\n ExportUtils.removeClass(this.globalSearch, \"global-search__input-active\");\n }\n\n public close() {\n this.search = null;\n this.wasSearched = false;\n this.dropdownItens = null;\n this.isModalLoading = false;\n this.removeActiveClassByGlobalSearch();\n }\n\n private canShowGlobalSearchActive() {\n this.wasSearched = !!this.search;\n if (this.search) {\n ExportUtils.addClass(this.globalSearch, \"global-search__input-active\");\n } else {\n this.removeActiveClassByGlobalSearch();\n this.close();\n }\n this.cdr.detectChanges();\n }\n\n}\n","import {\n ElementRef,\n EventEmitter,\n Directive,\n HostListener\n} from \"@angular/core\";\nimport { Output } from \"@angular/core\";\n\n@Directive({\n selector: \"[sInfiniteScroll]\"\n})\nexport class InfiniteScrollDirective {\n\n @Output() onScroll = new EventEmitter<number>();\n\n constructor(private el: ElementRef) {}\n\n @HostListener(\"scroll\")\n scroll() {\n if (this.el.nativeElement.scrollTop > (this.el.nativeElement.scrollHeight - this.el.nativeElement.offsetHeight - 2)) {\n this.onScroll.emit();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { InfiniteScrollDirective } from \"./infinite-scroll.directive\";\n\n@NgModule({\n declarations: [\n InfiniteScrollDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n InfiniteScrollDirective\n ]\n})\nexport class InfiniteScrollModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { GlobalSearchComponent } from \"./global-search.component\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { InfiniteScrollModule } from \"../infinite-scroll/infinite-scroll.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\n\n@NgModule({\n declarations: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ],\n imports: [\n CommonModule,\n InputTextModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n InfiniteScrollModule,\n EmptyStateModule\n ],\n exports: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n EmptyStateModule\n ],\n entryComponents: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ]\n})\nexport class GlobalSearchModule { }\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\n\nexport interface HostProjectConfigs {\n domain: string;\n service: string;\n}\n\n@NgModule({})\nexport class AngularComponentsModule {\n static forRoot(config: HostProjectConfigs): ModuleWithProviders<AngularComponentsModule> {\n return {\n ngModule: AngularComponentsModule,\n providers: [\n {\n provide: \"hostProjectConfigs\",\n useValue: config\n }\n ]\n };\n }\n}"],"names":["router","Subject","takeUntil","filter","NavigationEnd","PRIMARY_OUTLET","ActivatedRoute","Router","Input","Component","NgModule","CommonModule","PrimeBreadcrumbModule","RouterModule","ButtonPriority","ButtonSize","EventEmitter","DomHandler","HostBinding","Output","ViewChild","TieredMenu","TieredMenuModule","TooltipModule","Calendar","Renderer2","HostListener","Directive","trigger","state","style","transition","animate","FormsModule","ReactiveFormsModule","FieldType","of","tap","from","map","user","switchMap","catchError","HttpClient","CookieService","Injectable","BigNumber","applyMask","Pipe","moment","AlignmentOptions","NumberAlignmentOption","NG_VALUE_ACCESSOR","forwardRef","CurrencyMaskDirective","delay","FormControl","FormGroup","Hotkey","HotkeysService","Table","Dialog","AutoComplete","ViewEncapsulation","group","query","animateChild","DynamicType","ValidateErrors","DomSanitizer","ProgressBarModule","TemplateRef","ViewContainerRef","ComponentFactoryResolver","ChangeDetectorRef","NG_VALIDATORS","TableService","RowToggler","EnumColumnFieldType","EnumBadgeColors","TranslateService","Inject","FileUploadComponent","InputTextModule","CheckboxModule","CalendarModule","InputMaskModule","DropdownModule","AutoCompleteModule","MultiSelectModule","PrimeButtonModule","PanelModule","DialogModule","RadioButtonModule","PrimeNGTableModule","HotkeyModule","ChipsModule","InputTextareaModule","KeyFilterModule","FieldsetModule","forkJoin","Validators","FormArray","finalize","HttpEventType","throwError","HttpClientModule","TranslateModule","ContentChild","ApplicationRef","Injector","debounceTime","repeat","ThumbnailSize","ElementRef","ContentChildren","FocusTrapFactory","Sidebar","A11yModule","PrimeSidebar","ScrollPanelModule","StepState","GlobalSearchSizeEnum"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"seniorsistemas-angular-components.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.component.ts","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.module.ts","ng://@seniorsistemas/angular-components/components/button/button-priority.ts","ng://@seniorsistemas/angular-components/components/button/button-size.ts","ng://@seniorsistemas/angular-components/components/button/button.component.ts","ng://@seniorsistemas/angular-components/components/button/button.module.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.directive.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.module.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.component.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.module.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.component.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-size.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/autocomplete-field.ts","ng://@seniorsistemas/angular-components/components/locale/options/calendar.ts","ng://@seniorsistemas/angular-components/components/locale/options/number.ts","ng://@seniorsistemas/angular-components/components/locale/options/index.ts","ng://@seniorsistemas/angular-components/components/locale/locale.service.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-number.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/locale.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/bignumber-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/blob-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/boolean-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/calendar-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/chips-field.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.directive.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/number-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/decimal-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/currency-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/lookup-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/radio-button-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/select-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-area-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/form-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/lookup/lookup.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/grid.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/row.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/structure.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/fieldset.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/section.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-config.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.module.ts","ng://@seniorsistemas/angular-components/components/utils/breakpoints.ts","ng://@seniorsistemas/angular-components/components/utils/export-utils.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.module.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.component.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.directive.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.module.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.component.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.directive.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.module.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.directive.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.module.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.pipe.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.module.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/number-input.directive.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/number-input.module.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkbox.component.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkox.module.ts","ng://@seniorsistemas/angular-components/components/table/navigation/navigation.directive.ts","ng://@seniorsistemas/angular-components/components/table/row-toggler/row-toggler.directive.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-column-field-type.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-badge-colors.ts","ng://@seniorsistemas/angular-components/components/table/table-column/table-columns.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.module.ts","ng://@seniorsistemas/angular-components/components/table/table.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/boolean/boolean-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/calendar/calendar-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/chips/chips-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/base-field-component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/currency/currency-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/lookup/lookup-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/number/number-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/radio-button/radio-button-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/select/select-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text-area/text-area-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text/text-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/grid/row/row.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/fieldset/fieldset.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/section/section.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/bignumber/number-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.directive.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.module.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.service.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.component.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.module.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.directive.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.module.ts","ng://@seniorsistemas/angular-components/components/structure/header.component.ts","ng://@seniorsistemas/angular-components/components/structure/footer.component.ts","ng://@seniorsistemas/angular-components/components/structure/structure.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.component.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.service.ts","ng://@seniorsistemas/angular-components/components/mouse-events/long-press.directive.ts","ng://@seniorsistemas/angular-components/components/mouse-events/mouse-events.module.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail-size.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.service.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.component.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.module.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/field/object-card-field.component.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/main/object-card-main.component.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.component.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.module.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.component.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.module.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.component.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.module.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.component.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.module.ts","ng://@seniorsistemas/angular-components/components/steps/steps.component.ts","ng://@seniorsistemas/angular-components/components/steps/steps.module.ts","ng://@seniorsistemas/angular-components/components/tile/tile.component.ts","ng://@seniorsistemas/angular-components/components/tile/tile.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search-size.enum.ts","ng://@seniorsistemas/angular-components/components/global-search/elements/dropdown/global-search-dropdown-item.component.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.component.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.directive.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.module.ts","ng://@seniorsistemas/angular-components/angular-components.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, OnInit, Input, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET } from \"@angular/router\";\nimport { MenuItem } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { filter, takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: `s-breadcrumb`,\n templateUrl: `./breadcrumb.component.html`,\n})\nexport class BreadcrumbComponent implements OnDestroy {\n @Input() public homeUrl: string;\n public home: MenuItem;\n public items: MenuItem[];\n public title: string;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private activatedRoute: ActivatedRoute, private router: Router) {\n this.router.events\n .pipe(takeUntil(this.ngUnsubscribe), filter(event => event instanceof NavigationEnd))\n .subscribe(() => this.onNavigationEnd());\n }\n\n private onNavigationEnd() {\n const currentRoute = this.activatedRoute.root;\n const validRoutes: ActivatedRoute[] = this.getValidChildren(currentRoute);\n\n this.title = this.getCurrentTitle(validRoutes);\n this.home = this.getCurrentHome(validRoutes);\n this.items = this.getCurrentItems(validRoutes);\n }\n\n private getValidChildren(route: ActivatedRoute): ActivatedRoute[] {\n const valid = route.routeConfig && route.routeConfig.path && route.routeConfig.component && route.outlet === PRIMARY_OUTLET;\n return route.children.reduce((validRoutes, child) => [...validRoutes, ...this.getValidChildren(child)], valid ? [route] : []);\n }\n\n private getCurrentTitle(routes: ActivatedRoute[]) {\n const last = routes[routes.length - 1];\n if (last && last.routeConfig) return this.getTitle(last);\n }\n\n private getCurrentHome(routes: ActivatedRoute[]) {\n let home;\n\n if (this.homeUrl) home = { url: this.homeUrl, icon: \"fa fa-home\" };\n else if (routes.length) home = { ...this.getMenuItem(routes[0], routes.length === 1), icon: \"fa fa-home\" };\n\n return home;\n }\n\n private getCurrentItems(routes: ActivatedRoute[]) {\n if (!routes.length) return;\n const items = this.homeUrl ? routes : routes.slice(1);\n if (items.length) return items.map((route, i) => this.getMenuItem(route, i === routes.length - 1));\n }\n\n private getMenuItem(route: ActivatedRoute, disabled = false) {\n const label = this.getTitle(route);\n const routes = route.pathFromRoot;\n const routerLink = routes\n .slice(0, routes.indexOf(route) + 1)\n .reduce((result, item) => [...result, ...item.snapshot.url.map(url => url.path)], [\"/\"]);\n\n return {\n label,\n routerLink,\n queryParams: route.snapshot.queryParams,\n routerLinkActiveOptions: { exact: true },\n disabled,\n };\n }\n\n private getTitle(route: ActivatedRoute) {\n const { snapshot, routeConfig } = route;\n const title = snapshot.data.routeTitle;\n if (!title) throw new Error(`No routeTitle defined for the route /${routeConfig.path}`);\n return title;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BreadcrumbModule as PrimeBreadcrumbModule } from \"primeng/breadcrumb\";\n\nimport { BreadcrumbComponent } from \"./breadcrumb.component\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports: [CommonModule, PrimeBreadcrumbModule, RouterModule],\n declarations: [BreadcrumbComponent],\n exports: [BreadcrumbComponent, RouterModule],\n})\nexport class BreadcrumbModule {}\n","export enum ButtonPriority {\n Default = \"default\",\n Primary = \"primary\",\n Secondary = \"secondary\",\n Link = \"link\",\n}\n","export enum ButtonSize {\n Default = \"default\",\n Small = \"small\",\n}\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\nimport { TieredMenu } from \"primeng/tieredmenu\";\nimport { DomHandler } from \"primeng/dom\";\nimport { ButtonPriority } from \"./button-priority\";\nimport { ButtonSize } from \"./button-size\";\n\n@Component({\n selector: \"s-button\",\n templateUrl: \"./button.component.html\",\n styleUrls: [\"./button.component.scss\"],\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @HostBinding(\"style.min-width\")\n public minWidth = \"40px\";\n\n @Input()\n public id = `s-button-${ButtonComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public tooltip: string;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public rightIconClass: string;\n\n @Input()\n public caret = true;\n\n @Input()\n public styleClass: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public disabled = false;\n\n @Input()\n public auxiliary = false;\n\n @Input()\n public type = \"button\";\n\n @Input()\n public priority: ButtonPriority = ButtonPriority.Primary;\n\n @Input()\n public model: MenuItem[] = [];\n\n @Input()\n public size = ButtonSize.Default;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n\n public tooltipZIndex: number;\n\n @ViewChild(TieredMenu, { static: true })\n private menu: TieredMenu;\n\n public ngOnInit() {\n this.onClick.subscribe((event: any) => {\n if (!this.model || !this.model.length) return;\n\n this.menu.model = this.model;\n this.menu.toggle(event);\n });\n }\n\n public isOpen() {\n return this.model && this.model.length && this.menu.visible;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n const isMultiple = this.model && this.model.length;\n\n if (hasText || (hasIcon && isMultiple)) this.minWidth = \"80px\";\n if (hasText && hasIcon && isMultiple) this.minWidth = \"100px\";\n }\n\n public updateTooltipZIndex() {\n this.tooltipZIndex = this.baseZIndex + ++DomHandler.zindex;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\nimport { TieredMenuModule } from \"primeng/tieredmenu\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonComponent } from \"./button.component\";\n\n@NgModule({\n imports: [CommonModule, RouterModule, TieredMenuModule, TooltipModule],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule {}\n","import { AfterViewChecked, Directive, HostListener, Input, OnDestroy, OnInit, Renderer2 } from \"@angular/core\";\nimport { Calendar } from \"primeng/calendar\";\n\n@Directive({\n selector: \"p-calendar[sCalendarMask]\",\n})\nexport class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {\n\n SELECTORS = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n @Input()\n public slotChar = \"_\";\n\n @Input()\n public autoClear = false;\n\n public value: any;\n public input: HTMLInputElement;\n public filled: boolean;\n\n private _mask: string;\n private defs: any;\n private tests: any[];\n private partialPosition: any;\n private firstNonMaskPos: number;\n private lastRequiredNonMaskPos: any;\n private len: number;\n private oldVal: string;\n private buffer: any;\n private defaultBuffer: string;\n private focusText: string;\n private caretTimeoutId: any;\n private androidChrome: boolean;\n private firstTime = true;\n\n private focusListener: () => void;\n private blurListener: () => void;\n private keydownListener: () => void;\n private keypressListener: () => void;\n private inputListener: () => void;\n private pasteListener: () => void;\n\n constructor(public host: Calendar, public renderer: Renderer2) {}\n\n private setListeners() {\n this.input = this.host.inputfieldViewChild.nativeElement;\n this.value = this.input.value;\n\n this.focusListener = this.renderer.listen(this.input, \"focus\", () => {\n this.onInputFocus();\n });\n\n this.blurListener = this.renderer.listen(this.input, \"blur\", (event: any) => {\n this.onInputBlur(event);\n });\n\n this.keydownListener = this.renderer.listen(this.input, \"keydown\", (event: any) => {\n this.onKeyDown(event);\n });\n\n this.keypressListener = this.renderer.listen(this.input, \"keypress\", (event: any) => {\n this.onKeyPress(event);\n });\n\n this.inputListener = this.renderer.listen(this.input, \"input\", (event: any) => {\n this.onInputChange(event);\n });\n\n this.pasteListener = this.renderer.listen(this.input, \"paste\", (event: any) => {\n this.handleInputChange(event);\n });\n }\n\n public ngOnInit() {\n const ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n this.createMaskFromDateFormat();\n this.initMask();\n }\n\n get mask(): string {\n return this._mask;\n }\n\n set mask(val: string) {\n this._mask = val;\n\n this.initMask();\n this.writeValue(\"\");\n }\n\n public writeValue(value: any): void {\n this.value = value;\n\n if (this.input) {\n if (this.value == undefined) {\n this.input.value = \"\";\n } else {\n this.input.value = this.value;\n }\n\n this.checkVal();\n this.focusText = this.input.value;\n this.updateFilledState();\n }\n }\n\n public onInputBlur(e: any) {\n this.checkVal();\n this.updateFilledState();\n\n if (this.value != this.focusText) {\n if (\n !this.input.disabled &&\n (this.value === undefined || this.value === null || (this.value as string).indexOf(this.slotChar) >= 0)\n ) {\n this.value = \"\";\n e.target.value = \"\";\n this.host.updateModel(null);\n }\n\n this.updateModel(e);\n const event = document.createEvent(\"HTMLEvents\");\n event.initEvent(\"change\", true, false);\n this.input.dispatchEvent(event);\n }\n }\n\n public onKeyDown(e: any) {\n if (this.host.readonlyInput) {\n return;\n }\n\n const k = e.which || e.keyCode;\n const iPhone = /iphone/i.test(navigator.userAgent);\n let pos;\n let begin;\n let end;\n this.oldVal = this.input.value;\n\n // Backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModel(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // Enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // Escape\n this.input.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n e.preventDefault();\n }\n }\n\n public onKeyPress(e: any) {\n if (this.host.readonlyInput) return;\n\n const k = e.which || e.keyCode;\n const pos = this.caret();\n let p;\n let c;\n let next: any;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n // Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < this.len) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(navigator.userAgent)) {\n // Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n this.updateFilledState();\n }\n\n public checkVal(allow?: boolean) {\n // Try to place characters where they belong\n const test = this.input.value;\n let lastMatch = -1;\n let i: any;\n let c: any;\n let pos = 0;\n\n for (i = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join(\"\") === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.input.value) {\n this.input.value = \"\";\n }\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.input.value = this.input.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n }\n\n public onInputFocus() {\n if (this.host.readonlyInput) return;\n\n clearTimeout(this.caretTimeoutId);\n let pos: any;\n\n this.focusText = this.input.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.input !== document.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask.replace(\"?\", \"\").length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n }\n\n public onInputChange(event: any) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n }\n\n public handleInputChange(event: any) {\n if (this.host.readonlyInput) return;\n\n setTimeout(() => {\n const pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n }, 0);\n }\n\n public updateModel(e: any) {\n const updatedValue = e.target.value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.host.onUserInput(e);\n }\n }\n\n public updateFilledState() {\n this.filled = this.input && this.input.value != \"\";\n }\n\n public focus() {\n this.input.focus();\n }\n\n private initMask() {\n this.tests = [];\n this.partialPosition = this.mask.length;\n this.len = this.mask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n \"9\": \"[0-9]\",\n };\n\n const maskTokens = this.mask.split(\"\");\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c == \"?\") {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c != \"?\") {\n if (this.defs[c]) {\n this.buffer.push(this.getPlaceholder(i));\n } else {\n this.buffer.push(c);\n }\n }\n }\n\n this.defaultBuffer = this.buffer.join(\"\");\n }\n\n private caret(first?: number, last?: number) {\n let range, begin, end;\n\n if (!this.input.offsetParent || this.input !== document.activeElement) {\n return;\n }\n\n if (typeof first == \"number\") {\n begin = first;\n end = typeof last === \"number\" ? last : begin;\n\n if (this.input.setSelectionRange) {\n this.input.setSelectionRange(begin, end);\n } else if (this.input[\"createTextRange\"]) {\n range = this.input[\"createTextRange\"]();\n range.collapse(true);\n range.moveEnd(\"character\", end);\n range.moveStart(\"character\", begin);\n range.select();\n }\n } else {\n if (this.input.setSelectionRange) {\n begin = this.input.selectionStart;\n end = this.input.selectionEnd;\n } else if (document[\"selection\"] && document[\"selection\"].createRange) {\n range = document[\"selection\"].createRange();\n begin = 0 - range.duplicate().moveStart(\"character\", -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n private getPlaceholder(i: number) {\n if (i < this.slotChar.length) return this.slotChar.charAt(i);\n return this.slotChar.charAt(0);\n }\n\n private seekNext(pos: any) {\n while (++pos < this.len) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private seekPrev(pos: any) {\n while (--pos >= 0 && !this.tests[pos]) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private shiftL(begin: number, end: number) {\n let i: any;\n let j: any;\n\n if (begin < 0) {\n return;\n }\n\n j = this.seekNext(end);\n\n for (i = begin; i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else break;\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n }\n\n private shiftR(pos: any) {\n let i: any;\n let c = this.getPlaceholder(pos);\n let j: any;\n let t: any;\n\n for (i = pos; i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else break;\n }\n }\n }\n\n private handleAndroidInput(e: any) {\n const curVal = this.input.value;\n const pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // A deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) {\n pos.begin--;\n }\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) {\n pos.begin++;\n }\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n } else {\n this.checkVal(true);\n\n while (pos.begin < this.len && !this.tests[pos.begin]) {\n pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n }\n }\n\n private updateCalendarValue(sentVal: string) {\n // TODO verificar\n const dateVal = <Date>this.host.parseValueFromString(sentVal);\n if (this.host.isSelectable(dateVal.getDate(), dateVal.getMonth(), dateVal.getFullYear(), false)) {\n this.host.updateModel(sentVal);\n this.host.updateUI();\n }\n }\n\n private clearBuffer(start: any, end: any) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n\n private writeBuffer() {\n this.input.value = this.buffer.join(\"\");\n }\n\n private createMaskFromDateFormat() {\n const calendar = this.host;\n let mask = this.autoClear ? \"?\" : \"\";\n\n if (!calendar.timeOnly) {\n let dateFormat = calendar.dateFormat;\n dateFormat = dateFormat.replace(/y/g, \"yy\");\n mask += dateFormat.replace(/[^/*,.\\-+\\[\\]\\\\]/g, \"9\");\n if (calendar.showTime) {\n mask += \" \";\n }\n }\n\n if (calendar.showTime || calendar.timeOnly) {\n mask += \"99:99\";\n if (calendar.showSeconds) {\n mask += \":99\";\n }\n }\n\n this._mask = mask;\n\n this.initMask();\n }\n\n isCompleted(): boolean {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n ngAfterViewChecked(): void {\n if (this.host.inputfieldViewChild && this.firstTime) {\n this.firstTime = false;\n this.setListeners();\n this.input.type = \"tel\";\n }\n }\n\n ngOnDestroy(): void {\n if (this.focusListener) this.focusListener();\n if (this.blurListener) this.blurListener();\n if (this.keydownListener) this.keydownListener();\n if (this.keypressListener) this.keypressListener();\n if (this.inputListener) this.inputListener();\n if (this.pasteListener) this.pasteListener();\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n onKeydownEventTest(e: KeyboardEvent) {\n const { key } = e;\n if (key == \"Tab\") {\n // Este código foi implementado para corrigir um problema no componente na v9\n // Deve ser removido assim que atualizarmos o PrimeNG para a v10\n const allFocusableElements = document.querySelectorAll(this.SELECTORS);\n let nextIsFocusable = false;\n let previousFocusable: string;\n let forceCloseModal = true;\n allFocusableElements.forEach(element => {\n if (!e.shiftKey) {\n if (nextIsFocusable && element.id) {\n this.focusableElement(element.id, forceCloseModal);\n nextIsFocusable = false;\n e.preventDefault();\n return;\n }\n }\n\n let activeTagName = window.document.activeElement.tagName;\n if (e.shiftKey && element.id && element.tagName === \"INPUT\" && activeTagName == \"BUTTON\") {\n previousFocusable = element.id;\n forceCloseModal = false;\n }\n \n if (element.id === this.host.inputId) {\n if (previousFocusable) {\n this.focusableElement(previousFocusable, forceCloseModal);\n e.preventDefault();\n forceCloseModal = true;\n return;\n }\n nextIsFocusable = true;\n } else if (e.shiftKey && element.id) {\n previousFocusable = element.id;\n }\n });\n }\n }\n\n public focusableElement(id: string, hide: boolean) {\n const htmlElement = window.document.getElementById(id);\n htmlElement.focus();\n if(hide)\n this.host.hideOverlay();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CalendarMaskDirective } from \"./calendar-mask.directive\";\nimport { CommonModule } from \"@angular/common\";\n\n@NgModule({\n declarations: [CalendarMaskDirective],\n imports: [CommonModule],\n exports: [CalendarMaskDirective],\n})\nexport class CalendarMaskModule {}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\n\n@Component({\n selector: \"s-collapse-link\",\n templateUrl: \"./collapse-link.component.html\",\n styleUrls: [\"./collapse-link.component.scss\"],\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"void\",\n style({\n height: 0,\n opacity: 0,\n })\n ),\n state(\n \"*\",\n style({\n height: \"*\",\n opacity: 1,\n })\n ),\n transition(\"void <=> *\", animate(\"400ms cubic-bezier(0.86, 0, 0.07, 1)\")),\n ]),\n ],\n})\nexport class CollapseLinkComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public buttonId = `s-collapse-button-${CollapseLinkComponent.nextId++}`;\n @Input()\n public expandedLabel = \"Mostrar menos\";\n @Input()\n public collapsedLabel = \"Mostrar mais\";\n @Input()\n public disabled = false;\n @Input()\n public collapse = true;\n\n public collapsed = true;\n public animating: boolean;\n\n constructor() {}\n\n public ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.collapse) {\n this.onCollapse(changes.collapse.currentValue);\n }\n }\n\n public toggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n public onCollapse(collapse: boolean) {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = collapse;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { CollapseLinkComponent } from \"./collapse-link.component\";\n\n@NgModule({\n declarations: [CollapseLinkComponent],\n exports: [CollapseLinkComponent],\n imports: [CommonModule],\n})\nexport class CollapseLinkModule {}\n","import { AbstractControl } from \"@angular/forms\";\nimport { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-control-errors\",\n templateUrl: \"./control-errors.component.html\",\n styleUrls: [\"./control-errors.component.scss\"],\n})\nexport class ControlErrorsComponent {\n public static nextId = 0;\n\n @Input()\n id = `s-control-errors-${ControlErrorsComponent.nextId++}`;\n @Input()\n control: AbstractControl;\n @Input()\n errorMessages: any = {};\n @Input()\n form: any;\n\n getErrorMessagesList() {\n if (!this.control || !this.control.dirty) return [];\n return Object.keys(this.control.errors || {}).map(error => this.errorMessages[error]);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n declarations: [ControlErrorsComponent],\n exports: [ControlErrorsComponent],\n})\nexport class ControlErrorsModule {}\n","export enum FieldType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Boolean = \"Boolean\",\n Chips = \"Chips\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n /**\n * @deprecated Should use 'Number' instead\n */\n Double = \"Double\",\n Enum = \"Enum\",\n Blob = \"Blob\",\n /**\n * @deprecated Should use 'Number' instead\n */\n Integer = \"Integer\",\n Lookup = \"Lookup\",\n /**\n * @deprecated Should use 'Number' instead\n */\n Money = \"Money\",\n Radio = \"Radio\",\n String = \"String\",\n Text = \"Text\",\n Time = \"Time\",\n Number = \"Number\"\n}\n","export class FieldSize {\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n\n constructor({ sm = 12, md = 6, lg = 6, xl = 6 }: FieldSize) {\n this.sm = sm;\n this.md = md;\n this.lg = lg;\n this.xl = xl;\n }\n}\n","import { FieldSize } from \"../field-size\";\nimport { FieldType } from \"../field-type\";\n\nexport interface FieldConfig {\n defaultValue?: any;\n required?: () => boolean;\n visible?: () => boolean;\n id?: string;\n name: string;\n label: string;\n infoSign?: string;\n tooltip?: string;\n placeholder?: string;\n showClear?: boolean;\n type?: FieldType;\n size?: FieldSize;\n errorMessages?: () => ({}) | {};\n}\n\nexport abstract class Field {\n public required?: () => boolean;\n public visible?: () => boolean;\n public id?: string;\n public name: string;\n public label: string;\n public infoSign?: string;\n public tooltip?: string;\n public placeholder?: string;\n public showClear?: boolean;\n public type: FieldType;\n public size: FieldSize;\n public gridClass: string[];\n public defaultValue?: any;\n public errorMessages?: () => ({}) | {};\n\n constructor(config: FieldConfig) {\n this.required = config.required || (() => false);\n this.visible = config.visible || (() => true);\n this.id = config.id;\n this.name = config.name;\n this.label = config.label;\n this.infoSign = config.infoSign;\n this.tooltip = config.tooltip;\n this.placeholder = config.placeholder || \"\";\n this.showClear = config.showClear || false;\n this.type = config.type;\n this.size = new FieldSize(config.size || {});\n this.errorMessages = config.errorMessages;\n this.gridClass = Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);\n this.defaultValue = config.defaultValue;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface AutocompleteFieldConfig extends FieldConfig {\n dataKey?: string;\n displayField?: string;\n multiple?: boolean;\n appendTo?: string;\n emptyMessage?: string;\n suggestionsObservable: Observable<any>;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onSearch: (value: string) => void;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class AutocompleteField extends Field {\n public dataKey: string;\n public displayField?: string;\n public multiple?: boolean;\n public appendTo?: string;\n public emptyMessage?: string;\n public suggestionsObservable: Observable<any>;\n public suggestions: any[] = [];\n\n public onSelect?: (event: any) => void;\n public onUnselect?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onSearch: (value: string) => void;\n public onBlur?: (event: FocusEvent) => void;\n\n constructor(config: AutocompleteFieldConfig) {\n super({ ...config, type: FieldType.Autocomplete } as AutocompleteFieldConfig);\n Object.assign(this, config);\n this.suggestionsObservable.subscribe(suggestions => (this.suggestions = suggestions));\n }\n}\n","export interface ICalendarLocaleOptions {\n hourFormat?: string;\n dateFormat?: string;\n firstDayOfWeek?: number;\n today?: string;\n clear?: string;\n dayNames?: string[];\n dayNamesShort?: string[];\n dayNamesMin?: string[];\n monthNamesShort?: string[];\n monthNames?: string[];\n}\n\nexport class CalendarLocaleOptions implements ICalendarLocaleOptions {\n public hourFormat = \"24\";\n public dateFormat = \"dd/mm/yy\";\n public firstDayOfWeek = 0;\n public today = \"Hoje\";\n public clear = \"Limpar\";\n public dayNames: string[] = [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"];\n public dayNamesShort: string[] = [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sab\"];\n public dayNamesMin: string[] = [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"];\n public monthNamesShort: string[] = [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dec\"];\n public monthNames: string[] = [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\",\n ];\n\n constructor(config: ICalendarLocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n","export interface INumberLocaleOptions {\n thousandsSeparator?: string;\n decimalSeparator?: string;\n currencySymbol?: string;\n}\n\nexport class NumberLocaleOptions implements INumberLocaleOptions {\n public thousandsSeparator = \".\";\n public decimalSeparator = \",\";\n public currencySymbol = \"R$\";\n\n constructor(config: INumberLocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n","import { CalendarLocaleOptions } from \"./calendar\";\nimport { NumberLocaleOptions } from \"./number\";\n\nexport interface ILocaleOptions {\n calendar?: CalendarLocaleOptions;\n number?: NumberLocaleOptions;\n}\n\nexport class LocaleOptions implements ILocaleOptions {\n calendar = new CalendarLocaleOptions();\n number = new NumberLocaleOptions();\n\n constructor(config: ILocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n\nexport const DEFAULT_CALENDAR_LOCALE_OPTIONS = new CalendarLocaleOptions();\nexport const DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();\nexport const DEFAULT_LOCALE_OPTIONS = new LocaleOptions();\n\nexport * from \"./calendar\";\nexport * from \"./number\";\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { user } from \"@seniorsistemas/senior-platform-data\";\nimport * as moment_ from \"moment\";\nimport { from, Observable, of } from \"rxjs\";\nimport { catchError, map, switchMap, tap } from \"rxjs/operators\";\nimport { ILocaleOptions, LocaleOptions } from \"./options/index\";\nimport { CookieService } from 'ngx-cookie-service';\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Injectable()\nexport class LocaleService {\n private locale: string;\n private localeOptions: LocaleOptions;\n private localeOptionsAddress = \"https://cdn.senior.com.br/primeng/locales\";\n private localeOptionsVersion = \"3.0.0\";\n\n constructor(\n private http: HttpClient,\n private cookieService: CookieService\n ) { }\n\n get(): Observable<LocaleOptions> {\n return this.localeOptions\n ? of(this.localeOptions)\n : this.getLocaleConfig().pipe(tap((localeOptions: LocaleOptions) => (this.localeOptions = localeOptions)));\n }\n\n getLocale(): Observable<string> {\n return this.locale\n ? of(this.locale)\n : from(this.getUserData()).pipe(\n map((userData: any) => {\n this.locale = <string>userData.locale || <string>userData.tenantLocale || \"pt-BR\";\n return this.locale;\n })\n );\n }\n\n private getUserData() {\n try {\n return of(JSON.parse(this.cookieService.get('com.senior.token')));\n } catch (ex) {\n console.warn('Unable to obtain user locale from cookie, calling getUser');\n return user.getUserData();\n }\n }\n\n private getLocaleConfig(): Observable<LocaleOptions> {\n return this.getLocale().pipe(\n switchMap((locale: string) => {\n moment.locale(locale);\n\n return this.http\n .get<ILocaleOptions>(`${this.localeOptionsAddress}/${this.localeOptionsVersion}/${locale}.json`)\n .pipe(map(response => new LocaleOptions(response)));\n }),\n catchError((err: any) => {\n console.warn(`Error getting locale configuration. Using fallback.`, err);\n return of(new LocaleOptions());\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { applyMask, MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\n\n@Pipe({\n name: \"localizedBignumber\",\n})\nexport class LocalizedBignumberPipe implements PipeTransform {\n constructor(\n private localeService: LocaleService\n ) {}\n\n public transform(value?: any, options?: MaskConfig): any {\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value?: any, options?: MaskConfig) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const configs: MaskConfig = {\n prefix: options?.prefix ?? localeConfig?.number?.currencySymbol ?? \"R$\",\n thousandsSeparator: options?.thousandsSeparator ?? localeConfig?.number?.thousandsSeparator ?? \".\",\n decimalSeparator: options?.decimalSeparator ?? localeConfig?.number?.decimalSeparator ?? \",\",\n scale: options?.scale ?? 2\n };\n const isNumber = !(new BigNumber(value).isNaN());\n return applyMask(value, configs, isNumber);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { LocalizedBignumberPipe } from \"./localized-bignumber.pipe\";\n\n@Pipe({\n name: \"localizedBignumberImpure\",\n pure: false,\n})\nexport class LocalizedBignumberImpurePipe extends LocalizedBignumberPipe implements PipeTransform {\n public transform(value?: any, options?: MaskConfig): any {\n return super.transform(value, options);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { INumberLocaleOptions, NumberLocaleOptions } from \"../options\";\n\nexport interface ILocalizedCurrencyPipeOptions extends INumberLocaleOptions {\n scale?: number;\n}\n\nexport class LocalizedCurrencyPipeOptions extends NumberLocaleOptions implements ILocalizedCurrencyPipeOptions {\n public scale = 2;\n\n constructor(config: ILocalizedCurrencyPipeOptions = {}) {\n super(config);\n }\n}\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrency\",\n})\nexport class LocalizedCurrencyPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value?: any, options?: LocalizedCurrencyPipeOptions): any {\n if (!options) {\n options = new LocalizedCurrencyPipeOptions();\n }\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value: any, options: LocalizedCurrencyPipeOptions) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const config = { ...localeConfig.number, ...options };\n const { scale, currencySymbol, thousandsSeparator, decimalSeparator } = config;\n\n const rawValue = Number(value).toFixed(scale);\n const onlyNumbers = rawValue.replace(/[^0-9]/g, ``);\n const integerPart =\n onlyNumbers\n .slice(0, onlyNumbers.length - scale)\n .replace(/^0*/g, ``)\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) || `0`;\n const decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);\n const newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;\n const isZero = !Number(onlyNumbers);\n const operator = rawValue.includes(\"-\") && !isZero ? \"-\" : \"\";\n return `${operator}${currencySymbol}${newValue}`;\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions } from \"./localized-currency.pipe\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrencyImpure\",\n pure: false,\n})\nexport class LocalizedCurrencyImpurePipe extends LocalizedCurrencyPipe implements PipeTransform {\n public transform(value?: any, options: LocalizedCurrencyPipeOptions = new LocalizedCurrencyPipeOptions()): any {\n return super.transform(value, options);\n }\n}\n","import * as moment_ from \"moment\";\nimport { Pipe, PipeTransform } from \"@angular/core\";\n\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedDate\",\n})\nexport class LocalizedDatePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"L LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value).format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedDatePipe } from \"./localized-date.pipe\";\n\n@Pipe({\n name: \"localizedDateImpure\",\n pure: false,\n})\nexport class LocalizedDateImpurePipe extends LocalizedDatePipe implements PipeTransform {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { from } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale.service\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({ name: \"localizedNumber\" })\nexport class LocalizedNumberPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n transform(value: number | string, minimumFractionDigits?: number) {\n return from(this.localeService.getLocale()).pipe(\n map((locale: string) => {\n const numericValue = Number(value);\n\n if (!value && isNaN(numericValue)) return;\n\n return new Intl.NumberFormat(locale, {\n minimumFractionDigits: minimumFractionDigits || 0,\n }).format(Number(value));\n })\n );\n }\n}\n\nexport interface Locale {\n localidade?: string;\n tenantLocale?: string;\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport * as moment_ from \"moment\";\nimport { map } from \"rxjs/operators\";\n\nimport { LocaleService } from \"../locale.service\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedTime\",\n})\nexport class LocalizedTimePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value, \"HH:mm:ss\").format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedTimePipe } from \"./localized-time.pipe\";\n\n@Pipe({\n name: \"localizedTimeImpure\",\n pure: false,\n})\nexport class LocalizedTimeImpurePipe extends LocalizedTimePipe implements PipeTransform {}\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders } from \"@angular/compiler/src/core\";\nimport { NgModule } from \"@angular/core\";\nimport { LocaleService } from \"./locale.service\";\nimport { LocalizedBignumberImpurePipe } from \"./pipes/localized-bignumber-impure.pipe\";\nimport { LocalizedBignumberPipe } from \"./pipes/localized-bignumber.pipe\";\nimport { LocalizedCurrencyImpurePipe } from \"./pipes/localized-currency-impure.pipe\";\nimport { LocalizedCurrencyPipe } from \"./pipes/localized-currency.pipe\";\nimport { LocalizedDateImpurePipe } from \"./pipes/localized-date-impure.pipe\";\nimport { LocalizedDatePipe } from \"./pipes/localized-date.pipe\";\nimport { LocalizedNumberPipe } from \"./pipes/localized-number.pipe\";\nimport { LocalizedTimeImpurePipe } from \"./pipes/localized-time-impure.pipe\";\nimport { LocalizedTimePipe } from \"./pipes/localized-time.pipe\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe\n ],\n declarations: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe\n ],\n})\nexport class LocaleModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n providers: [\n LocaleService,\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe\n ],\n };\n }\n\n public static forChild(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n };\n }\n}\n","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { DEFAULT_NUMBER_LOCALE_OPTIONS, NumberLocaleOptions } from \"../../../locale/index\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BignumberFieldConfig extends FieldConfig {\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class BignumberField extends Field {\n public numberLocaleOptions: NumberLocaleOptions;\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: AlignmentOptions;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(config: BignumberFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.scale = config.scale ?? 2;\n this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { ElementRef } from \"@angular/core\";\nimport { FileDto } from \"../../../file-upload/index\";\nimport { FormField } from \"./../../configurations/form-field\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BlobFieldConfig extends FieldConfig {\n accept: string;\n files: FileDto[];\n chooseLabel: string;\n removeLabel: string;\n cancelLabel: string;\n successTooltip: string;\n multiple: boolean;\n onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n onRemoveFile: (event: FileDto, field: FormField) => void;\n onCancelUpload: (event: number, field: FormField) => void;\n onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n}\n\nexport class BlobField extends Field {\n public accept: string;\n public files: FileDto[];\n public chooseLabel: string;\n public removeLabel: string;\n public cancelLabel: string;\n public successTooltip: string;\n public multiple: boolean;\n public onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n public onRemoveFile: (event: FileDto, field: FormField) => void;\n public onCancelUpload: (event: number, field: FormField) => void;\n public onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n\n constructor(config: BlobFieldConfig) {\n super(config);\n this.accept = config.accept;\n this.files = config.files || [];\n this.chooseLabel = config.chooseLabel;\n this.removeLabel = config.removeLabel;\n this.cancelLabel = config.cancelLabel;\n this.successTooltip = config.successTooltip;\n this.multiple = config.multiple;\n this.onUploadFile = config.onUploadFile;\n this.onRemoveFile = config.onRemoveFile;\n this.onCancelUpload = config.onCancelUpload;\n this.onDownloadFile = config.onDownloadFile;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface BooleanOptionsLabelConfig {\n true: string;\n false: string;\n empty?: string;\n}\n\nexport class BooleanOptionsLabel {\n public true: string;\n public false: string;\n public empty?: string;\n\n constructor(config: BooleanOptionsLabelConfig) {\n this.true = config.true;\n this.false = config.false;\n this.empty = config.empty;\n }\n}\n\nexport interface BooleanFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n optionsLabel: BooleanOptionsLabel;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class BooleanField extends Field {\n public verticalAlignment?: boolean;\n public optionsLabel: BooleanOptionsLabel;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: BooleanFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n","import { CalendarLocaleOptions, DEFAULT_CALENDAR_LOCALE_OPTIONS } from \"../../../locale/index\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface CalendarFieldConfig extends FieldConfig {\n view?: string;\n minDate?: Date;\n maxDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n calendarLocaleOptions?: CalendarLocaleOptions;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: string;\n rangeSeparator?: string;\n}\n\nexport class CalendarField extends Field {\n public view?: string;\n public appendTo: string;\n public minDate?: Date;\n public maxDate?: Date;\n public calendarLocaleOptions: CalendarLocaleOptions;\n public showOnFocus?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: string;\n public rangeSeparator?: string;\n\n constructor(config: CalendarFieldConfig) {\n super(config);\n this.view = config.view || \"date\";\n this.minDate = config.minDate;\n this.maxDate = config.maxDate;\n this.appendTo = config.appendTo;\n this.showOnFocus = typeof config.showOnFocus === \"boolean\" ? config.showOnFocus : true;\n this.calendarLocaleOptions = config.calendarLocaleOptions || DEFAULT_CALENDAR_LOCALE_OPTIONS;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onSelect = config.onSelect;\n this.onInput = config.onInput;\n this.onClose = config.onClose;\n this.onTodayClick = config.onTodayClick;\n this.onClearClick = config.onClearClick;\n this.onMonthChange = config.onMonthChange;\n this.onYearChange = config.onYearChange;\n this.selectionMode = config.selectionMode || \"single\";\n this.rangeSeparator = config.rangeSeparator || \"-\";\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface ChipsFieldConfig extends FieldConfig {\n onAdd: (event: any) => void;\n onRemove: (event: any) => void;\n onChipClick: (event: any) => void;\n onFocus: (event: any) => void;\n onBlur: (event: any) => void;\n}\n\nexport class ChipsField extends Field {\n public onAdd: (event: any) => void;\n public onRemove: (event: any) => void;\n public onChipClick: (event: any) => void;\n public onFocus: (event: any) => void;\n public onBlur: (event: any) => void;\n\n constructor(config: ChipsFieldConfig) {\n super(config);\n this.onAdd = config.onAdd;\n this.onRemove = config.onRemove;\n this.onChipClick = config.onChipClick;\n this.onFocus = config.onFocus;\n this.onBlur = config.onBlur;\n }\n}\n","import { Directive, forwardRef, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { CurrencyMaskDirective } from \"ng2-currency-mask\";\n\n/**\n * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead\n */\nexport enum NumberAlignmentOption {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\n/**\n * @deprecated Should use BigNumberInput directive instead\n */\n@Directive({\n selector: \"input[sNumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class NumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator = \",\";\n\n @Input()\n public thousandsSeparator = \".\";\n\n @Input()\n public alignTo = NumberAlignmentOption.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n private regex: RegExp = /\\d/;\n\n public ngOnInit() {\n this.updateVariables();\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimal: this.decimalSeparator,\n thousands: this.thousandsSeparator,\n precision: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator.length;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this.maxLength = maxLength;\n }\n\n /**\n * Prevents the default CurrencyMask behavior when typed a incorrect value.\n * By default the CurrencyMask inputs the mask value to the component value when typed a incorrect value.\n */\n public handleKeypress(event: KeyboardEvent): void {\n const negativeOperator = \"-\";\n const { key } = event;\n\n if (\n this.thousandsSeparator.includes(key) ||\n this.decimalSeparator.includes(key) ||\n negativeOperator.includes(key) ||\n this.regex.test(key) ||\n \"Enter\".toUpperCase() === key.toUpperCase()\n )\n super.handleKeypress(event);\n else event.preventDefault();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { NumberInputDirective } from \"./number-input.directive\";\n\n/**\n * @deprecated Should use 'BignumberInputModule' instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [NumberInputDirective],\n exports: [NumberInputDirective],\n})\nexport class NumberInputModule {}\n","import { DEFAULT_NUMBER_LOCALE_OPTIONS, NumberLocaleOptions } from \"../../../locale/index\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\n\n/**\n * @deprecated Should use BignumberFieldConfig instead\n */\nexport interface NumberFieldConfig extends FieldConfig {\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n alignTo?: NumberAlignmentOption;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class NumberField extends Field {\n public numberLocaleOptions: NumberLocaleOptions;\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public alignTo: NumberAlignmentOption;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(config: NumberFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.alignTo = config.alignTo || NumberAlignmentOption.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { DEFAULT_NUMBER_LOCALE_OPTIONS } from \"../../../locale/index\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { NumberField, NumberFieldConfig } from \"./number-field\";\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport interface DecimalFieldConfig extends NumberFieldConfig {\n scale?: Function | number;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class DecimalField extends NumberField implements DecimalFieldConfig {\n public scale?: Function | number;\n\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n this.alignTo = config.alignTo || NumberAlignmentOption.RIGHT;\n this.scale = config.scale || config.scale === 0 ? config.scale : 2;\n }\n}\n","import { DEFAULT_NUMBER_LOCALE_OPTIONS } from \"../../../locale/index\";\nimport { DecimalField, DecimalFieldConfig } from \"./decimal-field\";\n\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class CurrencyField extends DecimalField {\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions || DEFAULT_NUMBER_LOCALE_OPTIONS;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface LookupFieldConfig extends FieldConfig {\n multiple?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions: any[];\n suggestionsObservable: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterLabel?: string;\n filterTitle?: string;\n clearLabel?: string;\n cancelLabel?: string;\n selectLabel?: string;\n emptyMessage?: string;\n recordLabel?: string;\n recordsLabel?: string;\n appendTo?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class LookupField extends Field {\n public multiple = false;\n public searchFields: any[];\n public searchGridFields: any[];\n public lookupSuggestions: any[];\n public suggestionsObservable: Observable<any[]>;\n public searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n public dataKey: string;\n public lookupDisplayField: string;\n public searchTitle = \"Pesquisa avançada\";\n public searchEmptyTitle = \"Nenhum registro encontrado\";\n public filterLabel = \"Filtrar\";\n public filterTitle = \"Filtros\";\n public clearLabel = \"Limpar\";\n public cancelLabel = \"Cancelar\";\n public selectLabel = \"Selecionar\";\n public recordLabel = \" registro\";\n public recordsLabel = \" registros\";\n public emptyMessage: string;\n public appendTo?: string;\n public onLookupRequest: (query: string) => void;\n public onSearchRequest: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n\n private _gridData: any[];\n private _searchTotalRecords: number;\n private _searchTotalRecordsLabel: string;\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(config: LookupFieldConfig) {\n super({ ...config, type: FieldType.Lookup } as LookupFieldConfig);\n Object.assign(this, config);\n\n this.suggestionsObservable.subscribe(suggestions => (this.lookupSuggestions = suggestions));\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel;\n });\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface RadioButtonFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n options: RationButtonOption[];\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class RadioButtonField extends Field {\n public verticalAlignment?: boolean;\n public options: RationButtonOption[];\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: RadioButtonFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.options = config.options;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n\nexport class RationButtonOption {\n label: string;\n value?: any;\n\n constructor(config: RationButtonOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface SelectFieldConfig extends FieldConfig {\n appendTo?: string;\n optionLabel?: string;\n dataKey?: string;\n autoDisplayFirst?: boolean;\n options: () => SelectOption[] | any[];\n multiple?: boolean;\n multipleSelectedLabel?: string;\n onClick?: (event: any) => void;\n onChange?: (event: any) => void;\n}\n\nexport class SelectField extends Field {\n public appendTo?: string;\n public optionLabel?: string;\n public dataKey?: string;\n public autoDisplayFirst?: boolean;\n public options: () => SelectOption[] | any[];\n public multiple?: boolean;\n public multipleSelectedLabel?: string;\n public onClick?: (event: any) => void;\n public onChange?: (event: any) => void;\n\n constructor(config: SelectFieldConfig) {\n super(config);\n this.appendTo = config.appendTo;\n this.dataKey = config.dataKey;\n this.optionLabel = config.optionLabel;\n this.autoDisplayFirst = config.autoDisplayFirst;\n this.options = config.options;\n this.multiple = config.multiple;\n this.multipleSelectedLabel = config.multipleSelectedLabel || \"{0} registros selecionados\";\n this.onClick = config.onClick;\n this.onChange = config.onChange;\n }\n}\n\nexport class SelectOption {\n label: string;\n value?: any;\n\n constructor(config: SelectOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface TextAreaFieldConfig extends FieldConfig {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n style?: { [klass: string]: any };\n}\n\nexport class TextAreaField extends Field {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public style?: { [klass: string]: any };\n\n constructor(config: TextAreaFieldConfig) {\n super(config);\n this.cols = config.cols;\n this.rows = config.rows;\n this.keyFilter = config.keyFilter;\n this.style = config.style;\n }\n}\n","import { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface TextFieldConfig extends FieldConfig {\n mask?: () => string | any;\n inputType?: string;\n keyFilter?: any;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n maxLength?: string | number;\n browserAutocomplete?: boolean;\n style?: { [klass: string]: any };\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class TextField extends Field {\n public mask?: () => string | any;\n public inputType?: string;\n public keyFilter?: any;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public maxLength?: string | number;\n public browserAutocomplete?: boolean;\n public style?: { [klass: string]: any };\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: any) => void;\n\n constructor(config: TextFieldConfig) {\n super(config);\n this.mask = config.mask;\n this.inputType = config.inputType;\n this.keyFilter = config.keyFilter;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.maxLength = config.maxLength || 9999999;\n this.browserAutocomplete = config.browserAutocomplete;\n this.style = config.style;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { FileDto } from \"../../file-upload/index\";\nimport { CalendarLocaleOptions, NumberLocaleOptions } from \"../../locale/index\";\nimport { NumberAlignmentOption } from \"../../number-input\";\nimport { AddonConfig } from \"./addon-config\";\nimport { FieldSize } from \"./field-size\";\nimport { FieldType } from \"./field-type\";\nimport { AutocompleteField } from \"./fields/autocomplete-field\";\nimport { BignumberField } from \"./fields/bignumber-field\";\nimport { BlobField } from \"./fields/blob-field\";\nimport { BooleanField, BooleanOptionsLabel } from \"./fields/boolean-field\";\nimport { CalendarField } from \"./fields/calendar-field\";\nimport { ChipsField } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField } from \"./fields/decimal-field\";\nimport { LookupField } from \"./fields/lookup-field\";\nimport { NumberField } from \"./fields/number-field\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField } from \"./fields/select-field\";\nimport { TextAreaField } from \"./fields/text-area-field\";\nimport { TextField } from \"./fields/text-field\";\n\nexport class FormField {\n id?: string;\n /**\n * Tells whether the field is required or not\n */\n required?: () => boolean;\n name?: string;\n sortableColumnName?: string;\n type?: FieldType;\n label?: string;\n /**\n * Labels of a Radio Button, only used to FieldType Boolean\n */\n optionsLabel?: BooleanOptionsLabel;\n tooltip?: string;\n /**\n * Mask pattern.\n */\n mask?: () => string | string;\n /**\n * Message to display when there are no results for a query.\n */\n emptyMessage?: string;\n cols?: number;\n rows?: number;\n placeholder?: string;\n options?: any;\n calendarLocaleOptions?: CalendarLocaleOptions;\n numberLocaleOptions?: NumberLocaleOptions;\n multiple?: boolean;\n appendTo?: string;\n browserAutocomplete?: boolean;\n showClear?: boolean;\n showOnFocus?: boolean;\n style?: { [klass: string]: any };\n /**\n * Whether the `RadioButton` should be displayed on the vertical or not.\n *\n * @default false\n */\n verticalAlignment?: boolean;\n /**\n * Field max length\n */\n precision?: Function | number;\n /**\n * Number of decimal places\n */\n scale?: Function | number;\n /**\n * @deprecated Using FieldType.Number this attribute is unnecessary\n */\n alignTo?: NumberAlignmentOption | AlignmentOptions;\n gridClass?:\n | string\n | string[]\n | Set<string>\n | {\n [klass: string]: any;\n };\n size?: FieldSize;\n multipleSelectedLabel?: string;\n inputType?: string;\n accept?: string;\n files?: FileDto[];\n /**\n * The minimum selectable date.\n */\n minDate?: Date;\n /**\n * The maximum selectable date.\n */\n maxDate?: Date;\n /**\n * Text or icon to be grouped in the left of an input.\n */\n leftAddon?: AddonConfig;\n /**\n * Text or icon to be grouped in right of an input.\n */\n rightAddon?: AddonConfig;\n /**\n * InfoSign para a label do input.\n */\n infoSign?: string;\n /**\n * Expression to restricts user input\n */\n keyFilter?: any;\n\n /**\n * Default value for field\n */\n defaultValue?: any;\n /**\n * Customized FormField error message\n */\n errorMessages?: () => ({}) | {};\n visible?: () => boolean;\n /**\n * Callback to invoke when the field loses focus\n */\n onBlur?: (event: FocusEvent) => void;\n /**\n * Callback to invoke when the field receives focus\n */\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: any) => void;\n onChange?: (event: boolean) => void;\n onSelect?: (event: any) => void;\n /**\n * Callback to invoke on component click.\n */\n onClick?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n /**\n * Callback to invoke when a value is added.\n */\n onAdd?: (event: any) => void;\n /**\n * Callback to invoke when a value is removed.\n */\n onRemove?: (event: any) => void;\n /**\n * Callback to invoke when a chip is clicked.\n */\n onChipClick?: (event: any) => void;\n\n constructor(config: any) {\n switch (config.type) {\n case FieldType.Enum:\n return new SelectField(config);\n case FieldType.Autocomplete:\n return new AutocompleteField(config);\n case FieldType.Money:\n return new CurrencyField(config);\n case FieldType.Integer:\n return new NumberField(config);\n case FieldType.Double:\n return new DecimalField(config);\n case FieldType.Number:\n return new BignumberField(config);\n case FieldType.String:\n case FieldType.Binary:\n return new TextField(config);\n case FieldType.Text:\n return new TextAreaField(config);\n case FieldType.Boolean:\n return new BooleanField(config);\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.Time:\n return new CalendarField(config);\n case FieldType.Lookup:\n return new LookupField(config);\n case FieldType.Radio:\n return new RadioButtonField(config);\n case FieldType.Chips:\n return new ChipsField(config);\n case FieldType.Blob:\n return new BlobField(config);\n }\n }\n}\n\nexport class Option {\n label: string;\n value?: any;\n\n constructor(label: string, value: any) {\n this.label = label;\n this.value = value;\n }\n}\n","import { animate, animateChild, group, query, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { BignumberFieldConfig } from \"../../configurations/fields/bignumber-field\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { Hotkey, HotkeysService } from \"angular2-hotkeys\";\nimport BigNumber from \"bignumber.js\";\nimport { SortMeta } from \"primeng/api\";\nimport { AutoComplete } from \"primeng/autocomplete\";\nimport { Dialog } from \"primeng/dialog\";\nimport { Table } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { BooleanOptionsLabel } from \"../../configurations/fields/boolean-field\";\nimport { FormField } from \"../../configurations/form-field\";\nimport { FieldType } from \"../..\";\n\n@Component({\n selector: \"s-lookup\",\n templateUrl: \"./lookup.component.html\",\n styleUrls: [\"./lookup.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LookupComponent),\n multi: true,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"hidden\",\n style({\n width: \"10px\",\n padding: 0,\n })\n ),\n state(\n \"visible\",\n style({\n width: \"*\",\n })\n ),\n transition(\"visible <=> hidden\", [group([query(\"@childCollapseContent\", animateChild()), animate(\"{{transitionParams}}\")])]),\n ]),\n trigger(\"childCollapseContent\", [\n state(\n \":leave\",\n style({\n opacity: 0,\n })\n ),\n state(\n \":enter\",\n style({\n opacity: 1,\n })\n ),\n transition(\"* <=> *\", animate(\"{{transitionParams}}\")),\n ]),\n ],\n})\nexport class LookupComponent implements ControlValueAccessor, OnChanges, OnInit, AfterViewInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public formControlName: string;\n\n @Input()\n public id = `s-lookup-${LookupComponent.nextId++}`;\n\n @Input()\n public multiple: boolean;\n\n @Input()\n public dataKey: string;\n\n @Input()\n public required: boolean;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showSearch = true;\n\n @Input()\n public lookupSuggestions: any[];\n\n @Input()\n public lookupDisplayField: string;\n\n @Input()\n public lookupDisplayFieldTooltip: boolean;\n\n @Input()\n public lookupEmptyMessage: string;\n\n @Input()\n public lookupAppendTo = \"body\";\n\n @Input()\n public searchTitle = \"Pesquisa avançada\";\n\n @Input()\n public searchEmptyTitle = \"Nenhum registro encontrado\";\n\n @Input()\n public searchEmptyDescription: string;\n\n @Input()\n public searchGridData: any[];\n\n @Input()\n public searchTotalRecords: number;\n\n @Input()\n public searchFields: FormField[] = [];\n\n @Input()\n public searchGridFields: FormField[];\n\n @Input()\n public multiSortMeta: SortMeta[];\n\n @Input()\n public filterTitle = \"Filtros\";\n\n @Input()\n public filterLabel = \"Filtrar\";\n\n @Input()\n public clearLabel = \"Limpar\";\n\n @Input()\n public cancelLabel = \"Cancelar\";\n\n @Input()\n public selectLabel = \"Selecionar\";\n\n @Input()\n public emptyFieldLabel = \"Não informado\";\n\n @Input()\n public recordLabel = \" registro\";\n\n @Input()\n public recordsLabel = \" registros\";\n\n @Input()\n public placeholder: string;\n\n @Input()\n public searchTotalRecordsLabel: string;\n\n @Input()\n public sortableColumnsDisabled: string[];\n\n @Input()\n public lookupRowProps: string[];\n\n @Output()\n public onLookupRequest: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onSearchRequest: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onKeyUp: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onSelect: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onClear: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(Table, { static: false })\n public table: Table;\n\n @ViewChild(Dialog, { static: false })\n public dialog: Dialog;\n\n @ViewChild(AutoComplete, { static: false })\n public autocomplete: AutoComplete;\n\n public value: any;\n public loading: boolean;\n public animating: boolean;\n public dialogVisible = false;\n public collapsed = false;\n public selected: any[] = [];\n public formGroupDialog: FormGroup;\n public transitionOptions = \"400ms cubic-bezier(0.86, 0, 0.07, 1)\";\n\n private onChange: Function;\n private onTouched: Function;\n private ngUnsubscribe = new Subject();\n private originalFormValues = {};\n\n constructor(private hotkeysService: HotkeysService) {}\n\n public ngOnInit() {\n this.searchFields = this.searchFields.map(\n (value: FormField) => new FormField({ ...value, size: { sm: 12, md: 12, lg: 12, xl: 12 } })\n );\n\n this.searchGridFields = (this.searchGridFields || this.searchFields).map((gridField: FormField) => {\n gridField[\"width\"] = this.getColWidth(gridField.label);\n\n const calendarOptions = gridField.calendarLocaleOptions;\n\n if (calendarOptions?.dateFormat) {\n switch (gridField.type) {\n case FieldType.Date:\n calendarOptions.dateFormat = this._convertToMomentDateFormat(calendarOptions.dateFormat);\n break;\n case FieldType.Time:\n calendarOptions.dateFormat = this._convertToMomentHourFormat(\n calendarOptions.hourFormat,\n calendarOptions.dateFormat\n );\n break;\n }\n }\n\n return gridField;\n });\n\n const formGroup = this.searchFields.reduce((result: any, field) => {\n result[field.name] = new FormControl(field.defaultValue);\n this.originalFormValues[field.name] = field.defaultValue;\n return result;\n }, {});\n\n this.formGroupDialog = new FormGroup(formGroup);\n\n this.onSearchRequest.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => (this.loading = true));\n this.onSelect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n this.onUnselect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n this.onClear.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => !this.multiple && this.onChange());\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.onTouched();\n });\n this.onBlur.pipe(takeUntil(this.ngUnsubscribe)).subscribe(event => {\n const currentValue = this.value && this.value[this.lookupDisplayField];\n const { value } = event.target;\n\n if (this.multiple || !currentValue || currentValue == value) return;\n\n const newValue = \"\";\n event.target.value = newValue;\n this.onChange(newValue);\n });\n }\n\n private _convertToMomentHourFormat(hourFormat: string, format: string) {\n if (format === \"dd/mm/yy\") { // valor padrão para o format.\n return \"LTS\";\n }\n\n if (hourFormat === \"12\") {\n return format\n .replace(/\\bH\\b/, \"h\") // hour (12 hour time) (no leading zero)\n .replace(/\\bHH\\b/, \"hh\"); // hour (12 hour time)\n }\n\n if (hourFormat === \"24\") {\n return format\n .replace(/\\bh\\b/, \"H\") // hour (24 hour time) (no leading zero)\n .replace(/\\bhh\\b/, \"HH\"); // hour (24 hour time)\n }\n\n return format;\n }\n\n private _convertToMomentDateFormat(format: string): string {\n // A ordem dos replaces é importante.\n return format\n .replace(/\\bd\\b/, \"D\") // day of month (no leading zero)\n .replace(/\\bdd\\b/, \"DD\") // day of month\n .replace(/\\bo\\b/, \"DDD\") // day of the year (no leading zero)\n .replace(/\\boo\\b/, \"DDDD\") // day of the year\n .replace(/\\bM\\b/, \"MMM\") // month name short\n .replace(/\\bMM\\b/, \"MMMM\") // month name long\n .replace(/\\bm\\b/, \"M\") // month of year (no leading)\n .replace(/\\bmm\\b/, \"MM\") // month of year\n .replace(/\\by\\b/, \"YY\") // year (two digits)\n .replace(/\\byy\\b/, \"YYYY\"); // year (four digits)\n }\n\n public ngAfterViewInit() {\n this.autocomplete.onOverlayAnimationDone = ( event ) => { };\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (this.dialogVisible && changes.searchGridData) this.loading = false;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public getGridData() {\n return this.searchGridData;\n }\n\n public getLookupSuggestions() {\n return this.lookupSuggestions;\n }\n\n public lazyLoadGrid(event: any) {\n // Ao definir uma ordenação na tabela do lookup esse método é chamado 2 vezes https://github.com/primefaces/primeng/issues/5480\n const filters = this.formGroupDialog.getRawValue();\n const params = { ...event, filterData: filters };\n const { multiSortMeta } = event;\n this.multiSortMeta = multiSortMeta || this.multiSortMeta;\n this.onSearchRequest.next(params);\n }\n\n public lazyLoadLookup(event: any) {\n this.onLookupRequest.next(event.query);\n }\n\n public showDialog() {\n this.searchGridData = undefined;\n this.onTouched();\n this.hotkeysService.pause([...this.hotkeysService.hotkeys]);\n this.setHotkeys();\n\n let selected: any = [];\n if (this.multiple && this.value) selected = selected.concat(this.value);\n else if (this.value) selected = [this.value];\n this.selected = selected;\n\n this.loading = true;\n this.dialogVisible = true;\n }\n\n public hideDialog() {\n const { inputEL, multiInputEL } = this.autocomplete;\n this.dialogVisible = false;\n this.collapsed = false;\n this.hotkeysService.unpause([...this.hotkeysService.pausedHotkeys]);\n\n if (this.multiple) multiInputEL.nativeElement.focus();\n else inputEL.nativeElement.focus();\n }\n\n public search() {\n this.table.reset();\n this.collapsed = true;\n this.dialog.moveOnTop();\n }\n\n public clear() {\n this.formGroupDialog.reset(this.originalFormValues);\n this.table.reset();\n }\n\n public select() {\n if (!this.selected.length) return;\n\n const selected = this.selected && (this.multiple ? this.selected : this.selected[0]);\n this.value = selected;\n this.onSelect.next(selected);\n this.hideDialog();\n }\n\n public onSelectionChange(selected: any) {\n if (!selected) return;\n if (Array.isArray(selected)) this.selected = selected;\n else this.selected = [selected];\n }\n\n public registerOnChange(fn: Function) {\n this.onChange = (val: any) => {\n this.writeValue(val);\n fn(val);\n };\n }\n\n public registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n public writeValue(value: any) {\n this.value = value;\n }\n\n public setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n\n public getFieldValue(obj: any, path: string) {\n return path.split(\".\").reduce((result, prop) => (result[prop] === undefined ? \"\" : result[prop]), obj);\n }\n\n public getLabelForValue(value: any, options: { label: string; value: any }[]) {\n if (!options) return value;\n const option = options.find(opt => opt.value === value);\n return option ? option.label : value;\n }\n\n public isBooleanValue(obj: any, path: string) {\n const value = this.getFieldValue(obj, path);\n if (value === true || value === false) return true;\n else return false;\n }\n\n public getBooleanLabel(obj: any, path: string, optionsLabel: BooleanOptionsLabel) {\n const value = this.getFieldValue(obj, path);\n if (value === true) return optionsLabel.true;\n else if (value === false) return optionsLabel.false;\n else return this.emptyFieldLabel;\n }\n\n public isNumber(obj: any, path: string) {\n return !(new BigNumber(this.getFieldValue(obj, path)).isNaN());\n }\n\n public setHotkeys() {\n const clearHotkey = this.newHotkey(\"alt+shift+l\", this.clear.bind(this));\n const findHotkey = this.newHotkey(\"alt+shift+f\", this.search.bind(this));\n const hideHotkey = this.newHotkey(\"alt+shift+c\", this.hideDialog.bind(this));\n const selectHotkey = this.newHotkey(\"alt+shift+s\", this.select.bind(this));\n\n const bindedHotkeys = [clearHotkey, findHotkey, hideHotkey, selectHotkey];\n bindedHotkeys.forEach((hotkey: Hotkey) => this.hotkeysService.add(hotkey));\n }\n\n private newHotkey(combo: string, fn: Function): Hotkey {\n return new Hotkey(\n combo,\n () => {\n fn();\n return false;\n },\n [\"INPUT\", \"SELECT\", \"TEXTAREA\"]\n );\n }\n\n public filterToggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n /**\n * Calculate the table column size. The minimum value is 14.286em, which is equals to 200px duo to the current font size.\n * @param label Column name.\n */\n public getColWidth(label: string) {\n const size = label.length;\n if (size < 14.286) return `14.286em`;\n return `${size}em`;\n }\n\n public getScale(scale: any): number {\n return this.isFunction(scale) ? scale() : scale;\n }\n\n private isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public getNumberMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: col.numberLocaleOptions?.currencySymbol\n };\n }\n}\n","export enum DynamicType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Boolean = \"Boolean\",\n Chips = \"Chips\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n Enum = \"Enum\",\n Fieldset = \"Fieldset\",\n Integer = \"Integer\",\n Lookup = \"Lookup\",\n Money = \"Money\",\n Radio = \"Radio\",\n Row = \"Row\",\n Section = \"Section\",\n String = \"String\",\n Text = \"Text\",\n Time = \"Time\",\n Number = \"Number\"\n}\n","import { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\n\nexport interface GridConfig {\n fields?: FormField[];\n type: GridType;\n}\n\nexport class Grid {\n public fields: FormField[];\n public type: GridType;\n\n constructor(config: GridConfig) {\n Object.assign(this, { ...config });\n }\n}\n","import { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\nimport { Grid, GridConfig } from \"./grid\";\n\nexport class Row extends Grid {\n public fields: FormField[];\n public type: GridType;\n\n constructor(config: GridConfig) {\n super(config);\n }\n}\n","import { Grid } from \"../grid/grid\";\nimport { StructureType } from \"../structure-type\";\n\nexport interface StructureConfig {\n header: string;\n configs?: Grid[];\n type: StructureType;\n}\n\nexport abstract class Structure {\n public header: string;\n public configs?: Grid[];\n public type: StructureType;\n\n constructor(config: StructureConfig) {\n Object.assign(this, { ...config });\n }\n}\n","import { Structure, StructureConfig } from \"./structure\";\n\nexport interface FieldsetConfig extends StructureConfig {\n beforeToggle?: (event: any) => void;\n afterToggle?: (event: any) => void;\n}\n\nexport class Fieldset extends Structure {\n public beforeToggle?: (event: any) => void;\n public afterToggle?: (event: any) => void;\n\n constructor(config: FieldsetConfig) {\n super(config);\n Object.assign(this, { ...config });\n }\n}\n","import { Structure, StructureConfig } from \"./structure\";\n\nexport class Section extends Structure {\n constructor(config: StructureConfig) {\n super(config);\n }\n}\n","import { DynamicType } from \"./dynamic-type\";\nimport { AutocompleteField, AutocompleteFieldConfig } from \"./fields/autocomplete-field\";\nimport { BignumberField, BignumberFieldConfig } from \"./fields/bignumber-field\";\nimport { BooleanField, BooleanFieldConfig } from \"./fields/boolean-field\";\nimport { CalendarField, CalendarFieldConfig } from \"./fields/calendar-field\";\nimport { ChipsField, ChipsFieldConfig } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField, DecimalFieldConfig } from \"./fields/decimal-field\";\nimport { LookupField, LookupFieldConfig } from \"./fields/lookup-field\";\nimport { NumberField, NumberFieldConfig } from \"./fields/number-field\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField, SelectFieldConfig } from \"./fields/select-field\";\nimport { TextAreaField, TextAreaFieldConfig } from \"./fields/text-area-field\";\nimport { TextField, TextFieldConfig } from \"./fields/text-field\";\nimport { Row } from \"./grid/row\";\nimport { Fieldset, FieldsetConfig } from \"./structure/fieldset\";\nimport { Section } from \"./structure/section\";\nimport { StructureConfig } from \"./structure/structure\";\n\nexport class DynamicConfig {\n constructor(config: any) {\n const { type } = config;\n switch (type) {\n case DynamicType.Autocomplete:\n return new AutocompleteField(config as AutocompleteFieldConfig);\n case DynamicType.Binary:\n case DynamicType.String:\n return new TextField(config as TextFieldConfig);\n case DynamicType.Boolean:\n return new BooleanField(config as BooleanFieldConfig);\n case DynamicType.Chips:\n return new ChipsField(config as ChipsFieldConfig);\n case DynamicType.Date:\n case DynamicType.DateTime:\n case DynamicType.Time:\n return new CalendarField(config as CalendarFieldConfig);\n case DynamicType.Double:\n return new DecimalField(config as DecimalFieldConfig);\n case DynamicType.Enum:\n return new SelectField(config as SelectFieldConfig);\n case DynamicType.Fieldset:\n return new Fieldset(config as FieldsetConfig);\n case DynamicType.Integer:\n return new NumberField(config as NumberFieldConfig);\n case DynamicType.Number:\n return new BignumberField(config as BignumberFieldConfig);\n case DynamicType.Lookup:\n return new LookupField(config as LookupFieldConfig);\n case DynamicType.Money:\n return new CurrencyField(config as DecimalFieldConfig);\n case DynamicType.Radio:\n return new RadioButtonField(config);\n case DynamicType.Row:\n return new Row(config);\n case DynamicType.Section:\n return new Section(config as StructureConfig);\n case DynamicType.Text:\n return new TextAreaField(config as TextAreaFieldConfig);\n }\n }\n}\n","import { Component, Input, ViewEncapsulation, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { DynamicConfig } from \"./configurations/dynamic-config\";\nimport { FormField } from \"./configurations/form-field\";\n\n@Component({\n selector: \"s-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"dynamic-form.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DynamicFormComponent {\n @Input()\n public id: string;\n @Input()\n public configs: DynamicConfig[];\n @Input()\n public fields: FormField[]; // @TODO deve-se remover em uma vesão de quebra. O default deve ser configs.\n @Input()\n public form: FormGroup;\n @Input()\n public errorMessages?: any = {};\n}\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\n@Component({\n selector: `s-empty-state`,\n templateUrl: `./empty-state.component.html`,\n styleUrls: [\"./empty-state.component.css\"],\n})\nexport class EmptyStateComponent {\n public static nextId = 0;\n\n @Input() id = `s-empty-state-${EmptyStateComponent.nextId++}`;\n @Input() iconClass = \"fa fa-inbox\";\n @Input() title: string;\n @Input() description?: string;\n @Input() showPrimaryAction = true;\n @Input() showSecondaryAction = true;\n @Input() primaryActionLabel?: string;\n @Input() secondaryActionLabel?: string;\n @Input() primaryModel?: MenuItem[] = [];\n\n @Output() primaryAction = new EventEmitter();\n @Output() secondaryAction = new EventEmitter();\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ButtonModule } from \"../button/index\";\nimport { EmptyStateComponent } from \"./empty-state.component\";\n\n@NgModule({\n imports: [CommonModule, ButtonModule],\n declarations: [EmptyStateComponent],\n exports: [EmptyStateComponent],\n})\nexport class EmptyStateModule {}\n","export const Breakpoints = {\n SM_MIN: 0,\n SM_MAX: 767,\n MD_MIN: 768,\n MD_MAX: 991,\n LG_MIN: 992,\n LG_MAX: 1199,\n XL_MIN: 1200,\n XL_MAX: Infinity,\n};\n","import { ElementRef } from \"@angular/core\";\n\nexport class ExportUtils {\n constructor() {\n throw new Error(\"Classe não deve ser instanciada.\");\n }\n\n public static addClass(element: ElementRef, className: string) {\n element.nativeElement.className = `${element.nativeElement.className} ${className}`;\n }\n\n public static removeClass(element: ElementRef, className: string) {\n if (element.nativeElement.className.includes(className)) {\n element.nativeElement.className = element.nativeElement.className.replace(className, \"\");\n }\n }\n\n public static exportCSV(\n columns: Partial<any>[] = [],\n data: any[] = [],\n csvSeparator: string = \";\",\n documentName: string = \"download\"\n ) {\n let csv = \"\\ufeff\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n csv += `\"${column.header || column.field}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n\n data.forEach((record: any) => {\n csv += \"\\n\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n let cellData = this.resolveFieldData(record, column.field);\n\n if (cellData != null) cellData = String(cellData).replace(/\"/g, `\"\"`);\n else cellData = \"\";\n\n csv += `\"${cellData}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n });\n\n const blob = new Blob([csv], {\n type: \"text/csv;charset=utf-8;\",\n });\n\n if (window.navigator.msSaveOrOpenBlob) navigator.msSaveOrOpenBlob(blob, documentName + \".csv\");\n else {\n const link = document.createElement(\"a\");\n link.style.display = \"none\";\n document.body.appendChild(link);\n if (link.download !== undefined) {\n link.setAttribute(\"href\", URL.createObjectURL(blob));\n link.setAttribute(\"download\", documentName + \".csv\");\n link.click();\n } else {\n csv = \"data:text/csv;charset=utf-8,\" + csv;\n window.open(encodeURI(csv));\n }\n document.body.removeChild(link);\n }\n }\n\n private static resolveFieldData(data: any, field: any): any {\n if (data && field) {\n if (this.isFunction(field)) return field(data);\n else if (field.indexOf(\".\") == -1) return data[field];\n else {\n const fields: string[] = field.split(\".\");\n let value = data;\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[fields[i]];\n }\n return value;\n }\n } else return null;\n }\n\n private static isFunction(obj: any) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\nimport { Subject } from \"rxjs\";\nimport { Breakpoints } from \"../utils\";\n\nexport interface FileDto extends File {\n objectId?: string;\n version?: string;\n objectURL?: string | SafeUrl;\n isUploading?: boolean;\n savedFile?: boolean;\n progress?: number;\n error?: HttpErrorResponse;\n}\n\nexport enum ValidateErrors {\n MAX_FILE_SIZE = \"MAX_FILE_SIZE\",\n MAX_FILE_LIMIT = \"MAX_FILE_LIMIT\",\n}\n\n@Component({\n selector: \"s-file-upload\",\n templateUrl: \"./file-upload.component.html\",\n styleUrls: [\"./file-upload.component.scss\"],\n})\nexport class FileUploadComponent implements OnInit, OnDestroy, AfterContentInit {\n public static nextId = 0;\n\n @ViewChild(\"inputUpload\", { static: false })\n private inputUpload: ElementRef;\n @ViewChild(\"anchor\", { static: false })\n private anchor: ElementRef;\n @Input()\n public id = `s-file-upload-${FileUploadComponent.nextId++}`;\n @Input()\n public chooseLabel = \"Anexar arquivos\";\n @Input()\n public removeLabel = \"Remover\";\n @Input()\n public cancelLabel = \"Cancelar\";\n @Input()\n public successTooltip = \"Arquivo anexado com sucesso\";\n @Input()\n public multiple: boolean;\n @Input()\n public accept: string;\n @Input()\n public ariaLabelFileName: string;\n @Input()\n public maxFileSize: number;\n @Input()\n public fileLimit: number;\n @Input()\n public ariaLabelProgress = \"Carregando arquivo\";\n @Input()\n public ariaLabelSuccess: string;\n @Input()\n public ariaLabelError: string;\n @Input()\n public ariaLabelRemove: string;\n\n @Output()\n public uploadHandler: EventEmitter<{ files: FileDto[] }> = new EventEmitter();\n @Output()\n public removeFile: EventEmitter<{ file: File }> = new EventEmitter();\n @Output()\n public cancelUpload: EventEmitter<number> = new EventEmitter();\n @Output()\n public downloadFile: EventEmitter<{ index: number; anchor: ElementRef }> = new EventEmitter();\n @Output()\n public validateErros: EventEmitter<ValidateErrors> = new EventEmitter();\n\n public uploadedFileCount = 0;\n public isSmallDevice: boolean;\n private _files: FileDto[] = [];\n private ngUsubscribe: Subject<void> = new Subject();\n\n constructor(private sanitizer: DomSanitizer) {}\n\n public ngOnInit() {}\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public update() {\n const windowWidth = window.innerWidth;\n this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;\n }\n\n public onFileSelect(files: FileDto[]): void {\n const previousFiles = [ ...this.files ];\n if (!this.multiple) {\n this.files = [];\n }\n\n if (this.fileLimit) {\n this.uploadedFileCount += files.length;\n if (this.isFileLimitExceeded()) {\n this.uploadedFileCount -= this.files.length;\n this.validateErros.emit(ValidateErrors.MAX_FILE_LIMIT);\n return;\n }\n }\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (this.isFileSizeExceeded(file)) {\n this.validateErros.emit(ValidateErrors.MAX_FILE_SIZE);\n this.files = previousFiles;\n return;\n } else {\n this.files.push(file);\n }\n }\n\n if (this.hasFiles()) {\n this.uploadHandler.emit({ files: this.files });\n this.inputUpload.nativeElement.value = \"\";\n }\n }\n\n public onRemoveFile(event: Event, file: FileDto): void {\n this.files.splice(this.files.indexOf(file), 1);\n this.uploadedFileCount -= 1;\n this.removeFile.emit({ file });\n event.preventDefault();\n }\n\n public onCancelUpload(event: Event, index: number) {\n this.uploadedFileCount -= 1;\n this.files.splice(index, 1);\n this.cancelUpload.emit(index);\n event.preventDefault();\n }\n\n public onDowloadFile(event: Event, index: number) {\n this.downloadFile.emit({ index, anchor: this.anchor });\n event.preventDefault();\n }\n\n private hasFiles(): boolean {\n return this.files && this.files.length > 0;\n }\n\n @Input()\n public set files(files: FileDto[]) {\n this._files = [];\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));\n }\n this._files.push(files[i]);\n }\n }\n\n public get files(): FileDto[] {\n return this._files;\n }\n\n public getFileSize(size: number) {\n return (size / 1024).toFixed(2);\n }\n\n public isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n public defaltCatchError(err: HttpErrorResponse, index: number) {\n this.files[index].error = err;\n this.files[index].isUploading = false;\n throw new Error(\"error in upload file. Details: \" + err.message);\n }\n\n public isFileLimitExceeded() {\n return this.fileLimit && this.fileLimit < this.files.length + this.uploadedFileCount;\n }\n\n public isFileSizeExceeded(file: File): boolean {\n return this.maxFileSize && file.size > this.maxFileSize;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ProgressBarModule } from \"primeng/progressbar\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { ButtonModule } from \"./../button/button.module\";\nimport { FileUploadComponent } from \"./file-upload.component\";\n\n@NgModule({\n declarations: [FileUploadComponent],\n imports: [CommonModule, ButtonModule, TooltipModule, ProgressBarModule],\n exports: [FileUploadComponent],\n})\nexport class FileUploadModule {}\n","import { Component, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"s-info-sign-component\",\n templateUrl: \"./info-sign.component.html\",\n})\nexport class InfoSignComponent {\n templateRef: TemplateRef<any>;\n tooltip: string;\n\n constructor() {}\n}\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { InfoSignComponent } from \"./info-sign.component\";\n\n@Directive({\n selector: \"[sInfoSign]\",\n})\nexport class InfoSignDirective implements OnInit, OnDestroy {\n @Input()\n sInfoSign: string;\n private componentRef: ComponentRef<any>;\n\n constructor(\n private readonly templateRef: TemplateRef<any>,\n private readonly viewContainer: ViewContainerRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n ngOnInit(): void {\n if (!this.componentRef && this.sInfoSign) {\n this.viewContainer.clear();\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(InfoSignComponent);\n this.componentRef = this.viewContainer.createComponent(componentFactory);\n\n this.componentRef.instance.templateRef = this.templateRef;\n this.componentRef.instance.tooltip = this.sInfoSign;\n } else if (this.componentRef && this.sInfoSign) {\n this.componentRef.instance.tooltip = this.sInfoSign;\n } else {\n this.viewContainer.clear();\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n }\n\n ngOnDestroy(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { InfoSignComponent } from \"./info-sign.component\";\nimport { InfoSignDirective } from \"./info-sign.directive\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\n@NgModule({\n imports: [TooltipModule, CommonModule],\n declarations: [InfoSignDirective, InfoSignComponent],\n exports: [InfoSignDirective],\n entryComponents: [InfoSignComponent],\n})\nexport class InfoSignModule {}\n","import { Component, Input, OnDestroy, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"s-loading-state\",\n templateUrl: \"./loading-state.component.html\",\n styleUrls: [\"./loading-state.component.scss\"],\n})\nexport class LoadingStateComponent implements OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n @Input()\n public blockWindow: boolean;\n\n @Input()\n public set loading(loading: boolean) {\n this._loading = loading;\n\n if (loading) this.block();\n else this.unblock();\n }\n\n public get loading() {\n return this._loading;\n }\n\n public contents: TemplateRef<any>;\n public blocking: boolean;\n\n private _loading: boolean;\n private BLOCK_TIMEOUT_VALUE = 300;\n private UNBLOCK_TIMEOUT_VALUE = 200;\n private blockTimeoutId: any;\n private unblockTimeoutId: any;\n\n public block() {\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n this.unblockTimeoutId = undefined;\n }\n\n if (!this.blockTimeoutId) {\n this.blockTimeoutId = setTimeout(() => {\n this.blocking = true;\n this.blockTimeoutId = undefined;\n }, this.BLOCK_TIMEOUT_VALUE);\n }\n }\n\n public unblock() {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n this.blockTimeoutId = undefined;\n }\n\n if (!this.unblockTimeoutId) {\n this.unblockTimeoutId = setTimeout(() => {\n this.blocking = false;\n this.unblockTimeoutId = undefined;\n }, this.UNBLOCK_TIMEOUT_VALUE);\n }\n }\n\n public ngOnDestroy() {\n if (this.blockTimeoutId) clearTimeout(this.blockTimeoutId);\n if (this.unblockTimeoutId) clearTimeout(this.unblockTimeoutId);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\nimport { LoadingStateComponent } from \"./loading-state.component\";\n\n@Directive({\n selector: \"[sLoadingState]\",\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n @Input()\n public set sLoadingState(active: boolean) {\n this._loading = active;\n if (this.loaderComponent) this.loaderComponent.instance.loading = active;\n }\n\n public get sLoadingState() {\n return this._loading;\n }\n\n private _loading = false;\n private loaderComponent: ComponentRef<LoadingStateComponent>;\n\n constructor(\n private target: ViewContainerRef,\n private template: TemplateRef<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private cdr: ChangeDetectorRef\n ) {}\n\n public ngAfterViewInit() {\n this.createComponent();\n }\n\n private createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n this.loaderComponent = this.target.createComponent(factory);\n this.loaderComponent.instance.contents = this.template;\n this.loaderComponent.instance.loading = this.sLoadingState;\n this.cdr.detectChanges();\n }\n\n public ngOnDestroy() {\n this.loaderComponent.destroy();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { LoadingStateComponent } from \"./loading-state.component\";\nimport { LoadingStateDirective } from \"./loading-state.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LoadingStateComponent, LoadingStateDirective],\n exports: [LoadingStateComponent, LoadingStateDirective],\n entryComponents: [LoadingStateComponent],\n})\nexport class LoadingStateModule {}\n","import { Directive, forwardRef, Input, OnInit } from \"@angular/core\";\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from \"@angular/forms\";\n\n@Directive({\n selector: \"input[sLocalizedNumberInput]\",\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => LocalizedNumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class LocalizedNumberInputDirective implements OnInit, Validator {\n @Input()\n public decimalSeparator = \",\";\n @Input()\n public thousandsSeparator = \".\";\n @Input()\n public precision = 2;\n private numberRegex: string;\n\n constructor() {}\n\n ngOnInit() {\n // Gera a expressão regular para validar números de acordo com os separadores decimais e de milhares.\n // Exemplo: /^(\\+?)(\\-?)([0-9]{0,3})*((\\,[0-9]{3,3})|((\\,[0-9]{3,3})+(\\,[0-9]{3,3}))|((\\,[0-9]{3,3})+(\\.[0-9]{1,10})))?$/g\n // tslint:disable-next-line: max-line-length\n this.numberRegex = `^((\\\\+?)|(-?))([0-9]{1,3})+((\\\\${this.thousandsSeparator}[0-9]{3,3})|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.thousandsSeparator}[0-9]{3,3}))|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.decimalSeparator}[0-9]{1,2}))|(\\\\${this.decimalSeparator}[0-9]{1,${this.precision}}))?$`;\n }\n\n validate(control: AbstractControl): ValidationErrors {\n if (control.value && !String(control.value).match(new RegExp(this.numberRegex, \"g\"))) return { invalidNumber: true };\n return null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LocalizedNumberInputDirective } from \"./localized-number-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LocalizedNumberInputDirective],\n exports: [LocalizedNumberInputDirective],\n})\nexport class LocalizedNumberInputModule {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"sMaskFormatter\",\n})\nexport class MaskFormatterPipe implements PipeTransform {\n private defs = {\n \"9\": \"[0-9]\",\n a: \"[A-Za-z]\",\n \"*\": \"[A-Za-z]|[0-9]\",\n };\n\n transform(value: string, maskFormat: string): any {\n const buffer = [];\n let opcionalPos;\n let pos = 0;\n const maskTokens = maskFormat.split(\"\");\n const symbolsPosAfterOpcional = [];\n const hasOpcional = maskFormat.includes(\"?\");\n\n for (let i = 0; i < maskTokens.length; i++) {\n const token = maskTokens[i];\n\n if (token != \"?\") {\n if (this.defs[token]) {\n const tokenRegex = this.defs[token];\n const charAtPos = value.charAt(pos);\n const isValidChar = new RegExp(tokenRegex).test(charAtPos);\n if (isValidChar) {\n if (pos < maskTokens.length) {\n buffer.push(value.charAt(pos));\n pos++;\n }\n } else {\n throw new Error(\"Value doesn't match mask format\");\n }\n } else {\n buffer.push(token);\n if (hasOpcional && i > opcionalPos) {\n symbolsPosAfterOpcional.push(i);\n }\n }\n } else {\n opcionalPos = i;\n }\n }\n\n if (buffer[buffer.length - 1] !== value.charAt(value.length - 1) && symbolsPosAfterOpcional.length) {\n let formattedValue = buffer.join(\"\");\n let beforeSymbol;\n let symbol;\n let firstAfterSymbol;\n let endOfString;\n\n for (let i = 0; i < symbolsPosAfterOpcional.length; i++) {\n const symbolPos = symbolsPosAfterOpcional[i];\n beforeSymbol = formattedValue.substr(0, symbolPos - 1);\n symbol = formattedValue.substr(symbolPos - 1, 1);\n firstAfterSymbol = formattedValue.substr(symbolPos, 1);\n endOfString = formattedValue.substr(symbolPos + 1);\n\n formattedValue = `${beforeSymbol}${firstAfterSymbol}${symbol}${endOfString}`;\n }\n return `${formattedValue}${value.substr(value.length - symbolsPosAfterOpcional.length)}`;\n }\n\n return buffer.join(\"\");\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { MaskFormatterPipe } from \"./mask-formatter.pipe\";\n\n@NgModule({\n exports: [MaskFormatterPipe],\n declarations: [MaskFormatterPipe],\n})\nexport class MaskFormatterModule {}\n","import { Directive, forwardRef, HostBinding, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { AlignmentOptions, CurrencyMaskDirective } from \"@seniorsistemas/ng2-currency-mask\";\n\n@Directive({\n selector: \"input[sBignumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BignumberInputDirective),\n multi: true,\n },\n ],\n})\n\nexport class BignumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator = \",\";\n\n @Input()\n public thousandsSeparator = \".\";\n\n @Input()\n public alignTo = AlignmentOptions.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n public ngOnInit() {\n this.updateVariables();\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimalSeparator: this.decimalSeparator,\n thousandsSeparator: this.thousandsSeparator,\n scale: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator.length;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this.maxLength = maxLength;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { BignumberInputDirective } from \"./number-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BignumberInputDirective],\n exports: [BignumberInputDirective],\n})\nexport class BignumberInputModule {}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Table, TableService } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"s-table-header-checkbox\",\n template: `\n <div class=\"ui-chkbox ui-widget\" (click)=\"onClick()\">\n <div class=\"ui-helper-hidden-accessible\">\n <input type=\"checkbox\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\">\n </div>\n <div [ngClass]=\"{'ui-chkbox-box ui-widget ui-state-default':true,\n 'ui-state-active':checked, 'ui-state-disabled': isDisabled(), 'ui-state-focus': hasFocus}\">\n <span [id]=\"id\" class=\"ui-chkbox-icon ui-clickable\" [ngClass]=\"{'pi pi-check':checked}\"></span>\n </div>\n </div>\n `,\n})\nexport class TableHeaderCheckboxComponent implements OnInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `s-table-header-checkbox-${TableHeaderCheckboxComponent.nextId++}`;\n @Input()\n public disabled: boolean;\n @Input()\n public rowProps: string[];\n @Input()\n public useAllObject: boolean;\n\n public checked: boolean;\n public hasFocus: boolean;\n\n private ngUnsubscribe = new Subject();\n\n constructor(public table: Table, public tableService: TableService) {\n this.table.tableService.valueSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n\n this.table.tableService.selectionSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n }\n\n public ngOnInit() {\n this.checked = this.updateCheckedState();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n }\n\n public onFocus() {\n this.hasFocus = true;\n }\n\n public onBlur() {\n this.hasFocus = false;\n }\n\n isDisabled() {\n return this.disabled || !this.table.value || !this.table.value.length;\n }\n\n onClick() {\n if (!this.disabled) {\n if (this.table.value && this.table.value.length > 0) this.onToggleCheckbox(!this.checked);\n }\n }\n\n public updateCheckedState() {\n if (this.table.filteredValue) {\n const val = this.table.filteredValue;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllFilteredValuesChecked();\n } else {\n const val = this.table.value;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllValuesChecked();\n }\n }\n\n public onToggleCheckbox(checked: boolean) {\n const { filteredValue, value, dataKey } = this.table;\n const gridData = checked ? (filteredValue ? filteredValue.slice() : value.slice()) : [];\n\n if (checked) {\n const unselecteds = gridData\n .filter(record => !this.table._selection.find((selected: any) => record[dataKey] === selected[dataKey]))\n .map((record: any) => {\n if (this.useAllObject) return record;\n\n const newRecord = {};\n if (this.rowProps) this.rowProps.forEach((prop: string) => (newRecord[prop] = record[prop]));\n else newRecord[dataKey] = record[dataKey];\n return newRecord;\n });\n this.table._selection = [...this.table._selection, ...unselecteds];\n } else {\n value.forEach((data: any) => {\n this.table._selection = this.table._selection.filter((record: any) => record[dataKey] !== data[dataKey]);\n });\n }\n\n this.table.updateSelectionKeys();\n this.table.selectionChange.emit(this.table._selection);\n this.tableService.onSelectionChange();\n\n if (this.table.isStateful()) this.table.saveState();\n }\n\n public isAllFilteredValuesChecked() {\n if (!this.table.filteredValue) {\n return false;\n } else {\n for (const rowData of this.table.filteredValue) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n\n public isAllValuesChecked() {\n if (!this.table.value) {\n return false;\n } else {\n for (const rowData of this.table.value) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TableHeaderCheckboxComponent } from \"./table-header-checkbox.component\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [TableHeaderCheckboxComponent],\n declarations: [TableHeaderCheckboxComponent],\n})\nexport class TableHeaderCheckboxModule {}\n","import { Directive, HostListener } from \"@angular/core\";\n\n@Directive({ selector: \"[sNavigation]\" })\nexport class NavigationDirective {\n @HostListener(\"keydown\", [\"$event\"])\n onKeyDown(event: KeyboardEvent): void {\n switch (event.key) {\n case \"Right\": // IE 11\n case \"ArrowRight\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusFirstColFromCurrentRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusNextSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Left\": // IE 11\n case \"ArrowLeft\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusLastColFromPrevRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusPrevSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Up\": // IE 11\n case \"ArrowUp\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setPrevRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setAboveColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Down\": // IE 11\n case \"ArrowDown\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setNextRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setUnderColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n }\n }\n\n private focusLastColFromPrevRow(event: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(event);\n\n if (prevRow) {\n (prevRow.lastElementChild as HTMLTableColElement).focus();\n }\n }\n\n private focusFirstColFromCurrentRow(row: HTMLTableRowElement): void {\n const firstCol = row.firstElementChild as HTMLTableColElement;\n\n if (firstCol) {\n firstCol.focus();\n }\n }\n\n private focusNextSelectableCol(col: HTMLTableColElement): void {\n const nextCol = col.nextElementSibling as HTMLTableColElement;\n\n if (nextCol) {\n nextCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return this.setNextRowFocus(currentRow);\n }\n }\n\n private focusPrevSelectableCol(col: HTMLTableColElement): void {\n const prevCol = col.previousElementSibling as HTMLTableColElement;\n\n if (prevCol) {\n prevCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return currentRow.focus();\n }\n }\n\n private setAboveColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const prevRow = this.findPrevSelectableRow(currentRow as HTMLTableRowElement);\n\n if (prevRow) (prevRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setUnderColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const nextRow = this.findNextSelectableRow(currentRow as HTMLTableRowElement);\n if (nextRow) (nextRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setNextRowFocus(row: HTMLTableRowElement): void {\n const nextRow = this.findNextSelectableRow(row);\n if (nextRow) {\n nextRow.focus();\n }\n }\n\n private setPrevRowFocus(row: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(row);\n if (prevRow) {\n prevRow.focus();\n }\n }\n\n private isRow(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"tr\";\n }\n\n private isCol(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"td\";\n }\n\n private findPrevSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const prevRow = <HTMLTableRowElement>row.previousElementSibling;\n if (prevRow) return prevRow;\n else return null;\n }\n\n private findNextSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const nextRow = <HTMLTableRowElement>row.nextElementSibling;\n if (nextRow) return nextRow;\n else return null;\n }\n}\n","import { Directive, HostListener, Input } from \"@angular/core\";\nimport { RowToggler, Table } from \"primeng/table\";\n\n@Directive({ selector: \"[sRowToggler]\" })\nexport class RowTogllerDirective extends RowToggler {\n @Input(\"sRowToggler\")\n data: any;\n\n constructor(public dt: Table) {\n super(dt);\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent) {\n if (this.isEnabled()) {\n switch (event.key) {\n case \"Enter\":\n this.dt.toggleRow(this.data, event);\n event.preventDefault();\n break;\n default:\n event.preventDefault();\n break;\n }\n }\n }\n}\n","export enum EnumColumnFieldType {\n STRING = \"STRING\",\n NUMBER = \"NUMBER\",\n BOOLEAN = \"BOOLEAN\",\n DATE = \"DATE\",\n CURRENCY = \"CURRENCY\",\n ENUM = \"ENUM\",\n LOOKUP = \"LOOKUP\",\n LINK = \"LINK\",\n TOKENS = \"TOKENS\"\n}\n","export enum EnumBadgeColors {\n RED = \"sds-semantic-red\",\n ORANGE = \"sds-semantic-orange\",\n YELLOW = \"sds-semantic-yellow\",\n GREEN = \"sds-semantic-green\",\n BLUE = \"sds-semantic-blue\"\n}\n","import { Inject, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from \"@angular/core\";\nimport { Component, Input, ViewChild } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport * as moment from \"moment\";\nimport { applyMask, MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\n\nimport { HostProjectConfigs } from \"../../../angular-components.module\";\nimport { IToken } from \"../../token-list\";\nimport {\n BadgeColumn,\n BadgeConfigs,\n Column,\n ColumnValues,\n EnumColumnFieldType,\n TableColumnLocaleOptions\n} from \"./models\";\n\n@Component({\n templateUrl: \"./table-columns.component.html\",\n styleUrls: [\"./table-columns.component.scss\"],\n selector: \"s-table-columns\",\n})\nexport class TableColumnsComponent implements OnChanges {\n\n @ViewChild(\"columnsTemplate\", { static: true }) columnsTemplate: TemplateRef<any>;\n\n @Input() columns!: Column[];\n @Input() rowValue!: any;\n @Input() locale!: TableColumnLocaleOptions;\n\n public formattedColumns: ColumnValues[] = [];\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private translate: TranslateService,\n @Inject(\"hostProjectConfigs\") private hostProjectConfigs: HostProjectConfigs\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.validateComponentAttributes(changes);\n this.createColumnsTemplate(changes);\n }\n\n private validateComponentAttributes(changes: SimpleChanges): void {\n if (!changes.columns?.currentValue) throw new Error(\"The 'columns' attribute must be informed!\");\n if (!changes.rowValue?.currentValue) throw new Error(\"The 'rowValue' attribute must be informed!\");\n if (!changes.locale?.currentValue) throw new Error(\"The 'locale' attribute must be informed!\");\n }\n\n private createColumnsTemplate(changes: SimpleChanges): void {\n this.viewContainerRef.clear();\n\n const columns: Column[] = changes.columns.currentValue;\n const rowValue: object = changes.rowValue.currentValue;\n const locale: TableColumnLocaleOptions = changes.locale.currentValue;\n\n columns.forEach((column) => this.formattedColumns.push(this.getColumnValue(column, rowValue, locale)));\n this.viewContainerRef.createEmbeddedView(this.columnsTemplate);\n }\n\n private getColumnValue(column: Column, rowValue: object, locale: TableColumnLocaleOptions): ColumnValues {\n const prefix = column.prefix\n ? column.prefix\n : `${this.hostProjectConfigs.domain}.${this.hostProjectConfigs.service}.`;\n const separator = column.separator\n ? column.separator\n : \" - \";\n const uninformed: string = this.translate.instant(prefix + \"empty_label\");\n const style = column.style;\n let badgeClass: BadgeColumn = {\n \"sds-badge\": false\n };\n\n const columnValue: any[] = column.attributes\n .map((attribute: string) => {\n let attributeValue!: any;\n\n attribute\n .split(\"/\")\n .forEach((value: string) => {\n if (!attributeValue) {\n value\n .split(\".\")\n .forEach((val: string, i) => {\n if (rowValue) {\n if (i === 0) {\n attributeValue = rowValue[val];\n } else if (attributeValue) {\n attributeValue = attributeValue[val];\n }\n }\n });\n }\n });\n\n if (attributeValue === null || attributeValue === undefined || (this.isArray(attributeValue) && !attributeValue.length)) {\n return uninformed;\n } else {\n const numberConfigs: MaskConfig = {\n ...locale.number,\n scale: column.scale ? this.getColumnScale(column.scale) : locale.number.scale,\n prefix: `${locale.number.currencySymbol} `\n };\n\n switch (column.type) {\n case EnumColumnFieldType.ENUM:\n if (column.badgeConfigs && column.badgeConfigs.length) {\n badgeClass = this.getBadgeClass(attributeValue, column.badgeConfigs);\n }\n return this.translate.instant(column.enumPrefix + attributeValue.toString().toLowerCase());\n\n case EnumColumnFieldType.CURRENCY:\n return applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n\n case EnumColumnFieldType.DATE:\n const dateFormat = column.dateFormat ? column.dateFormat : locale.calendar.dateFormat;\n return moment(attributeValue).format(dateFormat);\n\n case EnumColumnFieldType.BOOLEAN:\n const value = attributeValue ? \"yes\" : \"no\";\n return this.translate.instant(prefix + value);\n\n case EnumColumnFieldType.LINK:\n case EnumColumnFieldType.STRING:\n return attributeValue;\n\n case EnumColumnFieldType.NUMBER:\n numberConfigs.prefix = \"\";\n return applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n\n case EnumColumnFieldType.TOKENS:\n return this.getTokens(attributeValue);\n }\n }\n });\n\n const unifiedColumnValues = columnValue.join(separator);\n const uninformedNumber = unifiedColumnValues\n .split(separator)\n .filter(value => value === uninformed).length;\n\n let formattedColumnValue: string | IToken[];\n if (uninformedNumber === column.attributes.length) {\n formattedColumnValue = uninformed;\n } else if (column.type === EnumColumnFieldType.TOKENS) {\n formattedColumnValue = [].concat.apply([], columnValue.filter(values => values !== uninformed));\n } else {\n formattedColumnValue = unifiedColumnValues;\n }\n\n return {\n style,\n columnValue: formattedColumnValue,\n badgeClass,\n separator,\n uninformed,\n type: column.type,\n tooltip: this.getColumnTooltip(column.tooltip),\n onLinkClick: column.onLinkClick,\n onColumnClick: column.onColumnClick\n };\n }\n\n private getBadgeClass(value: string, badgeConfigs: BadgeConfigs[]): BadgeColumn {\n const badgeColumn = {\n \"sds-badge\": true\n };\n const color = badgeConfigs.find(badgeConfig => badgeConfig.enumValue === value)?.color.valueOf();\n badgeColumn[color] = true;\n\n return badgeColumn;\n }\n\n private getColumnScale(scale: number | ((rowValue: any) => number)): number {\n if (typeof scale === \"function\") {\n return scale(this.rowValue);\n }\n return scale;\n }\n\n private getColumnTooltip(tooltip: string | ((rowValue: any) => string)): string {\n if (tooltip !== undefined && tooltip !== null) {\n if (typeof tooltip === \"function\") {\n return tooltip(this.rowValue);\n }\n return tooltip;\n }\n }\n\n private isNumber(value: any): boolean {\n return !(new BigNumber(value).isNaN());\n }\n\n private getTokens(values: any): IToken[] {\n if (!this.isArray(values)) throw new Error(\"To use tokens an array must be informed\");\n // tslint:disable-next-line: max-line-length\n if (!this.isValidTokenArray(values)) throw new Error(\"Not a valid token array. Token array must be a primitive values array or an objects with label attribute array\");\n\n if (this.isLabelObjectArray(values)) return values;\n\n return values\n .filter((value: any) => value !== undefined && value !== null)\n .map((value: any) => {\n const label = typeof value === \"symbol\" ? value.toString() : `${value}`;\n return {\n label\n };\n });\n }\n\n private isValidTokenArray(values: any[]): boolean {\n return this.isPrimitiveValuesArray(values) || this.isLabelObjectArray(values);\n }\n\n private isPrimitiveValuesArray(values: any[]): boolean {\n return values.filter(value => value !== Object(value)).length === values.length;\n }\n\n private isLabelObjectArray(values: any[]): boolean {\n return values.filter(value => value?.label !== null && value?.label !== undefined).length === values.length;\n }\n\n public isArray(value: any): boolean {\n return Array.isArray(value);\n }\n\n public getSplittedString(column: ColumnValues): { value: string, isUninformed: boolean, separator: string }[] {\n const { columnValue, separator, uninformed } = column;\n if (typeof columnValue === \"string\") {\n const splittedString = columnValue.split(separator);\n return splittedString.map((string, index) => {\n const isLastIndex = splittedString.length - 1 === index;\n return {\n value: string,\n isUninformed: string === uninformed,\n separator: !isLastIndex ? separator : \"\"\n };\n });\n }\n }\n\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: `s-token-list`,\n templateUrl: `./token-list.component.html`,\n styleUrls: [\"./token-list.component.css\"],\n})\nexport class TokenListComponent {\n public static nextId = 0;\n\n @Input() id = `s-token-list-${TokenListComponent.nextId++}`;\n @Input() tokens: IToken[];\n @Input() removableTokens = false;\n @Input() hidePointerEvents = false;\n\n @Output() public tokenSelected: EventEmitter<IToken> = new EventEmitter();\n @Output() public tokenRemoved: EventEmitter<IToken> = new EventEmitter();\n}\n\nexport interface IToken {\n id?: string;\n label: string;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TokenListComponent } from \"./token-list.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TokenListComponent],\n exports: [TokenListComponent],\n})\nexport class TokenListModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { NavigationDirective } from \"./navigation/navigation.directive\";\nimport { RowTogllerDirective } from \"./row-toggler/row-toggler.directive\";\nimport { TableColumnsComponent } from \"./table-column/table-columns.component\";\nimport { TokenListModule } from \"../token-list\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n TokenListModule\n ],\n exports: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent\n ],\n declarations: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent\n ],\n})\nexport class TableModule {}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { AutocompleteField } from \"../../../configurations/fields/autocomplete-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"autocomplete-field.component.html\",\n})\nexport class AutocompleteFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: AutocompleteField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { BooleanField } from \"../../../configurations/fields/boolean-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"boolean-field.component.html\",\n})\nexport class BooleanFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BooleanField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { CalendarField } from \"../../../configurations/fields/calendar-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"calendar-field.component.html\",\n})\nexport class CalendarFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CalendarField;\n @Input()\n public formControl: FormControl;\n @Input()\n public showTime: boolean;\n @Input()\n public timeOnly: boolean;\n @Input()\n public showSeconds: boolean;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { ChipsField } from \"../../../configurations/fields/chips-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"chips-field.component.html\",\n})\nexport class ChipsFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: ChipsField;\n @Input()\n public formControl: FormControl;\n}\n","import { FormControl } from \"@angular/forms\";\nimport { AutocompleteField } from \"../../configurations/fields/autocomplete-field\";\nimport { BooleanField } from \"../../configurations/fields/boolean-field\";\nimport { CalendarField } from \"../../configurations/fields/calendar-field\";\nimport { ChipsField } from \"../../configurations/fields/chips-field\";\nimport { CurrencyField } from \"../../configurations/fields/currency-field\";\nimport { BlobField } from \"../../configurations/fields/blob-field\";\nimport { LookupField } from \"../../configurations/fields/lookup-field\";\nimport { NumberField } from \"../../configurations/fields/number-field\";\nimport { RadioButtonField } from \"../../configurations/fields/radio-button-field\";\nimport { SelectField } from \"../../configurations/fields/select-field\";\nimport { TextAreaField } from \"../../configurations/fields/text-area-field\";\nimport { TextField } from \"../../configurations/fields/text-field\";\n\nexport interface BaseFieldComponentConfig {\n field:\n | AutocompleteField\n | BooleanField\n | CalendarField\n | ChipsField\n | CurrencyField\n | BlobField\n | LookupField\n | NumberField\n | RadioButtonField\n | SelectField\n | TextField\n | TextAreaField;\n formControl: FormControl;\n}\n\nexport class BaseFieldComponent {\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public trigger(callback: any) {\n return callback();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { CurrencyField } from \"../../../configurations/fields/currency-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n/**\n * @deprecated Should use bignumber instead\n */\n@Component({\n templateUrl: \"currency-field.component.html\",\n})\nexport class CurrencyFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CurrencyField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { BlobField } from \"../../../configurations/fields/blob-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"file-upload.component.html\",\n})\nexport class FileUploadComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BlobField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { LookupField } from \"../../../configurations/fields/lookup-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"lookup-field.component.html\",\n})\nexport class LookupFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: LookupField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { NumberAlignmentOption } from \"../../../../number-input/index\";\nimport { DecimalField } from \"../../../configurations/fields/decimal-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"./../../../configurations/field-type\";\n\n/**\n * @deprecated Should use bignumber instead\n */\n@Component({\n templateUrl: \"number-field.component.html\",\n styleUrls: [\"./number-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: DecimalField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get numberAlignmentOption() {\n return NumberAlignmentOption;\n }\n\n public get fieldType() {\n return FieldType;\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { RadioButtonField } from \"../../../configurations/fields/radio-button-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"radion-button-field.component.html\",\n})\nexport class RadioButtonComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: RadioButtonField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n constructor() {}\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onClick.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onClick) this.field.onClick(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { SelectField } from \"../../../configurations/fields/select-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"select-field.component.html\",\n})\nexport class SelectFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: SelectField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { TextAreaField } from \"../../../configurations/fields/text-area-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"text-area-field.component.html\",\n})\nexport class TextAreaFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: TextAreaField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { TextField } from \"../../../configurations/fields/text-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"text-field.component.html\",\n styleUrls: [\"./text-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TextFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: TextField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Row } from \"../../../configurations/grid/row\";\n\n@Component({\n template: `\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <label\n [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\"\n *sInfoSign=\"field.infoSign\"\n >\n {{ field.label }}\n </label>\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n </div>\n </ng-container>\n </div>\n `,\n})\nexport class RowComponent implements OnInit {\n @Input()\n public id: string;\n @Input()\n public config: Row;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n\n constructor() {}\n\n public ngOnInit() {}\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages) return this.isFunction(errorMessages) ? errorMessages() : errorMessages;\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Fieldset } from \"../../../configurations/structure/fieldset\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n selector: \"s-fieldset\",\n template: `\n <p-fieldset [toggleable]=\"true\" (onBeforeToggle)=\"config.beforeToggle ? config.beforeToggle($event) : 'null'\"\n (onAfterToggle)=\"config.afterToggle ? config.afterToggle($event) : 'null'\">\n <p-header>{{config.header}}</p-header>\n <ng-container *ngFor=\"let conf of config.configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n </p-fieldset>\n `,\n})\nexport class FieldsetComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Fieldset;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Section } from \"../../../configurations/structure/section\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n template: `\n <h3 class=\"sds-section-title\">{{config.header}}</h3>\n <ng-container *ngFor=\"let conf of config.configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n `,\n})\nexport class SectionComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Section;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FormField } from \"./configurations/form-field\";\n\n@Component({\n selector: \"s-dynamic-field\",\n template: `\n <div class=\"ui-fluid\" [formGroup]=\"form\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <span *ngIf=\"field.label\"><label [for]=\"field.name\"\n [ngClass]=\"{ 'required': field.required() }\" *sInfoSign=\"field.infoSign\">{{ field.label }}</label></span>\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: form}\"></ng-container>\n <s-control-errors [form]=\"form\" [control]=\"form.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n </div>\n </ng-container>\n </div>\n </div>\n `,\n})\nexport class DynamicFieldComponent implements OnInit {\n @Input()\n public id: string;\n\n @Input()\n public fields: FormField[];\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public errorMessages?: any;\n\n constructor() {}\n\n public ngOnInit() {}\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages)\n return this.isFunction(errorMessages)\n ? { ...this.errorMessages, ...errorMessages() }\n : { ...this.errorMessages, ...errorMessages };\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","export enum GridType {\n Row = \"Row\",\n}\n","export enum StructureType {\n Fieldset = \"Fieldset\",\n Section = \"Section\",\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { BignumberField } from \"../../../configurations/fields/bignumber-field\";\n\n@Component({\n templateUrl: \"number-field.component.html\",\n styleUrls: [\"./number-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BignumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: BignumberField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get fieldType() {\n return FieldType;\n }\n}\n","import { ComponentFactoryResolver, ComponentRef, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BignumberFieldComponent } from \"./components/fields/bignumber/number-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CurrencyFieldComponent } from \"./components/fields/currency/currency-field.component\";\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { NumberFieldComponent } from \"./components/fields/number/number-field.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { TextFieldComponent } from \"./components/fields/text/text-field.component\";\nimport { RowComponent } from \"./components/grid/row/row.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Grid } from \"./configurations/grid/grid\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\n\nexport abstract class DynamicForm {\n group: FormGroup;\n errorMessages: any;\n abstract createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef): any;\n abstract updateVariables(component: ComponentRef<any>): void;\n abstract getComponent(): any;\n\n constructor({ group, errorMessages }: { group: FormGroup; errorMessages: any }) {\n this.group = group;\n this.errorMessages = errorMessages;\n }\n}\n\nexport class DynamicField extends DynamicForm {\n field: FormField;\n errorMessages: any;\n\n constructor({ group, field, errorMessages }: { group: FormGroup; field: FormField; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n this.field = field;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.field = this.field;\n // Must be this way because some teams use name like \"e070emp.codemp\"\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n component.instance.errorMessages = this.errorMessages;\n this.setVariablesByType(component);\n return component;\n }\n\n public setVariablesByType(component: ComponentRef<any>) {\n switch (this.field.type) {\n case FieldType.DateTime:\n component.instance.showTime = true;\n component.instance.showSeconds = true;\n break;\n case FieldType.Time:\n component.instance.timeOnly = true;\n component.instance.showSeconds = true;\n break;\n }\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.field = this.field;\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n this.setVariablesByType(component);\n }\n\n public getComponent(): any {\n switch (this.field.type) {\n case FieldType.Autocomplete:\n return AutocompleteFieldComponent;\n case FieldType.Binary:\n case FieldType.String:\n return TextFieldComponent;\n case FieldType.Boolean:\n return BooleanFieldComponent;\n case FieldType.Chips:\n return ChipsFieldComponent;\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.Time:\n return CalendarFieldComponent;\n case FieldType.Double:\n case FieldType.Integer:\n return NumberFieldComponent;\n case FieldType.Number:\n return BignumberFieldComponent;\n case FieldType.Enum:\n return SelectFieldComponent;\n case FieldType.Lookup:\n return LookupFieldComponent;\n case FieldType.Money:\n return CurrencyFieldComponent;\n case FieldType.Radio:\n return RadioButtonComponent;\n case FieldType.Text:\n return TextAreaFieldComponent;\n case FieldType.Blob:\n return FileUploadComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.field.type}).`);\n }\n }\n}\n\nexport class DynamicStructure extends DynamicForm {\n group: FormGroup;\n config: Structure;\n errorMessages: any;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Structure; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.config = this.config;\n component.instance.group = this.group;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.structure = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent(): any {\n switch (this.config.type) {\n case StructureType.Fieldset:\n return FieldsetComponent;\n case StructureType.Section:\n return SectionComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n\nexport class DynamicGrid extends DynamicForm {\n group: FormGroup;\n config: Grid;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Grid; errorMessages: any }) {\n super({ group, errorMessages });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.config = this.config;\n component.instance.group = this.group;\n component.instance.errorMessages = this.errorMessages;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.config = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent(): any {\n switch (this.config.type) {\n case GridType.Row:\n return RowComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnChanges, OnInit, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Grid } from \"./configurations/grid/grid\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\nimport { DynamicField, DynamicForm, DynamicGrid, DynamicStructure } from \"./dynamic-form\";\n\n@Directive({ selector: \"[sDynamicForm]\" })\nexport class DynamicFormDirective implements OnInit, OnChanges {\n private id: string;\n private config: Structure | FormField | Grid;\n private group: FormGroup;\n private errorMessages: FormGroup;\n private directiveConfig: DynamicForm;\n\n @Input()\n set sDynamicForm(context: { id: string; config: FormField; structure: Structure; group: FormGroup; errorMessages: any }) {\n const { id, config, group, errorMessages } = context;\n this.id = id;\n this.config = config;\n this.group = group;\n this.errorMessages = errorMessages;\n }\n\n public component: ComponentRef<any>;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef) {}\n\n public ngOnInit() {\n if (this.isField()) {\n if (!((this.config as FormField).id) && this.id) {\n (this.config as FormField).id = this.id + \"-\" + (this.config as FormField).name;\n }\n\n this.directiveConfig = new DynamicField({\n group: this.group,\n field: this.config as FormField,\n errorMessages: this.errorMessages,\n });\n } else if (this.isStructure()) {\n this.directiveConfig = new DynamicStructure({\n group: this.group,\n config: this.config as Structure,\n errorMessages: this.errorMessages,\n });\n } else if (this.isGrid()) {\n this.directiveConfig = new DynamicGrid({\n group: this.group,\n config: this.config as Grid,\n errorMessages: this.errorMessages,\n });\n } else throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n\n this.component = this.directiveConfig.createComponent(this.resolver, this.container);\n this.component.instance.id = this.id;\n this.component.instance.errorMessages = this.errorMessages;\n }\n\n public ngOnChanges() {\n if (this.component) {\n this.directiveConfig.updateVariables(this.component);\n this.component.instance.errorMessages = this.errorMessages;\n }\n }\n\n public isField() {\n return FieldType[this.config.type];\n }\n\n public isStructure() {\n return StructureType[this.config.type];\n }\n\n public isGrid() {\n return GridType[this.config.type];\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { HotkeyModule, HotkeysService } from \"angular2-hotkeys\";\nimport { AutoCompleteModule } from \"primeng/autocomplete\";\nimport { ButtonModule as PrimeButtonModule } from \"primeng/button\";\nimport { CalendarModule } from \"primeng/calendar\";\nimport { CheckboxModule } from \"primeng/checkbox\";\nimport { ChipsModule } from \"primeng/chips\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { FieldsetModule } from \"primeng/fieldset\";\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\nimport { MultiSelectModule } from \"primeng/multiselect\";\nimport { PanelModule } from \"primeng/panel\";\nimport { RadioButtonModule } from \"primeng/radiobutton\";\nimport { TableModule as PrimeNGTableModule } from \"primeng/table\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { ButtonModule } from \"../button/index\";\nimport { CalendarMaskModule } from \"../calendar-mask/calendar-mask.module\";\nimport { ControlErrorsModule } from \"../control-errors/index\";\nimport { EmptyStateModule } from \"../empty-state/index\";\nimport { FileUploadModule } from \"../file-upload/index\";\nimport { InfoSignModule } from \"../info-sign\";\nimport { LoadingStateModule } from \"../loading-state/index\";\nimport { LocaleModule } from \"../locale/index\";\nimport { LocalizedNumberInputModule } from \"../localized-number-input/index\";\nimport { MaskFormatterModule } from \"../mask/mask-formatter.module\";\nimport { NumberInputModule } from \"../number-input/index\";\nimport { BignumberInputModule } from \"../bignumber-input/index\";\nimport { TableHeaderCheckboxModule } from \"../table-header/index\";\nimport { TableModule } from \"../table/index\";\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CurrencyFieldComponent } from \"./components/fields/currency/currency-field.component\";\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { NumberFieldComponent } from \"./components/fields/number/number-field.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { TextFieldComponent } from \"./components/fields/text/text-field.component\";\nimport { RowComponent } from \"./components/grid/row/row.component\";\nimport { LookupComponent } from \"./components/lookup/lookup.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\nimport { DynamicFieldComponent } from \"./dynamic-field.component\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { DynamicFormDirective } from \"./dynamic-form.directive\";\nimport { BignumberFieldComponent } from \"./components/fields/bignumber/number-field.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n InputTextModule,\n CheckboxModule,\n CalendarModule,\n InputMaskModule,\n DropdownModule,\n NumberInputModule,\n BignumberInputModule,\n LocalizedNumberInputModule,\n ControlErrorsModule,\n LocaleModule,\n AutoCompleteModule,\n MultiSelectModule,\n PrimeButtonModule,\n ButtonModule,\n PanelModule,\n DialogModule,\n RadioButtonModule,\n PrimeNGTableModule,\n EmptyStateModule,\n LoadingStateModule,\n HotkeyModule,\n ChipsModule,\n CalendarMaskModule,\n InputTextareaModule,\n RadioButtonModule,\n KeyFilterModule,\n FieldsetModule,\n TableHeaderCheckboxModule,\n FileUploadModule,\n TableModule,\n InfoSignModule,\n MaskFormatterModule,\n HotkeyModule.forRoot()\n ],\n declarations: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CurrencyFieldComponent,\n DynamicFormComponent,\n DynamicFieldComponent,\n DynamicFormDirective,\n FieldsetComponent,\n FileUploadComponent,\n LookupComponent,\n LookupFieldComponent,\n NumberFieldComponent,\n BignumberFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n TextAreaFieldComponent,\n TextFieldComponent,\n ],\n exports: [DynamicFormComponent, LookupComponent],\n entryComponents: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CurrencyFieldComponent,\n FieldsetComponent,\n FileUploadComponent,\n LookupFieldComponent,\n NumberFieldComponent,\n BignumberFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n TextAreaFieldComponent,\n TextFieldComponent,\n ],\n providers: [HotkeysService]\n})\nexport class DynamicFormModule {}\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\n\n@Injectable()\nexport class CustomFieldsService {\n constructor(private http: HttpClient) {\n }\n\n public getCustomFields(domain: string, service: string, entity: string, endpoint: string): Observable<any> {\n const entityDto = { entityId: { domain_: domain, service_: service, id: entity } };\n return this.http.post(endpoint, entityDto);\n }\n\n public getFileLocationUrl(dto: {\n domain: string;\n service: string;\n entityName: string;\n field: string;\n fileName: string;\n }, endpoint: string): Observable<any> {\n return this.http.post(endpoint, dto);\n }\n\n public uploadTempFile(location: string, file: File) {\n return this.http.put(location, file, {\n reportProgress: true,\n observe: \"events\",\n headers: { \"Content-Type\": file.type }\n });\n }\n\n public requestAccess(objectId: string, endpoint: string) {\n return this.http.post(endpoint, { objectId });\n }\n\n public getFile(permanentUrl: string) {\n return this.http.get(permanentUrl, { responseType: \"blob\" });\n }\n}\n","import { HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\nimport { Component, ElementRef, Input, OnDestroy, OnInit } from \"@angular/core\";\nimport {\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n ValidatorFn,\n Validators,\n} from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport * as moment_ from \"moment\";\nimport { forkJoin, Observable, of, Subject, throwError } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\nimport { FieldType, FormField } from \"../dynamic-form/index\";\nimport { FileDto } from \"../file-upload/index\";\nimport { LocaleOptions } from \"../locale\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport BigNumber from \"bignumber.js\";\n\nenum CustomFieldType {\n String = \"String\",\n Boolean = \"Boolean\",\n Integer = \"Integer\",\n Double = \"Double\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Time = \"Time\",\n Money = \"Money\",\n Blob = \"Blob\",\n Binary = \"Binary\",\n Any = \"Any\",\n Enum = \"Enum\"\n}\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Component({\n selector: \"s-custom-fields\",\n templateUrl: \"./custom-fields.component.html\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n ],\n})\nexport class CustomFieldsComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator {\n @Input()\n public domain: string;\n @Input()\n public service: string;\n @Input()\n public entity: string;\n @Input()\n public invalidErrorLabel: string;\n @Input()\n public entityObject: any;\n @Input()\n public customFieldsEndpoint = \"platform/field_customization/queries/getEntity\";\n @Input()\n public fileLocationEndpoint = \"platform/field_customization/actions/requestUpload\";\n @Input()\n public requestAccessEndpoint = \"platform/field_customization/actions/requestAccess\";\n @Input()\n public requiredErrorMessage: string;\n\n public fields: FormField[] = [];\n public formGroup: FormGroup;\n private ready = false;\n private onChange: any;\n private onTouched: any;\n private value: any;\n private ngUsubscribe: Subject<void> = new Subject();\n private uploadCanceled: boolean;\n private hasBlob: boolean;\n private hasUploaded: boolean;\n\n constructor(\n private customFieldsService: CustomFieldsService,\n private localeService: LocaleService,\n private sanitizer: DomSanitizer,\n private translateService: TranslateService\n ) {\n }\n\n public registerOnChange(fn: Function) {\n this.onChange = fn;\n this.formGroup.valueChanges.subscribe(() => this.onChange(this.parseFieldsValues()));\n }\n\n public registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n public writeValue(value: any) {\n if (this.ready) {\n const newValue = this.parseValuesForFields(value);\n this.formGroup.patchValue(newValue);\n this.value = newValue;\n this.createFilesIfSetFormValuesAfterInit();\n } else {\n this.formGroup.patchValue(value || {});\n this.value = value;\n }\n }\n\n public setDisabledState(state: boolean) {\n if (state) this.formGroup.disable();\n else this.formGroup.enable();\n }\n\n public getCustomFields(): Observable<any> {\n if (this.entityObject && this.entityObject.entity_) {\n return of(this.entityObject);\n }\n return this.customFieldsService.getCustomFields(this.domain, this.service, this.entity, this.customFieldsEndpoint);\n }\n\n public ngOnInit() {\n if (!this.domain) throw new Error(\"You need to specify the custom-fields domain!\");\n if (!this.service) throw new Error(\"You need to specify the custom-fields service!\");\n if (!this.entity) throw new Error(\"You need to specify the custom-fields entity!\");\n\n this.formGroup = new FormGroup({});\n const observables = [this.getCustomFields(), this.localeService.get()];\n forkJoin(observables)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((response: any[]) => {\n const [customFieldsResponse, localeOptions] = response;\n const defaults: any = {};\n defaults[CustomFieldType.String] = {};\n defaults[CustomFieldType.Boolean] = { defaultValue: false };\n defaults[CustomFieldType.Integer] = {};\n defaults[CustomFieldType.Double] = { defaultMask: \"\" };\n defaults[CustomFieldType.Money] = {};\n defaults[CustomFieldType.Date] = {};\n defaults[CustomFieldType.DateTime] = {};\n defaults[CustomFieldType.Time] = {};\n defaults[CustomFieldType.Blob] = {};\n defaults[CustomFieldType.Enum] = {};\n defaults[CustomFieldType.Binary] = {};\n defaults[CustomFieldType.Any] = {};\n\n if (!customFieldsResponse || !customFieldsResponse.entity_) return;\n const { active, fields } = customFieldsResponse.entity_;\n if (!active) return;\n\n fields\n .filter((field: any) => field.customizable && field.customization && field.customization.active)\n .forEach((field: any) => {\n const formField = this.getFormField(field, localeOptions);\n const fieldType = field.type;\n\n if (field.type === CustomFieldType.Blob && this.value && this.value[formField.name])\n this.createBlobToFileUpload(formField);\n\n const { validationRegex } = field.customization;\n\n const asIsTypes = [\n CustomFieldType.Boolean,\n CustomFieldType.Money,\n CustomFieldType.Date,\n CustomFieldType.DateTime,\n CustomFieldType.Time\n ];\n\n const validators = [];\n if (validationRegex && !asIsTypes.includes(fieldType))\n validators.push(Validators.pattern(validationRegex));\n if (fieldType === CustomFieldType.Integer && !formField.mask) validators.push(Validators.pattern(/^\\-?\\d*$/));\n\n if (formField.required()) {\n validators.push(Validators.required);\n }\n\n const control = new FormControl(\n { value: defaults[fieldType].defaultValue, disabled: this.formGroup.disabled },\n validators\n );\n\n control.markAsDirty({ onlySelf: true });\n this.formGroup.addControl(formField.name, control);\n this.fields.push(formField);\n });\n\n this.createFieldCustomization(fields);\n this.formGroup.patchValue(this.parseValuesForFields(this.value));\n this.formGroup.markAsDirty({ onlySelf: true });\n this.ready = true;\n });\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public validate() {\n const errors: any = {};\n Object.keys(this.formGroup.controls).forEach(field => {\n const { errors: controlErrors } = this.formGroup.get(field);\n if (controlErrors) errors[field] = controlErrors;\n });\n return errors;\n }\n\n private parseValuesForFields(values: any) {\n const parsedValues = { ...values };\n\n this.fields.forEach(field => {\n const { type, name } = field;\n const value = values && values[name];\n\n /**\n * Tratamento exclusivo para campos boolean que tem o status Empty\n * Essa condicional necessita estar antes do if (!value) return;\n * Pois ela tem um status que usa null no valor do campo radio boolean\n */\n if (type === FieldType.Boolean) {\n const isString = typeof value === \"string\";\n const notValid = !isString && typeof value !== \"boolean\";\n if (notValid) {\n parsedValues[name] = null;\n } else {\n // Condicional para campos que retornam string de boolen do backand\n if (isString) {\n parsedValues[name] = value === \"true\" ? true : false;\n } else {\n parsedValues[name] = value;\n }\n }\n }\n\n if (!value) return;\n\n switch (type) {\n case FieldType.Date:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.DateTime:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.Time:\n parsedValues[name] = moment(value, \"HH:mm:ss\").toDate();\n break;\n }\n });\n\n return parsedValues;\n }\n\n /**\n * Algumas equipes só setam valor no formulário, após o carregamento da tela\n * Como é bem padrão isso, foi necessário criar esse método para gerar o file\n * após setar o valor no formulário\n */\n private createFilesIfSetFormValuesAfterInit() {\n if (!this.hasUploaded) {\n this.fields.filter((field: FormField) => field.type === FieldType.Blob).forEach(field => {\n if (this.formGroup.get(field.name).value) this.createBlobToFileUpload(field);\n });\n }\n }\n\n private parseFieldsValues() {\n const parsedValues: any = {};\n\n this.fields.forEach(field => {\n const { type, name, mask, scale } = field;\n let value = this.formGroup.get(name).value;\n\n if (value) {\n switch (type) {\n case FieldType.Number:\n if (mask) value = new BigNumber(value).toFixed(scale as number).toString();\n break;\n case FieldType.Date:\n value = moment(value).format(\"YYYY-MM-DD\");\n break;\n case FieldType.DateTime:\n value = moment(value).format();\n break;\n case FieldType.Time:\n value = moment(value).format(\"HH:mm:ss\");\n break;\n }\n }\n \n if (value !== null && !Number.isNaN(value)) {\n parsedValues[name] = value;\n } else if (this.isTypeNumberOrEnum(type)) {\n parsedValues[name] = field.multiple ? [] : null;\n }\n });\n\n if (this.hasBlob) parsedValues[\"fieldCustomization\"] = this.formGroup.get(\"fieldCustomization\").value;\n return parsedValues;\n }\n\n private isTypeNumberOrEnum(type: FieldType): boolean {\n const numberOrEnum = [\n FieldType.Number,\n FieldType.Enum\n ];\n return numberOrEnum.includes(type);\n }\n\n private getFormField(field: any, localeOptions: LocaleOptions): FormField {\n let parameters;\n\n switch (field.type) {\n case CustomFieldType.Blob:\n parameters = this.getBlobParameters();\n break;\n case CustomFieldType.Boolean:\n parameters = this.getBooleanParameters();\n break;\n case \"Enumeration\":\n case CustomFieldType.Enum:\n field.type = FieldType.Enum;\n parameters = this.getEnumParameters(field);\n break;\n case CustomFieldType.Money:\n parameters = {\n type: FieldType.Number,\n leftAddon: {\n label: localeOptions?.number?.currencySymbol ?? \"R$\",\n },\n };\n break;\n case CustomFieldType.Double:\n parameters = {\n type: FieldType.Number\n };\n break;\n case CustomFieldType.Integer:\n parameters = {\n type: FieldType.Number,\n scale: 0\n };\n break;\n default:\n parameters = {};\n break;\n }\n\n return new FormField({\n name: field.id,\n label: field.customization.label,\n tooltip: field.customization.tooltip,\n type: field.type,\n mask: field.customization.mask,\n required: () => field.customization.mandatory,\n calendarOptions: localeOptions.calendar,\n currencyOptions: localeOptions.number,\n ...parameters,\n });\n }\n\n private getEnumParameters(field: any): object {\n return {\n showClear: true,\n multiple: field.customization.customEnumeration.multiple,\n options: field.customization.customEnumeration.values.map((e: any) => ({ label: e.value, value: e.key })),\n };\n }\n\n private getBooleanParameters(): object {\n return {\n optionsLabel: {\n true: this.getTranslateLabel(`true_label`),\n false: this.getTranslateLabel(`false_label`),\n empty: this.getTranslateLabel(`empty_label`),\n },\n };\n }\n\n private getBlobParameters(): object {\n return {\n size: {\n sm: 12,\n md: 12,\n lg: 12,\n xl: 12,\n },\n accept: \"image/*, application/*, text/*\",\n chooseLabel: this.getTranslateLabel(`choose_label`),\n removeLabel: this.getTranslateLabel(`remove_label`),\n cancelLabel: this.getTranslateLabel(`cancel_label`),\n successTooltip: this.getTranslateLabel(`success_tooltip`),\n multiple: false,\n onUploadFile: (event: { files: FileDto[] }, formfield: FormField) => {\n this.hasUploaded = true;\n this.uploadFile(event, formfield);\n },\n onRemoveFile: (event: { file: FileDto }, formfield: FormField) => {\n this.removeFile(event, formfield);\n },\n onCancelUpload: (event: number, formfield: FormField) => {\n this.cancelUpload(event, formfield);\n },\n onDownloadFile: (event: { index: number; anchor: ElementRef }, formfield: FormField) => {\n this.downloadFile(event, formfield);\n },\n };\n }\n\n /**\n * à necessário criar o fieldCustomization quando há um Blob na entidade para gerar o\n * com os fields inseridos e deletados.\n */\n private createFieldCustomization(fields: any[]): void {\n this.hasBlob = !!fields.filter((field: any) => field.type === CustomFieldType.Blob).length;\n if (this.hasBlob) {\n this.formGroup.addControl(\n \"fieldCustomization\",\n new FormArray([\n new FormGroup({\n domain: new FormControl(this.domain),\n service: new FormControl(this.service),\n entity: new FormControl(this.entity),\n toDelete: new FormControl({ value: {}, disabled: false }),\n toInsert: new FormControl({ value: {}, disabled: false }),\n }),\n ])\n );\n }\n }\n\n private createBlobToFileUpload(field: FormField) {\n const objectId = this.value[field.name] ? this.value[field.name] : this.formGroup.get(field.name).value;\n const fileName = objectId.substring(objectId.lastIndexOf(\"/\") + 1);\n const file: Partial<FileDto> = { name: fileName, objectId, savedFile: true };\n field.files = [file as FileDto];\n }\n\n private downloadFile(event: { index: number; anchor: ElementRef }, field: FormField) {\n const { index, anchor } = event;\n const currentFile = field.files[index];\n if (currentFile.objectURL) {\n anchor.nativeElement.click();\n } else {\n this.customFieldsService\n .requestAccess(currentFile.objectId, this.requestAccessEndpoint)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((data: { fileName: string; uri: string }) => {\n const { fileName, uri } = data;\n this.customFieldsService\n .getFile(uri)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((blob: any) => {\n const newFile = <FileDto>new File([blob], fileName);\n newFile.objectURL = this.sanitizer.bypassSecurityTrustUrl(uri);\n anchor.nativeElement.setAttribute(\"href\", uri);\n newFile.objectId = currentFile.objectId;\n newFile.savedFile = true;\n field.files[index] = newFile;\n field.files = [...field.files];\n anchor.nativeElement.click();\n });\n });\n }\n }\n\n private uploadFile(event: { files: FileDto[] }, formField: any): void {\n const { files } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n\n // Se ocorrer um upload, já existindo um arquivo com upload feito. à necessário excluir o mesmo.\n if (field.files && field.files.length) {\n this.removeFile({ file: field.files[0] }, field);\n }\n field.files = files;\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (!file.savedFile && !file.progress) {\n file.isUploading = true;\n this.formGroup.get(field.name).setValidators(isUploading(file));\n this.formGroup.get(field.name).updateValueAndValidity();\n this.customFieldsService\n .getFileLocationUrl(\n {\n domain: this.domain,\n service: this.service,\n entityName: this.entity,\n field: field.name,\n fileName: file.name,\n },\n this.fileLocationEndpoint\n )\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i)))\n )\n .subscribe((data: any) => {\n const { location, version, objectId } = data;\n file.version = version;\n file.objectId = objectId;\n file[\"uploadSubscribe\"] = this.customFieldsService\n .uploadTempFile(location, file)\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\n finalize(() => {\n file.isUploading = false;\n })\n )\n .subscribe((response: any) => {\n const { type } = response;\n if (!this.uploadCanceled) {\n if (type === HttpEventType.UploadProgress)\n file.progress = Math.round(response.loaded / response.total) * 100;\n else if (type === HttpEventType.Response) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n\n const value = { objectId, name: file.name, version: file.version };\n const toInsert = this.formGroup.get(\"fieldCustomization\").value[0].toInsert;\n this.formGroup.get(\"fieldCustomization\").value[0].toInsert = {\n ...toInsert,\n [field.name]: value,\n };\n this.formGroup.get(field.name).setValue(`${file.objectId}/${file.name}`);\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).updateValueAndValidity();\n field.files = [file];\n }\n } else if (this.uploadCanceled && type === HttpEventType.Response) this.uploadCanceled = false;\n });\n field.files = [file];\n });\n }\n }\n }\n\n private removeFile(event: { file: FileDto }, formField: any): void {\n const { file } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files = [];\n if (file.objectId) {\n // Quando é um arquivo já salvo o objectId já é no formato \"objectId/name\"\n const value = file.savedFile ? `${file.objectId}` : `${file.objectId}/${file.name}`;\n const toDelete = this.formGroup.get(\"fieldCustomization\").value[0].toDelete;\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\n this.formGroup.get(\"fieldCustomization\").value[0].toDelete = {\n ...toDelete,\n [field.name]: [...(toDelete[field.name] || []), value],\n };\n }\n\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).setValue(\"\");\n this.formGroup.get(field.name).updateValueAndValidity();\n }\n\n private cancelUpload(index: number, formField: any): void {\n this.uploadCanceled = true;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files[index][\"uploadSubscribe\"].unsubscribe();\n field.files = [];\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).setValue(\"\");\n this.formGroup.get(field.name).updateValueAndValidity();\n }\n\n private defaltCatchError(field: FormField, err: HttpErrorResponse, index: number): Observable<never> {\n const { files } = field;\n files[index].error = err;\n files[index].isUploading = false;\n field.files = [...files];\n this.formGroup.get(field.name).setValidators([errorOnUpload(files[index])]);\n this.formGroup.get(field.name).updateValueAndValidity();\n return throwError(new Error(\"error in upload file. Details: \" + err.message));\n }\n\n private getTranslateLabel(label: string): string {\n return this.translateService.instant(`${this.domain}.${this.service}.${label}`);\n }\n}\n\nfunction isUploading(file: FileDto): ValidatorFn {\n return () => (file.isUploading ? { isUploading: true } : null);\n}\n\nfunction errorOnUpload(file: FileDto): ValidatorFn {\n return () => (file.error ? { uploadError: true } : null);\n}\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormModule } from \"../dynamic-form/index\";\nimport { LocaleModule } from \"../locale/index\";\nimport { CustomFieldsComponent } from \"./custom-fields.component\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateModule, TranslateService } from \"@ngx-translate/core\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n LocaleModule,\n DynamicFormModule,\n TranslateModule\n ],\n declarations: [CustomFieldsComponent],\n exports: [CustomFieldsComponent],\n providers: [CustomFieldsService, TranslateService]\n})\nexport class CustomFieldsModule {\n}\n","import { AfterViewInit, Directive, Input } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Directive({\n selector: \"p-table[sEditableOverlay]\",\n})\nexport class EditableOverlayDirective implements AfterViewInit {\n @Input()\n public table: any;\n\n constructor() {}\n\n ngAfterViewInit() {\n this.table.bindDocumentEditListener = this.bindDocument.bind(this);\n }\n\n public isFromOverlayTrigger(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"ng-trigger-overlayAnimation\"));\n }\n\n public isFromModal(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"s-lookup\"));\n }\n\n private bindDocument() {\n if (!this.table.documentEditListener) {\n this.table.documentEditListener = (event: any) => {\n if (\n !this.isFromOverlayTrigger(event) &&\n !this.isFromModal(event) &&\n this.table.editingCell &&\n !this.table.editingCellClick &&\n this.table.isEditingCellValid()\n ) {\n DomHandler.removeClass(this.table.editingCell, \"ui-editing-cell\");\n this.table.editingCell = null;\n this.table.unbindDocumentEditListener();\n }\n\n this.table.editingCellClick = false;\n };\n\n document.addEventListener(\"click\", this.table.documentEditListener);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { EditableOverlayDirective } from \"./editable-overlay.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EditableOverlayDirective],\n exports: [EditableOverlayDirective],\n})\nexport class EditableOverlayModule {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-header\",\n template: `<ng-content></ng-content>`,\n})\nexport class HeaderComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-footer\",\n template: `<ng-content></ng-content>`,\n})\nexport class FooterComponent {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { HeaderComponent } from \"./header.component\";\nimport { FooterComponent } from \"./footer.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [HeaderComponent, FooterComponent],\n exports: [HeaderComponent, FooterComponent],\n})\nexport class StructureModule {}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n OnChanges,\n SimpleChanges,\n ContentChild,\n} from \"@angular/core\";\nimport Cropper from \"cropperjs\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { FooterComponent } from \"../structure/footer.component\";\n\n@Component({\n selector: \"s-image-cropper\",\n templateUrl: \"./image-cropper.component.html\",\n styleUrls: [\"../../../../node_modules/cropperjs/dist/cropper.min.css\", \"./image-cropper.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImageCropperComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public id = `s-image-cropper-${ImageCropperComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header = \"Recortar imagem\";\n\n @Input()\n public cropLabel = \"Recortar\";\n\n @Input()\n public selectAnotherLabel = \"Trocar\";\n\n @Input()\n public removeLabel = \"Remover\";\n\n @Input()\n public cancelLabel = \"Cancelar\";\n\n @Input()\n public emptyStateTitle = \"Selecione uma foto, em seguida você poderá ajustá-la\";\n\n @Input()\n public emptyStateActionLabel = \"Escolher imagem\";\n\n @Input()\n public emptyStateIconClass = \"fa fa-picture-o\";\n\n @Input()\n public aspectRatio = NaN;\n\n @Input()\n public rounded = false;\n\n @Input()\n public allowSelectAnother = true;\n\n @Input()\n public allowRemove = true;\n\n @Input()\n public allowCancel = true;\n\n @Input()\n public imageSource?: string;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @Output()\n public changeImage = new EventEmitter();\n\n @Output()\n public croppedImage = new EventEmitter<string>();\n\n @Output()\n public croppedCanvas = new EventEmitter<HTMLCanvasElement>();\n\n @Output()\n public removedImage = new EventEmitter();\n\n @Output()\n public cancel = new EventEmitter();\n\n @ViewChild(\"image\", { static: true })\n public image: ElementRef;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n public cropper: Cropper;\n\n public ngOnInit() {\n if (this.imageSource) this.initCropper();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.imageSource && changes.imageSource.currentValue) {\n this.initCropper();\n }\n }\n\n private initCropper() {\n if (this.cropper) this.cropper.destroy();\n this.image.nativeElement.src = this.imageSource;\n this.cropper = new Cropper(this.image.nativeElement, {\n aspectRatio: this.rounded ? 1 : this.aspectRatio,\n guides: false,\n dragMode: \"move\" as Cropper.DragMode,\n minCropBoxHeight: 2,\n minCropBoxWidth: 2,\n toggleDragModeOnDblclick: false,\n });\n }\n\n public getRoundedCanvas(sourceCanvas: HTMLCanvasElement) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n const width = sourceCanvas.width;\n const height = sourceCanvas.height;\n canvas.width = width;\n canvas.height = height;\n context.imageSmoothingEnabled = true;\n context.drawImage(sourceCanvas, 0, 0, width, height);\n context.globalCompositeOperation = \"destination-in\";\n context.beginPath();\n context.arc(width / 2, height / 2, Math.min(width, height) / 2, 0, 2 * Math.PI, true);\n context.fill();\n return canvas;\n }\n\n public onCropImage() {\n if (!this.imageSource) {\n this.croppedImage.emit();\n this.croppedCanvas.emit();\n } else {\n const croppedCanvas = this.rounded ? this.getRoundedCanvas(this.cropper.getCroppedCanvas()) : this.cropper.getCroppedCanvas();\n this.croppedCanvas.emit(croppedCanvas);\n this.croppedImage.emit(croppedCanvas.toDataURL());\n }\n\n this.visibleChange.emit(false);\n }\n\n public onChangeImage() {\n this.changeImage.emit();\n }\n\n public onRemoveImage() {\n this.imageSource = undefined;\n this.removedImage.emit();\n }\n\n public onCancel() {\n this.visibleChange.emit(false);\n this.cancel.emit();\n }\n\n public onModalVisibleChange(visible: boolean) {\n if (!visible) this.onCancel();\n this.visibleChange.emit(visible);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { DialogModule } from \"primeng/dialog\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\n\n@NgModule({\n imports: [CommonModule, DialogModule, ButtonModule, EmptyStateModule, StructureModule],\n declarations: [ImageCropperComponent],\n exports: [ImageCropperComponent, StructureModule],\n entryComponents: [ImageCropperComponent],\n})\nexport class ImageCropperModule {}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, EmbeddedViewRef, ComponentRef } from \"@angular/core\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil, delay } from \"rxjs/operators\";\n\n@Injectable()\nexport class ImageCropperService {\n public activeCropper: ActiveCropper;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public show(config?: ImageCropperConfig) {\n if (this.activeCropper) this.destroy(this.activeCropper);\n\n const activeCropper = {\n componentRef: this.componentFactoryResolver.resolveComponentFactory(ImageCropperComponent).create(this.injector),\n ngUnsubscribe: new Subject(),\n };\n\n this.activeCropper = activeCropper;\n\n this.appRef.attachView(activeCropper.componentRef.hostView);\n const domElem = (activeCropper.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.configureInstance(activeCropper, config);\n activeCropper.componentRef.instance.visible = true;\n\n activeCropper.componentRef.instance.visibleChange\n .pipe(\n takeUntil(this.activeCropper.ngUnsubscribe),\n delay(1000)\n )\n .subscribe(visible => {\n if (!visible) this.destroy(activeCropper);\n });\n }\n\n private configureInstance(activeCropper: ActiveCropper, config?: ImageCropperConfig) {\n const instance = activeCropper.componentRef.instance;\n\n if (config) {\n Object.keys(config).forEach(key => {\n const value = config[key];\n if (typeof value !== \"function\") instance[key] = value;\n else if (typeof value === \"function\") {\n instance[key].pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe((...param: any[]) => config[key](...param));\n }\n });\n }\n\n instance.visibleChange.pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe(visible => (instance.visible = visible));\n }\n\n private destroy(activeCropper: ActiveCropper) {\n activeCropper.ngUnsubscribe.next();\n activeCropper.ngUnsubscribe.complete();\n\n this.appRef.detachView(activeCropper.componentRef.hostView);\n activeCropper.componentRef.destroy();\n }\n}\n\nexport interface ActiveCropper {\n componentRef?: ComponentRef<ImageCropperComponent>;\n ngUnsubscribe?: Subject<any>;\n}\n\nexport interface ImageCropperConfig {\n id?: any;\n header?: string;\n cropLabel?: string;\n selectAnotherLabel?: string;\n removeLabel?: string;\n cancelLabel?: string;\n emptyStateTitle?: string;\n emptyStateActionLabel?: string;\n emptyStateIconClass?: string;\n aspectRatio?: number;\n rounded?: boolean;\n allowSelectAnother?: boolean;\n allowRemove?: boolean;\n allowCancel?: boolean;\n imageSource?: string;\n\n cancel?: () => any;\n changeImage?: () => any;\n removedImage?: () => any;\n croppedImage?: (imageSource: string) => any;\n croppedCanvas?: (imageSource: HTMLCanvasElement) => any;\n}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { debounceTime, repeat, takeUntil } from \"rxjs/operators\";\n\n@Directive({\n selector: \"[sLongPress]\",\n})\nexport class LongPressDirective implements OnInit, OnDestroy {\n @Input()\n public sLongPressDelay = 500;\n\n @Output()\n public sLongPress = new EventEmitter<MouseEvent>();\n\n public mouseUp = new Subject<MouseEvent>();\n public mouseDown = new Subject<MouseEvent>();\n public ngUnsubscribe = new Subject();\n\n @HostListener(\"mouseup\", [\"$event\"])\n @HostListener(\"touchend\", [\"$event\"])\n public onMouseUp(event: MouseEvent) {\n this.mouseUp.next(event);\n }\n\n @HostListener(\"mousedown\", [\"$event\"])\n @HostListener(\"touchstart\", [\"$event\"])\n public onMouseDown(event: MouseEvent) {\n this.mouseDown.next(event);\n }\n\n public ngOnInit() {\n this.mouseDown\n .pipe(\n debounceTime(this.sLongPressDelay),\n takeUntil(this.mouseUp),\n repeat(),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(event => this.sLongPress.emit(event));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LongPressDirective } from \"./long-press.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LongPressDirective],\n exports: [LongPressDirective],\n})\nexport class MouseEventsModule {}\n","export enum ThumbnailSize {\n Small = \"small\",\n Medium = \"medium\",\n Large = \"large\",\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ThumbnailService {\n constructor() {}\n\n public getBinaryFile(img: HTMLImageElement) {\n return new Promise(resolve => {\n const getOrientation = this.getOrientation.bind(this);\n\n let http = new XMLHttpRequest();\n http.addEventListener(\"load\", () => {\n if (http.readyState === 4 && (http.status == 200 || http.status === 0)) {\n const orientation = getOrientation(http.response);\n http = null;\n resolve(orientation);\n }\n });\n\n http.addEventListener(\"error\", () => {\n http = null;\n throw new Error(\"Não foi possÃvel carregar a imagem\");\n });\n\n http.open(\"GET\", img.src, true);\n http.responseType = \"arraybuffer\";\n http.send(null);\n });\n }\n\n /**\n * Retorna a tag da orientação EXIF {-1} Não definido, {-2} Não é formato JPEG, {1, 2, 3, 4, 5, 6, 7, 8} valores da orientação.\n */\n private getOrientation(file: ArrayBuffer): number {\n const view = new DataView(file);\n\n if (view.getUint16(0, false) != 0xffd8) return -2; // not jpeg\n\n const length = view.byteLength;\n let offset = 2;\n\n while (offset < length) {\n const marker = view.getUint16(offset, false);\n offset += 2;\n\n if (marker == 0xffe1) {\n if (view.getUint32((offset += 2), false) != 0x45786966) {\n return -1; // not defined\n }\n const little = view.getUint16((offset += 6), false) == 0x4949;\n offset += view.getUint32(offset + 4, little);\n const tags = view.getUint16(offset, little);\n offset += 2;\n\n for (let i = 0; i < tags; i++)\n if (view.getUint16(offset + i * 12, little) == 0x0112) return view.getUint16(offset + i * 12 + 8, little);\n // tslint:disable-next-line: no-bitwise\n } else if ((marker & 0xff00) != 0xff00) break;\n else offset += view.getUint16(offset, false);\n }\n return -1; // not defined\n }\n}\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild, OnDestroy } from \"@angular/core\";\nimport { from, Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { ThumbnailSize } from \"./thumbnail-size\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@Component({\n selector: \"s-thumbnail\",\n templateUrl: \"./thumbnail.component.html\",\n styleUrls: [\"./thumbnail.component.scss\"],\n})\nexport class ThumbnailComponent implements AfterViewInit, OnDestroy {\n public static nextId = 0;\n public fallback = false;\n public orientation: number;\n\n @ViewChild(\"img\", { static: false })\n public imgEl: ElementRef;\n\n @Input()\n public id = `s-thumbnail-${ThumbnailComponent.nextId++}`;\n\n @Input()\n public size: ThumbnailSize = ThumbnailSize.Medium;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public iconClass = \"far fa-image\";\n\n @Input()\n public hasAction = false;\n\n @Input()\n public actionIconClass = \"fas fa-camera\";\n\n @Input()\n public isTile = false;\n\n @Input()\n public isBrand = false;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private thumbnailService: ThumbnailService) {}\n\n ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n ngAfterViewInit(): void {\n if (this.imgEl)\n this.imgEl.nativeElement.addEventListener(\"load\", () => {\n from(this.thumbnailService.getBinaryFile(this.imgEl.nativeElement))\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((orientation: number) => (this.orientation = orientation));\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"./thumbnail.component\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ThumbnailComponent],\n exports: [ThumbnailComponent],\n providers: [ThumbnailService],\n})\nexport class ThumbnailModule {}\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\n\n@Component({\n selector: \"s-object-card-field\",\n templateUrl: \"./object-card-field.component.html\",\n styleUrls: [\"./object-card-field.component.scss\"],\n})\nexport class ObjectCardFieldComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-field-${ObjectCardFieldComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n}\n","import { AfterContentInit, Component, ContentChild, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailSize } from \"../../../thumbnail/thumbnail-size\";\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { Breakpoints } from \"../../../utils\";\n\n@Component({\n selector: \"s-object-card-main\",\n templateUrl: \"./object-card-main.component.html\",\n styleUrls: [\"./object-card-main.component.scss\"],\n})\nexport class ObjectCardMainComponent implements AfterContentInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-main-${ObjectCardMainComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass = \"fa fa-picture-o\";\n\n @Input()\n public hasThumbnail = true;\n\n @Input()\n public hasDescription = true;\n\n @Input()\n public isBrand = false;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n private _thumbnailSize = ThumbnailSize.Medium;\n\n public set thumbnailSize(value: ThumbnailSize) {\n this._thumbnailSize = value;\n if (this.thumbnailComponent) this.thumbnailComponent.size = value;\n }\n\n public get thumbnailSize() {\n return this._thumbnailSize;\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n public update() {\n const windowWidth = window.innerWidth;\n\n if (windowWidth <= Breakpoints.SM_MAX) this.thumbnailSize = ThumbnailSize.Small;\n else this.thumbnailSize = ThumbnailSize.Medium;\n }\n}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from \"@angular/core\";\nimport * as elementResizeDetectorMaker_ from \"element-resize-detector\";\n\nimport { Breakpoints } from \"../utils/breakpoints\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\n\nconst elementResizeDetectorMaker = elementResizeDetectorMaker_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Component({\n selector: \"s-object-card\",\n templateUrl: \"./object-card.component.html\",\n styleUrls: [\"./object-card.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n ],\n})\nexport class ObjectCardComponent implements AfterViewInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-${ObjectCardComponent.nextId++}`;\n\n @Input()\n public expanded = false;\n\n @Input()\n public expandTooltip = \"Abrir painel\";\n\n @Input()\n public collapseTooltip = \"Fechar painel\";\n\n @Input()\n public fieldsMinWidth = 200;\n\n @Output()\n public expandedChange = new EventEmitter<boolean>();\n\n @ContentChild(ObjectCardMainComponent, { static: true })\n public main: ObjectCardMainComponent;\n\n @ContentChildren(ObjectCardFieldComponent, { descendants: true })\n public fields?: QueryList<ObjectCardFieldComponent>;\n\n public maxVisibleFields = 0;\n\n constructor(private cdr: ChangeDetectorRef, private elementRef: ElementRef) {}\n\n public ngAfterViewInit() {\n this.update();\n this.cdr.detectChanges();\n this.fields.changes.subscribe(() => {\n this.update();\n });\n\n const erd = elementResizeDetectorMaker({\n strategy: \"scroll\",\n });\n\n erd.listenTo(this.elementRef.nativeElement, () => this.update());\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n const mainFieldWidth = containerWidth * 0.3 > 260 ? containerWidth * 0.3 : 260;\n const fieldsMinWidth = this.fieldsMinWidth;\n const expandIconWidth = 50;\n const fieldElementList = this.elementRef.nativeElement.getElementsByClassName(\"s-object-card-field\");\n for (const element of fieldElementList) {\n element.style.minWidth = `${this.fieldsMinWidth}px`;\n }\n\n let maxFieldQtd;\n\n if (windowWidth <= Breakpoints.SM_MAX) maxFieldQtd = 0;\n else maxFieldQtd = Math.floor((containerWidth - mainFieldWidth) / fieldsMinWidth);\n\n if (maxFieldQtd && maxFieldQtd < this.fields.length) {\n maxFieldQtd = Math.floor((containerWidth - mainFieldWidth - expandIconWidth) / fieldsMinWidth);\n }\n\n this.maxVisibleFields = maxFieldQtd;\n\n if (maxFieldQtd >= this.fields.length && this.expanded) this.collapse();\n }\n\n public toggle() {\n this.expanded ? this.collapse() : this.expand();\n }\n\n public expand() {\n this.expanded = true;\n this.expandedChange.emit(this.expanded);\n }\n\n public collapse() {\n this.expanded = false;\n this.expandedChange.emit(this.expanded);\n }\n\n public getExpandedFieldWidth() {\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n\n let fieldsPerRow;\n if (containerWidth <= Breakpoints.SM_MAX) fieldsPerRow = 1;\n else if (containerWidth <= Breakpoints.MD_MAX) fieldsPerRow = 2;\n else if (containerWidth <= Breakpoints.LG_MAX) fieldsPerRow = 4;\n else fieldsPerRow = 6;\n\n return 12 / fieldsPerRow;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ObjectCardComponent } from \"./object-card.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule, ButtonModule],\n declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n})\nexport class ObjectCardModule {}\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-product-header\",\n templateUrl: \"./product-header.component.html\",\n styleUrls: [\"./product-header.component.scss\"],\n})\nexport class ProductHeaderComponent implements AfterViewInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-product-header-${ProductHeaderComponent.nextId++}`;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @ViewChild(\"headerContainer\", { static: false })\n public container: ElementRef;\n\n public ngAfterViewInit() {\n this.container.nativeElement.style.zIndex = String(this.baseZIndex + ++DomHandler.zindex);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ProductHeaderComponent } from \"./product-header.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [ProductHeaderComponent],\n exports: [ProductHeaderComponent, ThumbnailModule],\n})\nexport class ProductHeaderModule {}\n","import { FocusTrapFactory } from \"@angular/cdk/a11y\";\nimport { Component, ContentChild, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { Sidebar } from \"primeng/sidebar\";\nimport { FooterComponent } from \"../structure/footer.component\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-sidebar\",\n templateUrl: \"./sidebar.component.html\",\n styleUrls: [\"./sidebar.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SidebarComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-sidebar-${SidebarComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public largeSized = false;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @ViewChild(Sidebar, { static: true })\n public innerSidebar: Sidebar;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n constructor(private focusTrapFactory: FocusTrapFactory) {}\n\n public onShow() {\n DomHandler.addClass(document.body, \"ui-overflow-hidden-sidebar\");\n const focusTrap = this.focusTrapFactory.create(this.innerSidebar.containerViewChild.nativeElement, false);\n focusTrap.focusInitialElementWhenReady();\n }\n\n public onHide() {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n }\n\n public close(event: Event) {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n}\n","import { A11yModule } from \"@angular/cdk/a11y\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ScrollPanelModule } from \"primeng/scrollpanel\";\nimport { SidebarModule as PrimeSidebar } from \"primeng/sidebar\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { SidebarComponent } from \"./sidebar.component\";\n\n@NgModule({\n imports: [CommonModule, A11yModule, PrimeSidebar, ScrollPanelModule, StructureModule],\n declarations: [SidebarComponent],\n exports: [StructureModule, SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Component, Input, ViewEncapsulation, Output, EventEmitter } from \"@angular/core\";\nimport { BigNumber } from \"bignumber.js\";\n\n@Component({\n selector: \"s-stats-card\",\n templateUrl: \"./stats-card.component.html\",\n styleUrls: [\"./stats-card.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class StatsCardComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-stats-card-${StatsCardComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public lightVersion = false;\n\n @Input()\n public lightMode = true;\n\n @Input()\n public iconClass = \"fa fa-bar-chart\";\n\n @Input()\n public color = \"#339966\";\n\n @Input()\n public animateNumbers = true;\n\n @Input()\n public clickable = false;\n\n @Input()\n public set value(value: string) {\n this.previousValue = this._value;\n this._value = String(value);\n if (this.animateNumbers) this.updateDisplayValue();\n else this.displayValue = this.value;\n }\n\n @Input()\n public tooltip = \"\";\n\n public get value() {\n return this._value;\n }\n\n @Output()\n public onClick: EventEmitter<MouseEvent> = new EventEmitter();\n\n public displayValue: string;\n\n private ANIMATION_DURATION_MS = 200;\n private STEP_DURATION_MS = 20;\n private previousValue = \"0\";\n private intervalId: any;\n private _value = \"0\";\n\n private updateDisplayValue() {\n const animationDuration = new BigNumber(this.ANIMATION_DURATION_MS);\n const stepDuration = new BigNumber(this.STEP_DURATION_MS);\n const animationCount = animationDuration.dividedBy(stepDuration);\n\n const previousRawValue = new BigNumber(this.previousValue.replace(/\\D/g, \"\"));\n const rawValue = new BigNumber(this.value.replace(/\\D/g, \"\"));\n\n const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);\n const incremental = previousRawValue.isLessThan(rawValue);\n\n clearInterval(this.intervalId);\n\n this.displayValue = this.replaceNumericPositions(this.value);\n\n let counter = previousRawValue;\n\n this.intervalId = setInterval(() => {\n if (incremental && counter.isLessThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.plus(incrementValue);\n } else if (!incremental && counter.isGreaterThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.minus(incrementValue);\n } else {\n this.displayValue = this.value;\n\n clearInterval(this.intervalId);\n }\n }, this.STEP_DURATION_MS);\n }\n\n public replaceNumericPositions(value: string, newValue?: BigNumber) {\n const rawValue = value.replace(/[^\\d]/g, \"\");\n const newValueString = newValue ? newValue.toString() : \"\";\n const formattedNewValue = newValueString\n .toString()\n .replace(/\\D/g, \"\")\n .padStart(rawValue.length, \"0\");\n let newValueIndex = 0;\n\n return value\n .split(\"\")\n .map(char => {\n const number = Number(char);\n if (number || char === \"0\") return formattedNewValue[newValueIndex++];\n return char;\n })\n .join(\"\");\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StatsCardComponent } from \"./stats-card.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [StatsCardComponent],\n exports: [StatsCardComponent],\n})\nexport class StatsCardModule {}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nexport enum StepState {\n Default = \"default\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport interface Step {\n id: any;\n label: string;\n ariaLabel?: string;\n ariaControls?: string;\n /**\n * @deprecated\n * @todo remover propriedade deprecada\n */\n description?: string;\n state?: StepState;\n disabled?: boolean;\n hidden?: boolean;\n}\n\nexport interface StepSelectionEvent {\n step: Step;\n index: number;\n event: any;\n}\n\n@Component({\n selector: \"s-steps\",\n templateUrl: \"./steps.component.html\",\n styleUrls: [\"./steps.component.scss\"],\n host: {\n \"aria-orientation\": \"horizontal\",\n role: \"tablist\",\n \"tab-index\": \"0\",\n },\n animations: [\n trigger(\"beforeActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 100ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 250ms linear\")]),\n ]),\n trigger(\"activeDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"100ms 150ms linear\")]),\n transition(\"desactive => active\", [animate(\"100ms 150ms linear\")]),\n ]),\n trigger(\"afterActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 250ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 100ms linear\")]),\n ]),\n ],\n})\nexport class StepsComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-steps-${StepsComponent.nextId++}`;\n @Input()\n public steps: Step[];\n @Input()\n public activeIndex = 0;\n\n @Output()\n public stepSelected: EventEmitter<StepSelectionEvent> = new EventEmitter();\n\n public stepClick(step: Step, index: number, event: any) {\n if (step.disabled || index == this.activeIndex) return;\n this.stepSelected.emit({ step, index, event });\n }\n\n public get stepState() {\n return StepState;\n }\n\n public barAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex;\n return visited || activated;\n }\n\n public afterBarAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex - 1;\n return visited || activated;\n }\n\n get visibledStep() {\n return this.steps.filter((step: Step) => !step.hidden);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StepsComponent } from \"./steps.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [StepsComponent],\n exports: [StepsComponent],\n})\nexport class StepsModule {}\n","import { Component, EventEmitter, Input, Output, HostListener } from \"@angular/core\";\n\n@Component({\n selector: \"s-tile\",\n templateUrl: \"./tile.component.html\",\n styleUrls: [\"./tile.component.scss\"],\n})\nexport class TileComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-tile-${TileComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public description: string;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabIndex = 0;\n\n @Output()\n public onClick = new EventEmitter();\n\n get initialLetter(): string {\n let initialLetter = \"\";\n if (this.label) {\n const words = this.label.split(\" \", 2);\n initialLetter = words[0].charAt(0).toUpperCase();\n if (words.length > 1) {\n initialLetter += words[1].charAt(0).toUpperCase();\n }\n }\n return initialLetter;\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeyDown(event: any) {\n if (!this.disabled && [13, 32].includes(event.keyCode)) this.onClick.emit();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { TileComponent } from \"./tile.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [TileComponent],\n exports: [TileComponent, ThumbnailModule],\n})\nexport class TileModule {}\n","export enum GlobalSearchSizeEnum {\n STANDARD = \"STANDARD\",\n MEDIUM = \"MEDIUM\",\n SMALL = \"SMALL\"\n}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ElementRef\n} from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { GlobalSearchSizeEnum } from \"../../global-search-size.enum\";\n\n@Component({\n selector: \"s-global-search-dropdown-item\",\n templateUrl: \"./global-search-dropdown-item.component.html\",\n styleUrls: [\"./global-search-dropdown-item.component.scss\"]\n})\nexport class GlobalSearchDropdownItemComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-global-search-dropdown-item-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public primaryLabel: string;\n\n @Input()\n public secondaryEmptyLabel: string;\n\n @Input()\n public tertiaryEmptyLabel: string;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public secondaryLabel?: string;\n\n @Input()\n public tertiaryLabel?: string;\n\n @Input()\n public size = GlobalSearchSizeEnum.STANDARD;\n\n @Input()\n public template: ElementRef;\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n\n private isStandardSize() {\n return this.size === GlobalSearchSizeEnum.STANDARD;\n }\n\n public isMediumSize() {\n return this.size === GlobalSearchSizeEnum.MEDIUM;\n }\n\n public isSmallSize() {\n return this.size === GlobalSearchSizeEnum.SMALL;\n }\n\n public getImageSize() {\n return this.isStandardSize() ? \"medium\" : \"small\";\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ContentChildren,\n QueryList,\n ChangeDetectorRef\n} from \"@angular/core\";\nimport { trigger, state, style, transition, animate } from \"@angular/animations\";\n\nimport { ExportUtils } from \"../utils\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\n\n@Component({\n selector: \"s-global-search\",\n templateUrl: \"./global-search.component.html\",\n styleUrls: [\"./global-search.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n ]\n})\nexport class GlobalSearchComponent {\n\n public static nextId = 0;\n\n @ViewChild(\"globalSearch\", { static: false }) globalSearch: ElementRef;\n\n @Input()\n public id = `s-global-search-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public delay = 500;\n\n @Input()\n public totalItensLabel: string;\n\n @Input()\n public showMoreLabel: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public isLoading = false;\n\n @Input()\n public totalElements: number;\n\n @Input()\n public emptyTitle: string;\n\n @Input()\n public emptyDescription: string;\n\n @Input()\n public emptyIcon: string;\n\n @Input() showFooter = true;\n\n @ContentChildren(GlobalSearchDropdownItemComponent)\n public dropdownItens: QueryList<GlobalSearchDropdownItemComponent>;\n\n @Output() onSearch = new EventEmitter<string>();\n @Output() onFocus = new EventEmitter<boolean>();\n @Output() onShowMore = new EventEmitter();\n\n public search: string;\n public wasSearched = false;\n public isModalLoading = false;\n public expanded = true;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n public onChange() {\n const search = this.search;\n setTimeout(() => {\n if (this.search === search) {\n this.canShowGlobalSearchActive();\n this.onSearch.emit(this.search);\n }\n }, this.delay);\n }\n\n public focusIn() {\n this.onFocus.emit(true);\n }\n\n public focusOut() {\n this.onFocus.emit(false);\n }\n\n public showMore() {\n this.onShowMore.emit();\n }\n\n private removeActiveClassByGlobalSearch() {\n ExportUtils.removeClass(this.globalSearch, \"global-search__input-active\");\n }\n\n public close() {\n this.search = null;\n this.wasSearched = false;\n this.dropdownItens = null;\n this.isModalLoading = false;\n this.removeActiveClassByGlobalSearch();\n }\n\n private canShowGlobalSearchActive() {\n this.wasSearched = !!this.search;\n if (this.search) {\n ExportUtils.addClass(this.globalSearch, \"global-search__input-active\");\n } else {\n this.removeActiveClassByGlobalSearch();\n this.close();\n }\n this.cdr.detectChanges();\n }\n\n}\n","import {\n ElementRef,\n EventEmitter,\n Directive,\n HostListener\n} from \"@angular/core\";\nimport { Output } from \"@angular/core\";\n\n@Directive({\n selector: \"[sInfiniteScroll]\"\n})\nexport class InfiniteScrollDirective {\n\n @Output() onScroll = new EventEmitter<number>();\n\n constructor(private el: ElementRef) {}\n\n @HostListener(\"scroll\")\n scroll() {\n if (this.el.nativeElement.scrollTop > (this.el.nativeElement.scrollHeight - this.el.nativeElement.offsetHeight - 2)) {\n this.onScroll.emit();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { InfiniteScrollDirective } from \"./infinite-scroll.directive\";\n\n@NgModule({\n declarations: [\n InfiniteScrollDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n InfiniteScrollDirective\n ]\n})\nexport class InfiniteScrollModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { GlobalSearchComponent } from \"./global-search.component\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { InfiniteScrollModule } from \"../infinite-scroll/infinite-scroll.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\n\n@NgModule({\n declarations: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ],\n imports: [\n CommonModule,\n InputTextModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n InfiniteScrollModule,\n EmptyStateModule\n ],\n exports: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n EmptyStateModule\n ],\n entryComponents: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ]\n})\nexport class GlobalSearchModule { }\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\n\nexport interface HostProjectConfigs {\n domain: string;\n service: string;\n}\n\n@NgModule({})\nexport class AngularComponentsModule {\n static forRoot(config: HostProjectConfigs): ModuleWithProviders<AngularComponentsModule> {\n return {\n ngModule: AngularComponentsModule,\n providers: [\n {\n provide: \"hostProjectConfigs\",\n useValue: config\n }\n ]\n };\n }\n}"],"names":["router","Subject","takeUntil","filter","NavigationEnd","PRIMARY_OUTLET","ActivatedRoute","Router","Input","Component","NgModule","CommonModule","PrimeBreadcrumbModule","RouterModule","ButtonPriority","ButtonSize","EventEmitter","DomHandler","HostBinding","Output","ViewChild","TieredMenu","TieredMenuModule","TooltipModule","Calendar","Renderer2","HostListener","Directive","trigger","state","style","transition","animate","FormsModule","ReactiveFormsModule","FieldType","of","tap","from","map","user","switchMap","catchError","HttpClient","CookieService","Injectable","BigNumber","applyMask","Pipe","moment","AlignmentOptions","NumberAlignmentOption","NG_VALUE_ACCESSOR","forwardRef","CurrencyMaskDirective","delay","FormControl","FormGroup","Hotkey","HotkeysService","Table","Dialog","AutoComplete","ViewEncapsulation","group","query","animateChild","DynamicType","ValidateErrors","DomSanitizer","ProgressBarModule","TemplateRef","ViewContainerRef","ComponentFactoryResolver","ChangeDetectorRef","NG_VALIDATORS","TableService","RowToggler","EnumColumnFieldType","EnumBadgeColors","TranslateService","Inject","FileUploadComponent","InputTextModule","CheckboxModule","CalendarModule","InputMaskModule","DropdownModule","AutoCompleteModule","MultiSelectModule","PrimeButtonModule","PanelModule","DialogModule","RadioButtonModule","PrimeNGTableModule","HotkeyModule","ChipsModule","InputTextareaModule","KeyFilterModule","FieldsetModule","forkJoin","Validators","FormArray","finalize","HttpEventType","throwError","HttpClientModule","TranslateModule","ContentChild","ApplicationRef","Injector","debounceTime","repeat","ThumbnailSize","ElementRef","ContentChildren","FocusTrapFactory","Sidebar","A11yModule","PrimeSidebar","ScrollPanelModule","StepState","GlobalSearchSizeEnum"],"mappings":"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"}
|