ngx-vector-components 5.95.0 → 5.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/esm2022/lib/components/fields/button/button.component.mjs +1 -1
- package/esm2022/lib/components/fields/calendar-field/calendar-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/checkbox-field/checkbox-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/currency-field/currency-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/field-error-message/field-error-message.component.mjs +6 -1
- package/esm2022/lib/components/fields/input-number-field/input-number-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/input-otp/input-otp.component.mjs +1 -1
- package/esm2022/lib/components/fields/input-switch-field/input-switch-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/multiselect-field/multiselect-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/percentage-field/percentage-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/radio-button-field/radio-button-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/range-value/range-value.component.mjs +1 -1
- package/esm2022/lib/components/fields/select-button-field/select-button-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/text-field/text-field.component.mjs +1 -1
- package/esm2022/lib/components/fields/textarea-field/textarea-field.component.mjs +1 -1
- package/esm2022/lib/models/profile.model.mjs +2 -1
- package/fesm2022/ngx-vector-components.mjs +21 -15
- package/fesm2022/ngx-vector-components.mjs.map +1 -1
- package/lib/models/profile.model.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-vector-components.mjs","sources":["../../../projects/ngx-vector-components/src/lib/models/app-name.enum.ts","../../../projects/ngx-vector-components/src/lib/models/boolean-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/crud-history.model.ts","../../../projects/ngx-vector-components/src/lib/models/crud-mode.enum.ts","../../../projects/ngx-vector-components/src/lib/models/data-table.model.ts","../../../projects/ngx-vector-components/src/lib/models/document-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/message-status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/profile.model.ts","../../../projects/ngx-vector-components/src/lib/models/role.enum.ts","../../../projects/ngx-vector-components/src/lib/models/status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/view.enum.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.html","../../../projects/ngx-vector-components/src/lib/pipes/currency-brl.pipe.ts","../../../projects/ngx-vector-components/src/lib/utils/cpf-cnpj-validator.util.ts","../../../projects/ngx-vector-components/src/lib/utils/file.util.ts","../../../projects/ngx-vector-components/src/lib/utils/mask.util.ts","../../../projects/ngx-vector-components/src/lib/utils/object.util.ts","../../../projects/ngx-vector-components/src/lib/utils/string.util.ts","../../../projects/ngx-vector-components/src/lib/utils/validation.util.ts","../../../projects/ngx-vector-components/src/lib/utils/window.util.ts","../../../projects/ngx-vector-components/src/lib/pipes/format-document.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/mask.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/not-hidden.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/only-active.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/remove-last-child.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/unread-notifications.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/pipes.module.ts","../../../projects/ngx-vector-components/src/lib/shared/shared.module.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.module.ts","../../../projects/ngx-vector-components/src/lib/injections/index.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.html","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-base/crud-base.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.ts","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.module.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.html","../../../projects/ngx-vector-components/src/lib/components/score/score.module.ts","../../../projects/ngx-vector-components/src/lib/services/auth.service.ts","../../../projects/ngx-vector-components/src/lib/services/crud-base.service.ts","../../../projects/ngx-vector-components/src/lib/services/enum.service.ts","../../../projects/ngx-vector-components/src/lib/services/error-message.service.ts","../../../projects/ngx-vector-components/src/lib/services/geolocation.service.ts","../../../projects/ngx-vector-components/src/lib/services/loading.service.ts","../../../projects/ngx-vector-components/src/lib/services/storage.service.ts","../../../projects/ngx-vector-components/src/lib/services/profile.service.ts","../../../projects/ngx-vector-components/src/lib/services/menu.service.ts","../../../projects/ngx-vector-components/src/lib/services/modal.service.ts","../../../projects/ngx-vector-components/src/lib/services/notifications.service.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.html","../../../projects/ngx-vector-components/src/lib/models/currency.enum.ts","../../../projects/ngx-vector-components/src/lib/models/locale.enum.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/fields.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.module.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.html","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.module.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.html","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.module.ts","../../../projects/ngx-vector-components/src/lib/guards/crud-list-has-items.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/get-token-by-guid.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/has-permission.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/role.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/token-is-present.guard.ts","../../../projects/ngx-vector-components/src/lib/interceptors/http-interceptor.ts","../../../projects/ngx-vector-components/src/lib/resolvers/get-selected-crud-item.resolver.ts","../../../projects/ngx-vector-components/src/ngx-vector-components.ts"],"sourcesContent":["export enum AppName {\r\n PORTAL = 'PORTAL',\r\n FINTECH = 'FINTECH',\r\n MARKETPLACE = 'MARKETPLACE',\r\n LOGTECH = 'LOGTECH',\r\n SURVEY = 'SURVEY',\r\n PRODUCER_PORTAL = 'PRODUCER_PORTAL',\r\n}\r\n","export enum BooleanType {\r\n YES = 'YES',\r\n NO = 'NO',\r\n}\r\n","export class CrudHistory<T> {\r\n auditId?: number;\r\n dataAuditDelta?: DataAuditDelta[];\r\n dateTime?: Date;\r\n entityType?: number;\r\n eventType?: string;\r\n modifierName?: string;\r\n typeOfModification?: string;\r\n}\r\n\r\nexport type DataAuditDelta = {\r\n fieldName?: string;\r\n newValue?: string;\r\n oldValue?: string;\r\n type?: number | string;\r\n typeDescription?: string;\r\n};\r\n","export enum CrudMode {\r\n NEW,\r\n EDIT,\r\n VIEW,\r\n}\r\n","import { MenuItem } from 'primeng/api';\r\nimport { ListItem } from './list-item.model';\r\nimport { Status } from './status.enum';\r\n\r\nexport type DataTableBaseItem = {\r\n actions?: MenuItem[];\r\n};\r\n\r\nexport enum TableColumnType {\r\n TEXT = 'TEXT',\r\n BOOLEAN = 'BOOLEAN',\r\n DATE = 'DATE',\r\n DATETIME = 'DATETIME',\r\n ENUM = 'ENUM',\r\n STATUS_BADGE = 'STATUS_BADGE',\r\n ACTIVE_BOOLEAN_BADGE = 'ACTIVE_BOOLEAN_BADGE',\r\n BUTTON = 'BUTTON',\r\n CUSTOM_STYLE = 'CUSTOM_STYLE',\r\n MASK = 'MASK',\r\n TEXT_BADGE = 'TEXT_BADGE',\r\n STACK_BADGE = 'STACK_BADGE',\r\n CURRENCY = 'CURRENCY',\r\n SCORE = 'SCORE',\r\n}\r\n\r\nexport type TableColumn = {\r\n header: string;\r\n field: string;\r\n width?: string;\r\n type?: TableColumnType;\r\n textFieldClass?: string;\r\n getEnumTranslated?: (enumVal: any) => string;\r\n getStatus?: (value: any) => Status;\r\n clickFunction?: Function;\r\n icon?: string;\r\n notSortable?: boolean;\r\n mask?: string;\r\n currencyType?: 'USD' | 'BRL';\r\n};\r\n\r\nexport type DataTableLazyLoadEvent = {\r\n start: number;\r\n length: number;\r\n draw: number;\r\n page: number;\r\n order: { column: number; dir: 'asc' | 'desc' }[];\r\n columns: {\r\n data: string;\r\n name: string;\r\n orderable: boolean;\r\n search: { value: string; regex: boolean };\r\n searchable: boolean;\r\n }[];\r\n search: { value: string; regex: boolean };\r\n tab: ListItem;\r\n};\r\n\r\nexport enum SelectionType {\r\n CHECKBOX = 'checkbox',\r\n RADIOBUTTON = 'radiobutton',\r\n}\r\n","export enum DocumentType {\r\n CPF,\r\n CNPJ,\r\n}\r\n","export enum MessageStatus {\r\n SUCCESS = 'success',\r\n INFO = 'info',\r\n WARN = 'warn',\r\n ERROR = 'error',\r\n}\r\n","import { DataTableBaseItem } from './data-table.model';\r\n\r\nexport type Profile = {\r\n id: number;\r\n name: string;\r\n profileTypeId: number;\r\n ProfileTypeName: string;\r\n modules: ProfileModule[];\r\n active: boolean;\r\n} & DataTableBaseItem;\r\n\r\nexport enum ProfileTypeEnum {\r\n SHIPPER = 1,\r\n SUPER_USER,\r\n CARRIER,\r\n DRIVER,\r\n SHIPPER_INTEGRATION,\r\n BATCHES,\r\n}\r\n\r\nexport type ProfileModule = {\r\n menu: string;\r\n actions: ProfileModuleAction[];\r\n} & ProfileModuleBase;\r\n\r\nexport type ProfileModuleGroupedByMenu = {\r\n menu: string;\r\n modules: ProfileModule[];\r\n children?: ProfileModuleGroupedByMenu[];\r\n};\r\n\r\nexport type ProfileModuleAction = {} & ProfileModuleBase;\r\n\r\nexport type ProfileModuleBase = {\r\n id: number;\r\n name: string;\r\n isAvailable?: boolean;\r\n};\r\n\r\nexport enum ProfileModuleType {\r\n OPERATIONAL_EVALUATION = 'OperationalEvaluation',\r\n ADMIN_SURVEYS = 'AdminSurveys',\r\n DIGITAL_DISCHARGE = 'Quitação Digital',\r\n REGISTER_OPERATION = 'RegisterOperation',\r\n REGISTER_PRODUCTS = 'RegisterProduct',\r\n ADMIN_NPS = 'NPS',\r\n COCKPIT = 'Cockpit',\r\n VALIDATIONS_CARGO_MATCH = 'ValidationsCargoMatch',\r\n PAYMENT_FREIGHT = 'Pagamento De Frete',\r\n FREIGHT_ADJUST = 'FreightAdjust',\r\n PUBLISH_FREIGHT = 'PublishFreight',\r\n APPROVE_FREIGHT = 'ApproveFreight',\r\n REGISTER_JUSTICATIVE = 'RegisterJustificative',\r\n BANK_EXTERNAL = 'BancoExterno',\r\n PAYMENT_SCHEDULING = 'Agendamento De Pagamento',\r\n DICHARGE_CONTROL_PANEL = 'DischargeControlPanel',\r\n CARD_CONTROL = 'Cartão digital',\r\n VECTOR_PAY_STATEMENT = 'VectorPayStatement',\r\n}\r\n\r\nexport enum ProfileModuleActionType {\r\n ADD_VEHICLE = 'Add Vehicle',\r\n EDIT_VEHICLE = 'Edit Vehicle',\r\n DELETE_VEHICLE = 'Delete Vehicle',\r\n SHOW_VEHICLE = 'Show Vehicle',\r\n ADD_DRIVER = 'Add Driver',\r\n EDIT_DRIVER = 'Edit Driver',\r\n DELETE_DRIVER = 'Delete Driver',\r\n SHOW_DRIVER = 'Show Driver',\r\n ADD_CARRIER = 'Add Carrier',\r\n DOCUMENTAL_HAZMAT = 'Documental Hazmat',\r\n EDIT_CARRIER = 'Edit Carrier',\r\n DELETE_CARRIER = 'Delete Carrier',\r\n SHOW_CARRIER = 'Show Carrier',\r\n ADD_PROFILE = 'Add Profile',\r\n EDIT_PROFILE = 'Edit Profile',\r\n DELETE_PROFILE = 'Delete Profile',\r\n SHOW_PROFILE = 'Show Profile',\r\n EDIT_BROADCAST_VALUES = 'Edit Broadcast Values',\r\n ADD_WAVE = 'Add Wave',\r\n EDIT_WAVE = 'Edit Wave',\r\n SHOW_WAVE = 'Show Wave',\r\n HISTORICAL_CHANGES_VEHICLE = 'Historical Changes Vehicle',\r\n HISTORICAL_CHANGES_DRIVER = 'Historical Changes Driver',\r\n HISTORICAL_CHANGES_CARRIER = 'Historical Changes Carrier',\r\n HISTORICAL_CHANGES_TRIP = 'Historical Changes Trip',\r\n HISTORICAL_CHANGES_USER = 'Historical Changes User',\r\n CANCEL_TRIPS = 'Cancel Trips',\r\n CANCEL_TRIPSPA = 'Cancel Trips PA',\r\n MANUAL_UPLOAD_DOCUMENTS = 'Manual Upload Documents',\r\n HISTORICAL_CHANGES_LOTS = 'Historical Changes Lots',\r\n ADD_LOCATION = 'Add Location',\r\n EDIT_LOCATION = 'Edit Location',\r\n SHOW_LOCATION = 'Show Location',\r\n ADD_RESTRICTIONS = 'Add Restrictions',\r\n EDIT_RESTRICTIONS = 'Edit Restrictions',\r\n SHOW_RESTRICTIONS = 'Show Restrictions',\r\n DELETE_RESTRICTIONS = 'Delete Restrictions',\r\n DELETE_LOCATION = 'Delete Location',\r\n SHOW_MESSAGES = 'Show Messages',\r\n EDIT_MESSAGES = 'Edit Messages',\r\n DELETE_MESSAGES = 'Delete Messages',\r\n ADD_MESSAGES = 'Add Messages',\r\n ADD_LOT = 'Add Lot',\r\n EDIT_LOT = 'Edit Lot',\r\n DELETE_LOT = 'Delete Lot',\r\n SHOW_LOT = 'Show Lot',\r\n ACCEPT_CREDIT = 'Accept Credit',\r\n SHOW_CREDIT = 'Show Credit',\r\n ADD_VEHICLE_CONFIGURATION = 'Add Vehicle Configuration',\r\n EDIT_VEHICLE_CONFIGURATION = 'Edit Vehicle Configuration',\r\n SHOW_VEHICLE_CONFIGURATION = 'Show Vehicle Configuration',\r\n ADD_SCHEDULING = 'Add Scheduling',\r\n EDIT_SCHEDULING = 'Edit Scheduling',\r\n DELETE_SCHEDULING = 'Delete Scheduling',\r\n ADD_VEHICLE_CONFIGURATION_SHIPPER = 'Add Vehicle Configuration Shipper',\r\n EDIT_VEHICLE_CONFIGURATION_SHIPPER = 'Edit Vehicle Configuration Shipper',\r\n SHOW_VEHICLE_CONFIGURATION_SHIPPER = 'Show Vehicle Configuration Shipper',\r\n EDIT_TRIP_BUNGE = 'Edit trip Bunge',\r\n EDIT_TRIP_COFCO = 'Edit trip Cofco',\r\n SHOW_MINIMUM_TRANSPORT_PRICE_TABLE = 'Show Minimum Transport Price Table',\r\n EDIT_MINIMUM_TRANSPORT_PRICE_TABLE = 'Edit Minimum Transport Price Table',\r\n HISTORICAL_CHANGES_CREDITS = 'Historical Changes Credits',\r\n INTEGRAÇÃO_PAGBEM = 'Integração Pagbem',\r\n VALIDATION_CARRIER = 'Validation Carrier',\r\n VALIDATION_DRIVER = 'Validation Driver',\r\n VALIDATION_VEHICLE = 'Validation Vehicle',\r\n EDIT_TRIP_STATUS = 'Edit trip status',\r\n REGISTRATION_VALIDATION = 'Registration Validation',\r\n B3_OPERATION = 'B3 Operation',\r\n SHOW_CARRIER_DETAIL_INTEGRATION = 'Show Carrier Detail Integration',\r\n SHOW_DRIVER_DETAIL_INTEGRATION = 'Show Driver Detail Integration',\r\n FUELS_SHOW_DISTRIBUTION_CENTER = 'Fuels show distribution center',\r\n FUELS_ADD_DISTRIBUTION_CENTER = 'Fuels add distribution center',\r\n FUELS_EDIT_DISTRIBUTION_CENTER = 'Fuels edit distribution center',\r\n FUELS_DELETE_DISTRIBUTION_CENTER = 'Fuels delete distribution center',\r\n FUELS_SHOW_DISTRIBUTION_POINT = 'Fuels show distribution point',\r\n FUELS_ADD_DISTRIBUTION_POINT = 'Fuels add distribution point',\r\n FUELS_EDIT_DISTRIBUTION_POINT = 'Fuels edit distribution point',\r\n FUELS_DELETE_DISTRIBUTION_POINT = 'Fuels delete distribution point',\r\n FUELS_SHOW_DISTRIBUTION_POST = 'Fuels show distribution post',\r\n FUELS_ADD_DISTRIBUTION_POST = 'Fuels add distribution post',\r\n FUELS_EDIT_DISTRIBUTION_POST = 'Fuels edit distribution post',\r\n FUELS_DELETE_DISTRIBUTION_POST = 'Fuels delete distribution post',\r\n FUELS_SHOW_MARKETPLACE_PRODUCT = 'Fuels show marketplace product',\r\n FUELS_ADD_MARKETPLACE_PRODUCT = 'Fuels add marketplace product',\r\n FUELS_EDIT_MARKETPLACE_PRODUCT = 'Fuels edit marketplace product',\r\n FUELS_DELETE_MARKETPLACE_PRODUCT = 'Fuels delete marketplace product',\r\n FUELS_SHOW_STOCK_UPDATE = 'Fuels show stock update',\r\n FUELS_ADD_STOCK_UPDATE = 'Fuels add stock update',\r\n SHOW_MARKETPLACES = 'Show marketplaces',\r\n FUELS_SHOW_DEPOSIT = 'Fuels show deposit',\r\n FUELS_ADD_DEPOSIT = 'Fuels add deposit',\r\n FUELS_EDIT_DEPOSIT = 'Fuels edit deposit',\r\n FUELS_DELETE_DEPOSIT = 'Fuels delete deposit',\r\n FUELS_SHOW_SUPPLY_OFFER = 'Fuels show supply offer',\r\n FUELS_ADD_SUPPLY_OFFER = 'Fuels add supply offer',\r\n FUELS_EDIT_SUPPLY_OFFER = 'Fuels edit supply offer',\r\n FUELS_SHOW_OPERATOR = 'Fuels show operator',\r\n FUELS_ADD_OPERATOR = 'Fuels add operator',\r\n FUELS_EDIT_OPERATOR = 'Fuels edit operator',\r\n FUELS_DELETE_OPERATOR = 'Fuels delete operator',\r\n FINTECH_BANK_ADMIN = 'Fintech Bank Admin',\r\n FINTECH_BANK_USER = 'Fintech Bank User',\r\n FINTECH_PIX_PAYMENT_REVERSAL = 'Pix Payment Reversal',\r\n FINTECH_CREDIT_ADMIN = 'Fintech Credit Admin',\r\n FINTECH_CREDIT_USER = 'Fintech Credit User',\r\n FINTECH_BANK_ADMIN_ACCOUNTS_VIEW = 'Fintech Bank Admin - Accounts View',\r\n FINTECH_CREDIT_ADMIN_PROPOSAL_NOT_CONFIRMED = 'Fintech Credit Admin - Proposal Not Confirmed',\r\n FINTECH_CREDIT_ADMIN_CONTRACTS_FOLLOW_UP = 'Fintech Credit Admin - Contracts Follow-Up',\r\n ADMIN_MARKEPLACE = 'Admin Markeplace',\r\n APPROVE_REQUEST = 'Approve Request',\r\n REPROVE_REQUEST = 'Reprove Request',\r\n SHOW_REQUEST = 'Show Request',\r\n SHOW_USER = 'Show User',\r\n ADD_USER = 'Add User',\r\n EDIT_USER = 'Edit User',\r\n DELETE_USER = 'Delete User',\r\n ADD_REGION = 'Add Region',\r\n SHOW_REGION = 'Show Region',\r\n EDIT_REGION = 'Edit Region',\r\n ADD_LOCATION_SHIPPER = 'Add LocationShipper',\r\n EDIT_LOCATION_SHIPPER = 'Edit LocationShipper',\r\n SHOW_LOCATION_SHIPPER = 'Show LocationShipper',\r\n DELETE_LOCATION_SHIPPER = 'Delete LocationShipper',\r\n ADD_SCHEDULE = 'Add Schedule',\r\n EDIT_SCHEDULE = 'Edit Schedule',\r\n SHOW_SCHEDULE = 'Show Schedule',\r\n ADD_VACANCIES_LOGISTIC = 'Add Vacancies Logistic',\r\n ADD_VACANCIES_COMMERCIAL = 'Add Vacancies Commercial',\r\n SHOW_VACANCIES_COMPLETE = 'Show Vacancies Complete',\r\n ADD_SCHEDULE_OFF = 'Add Schedule Off',\r\n SHOW_NEWS = 'Show News',\r\n ADD_NEWS = 'Add News',\r\n EDIT_NEWS = 'Edit News',\r\n DELETE_NEWS = 'Delete News',\r\n HISTORICAL_CHANGES_NEWS = 'Historical Changes News',\r\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Add DistributionCentersCompanyCredit',\r\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Edit DistributionCentersCompanyCredit',\r\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Show DistributionCentersCompanyCredit',\r\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Delete DistributionCentersCompanyCredit',\r\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Add DistributionCentersCompanyUnitCredit',\r\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Edit DistributionCentersCompanyUnitCredit',\r\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Show DistributionCentersCompanyUnitCredit',\r\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Delete DistributionCentersCompanyUnitCredit',\r\n APPROVE_VECTOR = 'ApproveVector',\r\n APPROVE_ETCD = 'ApproveETCD',\r\n APPROVE_CARRIER = 'ApproveEmbarcador',\r\n DELETE_PARAMETERS_ETCD = 'Delete Parameters',\r\n SHOW_RECEPTION_PRODUCT = 'Show Reception Product',\r\n EDIT_RECEPTION_PRODUCT = 'Edit Reception Product',\r\n DELETE_RECEPTION_PRODUCT = 'Delete Reception Product',\r\n ADD_RECEPTION_PRODUCT = 'Add Reception Product',\r\n SHOW_DIGITAL_DISCHARGE = 'Show Digital Discharge',\r\n SHOW_DIGITAL_DISCHARGE_FILES = 'Show Digital Discharge Files',\r\n SHOW_DIGITAL_TRANSPORTATION = 'Show Digital Transportation',\r\n FULL_ACCESS_DIGITAL_DISCHARGE = 'Full Acess Digital Discharge',\r\n SHOW_ETCD = 'Show ETCD',\r\n EDIT_ETCD = 'Edit ETCD',\r\n DELETE_ETCD = 'Delete ETCD',\r\n ADD_ETCD = 'Add ETCD',\r\n SHOW_REGIONAL_ETCD = 'Show Regional ETCD',\r\n SHOW_VIRTUAL_BRANCH = 'Show Virtual Branch',\r\n EDIT_VIRTUAL_BRANCH = 'Edit Virtual Branch',\r\n ADD_VIRTUAL_BRANCH = 'Add Virtual Branch',\r\n DELETE_VIRTUAL_BRANCH = 'Delete Virtual Branch',\r\n SHOW_PHYSICAL_BRANCH = 'Show Physical Branch',\r\n EDIT_PHYSICAL_BRANCH = 'Edit Physical Branch',\r\n ADD_PHYSICAL_BRANCH = 'Add Physical Branch',\r\n DELETE_PHYSICAL_BRANCH = 'Delete Physical Branch',\r\n SHOW_FISCAL_BRANCH = 'Show Fiscal Branch',\r\n EDIT_FISCAL_BRANCH = 'Edit Fiscal Branch',\r\n ADD_FISCAL_BRANCH = 'Add Fiscal Branch',\r\n DELETE_FISCAL_BRANCH = 'Delete Fiscal Branch',\r\n SHOW_MONITORING_ETCD = 'Show Monitoring ETCD',\r\n ADD_PRODUCT_ETCD = 'Add Product ETCD',\r\n EDIT_PRODUCT_ETCD = 'Edit Product ETCD',\r\n SHOW_PRODUCT_ETCD = 'Show Product ETCD',\r\n DELETE_PRODUCT_ETCD = 'Delete Product ETCD',\r\n ADD_PARAMETERS_ETCD = 'Add Parameters ETCD',\r\n EDIT_PARAMETERS_ETCD = 'Edit Parameters ETCD',\r\n SHOW_PARAMETERS_ETCD = 'Show Parameters ETCD',\r\n ADD_FREIGHT_ETCD = 'Add Freight ETCD',\r\n SHOW_FREIGHT_ETCD = 'Show Freight ETCD',\r\n APPROVE_ADJUSMENT_ETCD = 'Approve Adjusment ETCD',\r\n REPROVE_ADJUSMENT_ETCD = 'Reprove Adjusment ETCD',\r\n ADD_JUSTIFICATIVE_ETCD = 'Add Justificative ETCD',\r\n EDIT_JUSTIFICATIVE_ETCD = 'Edit Justificative ETCD',\r\n DELETE_JUSTIFICATIVE_ETCD = 'Delete Justificative ETCD',\r\n APPROVE_RELEASE_ETCD = 'Approve Release ETCD',\r\n REPROVE_RELEASE_ETCD = 'Reprove Release ETCD',\r\n SHOW_ADVANCE_ETCD = 'Show Advance ETCD',\r\n APPROVE_REQUESTS_ETCD = 'Approve Requests ETCD',\r\n SHOW_SUPPLY = 'Show Supply',\r\n SHOW_TRIP_OFFERT = 'Trip Offer Show',\r\n APPROVE_DISCHARGE_PAYMENT = 'Aprovar quitacao',\r\n APPROVE_ADVANCE_PAYMENT = 'Aprovar adiantamento',\r\n APPROVE_ENGINE_PAYMENT = 'Aprovar motor de pagamento',\r\n EXTRACT_THIRD = 'Extrato terceiro',\r\n HISTORICAL_CHANGES_GROUPS = 'HistoricalChangesGroups',\r\n DELETE_ONLY_MEMBER_GROUPS = 'Delete Only Member Groups',\r\n ADD_ONLY_MEMBER_GROUPS = 'Add Only Member Groups',\r\n SHOW_GROUPS = 'Show Groups',\r\n DELETE_GROUPS = 'Delete Groups',\r\n EDIT_GROUPS = 'Edit Groups',\r\n ADD_GROUPS = 'Add Groups',\r\n ADD_UPDATE_GEOFENCE = 'Add Update Geofence',\r\n SHOW_GEOFENCE = 'Show Geofence',\r\n SHOW_GEOFENCE_LOG = 'Show Geofence Log',\r\n HISTORICAL_CHANGES_GEOFENCE = 'Historical Changes Geofence',\r\n SHOW_DRIVER_LOG = 'Show Driver Log',\r\n UPDATE_CHECKIN_CHECKOUT = 'Update CheckIn CheckOut',\r\n AUTOMATIC_CHECKIN = 'Automatic CheckIn',\r\n SHOW_FILTERS_MONTHLY_RECEPTION = 'Show Filters Monthly Reception',\r\n VIEW_ROUTE_TRIP = 'View Route Trip',\r\n SHOW_RISK_MANAGEMENT = 'Show Risk Management',\r\n ADD_RISK_MANAGEMENT = 'Add Risk Management',\r\n EDIT_RISK_MANAGEMENT = 'Edit Risk Management',\r\n DELETE_RISK_MANAGEMENT = 'Delete Risk Management',\r\n DIGITAL_DISCHARGE_BASIC_DATA = 'Quitacao Digital Basic Data',\r\n DIGITAL_DISCHARGE_ETCD_APPROVER = 'Quitacao Digital ETCD Aprovador',\r\n DIGITAL_DISCHARGE_ETCD_APPROVER_MANAGEMENT = 'Quitacao Digital ETCD Aprovador Gestor',\r\n DIGITAL_DISCHARGE_VECTOR_APPROVER = 'Quitacao Digital Vector Aprovador',\r\n DIGITAL_DISCHARGE_VECTOR_APPROVER_MANAGEMENT = 'Quitacao Digital Vector Aprovador Gestor',\r\n DIGITAL_DISCHARGE_APPROVE_SAP = 'Quitacao Digital Aprovador Contingencia Sap',\r\n PAYMENT_FREIGHT_ADJUST_FREIGHT_VALUE = 'Pagamento Frete Ajustar Valor Frete',\r\n SHOW_MESSAGE_CUSTOM = 'Show Messages Custom',\r\n DELETE_MESSAGE_CUSTOM = 'Delete Messages Custom',\r\n ADD_MESSAGE_CUSTOM = 'Add Messages Custom',\r\n EDIT_MESSAGE_CUSTOM = 'Edit Messages Custom',\r\n RECEPTION_WITHOUT_SCHEDULING = 'Reception Without Scheduling',\r\n BANK_EDIT = 'Edit',\r\n BANK_REGISTER_FULL = 'Cadastro Full',\r\n SEARCH_CALENDAR_FULL = 'Pesquisar Agenda Full',\r\n SHOW_MOVEMENT_ETCD = 'Show Movement Etcd',\r\n CREATE_AND_EDIT_NPS = 'Create and edit NPS',\r\n READ_NPS_INFORMATION = 'Read NPS information',\r\n TEX_ONBOARDING_TRACKING = 'OnboardingTracking',\r\n TEX_CARRIER_ASSOCIATION_TRACKING = 'Carrier Association Tracking',\r\n BIDDING_PARAMETERS = 'Bidding Parameters',\r\n DRIVER_SCORE_METRICS_ADMIN = 'Driver Score Metrics Admin',\r\n SHOW_DOCK_BUILDING = 'Show Dock Building',\r\n ADD_DOCK_BUILDING = 'Add Dock Building',\r\n EDIT_DOCK_BUILDING = 'Edit Dock Building',\r\n EDIT_DOCK = 'Edit Dock',\r\n FRIENDLY_TRIP = 'Friendly Trip',\r\n CANCEL_FRIENDLY_TRIP = 'Cancelar Viagem Amiga',\r\n SHOW_FRIENDLY_TRIP = 'Visualizar Viagem Amiga',\r\n CREATE_FRIENDLY_TRIP = 'Solicitar Viagem Amiga',\r\n ADD_OBSERVATION = 'Add Observation',\r\n SHOW_OBSERVATION = 'Show Observation',\r\n EDIT_OBSERVATION = 'Edit Observation',\r\n DELETE_OBSERVATION = 'Delete Observation',\r\n CLASSIFIER_PARAMETERS_FRIENDLY_TRIP = 'Parâmetros de classificador',\r\n SCORE_REPORT_FRIENDLY_TRIP = 'Relatório de Pontuação',\r\n SEND_NFS_ETCD = 'Send NFs ETCD',\r\n SHOW_ANTECITABLE_RECEVEIBLES = 'Vizualizar antecipacao de recebiveis',\r\n SHOW_LOG_ANTECITABLE_RECEVEIBLES = 'Vizualizar log antecipacao de recebiveis',\r\n AUTOMATIC_DISCLOSURE_CONFIGURATIONS = 'Automatic Disclosure Configurations',\r\n SHOW_PAYMENT_SCHEDULING_DETAIL = 'Show Payment Scheduling Detail',\r\n SCHEDULE_UPDATE_CHECKIN_CHECKOUT = 'Schedule Update CheckIn CheckOut',\r\n SHOW_PARAMETERS_CANCEL_TRIPS = 'show Parameters Cancel Trips',\r\n EDIT_PARAMETERS_CANCEL_TRIPS = 'Edit Parameters Cancel Trips',\r\n SHOW_PARAMETERS_DIVULGATION_WEB = 'Show Parameters Divulgation Web',\r\n EDIT_PARAMETERS_DIVULGATION_WEB = 'Edit Parameters Divulgation Web',\r\n SHOW_PRICE_TAKING = 'Show PriceTaking',\r\n SHOWTABLE_PRICE_TAKING = 'ShowTable PriceTaking',\r\n SHOWTABLE_PRICE_TAKING_EXCEL = 'ShowTable PriceTakingExcel',\r\n SEND_OFFER_PRICE_TAKING = 'Send Offer PriceTaking',\r\n CHANGE_STATUS_PRICE_TAKING = 'Change Status PriceTaking',\r\n SHOWTABLE_PRICE_TAKING_HISTORY = 'ShowTable PriceTaking History',\r\n SAVE_PRICE_TAKING = 'Save PriceTaking',\r\n SHOW_SHIPPING_ORIGIN = 'Show Shipping Origin',\r\n SHOW_SHIPPING_COMBINED = 'Show Shipping Combined',\r\n SHOW_SHIPPING_CONTINUOUS = 'Show Shipping Continuous',\r\n SHOW_LOYALTY = 'Show Loyalty',\r\n SHOW_PAYMENT_PARAMETERS = 'Show Payment Parameters',\r\n COCKPIT_SUMMARY = 'Cockpit Summary',\r\n COCKPIT_REGISTRATION = 'Cockpit Registration',\r\n COCKPIT_BANK = 'Cockpit Bank',\r\n COCKPIT_CREDIT = 'Cockpit Credit',\r\n COCKPIT_PA = 'Cockpit PA',\r\n COCKPIT_LOG = 'Cockpit Log',\r\n CREATE_UPDATE_CARGO_MATCH_VALIDATIONS = 'Create Update Cargo Match Validations',\r\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS = 'Show Cargo Match Etcd Validations',\r\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS_HISTORY = 'Show Cargo Match Etcd Validations History',\r\n PARAMETERIZE_LOT_RANGE_GDV = 'Parameterize Lot Range',\r\n PERFORM_CHECKIN_CHECKOUT_GDV = 'Perform Checkin CheckOut.',\r\n UPLOAD_DOCUMENTS_GDV = 'Upload Documents',\r\n FIX_DOCUMENTS_GDV = 'Fix Documents',\r\n VALIDATE_DOCUMENT_UPLOAD_GDV = 'Validate Document Upload',\r\n REQUEST_CORRECTION_DOCUMENT_INFORMATION_GDV = 'Request correction of document information',\r\n UPLOAD_CTE_MDFE_GDV = 'Upload CTE MDFE',\r\n APPROVE_CANCELLATION_LOAD_ORDER_GDV = 'Approve cancellation of Load Order',\r\n SHOW_FREIGHT_SIMULATOR_ETCD = 'Show Freight Simulator Etcd',\r\n CREATE_UPDATE_FREIGHT_SIMULATOR_ETCD = 'Create Update Freight Simulator Etcd',\r\n APPROVE_REPROVE_ETCD_SIMULATION = 'Approve Reprove Etcd Simulation',\r\n ADVANCE_AND_DISCHARGE_PAYMENT = 'Advance and discharge payment',\r\n PAYMENT_ENGINE = 'Payment Engine',\r\n PAYMENT_STATEMENT = 'Payment Statement',\r\n EDIT_CARRIER_SUSTAINABLE = 'Edit Carrier Sustainable',\r\n SHOW_CARRIER_SUSTAINABLE = 'Show Carrier Sustainable',\r\n SHOW_ORDER_TRAKING = 'Show OrderTraking',\r\n SHOW_ORDER_TRAKING_EXCEL = 'Show OrderTrakingExcel',\r\n EDIT_ORDER_TRAKING_CONFIG = 'Edit OrderTrakingConfig',\r\n SEND_DOCUMENTS_TRIP_MANUAL = 'Send Documents Trip Manual',\r\n DELETE_DOCUMENTS_TRIP_MANUAL = 'Delete Documents Trip Manual',\r\n SEND_DOCUMENTS_CARGO_MANUAL = 'Send Documents Cargo Manual',\r\n ADD_POOLOFFERT = 'Add PoolOffert',\r\n DELETE_POOLOFFERT = 'Delete PoolOffert',\r\n SHOW_POOLOFFERT = 'Show PoolOffert',\r\n EDIT_POOLOFFERT = 'Edit PoolOffert',\r\n DOCUMENTARY_IRREGULARITY = 'documentaryIrregularity',\r\n DOCUMENTARY_IRREGULARITY_FULL_SEARCH = 'documentaryIrregularityFullSearch',\r\n BLOCK_USER_ACCESS = 'Block User Access',\r\n SHOW_DRIVER_DASHBOARD = 'Show Driver Dashboard',\r\n ENABLE_DISABLE_BROADCAST_GRID = 'Enabled-Disabled broadcast in grid',\r\n SHOW_BIDDING = 'Show Bidding',\r\n ADD_FREIGHT_RATE = 'Add Freight Rate',\r\n ADD_MANUAL_CARGO = 'Add Manual Cargo',\r\n EDIT_TRIP_OFFER = 'Trip Offer Edit',\r\n SHOW_TRIP_OFFER = 'Trip Offer Show',\r\n CANCEL_TRIP_OFFER_CARGO_MATCH = 'Trip Offer Cargo Match Cancel',\r\n CREATE_EDIT_ETCD_MANUAL = 'Create Edit Etcd Manual',\r\n DUPLICATE_LOT = 'Duplicar Lote',\r\n ADD_LOT_NORMAL = 'Add Lot Normal',\r\n DUPLICATE_CARGO = 'Duplicar Carga',\r\n DISCLOSURE_IN_MASS = 'Disclosure En Masse',\r\n EDIT_BIDDING = 'Edit Bidding',\r\n SHOW_CHECKLIST_PARAMETER = 'Show Checklist Parameter',\r\n ADD_CHECKLIST_PARAMETER = 'Add Checklist Parameter',\r\n EDIT_CHECKLIST_PARAMETER = 'Edit Checklist Parameter',\r\n DELETE_CHECKLIST_PARAMETER = 'Delete Checklist Parameter',\r\n SHOW_CHECKLIST_PARAMETER_HISTORY = 'Show Checklist Parameter History',\r\n ADD_CHECKLIST_PARAMETER_TYPE = 'Add Checklist Parameter Type',\r\n ADD_MAIL_LOTS = 'Add Mails Lots',\r\n ADD_ROUTE = 'Add Route',\r\n ADD_CASH_ADVANCE = 'Add Cash Advance',\r\n ADD_HAS_TOLL = 'Add Has Toll',\r\n EDIT_FREIGHT_RATE = 'Edit Freight Rate',\r\n ADD_FREIGHT_RATE_SON = 'Add Freight Rate Son',\r\n EDIT_FREIGHT_RATE_SON = 'Edit Freight Rate Son',\r\n CHANGE_IS_POC = 'ChangeIsPOC',\r\n APPROVE_BIDDING_CLOSURE = 'Aprovar encerramento do Bidding',\r\n APPROVE_BIDDING_WITH_GREATER_VALUE = 'Aprovar Bidding com valor maior que o menor valor',\r\n VEHICLE_SHOW_SHIPPER_PETROBRAS = 'Vehicle Show Shipper Petrobras',\r\n DRIVER_SHOW_SHIPPER_PETROBRAS = 'Driver Show Shipper Petrobras',\r\n CARRIER_SHOW_SHIPPER_PETROBRAS = 'Carrier Show Shipper Petrobras',\r\n SHOW_CARRIER_DOCUMENTS = 'Show Carrier Documents',\r\n EDIT_CARRIER_DOCUMENTS = 'Edit Carrier Documents',\r\n CARRIER_VALIDATE_DOCUMENTS = 'Carrier Validate Documents',\r\n SHOW_VEHICLE_DOCUMENTS = 'Show Vehicle Documents',\r\n SAVE_VEHICLE_DOCUMENTS = 'Save Vehicle Documents',\r\n VEHICLE_VALIDATE_DOCUMENTS = 'Vehicle Validate Documents',\r\n SAVE_DRIVER_DOCUMENTS = 'Save Driver Documents',\r\n SHOW_DRIVER_DOCUMENTS = 'Show Driver Documents',\r\n DRIVER_VALIDATE_DOCUMENTS = 'Driver Validate Documents',\r\n ONLY_SHOW_PROFILE_PETROBRAS = 'Only Show Profile Petrobras',\r\n SHOW_PARAMETERS_CARRIER = 'Show Parameters Carrier',\r\n SAVE_CARRIERS_DOCUMENTS = 'Save Carriers Documents',\r\n APRV_Validation = 'APRV_Validation',\r\n SHOW_PLANNED_TRIPS = 'Show Planned Trips',\r\n ADD_PLANNED_TRIPS = 'Add Planned Trips',\r\n ADD_MONITORING_PLANNED_TRIPS = 'Add Monitoring Planned Trips',\r\n SHOW_MONITORING_PLANNED_TRIPS = 'Show Monitoring Planned Trips',\r\n SHOW_DRIVER_TRIP_INFO_DETAIL = 'Show Driver Trip Info Detail',\r\n MANUAL_CHECKLIST_APPLICATION = 'Manual Checklist Application',\r\n SUPPLIER_UPDATE_CHECKIN_CHECKOUT = 'Supplier Update CheckIn CheckOut',\r\n RETROACTIVE_STEP_ADVANCEMENT = 'Retroactive Show',\r\n EDIT_CONFIGURATION = 'Edit Configuration',\r\n DELETE_ROTOGRAM = 'Delete Rotogram',\r\n ADD_OBSERVATION_EVENT = 'Add Observation Event',\r\n APPROVED_EVENT = 'Approved Event',\r\n SHOW_ROUTE_PLANNED_TRIP = 'Show Route Planned Trip',\r\n NEW_ROUTE_PLANNED_TRIP = 'New Route Planned Trip',\r\n EDIT_ROUTE_PLANNED_TRIP = 'Edit Route Planned Trip',\r\n NEW_ROTOGRAM = 'New Rotogram',\r\n SHOW_ROTROGRAM = 'Show Rotogram',\r\n LOW_FUEL_STOCK_RECEPTION_PRODUCT = 'Low Fuel Stock Reception Product',\r\n SHOW_TELEMETRY_POINT = 'Show TelemetryPoints',\r\n ADD_BLOCK_HAZMAT = 'Add Block Hazmat',\r\n SHOW_BLOCK_HAZMAT = 'Show Block Hazmat',\r\n EDIT_BLOCK_HAZMAT = 'Edit Block Hazmat',\r\n CONFIGURE_APPROVAL_AUTHORITY = 'Configure Approval Authority',\r\n SHOW_APPROVAL_AUTHORITY_CONFIG = 'Show Approval Authority Config',\r\n BUY_VALE_PEDAGIO = 'Buy Vale Pedagio',\r\n CANCEL_VALE_PEDAGIO = 'Cancel Vale Pedagio',\r\n SHOW_INFO_VALE_PEDAGIO = 'Show Info Vale Pedagio',\r\n SHOW_ORDER_TRAKING_UNTIL_TRIP_EN = 'Show OrderTraking Until Trip EN',\r\n AUDIT_CHECKLIST = 'Audit CheckList',\r\n ADD_SURVEY_DRIVER = 'Add Survey Driver',\r\n SHOW_SURVEY_DRIVER = 'Show Survey Driver',\r\n EDIT_SURVEY_DRIVER = 'Edit Survey Driver',\r\n DELETE_SURVEY_DRIVER = 'Delete Survey Driver',\r\n SHOW_SHIPPING_FREIGHT = 'Show Shipping Freight',\r\n MANAGE_SHIPPING_FREIGHT = 'Manage Shipping Freight',\r\n UPDATE_TRAVEL_APPROVAL = 'Update Travel Approval',\r\n CONFIGURE_WAITING_LINES = 'Configure Waiting Lines',\r\n ADD_WAITING_LINES = 'Add Waiting Lines',\r\n SHOW_WAITING_LINES = 'Show Waiting Lines',\r\n CALL_DRIVER_WAITING_LINES = 'Call Driver Waiting Lines',\r\n MONITORING_HANDLE_EVENT = 'Monitoring Handle Event',\r\n MONITORING_JUSTIFY_EVENT = 'Monitoring Justify Event',\r\n APPROVE_POOL_BIDDING_CLOSURE = 'Aprovar Encerramento Pool Bidding',\r\n APPROVE_POOL_BIDDING_LESSER_VALUE = 'Aprovar Bidding Pool Com Valor Maior Que Menor Valor',\r\n SHOW_GR_VECTOR_PARAMETERS = 'Show GR Vector Parameters',\r\n ACTIVATE_OR_INACTIVATE_GR_PARAMETERS = 'Activate or Inactivate GR Parameters',\r\n UPDATE_GR_PARAMETERS = 'Update GR Parameters',\r\n CREATE_GR_VECTOR = 'Create GR Vector',\r\n APPROVE_OR_DISAPROVE_GR = 'Approve Or Disaprove Gr',\r\n SHOW_GR_VECTOR = 'Show GR Vector',\r\n ADD_DRIVER_MULTICARRIER = 'Add Driver MultiCarrier',\r\n APPROVE_OR_DISAPPROVE_ANALYSIS = 'Approve Or Disapprove Analysis',\r\n VIEW_LOCATION_GROUP = 'View Location Group',\r\n CREATE_LOCATION_GROUP = 'Create Location Group',\r\n EDIT_LOCATION_GROUP = 'Edit Location Group',\r\n DEACTIVATE_LOCATION_GROUP = 'Deactivate Location Group',\r\n DELIVERY_TOLL_CARD = 'Delivery Toll Card',\r\n SHOW_TOLL_CARD = 'View Toll Card',\r\n EDIT_TOLL_CARD = 'Edit Toll Card',\r\n SENT_TO_SAP_SUPPLY = 'Sent To Sap Supply',\r\n SAVE_NFSAP_DOCUMENTS = 'Save NFSap Documents',\r\n SHOW_LOT_PARAMETER_SHIPPER = 'Show Lot Parameter Shipper',\r\n SAVE_LOT_PARAMETER_SHIPPER = 'Save Lot Parameter Shipper',\r\n SHOW_GENERAL_PARAMETERS = 'Show General Parameters',\r\n SHOW_DISTRIBUTION_OF_VACANCIES = 'Show Distribution Of Vacancies',\r\n SHOW_SCHEDULE_SCHEDULING_MANAGEMENT = 'Show Schedule Scheduling Management',\r\n SHOW_HISTORICAL_SCHEDULING_MANAGEMENT = 'Show Historical Scheduling Management',\r\n DELETE_SUPPLIER_SCHEDULING_MANAGEMENT = 'Delete Supplier Scheduling Management',\r\n EDIT_VECTOR_SHIFT_VACANCIES = 'Edit Vector Shift Vacancies',\r\n SHOW_ESTIMATED_TIME_TO_ARRIVE = 'Show Estimated Time To Arrive',\r\n EDIT_ESTIMATED_TIME_TO_ARRIVE = 'Edit Estimated Time To Arrive',\r\n SHOW_ETA_VECTOR = 'Show Eta Vector',\r\n SHOW_PROFILEUSER = 'Show ProfileUser',\r\n EDIT_PROFILEUSER = 'Edit ProfileUser',\r\n CREATE_PROFILEUSER = 'Create ProfileUser',\r\n ACTIVATE_PROFILEUSER = 'Activate ProfileUser',\r\n DEACTIVATE_PROFILEUSER = 'Deactivate ProfileUser',\r\n ADD_SUPPLY_MANUAL = 'Add Supply Manual',\r\n SHOW_ISS_PARAMS = 'Show Iss Param',\r\n SHOW_PGR_INSURANCE = 'Show PGR Insurance',\r\n ADD_PGR_CONTRACTS = 'Add PGR Contracts',\r\n DELETE_PGR_CONTRACTS = 'Delete PGR Contracts',\r\n ADD_PGR_RULES = 'Add PGR Rules',\r\n DELETE_PGR_RULES = 'Delete PGR Rules',\r\n ADD_PGR_CONFIGURATIONS = 'Add PGR Configurations',\r\n CREATE_ISS_PARAMS = 'Create Iss Param',\r\n EDIT_ISS_PARAMS = 'Edit Iss Param',\r\n DELETE_LOCATION_SHIFT_PRIORITY = 'Delete Location Shift Priority',\r\n ADD_LOCATION_SHIFT_PRIORITY = 'Add Location Shift Priority',\r\n SAVE_CLIENT_ORDER_TRACKING = 'Save Client Order Tracking',\r\n SHOW_CLIENT_ORDER_TRACKING = 'Show Client Order Tracking',\r\n SHOW_PARAMETER_ORDER_TRACKING = 'Show Parameter Order Tracking',\r\n SAVE_PARAMETER_ORDER_TRACKING = 'Save Parameter Order Tracking',\r\n SHOW_PARAMETERS_MONITORING = 'Show Parameters Monitoring',\r\n ADD_PARAMETERS_MONITORING = 'Add Parameters Monitoring',\r\n FINALIZE_PLANNED_TRIP_PENDING_FINISH = 'Finalize Planned Trip Pending Finish',\r\n SHOW_PLANNED_TRIP_LOGS = 'Show Planned Trip Logs',\r\n CONTROL_CADASTRO_EXCEL_EXPORT = 'Control Cadastro Excel Export',\r\n OPEN_SHIFTS_MANUALLY = 'Open Shifts Manually',\r\n OPEN_PROGRAMABILITY_SHIFT = 'Open Programability Shift',\r\n SHOW_TRIPS_REFUSED = 'Show Trips Refused',\r\n SHOW_GTFROTA_PENDING_SUPPLY_LOG = 'Show GtFrotaPendingSupplylog',\r\n CREDIT_LIMIT_MANAGEMENT = 'Credit Limit Management',\r\n}\r\n","export enum Role {\r\n ADMIN = 'ADMIN',\r\n}\r\n","export enum Status {\r\n PENDING,\r\n APPROVED,\r\n REJECTED,\r\n INFO,\r\n NOT_EXECUTEDCOUNT\r\n}\r\n","export enum View {\r\n HOME,\r\n ADMIN,\r\n DIGITAL_CARRIER,\r\n RISK_MANAGER,\r\n VECTOR_CLUB,\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Status } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n})\r\nexport class BadgeComponent implements OnInit {\r\n @Input()\r\n public type?: Status;\r\n @Input()\r\n public label?: string;\r\n @Input()\r\n public customColor?: string;\r\n @Input()\r\n public customBackgroundColor?: string;\r\n @Input()\r\n public tooltip?: string;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public getStatusColor() {\r\n switch (this.type) {\r\n case Status.PENDING:\r\n return 'badge-warning';\r\n case Status.APPROVED:\r\n return 'badge-success';\r\n case Status.REJECTED:\r\n return 'badge-error';\r\n case Status.INFO:\r\n return 'badge-info';\r\n }\r\n return '';\r\n }\r\n}\r\n","<div\r\n class=\"badge\"\r\n [class]=\"getStatusColor()\"\r\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\r\n [pTooltip]=\"tooltip || ''\"\r\n tooltipPosition=\"top\"\r\n>\r\n {{ label }}\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currencyBrl',\r\n})\r\nexport class CurrencyBrlPipe implements PipeTransform {\r\n transform(value: number = 0): string {\r\n if (!value) value = 0;\r\n return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;\r\n }\r\n}\r\n","export class CpfCnpjValidator {\r\n public static validateCpfOrCnpj(taxId: string) {\r\n taxId = taxId.replace(/[^0-9]+/g, '');\r\n\r\n if (taxId.length == 11) {\r\n return this.validateCpf(taxId);\r\n } else if (taxId.length == 14) {\r\n return this.validateCnpj(taxId);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public static validateCpf(cpf: string) {\r\n if (!cpf?.trim() || cpf.length !== 11 || !cpf.match('^[0-9]+$')) {\r\n return false;\r\n }\r\n\r\n if (\r\n [\r\n '00000000000',\r\n '11111111111',\r\n '22222222222',\r\n '33333333333',\r\n '44444444444',\r\n '55555555555',\r\n '66666666666',\r\n '77777777777',\r\n '88888888888',\r\n '99999999999',\r\n ].includes(cpf)\r\n ) {\r\n return false;\r\n }\r\n let num: number = 0;\r\n let caracter: string = '';\r\n let counter: number = 10;\r\n let sum: number = 0;\r\n let rest: number = 0;\r\n let firstDigit: number = 0;\r\n let secondDigit: number = 0;\r\n let cpfAux: string = '';\r\n cpfAux = cpf.substring(0, 9);\r\n for (let i: number = 0; i < 9; i++) {\r\n caracter = cpfAux.charAt(i);\r\n num = Number(caracter);\r\n sum = sum + num * counter;\r\n counter--;\r\n }\r\n rest = sum % 11;\r\n firstDigit = 11 - rest;\r\n if (firstDigit > 9) {\r\n firstDigit = 0;\r\n }\r\n counter = 11;\r\n sum = 0;\r\n cpfAux = cpfAux + firstDigit;\r\n for (let i: number = 0; i < 10; i++) {\r\n caracter = cpfAux.charAt(i);\r\n num = Number(caracter);\r\n sum = sum + num * counter;\r\n counter--;\r\n }\r\n rest = sum % 11;\r\n secondDigit = 11 - rest;\r\n if (secondDigit > 9) {\r\n secondDigit = 0;\r\n }\r\n cpfAux = cpfAux + secondDigit;\r\n return cpf === cpfAux;\r\n }\r\n\r\n public static validateCnpj(cnpj: string) {\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n\r\n if (cnpj == '') return false;\r\n\r\n if (cnpj.length != 14) return false;\r\n\r\n if (\r\n [\r\n '00000000000000',\r\n '11111111111111',\r\n '22222222222222',\r\n '33333333333333',\r\n '44444444444444',\r\n '55555555555555',\r\n '66666666666666',\r\n '77777777777777',\r\n '88888888888888',\r\n '99999999999999',\r\n ].includes(cnpj)\r\n )\r\n return false;\r\n\r\n let size = cnpj.length - 2;\r\n let numbers = cnpj.substring(0, size);\r\n let digits = cnpj.substring(size);\r\n let sum = 0;\r\n let pos = size - 7;\r\n for (let i = size; i >= 1; i--) {\r\n sum += parseInt(numbers.charAt(size - i)) * pos--;\r\n if (pos < 2) pos = 9;\r\n }\r\n let resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n if (resultado != parseInt(digits.charAt(0))) return false;\r\n\r\n size = size + 1;\r\n numbers = cnpj.substring(0, size);\r\n sum = 0;\r\n pos = size - 7;\r\n for (let i = size; i >= 1; i--) {\r\n sum += parseInt(numbers.charAt(size - i)) * pos--;\r\n if (pos < 2) pos = 9;\r\n }\r\n resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n if (resultado != parseInt(digits.charAt(1))) return false;\r\n\r\n return true;\r\n }\r\n}\r\n","import { saveAs } from 'file-saver';\r\n\r\nexport class FileUtil {\r\n public static getBlob(base64StringData: string, mimeType: string) {\r\n const decodedData = atob(base64StringData);\r\n const byteNumbers = new Array(decodedData.length);\r\n for (let i = 0; i < decodedData.length; i++) {\r\n byteNumbers[i] = decodedData.charCodeAt(i);\r\n }\r\n return new Blob([new Uint8Array(byteNumbers)], { type: mimeType });\r\n }\r\n public static downloadFile(mimeType: string, base64StringData: string, fileName: string) {\r\n saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);\r\n }\r\n}\r\n","const CPF_PATTERN = '###.###.###-##';\r\nconst CNPJ_PATTERN = '##.###.###/####-##';\r\nconst BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ############## #';\r\nconst POSTALCODE_PATTERN = '#####-###';\r\nconst CELLPHONE_PATTERN = '(##) #####-####';\r\nconst PHONE_PATTERN = '(##) ####-####';\r\nconst PLATE_PATTERN = '###-####';\r\nconst HOURS_MINUTES_PATTERN = '##:##';\r\nconst DNI_PATTERN = '##.###.###';\r\nconst CUIT_PATTERN = '##-########-#';\r\n\r\nexport class MaskUtil {\r\n public static CPF_TEXT_FIELD_PATTERN = '999.999.999-99';\r\n public static CNPJ_TEXT_FIELD_PATTERN = '99.999.999/9999-99';\r\n public static BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999 9';\r\n public static CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';\r\n public static PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';\r\n public static POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';\r\n public static PLATE_FIELD_PATTERN = 'aaa-9*99';\r\n public static HOURS_MINUTES_FIELD_PATTERN = '99:99';\r\n public static DNI_FIELD_PATTERN = '99.999.999';\r\n public static CUIT_FIELD_PATTERN = '99.99999999.9';\r\n\r\n public static formatDocument(stringValue: string) {\r\n if (!stringValue) {\r\n return '';\r\n }\r\n\r\n if (stringValue.length === 11) {\r\n return this.doMaskString(stringValue, CPF_PATTERN);\r\n }\r\n\r\n if (stringValue.length === 14) {\r\n return this.doMaskString(stringValue, CNPJ_PATTERN);\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n public static formatPostalCode(stringValue: string) {\r\n return this.doMaskString(stringValue, POSTALCODE_PATTERN);\r\n }\r\n\r\n public static formatBoleto(stringValue: string) {\r\n return this.doMaskString(stringValue, BOLETO_PATTERN);\r\n }\r\n\r\n public static formatPhone(stringValue: string) {\r\n if (!stringValue) {\r\n return '';\r\n }\r\n\r\n if (stringValue.length === 11) {\r\n return this.doMaskString(stringValue, CELLPHONE_PATTERN);\r\n } else if (stringValue.length === 10) {\r\n return this.doMaskString(stringValue, PHONE_PATTERN);\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n public static formatHoursMinutes(stringValue: string) {\r\n return this.doMaskString(stringValue, HOURS_MINUTES_PATTERN);\r\n }\r\n\r\n public static formatPlate(stringValue: string) {\r\n return this.doMaskString(stringValue, PLATE_PATTERN);\r\n }\r\n\r\n public static formatDni(stringValue: string) {\r\n return this.doMaskString(stringValue, DNI_PATTERN);\r\n }\r\n\r\n public static formatCuit(stringValue: string) {\r\n return this.doMaskString(stringValue, CUIT_PATTERN);\r\n }\r\n\r\n public static doMaskString(str: string, pattern?: string) {\r\n if (!str?.trim()) {\r\n return '';\r\n }\r\n\r\n if (!pattern || !pattern.includes('#')) {\r\n console.warn('Utilize uma máscara válida. Ex.: (##) #####-####');\r\n return str;\r\n }\r\n let i = 0;\r\n return pattern.replace(/#/g, () => str[i++]);\r\n }\r\n}\r\n","export class ObjectUtil {\r\n public static getObjectKeys<T>(obj: Object): Array<keyof T> {\r\n if (!obj) {\r\n return [];\r\n }\r\n\r\n return Object.keys(obj).map((key: string) => key as keyof T);\r\n }\r\n\r\n public static isValid(obj: any) {\r\n return obj !== null && obj !== undefined;\r\n }\r\n\r\n public static getCodes(obj: any): any {\r\n if (!obj) {\r\n return {};\r\n }\r\n\r\n return Object.keys(obj).reduce((acc, curr) => {\r\n let value = obj[curr];\r\n try {\r\n value = JSON.parse(obj[curr]);\r\n } catch (_) {\r\n value = obj[curr];\r\n }\r\n return { ...acc, [curr]: value?.code || value };\r\n }, {});\r\n }\r\n}\r\n","export class StringUtil {\r\n public static getInitials(nameString?: string) {\r\n if (!nameString) {\r\n return '';\r\n }\r\n\r\n const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));\r\n return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';\r\n }\r\n\r\n public static revertString(str: string) {\r\n if (!str) {\r\n return '';\r\n }\r\n\r\n return str.split('').reverse().join('');\r\n }\r\n\r\n public static convertTimeToMinutes(timeText: string): number {\r\n const parts = timeText.split(':');\r\n const minutes = parseInt(parts[0]);\r\n const seconds = parseInt(parts[1]);\r\n const minutesTotals = minutes + seconds / 60;\r\n return minutesTotals;\r\n }\r\n\r\n public static convertMinutesToTime(minutesTotal: number): string {\r\n const minutes = Math.floor(minutesTotal);\r\n const seconds = Math.round((minutesTotal - minutes) * 60);\r\n\r\n const minutesText = `${minutes}`.padStart(2, '0');\r\n const secondsText = `${seconds}`.padStart(2, '0');\r\n\r\n return `${minutesText}:${secondsText}`;\r\n }\r\n\r\n public static convertObjectToQueryString(obj: Record<string, any>): string {\r\n const queryParams: string[] = [];\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key) && obj[key]) {\r\n queryParams.push(`${key}=${obj[key]}`);\r\n }\r\n }\r\n return queryParams.join('&');\r\n }\r\n\r\n public static convertToUppercaseWithoutSymbols(stringValue: string, withSpace?: boolean): string {\r\n const convert = stringValue\r\n .toUpperCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '')\r\n .replace(/[^\\w\\s]/g, '');\r\n\r\n if (withSpace) {\r\n return convert.replace(/\\s+/g, ' ');\r\n } else {\r\n return convert.replace(/\\s+/g, '');\r\n }\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { ObjectUtil } from './object.util';\r\n\r\nexport class ValidationUtil {\r\n public static email(control: AbstractControl): ValidationErrors | null {\r\n const email = control.value as string;\r\n\r\n if (!email || email === '') {\r\n return null;\r\n }\r\n\r\n if (\r\n !email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/) ||\r\n email.match(/['`~!#%^&*()|+¨=?;:'´\",<>\\{\\}\\[\\]\\\\\\/]/gi)\r\n ) {\r\n return {\r\n email: true,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static fullName(control: AbstractControl): ValidationErrors | null {\r\n const name: string = control.value;\r\n if (!name) {\r\n return null;\r\n }\r\n\r\n const splittedName = name\r\n .trim()\r\n .split(' ')\r\n .map((namePart) => namePart.trim());\r\n\r\n if (splittedName.length < 2) {\r\n return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };\r\n }\r\n return null;\r\n }\r\n\r\n public static noMultipleWhitespace(control: AbstractControl): ValidationErrors | null {\r\n const name: string = control.value;\r\n\r\n if (name) {\r\n if (!name.match(/^([a-zA-ZÀ-ú0-9]+\\s)*[a-zA-ZÀ-ú0-9]+$/)) {\r\n return { haveWhiteSpace: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public static isValidTaxId(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value) {\r\n return null;\r\n }\r\n\r\n if (control.value.length === 11) {\r\n return ValidationUtil.isValidCpf(control);\r\n }\r\n if (control.value.length === 14) {\r\n return ValidationUtil.isValidCnpj(control);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static isValidCpf(control: AbstractControl): ValidationErrors | null {\r\n const cpf = control.value;\r\n if (cpf) {\r\n let numbers, digits, sum, i, result, equalDigits;\r\n equalDigits = 1;\r\n if (cpf.length < 11) {\r\n return null;\r\n }\r\n\r\n for (i = 0; i < cpf.length - 1; i++) {\r\n if (cpf.charAt(i) !== cpf.charAt(i + 1)) {\r\n equalDigits = 0;\r\n break;\r\n }\r\n }\r\n\r\n if (!equalDigits) {\r\n numbers = cpf.substring(0, 9);\r\n digits = cpf.substring(9);\r\n sum = 0;\r\n for (i = 10; i > 1; i--) {\r\n sum += numbers.charAt(10 - i) * i;\r\n }\r\n\r\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n\r\n if (result !== Number(digits.charAt(0))) {\r\n return { cpfNotValid: true };\r\n }\r\n numbers = cpf.substring(0, 10);\r\n sum = 0;\r\n\r\n for (i = 11; i > 1; i--) {\r\n sum += numbers.charAt(11 - i) * i;\r\n }\r\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n\r\n if (result !== Number(digits.charAt(1))) {\r\n return { cpfNotValid: true };\r\n }\r\n return null;\r\n } else {\r\n return { cpfNotValid: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public static isValidCnpj(control: AbstractControl): ValidationErrors | null {\r\n let cnpj = control.value;\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n if (/^(\\d)\\1+$/.test(cnpj)) {\r\n return { cnpjNotValid: true };\r\n }\r\n\r\n let t = cnpj.length - 2,\r\n d = cnpj.substring(t),\r\n d1 = parseInt(d.charAt(0)),\r\n d2 = parseInt(d.charAt(1)),\r\n calc = (x: number) => {\r\n let n = cnpj.substring(0, x),\r\n y = x - 7,\r\n s = 0,\r\n r = 0;\r\n for (let i = x; i >= 1; i--) {\r\n s += n.charAt(x - i) * y--;\r\n if (y < 2) y = 9;\r\n }\r\n r = 11 - (s % 11);\r\n return r > 9 ? 0 : r;\r\n };\r\n if (calc(t) === d1 && calc(t + 1) === d2) {\r\n return null;\r\n } else {\r\n return { cnpjNotValid: true };\r\n }\r\n }\r\n\r\n public static majorAge(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value) {\r\n return null;\r\n }\r\n const age = ~~((Date.now() - control.value) / 31557600000);\r\n\r\n if (age < 18) {\r\n return { isNotMajorAge: true };\r\n }\r\n return null;\r\n }\r\n\r\n public static matchField(anotherField: AbstractControl | null): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n if (!control.value || !anotherField?.value) {\r\n return null;\r\n }\r\n if (control.value !== anotherField?.value) {\r\n return { fieldDoesNotMatch: true };\r\n }\r\n\r\n return null;\r\n };\r\n return validator;\r\n }\r\n\r\n public static cellphone(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value || control.value.length < 11) {\r\n return null;\r\n }\r\n\r\n const firstNumber = control.value.substring(2, 3);\r\n\r\n if (firstNumber != '9') {\r\n return { cellphoneInvalid: true };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static lowerThanOrEqualTo(greaterControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const lowerValue = control.value;\r\n const greaterValue = control.parent?.get(greaterControlName)?.value;\r\n if (!control.parent?.get(greaterControlName)) {\r\n console.log(`Control with name ${greaterControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue > +greaterValue\r\n ) {\r\n return {\r\n invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static greaterThanOrEqualTo(lowerControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const greaterValue = control.value;\r\n const lowerValue = control.parent?.get(lowerControlName)?.value;\r\n if (!control.parent?.get(lowerControlName)) {\r\n console.log(`Control with name ${lowerControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue > +greaterValue\r\n ) {\r\n return {\r\n invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static notSequentialNumbers(length: number): ValidatorFn {\r\n const validator = (control: AbstractControl): ValidationErrors | null => {\r\n const controlValue = control.value;\r\n const sequentialNumbers = '01234567890123456789';\r\n\r\n if (controlValue) {\r\n if (controlValue.length === length) {\r\n if (~sequentialNumbers.indexOf(control.value)) {\r\n return { isSequential: true };\r\n } else if (!!controlValue.match(/^(\\d)\\1+$/)) {\r\n return { isSequential: true };\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return validator;\r\n }\r\n\r\n public static firstLetterIsUppercase(control: AbstractControl): ValidationErrors | null {\r\n const controlValue = control.value as string;\r\n const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;\r\n\r\n if (!!controlValue) {\r\n if (!controlValue.match(regex)) {\r\n return { invalidField: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n public static containsLettersAndNumbers(control: AbstractControl): ValidationErrors | null {\r\n const controlValue = control.value as string;\r\n const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;\r\n\r\n if (!!controlValue) {\r\n if (!!!controlValue.match(regex)) {\r\n return { isNotAlphaNumeric: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n public static greaterThanTo(lowerControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const greaterValue = control.value;\r\n const lowerValue = control.parent?.get(lowerControlName)?.value;\r\n if (!control.parent?.get(lowerControlName)) {\r\n console.log(`Control with name ${lowerControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue >= +greaterValue\r\n ) {\r\n return {\r\n invalid: ` Este valor não pode ser igual ou menor que o valor inicial`,\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n}\r\n","export class WindowUtil {\r\n static isSmallDevice() {\r\n return window.innerWidth < 640;\r\n }\r\n static isDesktop() {\r\n return window.innerWidth >= 1024;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MaskUtil } from '../utils';\r\n\r\n@Pipe({\r\n name: 'formatDocument',\r\n})\r\nexport class FormatDocumentPipe implements PipeTransform {\r\n transform(value: string = ''): string {\r\n return MaskUtil.formatDocument(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MaskUtil } from '../utils';\r\n\r\n@Pipe({\r\n name: 'mask',\r\n})\r\nexport class MaskPipe implements PipeTransform {\r\n transform(value: string = '', mask: string): string {\r\n if (!mask || !mask.includes('#')) {\r\n console.warn('Uma máscara válida deve ser passada para o MaskPipe. Ex.: (##) #####-####');\r\n return value;\r\n }\r\n return MaskUtil.doMaskString(value, mask);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notHidden',\r\n})\r\nexport class NotHiddenPipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n return value?.filter((item) => !item.hidden) || [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'onlyActive',\r\n})\r\nexport class OnlyActivePipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n return value?.filter((item) => item.active) || [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'removeLastChild',\r\n})\r\nexport class RemoveLastChildPipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n const newArray = [...value];\r\n newArray.pop();\r\n return newArray;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { VectorNotification } from '../models/vector-notification.model';\r\n\r\n@Pipe({ name: 'unreadNotifications' })\r\nexport class UnreadNotificationsPipe implements PipeTransform {\r\n constructor() {}\r\n transform(notifications: VectorNotification[] | null) {\r\n return notifications?.filter((item) => !item.wasRead) ?? [];\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyBrlPipe } from './currency-brl.pipe';\r\nimport { FormatDocumentPipe } from './format-document.pipe';\r\nimport { MaskPipe } from './mask.pipe';\r\nimport { NotHiddenPipe } from './not-hidden.pipe';\r\nimport { OnlyActivePipe } from './only-active.pipe';\r\nimport { RemoveLastChildPipe } from './remove-last-child.pipe';\r\nimport { UnreadNotificationsPipe } from './unread-notifications.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n RemoveLastChildPipe,\r\n CurrencyBrlPipe,\r\n NotHiddenPipe,\r\n OnlyActivePipe,\r\n FormatDocumentPipe,\r\n MaskPipe,\r\n UnreadNotificationsPipe,\r\n ],\r\n exports: [\r\n RemoveLastChildPipe,\r\n CurrencyBrlPipe,\r\n NotHiddenPipe,\r\n OnlyActivePipe,\r\n FormatDocumentPipe,\r\n MaskPipe,\r\n UnreadNotificationsPipe,\r\n ],\r\n})\r\nexport class PipesModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { PipesModule } from '../pipes';\r\n\r\n@NgModule({\r\n exports: [CommonModule, TooltipModule, PipesModule],\r\n imports: [TranslateModule],\r\n})\r\nexport class SharedModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n declarations: [BadgeComponent],\r\n imports: [SharedModule, TooltipModule],\r\n exports: [BadgeComponent],\r\n})\r\nexport class BadgeModule {}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { AppName, MenuItem } from '../models';\r\n\r\nexport interface Environment {\r\n production: boolean;\r\n appName: string;\r\n API_URL: string;\r\n LOGITECH_URL: string;\r\n LOGTECH_ASPX_URL: string;\r\n PORTAL_URL: string;\r\n FINTECH_URL: string;\r\n MARKETPLACE_URL: string;\r\n SURVEY_URL: string;\r\n API_KEY: string;\r\n}\r\n\r\nexport const APP_NAME = new InjectionToken<AppName>('APP_NAME');\r\nexport const ENVIRONMENT = new InjectionToken<Environment>('ENVIRONMENT');\r\nexport const MENU_OPTIONS = new InjectionToken<MenuItem[]>('MENU_OPTIONS');\r\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ENVIRONMENT, MENU_OPTIONS } from '../../injections';\r\nimport { MenuItem } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n})\r\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\r\n public appName = this.environment.appName;\r\n public routeFragments: MenuItem[] = [];\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(ENVIRONMENT) private environment: any,\r\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[]\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.routeFragments = [];\r\n let url = event.urlAfterRedirects.replace('/', '');\r\n if (url.includes('?')) {\r\n url = url.substring(0, url.indexOf('?'));\r\n }\r\n this.extractRouteFragmentsFromMenu(url, this.menuOptions);\r\n }\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public navigateToFragment(fragment: MenuItem) {\r\n this.router.navigate([fragment.route], { queryParamsHandling: 'preserve' });\r\n }\r\n\r\n private extractRouteFragmentsFromMenu(url: string, currentChildren: MenuItem[]): boolean {\r\n let foundItem = false;\r\n for (let i = 0; i < currentChildren.length; i++) {\r\n if (currentChildren[i].route) {\r\n if (\r\n currentChildren[i].route &&\r\n (currentChildren[i].route!.startsWith(url) || url.startsWith(currentChildren[i].route || ''))\r\n ) {\r\n this.routeFragments = [currentChildren[i]];\r\n foundItem = true;\r\n }\r\n }\r\n\r\n if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {\r\n this.routeFragments = [currentChildren[i]].concat(this.routeFragments);\r\n foundItem = true;\r\n break;\r\n }\r\n }\r\n\r\n return foundItem;\r\n }\r\n}\r\n","<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span\r\n class=\"route-fragment\"\r\n [ngClass]=\"{ clickable: fragment.route }\"\r\n *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n (click)=\"navigateToFragment(fragment)\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment.label }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1].label }}\r\n </span>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\n\r\n@NgModule({\r\n declarations: [BreadcrumbComponent],\r\n exports: [BreadcrumbComponent],\r\n imports: [SharedModule],\r\n})\r\nexport class BreadcrumbModule {}\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CrudMode } from '../../models/crud-mode.enum';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport class CrudBaseComponent implements OnDestroy {\r\n public crudMode = CrudMode.NEW;\r\n public isReadonly = false;\r\n public form = new UntypedFormGroup({});\r\n protected subscription = new Subscription();\r\n\r\n constructor(protected activatedRoute: ActivatedRoute) {\r\n this.crudMode = this.getCrudModeByRoute(this.activatedRoute.snapshot.url[0].path);\r\n this.isReadonly = this.crudMode === CrudMode.VIEW;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public isInsertion() {\r\n return this.crudMode === CrudMode.NEW;\r\n }\r\n\r\n public isEdition() {\r\n return this.crudMode === CrudMode.EDIT;\r\n }\r\n\r\n private getCrudModeByRoute(route: string) {\r\n switch (route) {\r\n case 'new':\r\n return CrudMode.NEW;\r\n case 'edit':\r\n return CrudMode.EDIT;\r\n case 'view':\r\n return CrudMode.VIEW;\r\n default:\r\n return CrudMode.NEW;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\ntype ButtonType =\r\n | 'success'\r\n | 'success-outlined'\r\n | 'default'\r\n | 'default-filled'\r\n | 'default-outlined'\r\n | 'default-outlined-gray'\r\n | 'default-outlined-gray-icon-red'\r\n | 'default-outlined-gray-icon-gray'\r\n | 'cancel'\r\n | 'cancel-filled'\r\n | 'light-outline';\r\n\r\n@Component({\r\n selector: 'vector-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n})\r\nexport class ButtonComponent {\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public label = '';\r\n @Input()\r\n public type: ButtonType = 'default';\r\n @Input()\r\n public leftIcon = '';\r\n @Input()\r\n public rightIcon = '';\r\n @Input()\r\n public noShadow = false;\r\n @Input()\r\n public round = false;\r\n @Input()\r\n public style: any = {};\r\n @Input()\r\n public loading: boolean = false;\r\n @Output()\r\n public onClick = new EventEmitter<any>();\r\n\r\n get styleClass() {\r\n return `button shadow-3 ${this.type} ${this.noShadow && 'no-shadow'}`;\r\n }\r\n}\r\n","<p-button\r\n [styleClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (onClick)=\"onClick.emit($event)\"\r\n [ngClass]=\"{ round: round }\"\r\n [loading]=\"loading\"\r\n></p-button>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\ntype ButtonType = 'success' | 'success-outlined' | 'default' | 'default-filled' | 'cancel' | 'cancel-filled';\r\n@Component({\r\n selector: 'vector-crud-footer',\r\n templateUrl: './crud-footer.component.html',\r\n styleUrls: ['./crud-footer.component.scss'],\r\n})\r\nexport class CrudFooterComponent implements OnInit {\r\n @Input()\r\n public submitDisabled = false;\r\n @Input()\r\n public submitHidden = false;\r\n @Input()\r\n public goBackHidden = false;\r\n\r\n @Input()\r\n public labelGoBack?: string;\r\n @Input()\r\n public typeGoBack?: ButtonType;\r\n @Input()\r\n public labelGoSubmit?: string;\r\n @Input()\r\n public typeGoSubmit?: ButtonType;\r\n\r\n @Output()\r\n public onGoBack = new EventEmitter<void>();\r\n @Output()\r\n public onSubmit = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"footer-container shadow-3\">\r\n <div class=\"button\" *ngIf=\"!goBackHidden\">\r\n <vector-button\r\n [label]=\"labelGoBack ? labelGoBack : ('enums.Options.GO_BACK' | translate)\"\r\n [type]=\"typeGoBack ? typeGoBack : 'default'\"\r\n (onClick)=\"onGoBack.emit()\"\r\n >\r\n </vector-button>\r\n </div>\r\n\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n [label]=\"labelGoSubmit ? labelGoSubmit : ('enums.Options.SAVE' | translate)\"\r\n [type]=\"typeGoSubmit ? typeGoSubmit : 'success'\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-panel',\r\n templateUrl: './panel.component.html',\r\n styleUrls: ['./panel.component.scss'],\r\n})\r\nexport class PanelComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n","import { NgModule } from '@angular/core';\r\nimport { PanelModule as PrimeNgPanel } from 'primeng/panel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { PanelComponent } from './panel.component';\r\n\r\n@NgModule({\r\n declarations: [PanelComponent],\r\n exports: [PanelComponent],\r\n imports: [SharedModule, PrimeNgPanel],\r\n})\r\nexport class PanelModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-score',\r\n templateUrl: './score.component.html',\r\n styleUrls: ['./score.component.scss'],\r\n})\r\nexport class ScoreComponent implements OnInit {\r\n @Input()\r\n public score: number = 0;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"container\">\r\n <span class=\"score\">{{ score }}</span>\r\n <em class=\"fas fa-star star\"></em>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { ScoreComponent } from './score.component';\r\n\r\n@NgModule({\r\n declarations: [ScoreComponent],\r\n exports: [ScoreComponent],\r\n})\r\nexport class ScoreModule {}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { map, switchMap, tap } from 'rxjs/operators';\r\nimport { ProfileService, StorageService } from '.';\r\nimport { ENVIRONMENT, Environment } from '../injections';\r\nimport { Role } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n public readonly role$ = new BehaviorSubject<Role>(this.storageService.getRole());\r\n private parentWindowUrl = '';\r\n private subscription = new Subscription();\r\n private readonly baseUrl: string;\r\n\r\n constructor(\r\n @Inject(ENVIRONMENT) private environment: Environment,\r\n private http: HttpClient,\r\n private storageService: StorageService,\r\n private profileService: ProfileService,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';\r\n\r\n this.subscription.add(\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params['parent']) {\r\n this.parentWindowUrl = decodeURIComponent(params['parent']);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public getTokenByGuid(tokenGuid: string): Observable<any> {\r\n let response: any;\r\n return this.http.get<any>(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(\r\n switchMap((tokenResponse: any) => {\r\n response = tokenResponse;\r\n this.storageService.setToken(tokenResponse.accessToken);\r\n this.storageService.setUsername(tokenResponse.userName);\r\n this.storageService.setRefreshToken(tokenResponse.refreshToken);\r\n return this.profileService.getUserProfile();\r\n }),\r\n map(() => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n public getTokenByRefreshToken(refreshToken: string) {\r\n const headers = new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n .set('no-spinner', 'true');\r\n return this.http\r\n .post<any>(\r\n `connect/token`,\r\n `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`,\r\n { headers }\r\n )\r\n .pipe(\r\n tap((response) => {\r\n if (response?.access_token && response?.refresh_token) {\r\n this.storageService.setToken(`Bearer ${response.access_token}`);\r\n this.storageService.setRefreshToken(response.refresh_token);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public generateTokenGuid(): Observable<string> {\r\n return this.http\r\n .post<any>(`${this.baseUrl}/TemporaryAccessToken/generate`, {\r\n RefreshToken: this.storageService.getRefreshToken(),\r\n })\r\n .pipe(map((response) => response?.accessToken || ''));\r\n }\r\n\r\n public logout(): void {\r\n this.storageService.clear();\r\n if (window.parent == window) {\r\n window.location.href = this.environment.PORTAL_URL;\r\n } else {\r\n window.parent.postMessage({ logout: true }, this.parentWindowUrl);\r\n }\r\n }\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { HttpResponseGridPaged } from '../models/http-response.model';\r\n\r\nexport class CrudBaseService<T> {\r\n public dataset$ = new BehaviorSubject<HttpResponseGridPaged<T>>({\r\n data: [],\r\n draw: 0,\r\n recordsFiltered: 0,\r\n recordsTotal: 0,\r\n });\r\n public flatUnpagedDataset$ = new BehaviorSubject<T[]>([]);\r\n public getHistory(entityId: string) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ListItem } from '../models/list-item.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnumService {\r\n constructor(private translateService: TranslateService) {}\r\n public getTranslatedListItemsFromEnum(enumType: any, enumName: string): Observable<ListItem[]> {\r\n return this.getEnumTranslations(enumName).pipe(\r\n map((enumTranslations: any) => {\r\n return Object.keys(enumType)\r\n .filter((item) => isNaN(+item))\r\n .map((item: string) => {\r\n return {\r\n name: enumTranslations[item],\r\n code: enumType[item],\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n public getEnumTranslations(enumName: string): Observable<any> {\r\n return this.translateService.get('enums').pipe(\r\n map((translations) => {\r\n return translations[enumName];\r\n })\r\n );\r\n }\r\n\r\n public getListItemsFromEnum(enumType: any): ListItem[] {\r\n return Object.keys(enumType)\r\n .filter((item) => isNaN(+item))\r\n .map((item: string) => {\r\n return {\r\n name: enumType[item],\r\n code: enumType[item],\r\n };\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ErrorMessageService {\r\n public hasToken$ = new Subject<boolean>();\r\n public genericModalErrorMessage$ = new Subject<string | undefined>();\r\n}\r\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IpInfo } from '../models/ip-info.enum';\r\n\r\n@Injectable()\r\nexport class GeolocationService {\r\n private customHttpClient: HttpClient;\r\n\r\n constructor(private http: HttpClient, private backend: HttpBackend) {\r\n this.customHttpClient = new HttpClient(backend);\r\n }\r\n\r\n public getGeoLoc() {\r\n return this.customHttpClient.get<IpInfo>('https://api.ipify.org/?format=json');\r\n }\r\n\r\n public createUserLoginInfo(userInfo: any) {\r\n return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoadingService {\r\n public loading$ = new Subject<boolean>();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ProfileModule, Role } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StorageService {\r\n public clear(): void {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n }\r\n\r\n public clearSession(): void {\r\n sessionStorage.clear();\r\n }\r\n\r\n public get(key: string): any {\r\n const storageItem = localStorage.getItem(key);\r\n try {\r\n return storageItem ? JSON.parse(storageItem) : '';\r\n } catch (e) {\r\n return storageItem;\r\n }\r\n }\r\n\r\n public set(key: string, value: any): void {\r\n localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\r\n }\r\n\r\n public remove(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n public getSession(key: string): any {\r\n const storageItem = sessionStorage.getItem(key);\r\n try {\r\n return storageItem ? JSON.parse(storageItem) : '';\r\n } catch (e) {\r\n return storageItem;\r\n }\r\n }\r\n\r\n public setSession(key: string, value: any): void {\r\n sessionStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\r\n }\r\n\r\n public removeSession(key: string): void {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n public getToken(): string {\r\n return localStorage.getItem('token') || '';\r\n }\r\n\r\n public setToken(token: string) {\r\n localStorage.setItem('token', token);\r\n }\r\n\r\n public removeToken() {\r\n localStorage.removeItem('token');\r\n }\r\n\r\n public getRefreshToken(): string {\r\n return sessionStorage.getItem('refreshToken') || '';\r\n }\r\n\r\n public setRefreshToken(refreshToken: string) {\r\n sessionStorage.setItem('refreshToken', refreshToken);\r\n }\r\n\r\n public removeRefreshToken() {\r\n sessionStorage.removeItem('refreshToken');\r\n }\r\n\r\n public getUsername(): string {\r\n return sessionStorage.getItem('username') || '';\r\n }\r\n\r\n public setUsername(username: string) {\r\n sessionStorage.setItem('username', username);\r\n }\r\n\r\n public removeUsername() {\r\n sessionStorage.removeItem('username');\r\n }\r\n\r\n public getUserId(): number {\r\n const userId = sessionStorage.getItem('userId');\r\n return userId ? +atob(userId) : 0;\r\n }\r\n\r\n public setUserId(userId: number) {\r\n sessionStorage.setItem('userId', btoa(`${userId}`));\r\n }\r\n\r\n public clearUserId() {\r\n sessionStorage.removeItem('userId');\r\n }\r\n\r\n public getRole(): Role {\r\n return atob(sessionStorage.getItem('role') || '') as Role;\r\n }\r\n\r\n public setRole(role?: string) {\r\n sessionStorage.setItem('role', role || '');\r\n }\r\n\r\n public clearRole() {\r\n sessionStorage.removeItem('role');\r\n }\r\n\r\n public getProfile(): {\r\n marketplace: ProfileModule | undefined;\r\n fintech: ProfileModule | undefined;\r\n allModules: ProfileModule[] | undefined;\r\n } {\r\n const data = sessionStorage.getItem('profile') || '';\r\n return data ? JSON.parse(data) : data;\r\n }\r\n\r\n public setProfile(profiles: {\r\n marketplace: ProfileModule | undefined;\r\n fintech: ProfileModule | undefined;\r\n allModules: ProfileModule[] | undefined;\r\n }) {\r\n sessionStorage.setItem('profile', JSON.stringify(profiles || ''));\r\n }\r\n\r\n public removeProfile() {\r\n sessionStorage.removeItem('profile');\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport {\r\n Profile,\r\n ProfileModule,\r\n ProfileModuleActionType,\r\n ProfileModuleType,\r\n ProfileTypeEnum,\r\n} from '../models/profile.model';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProfileService {\r\n public readonly moduleProfile$ = new BehaviorSubject<ProfileModule[] | undefined>(\r\n this.storageService.getProfile().allModules\r\n );\r\n\r\n public readonly profileFirstName$ = new BehaviorSubject<string | undefined>(undefined);\r\n public readonly profileTypeItens$ = new BehaviorSubject<\r\n { shipper: number; carrierId: number; profileTypeId: number } | undefined\r\n >(undefined);\r\n public hasFintechAdminPermission = false;\r\n public hasMarketplaceAdminPermission = false;\r\n public hasAnyFintechPermission = false;\r\n public hasAnyMarketplacePermission = false;\r\n\r\n constructor(private http: HttpClient, private storageService: StorageService) {\r\n const { fintech, marketplace } = this.storageService.getProfile();\r\n this.hasFintechAdminPermission = !!fintech?.actions.some((act) =>\r\n [\r\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\r\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\r\n ].includes(act.name)\r\n );\r\n this.hasMarketplaceAdminPermission = !!marketplace?.actions.some(\r\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\r\n );\r\n this.hasAnyFintechPermission = !!fintech?.actions?.length;\r\n this.hasAnyMarketplacePermission = !!marketplace?.actions?.length;\r\n }\r\n\r\n private getProfileTypeEnum(profileTypeId: number) {\r\n if (profileTypeId) return profileTypeId as ProfileTypeEnum;\r\n else return null;\r\n }\r\n\r\n public getUserProfile() {\r\n return this.http.get<any>('connect/userinfo').pipe(\r\n tap((response) => {\r\n if (response.firstName) {\r\n this.profileFirstName$.next(response.firstName);\r\n }\r\n if (response) {\r\n let dataObject = {\r\n shipper: response?.shipper,\r\n carrierId: response?.carrierId,\r\n profileTypeId: response?.profile.profileTypeId,\r\n profileName: response?.profile.name,\r\n userId: response?.id,\r\n profileTypeEnum: this.getProfileTypeEnum(response?.profile.profileTypeId),\r\n isEtcd: response?.isEtcd,\r\n shipperEtcd: response?.shipperEtcd,\r\n userName: response.firstName,\r\n };\r\n if (response.id) {\r\n this.storageService.setUserId(response.id);\r\n }\r\n this.storageService.setSession('userInfo', dataObject);\r\n this.profileTypeItens$.next(dataObject);\r\n }\r\n\r\n const completeProfile: Profile = response.profile;\r\n const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');\r\n const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');\r\n const allModules = completeProfile.modules;\r\n this.hasFintechAdminPermission = !!fintechProfileModule?.actions.some((act) =>\r\n [\r\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\r\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\r\n ].includes(act.name)\r\n );\r\n this.hasMarketplaceAdminPermission = !!marketplaceProfileModule?.actions.some(\r\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\r\n );\r\n this.hasAnyFintechPermission = !!fintechProfileModule?.actions?.length;\r\n this.storageService.setProfile({\r\n marketplace: marketplaceProfileModule,\r\n fintech: fintechProfileModule,\r\n allModules,\r\n });\r\n this.moduleProfile$.next(allModules);\r\n })\r\n );\r\n }\r\n\r\n public userHasPermission(\r\n action: ProfileModuleActionType | ProfileModuleType | ProfileModuleActionType[] | ProfileModuleType[] | undefined\r\n ) {\r\n if (!action) {\r\n return true;\r\n }\r\n if (!this.moduleProfile$.value) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(action)) {\r\n return action.some((act) => {\r\n if (Object.values(ProfileModuleActionType).some((val) => val === act)) {\r\n return this.moduleProfile$.value?.some((module) =>\r\n module.actions.some((moduleAction) => moduleAction.name === act)\r\n );\r\n }\r\n\r\n if (Object.values(ProfileModuleType).some((val) => val === act)) {\r\n return this.moduleProfile$.value?.some((module) => module.name === act);\r\n }\r\n\r\n return false;\r\n });\r\n } else {\r\n if (Object.values(ProfileModuleActionType).some((val) => val === action)) {\r\n return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));\r\n }\r\n\r\n if (Object.values(ProfileModuleType).some((val) => val === action)) {\r\n return this.moduleProfile$.value.some((module) => module.name === action);\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public getUserInfo(): Observable<any> {\r\n return this.http.get<any>(`connect/userinfo`);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { APP_NAME, ENVIRONMENT, Environment, MENU_OPTIONS } from '../injections';\r\nimport { AppName, MenuItem, View } from '../models';\r\nimport { VectorApp } from '../models/vector-app.model';\r\nimport { AuthService } from './auth.service';\r\nimport { ProfileService } from './profile.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MenuService {\r\n public toggleMenu$ = new Subject<void>();\r\n public menuOpened$ = new Subject<boolean>();\r\n public frameUrl$ = new Subject<string | undefined>();\r\n public menuNotifications: { [menuId: string]: number } = {};\r\n\r\n constructor(\r\n @Inject(ENVIRONMENT) private environment: Environment,\r\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[],\r\n @Inject(APP_NAME) private appName: string,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {}\r\n\r\n public getSideMainMenuOptions(): MenuItem[] {\r\n return this.menuOptions\r\n .filter(\r\n (menu) =>\r\n (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&\r\n !menu.hidden &&\r\n this.profileService.userHasPermission(menu.permission)\r\n )\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((menu) => !menu.hidden)\r\n .map((menu, index) => this.generateId(menu, index));\r\n }\r\n\r\n public getSideAdminMenuOptions(): MenuItem[] {\r\n return this.menuOptions\r\n .filter(\r\n (menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission)\r\n )\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((menu) => !menu.hidden)\r\n .map((menu, index) => this.generateId(menu, index));\r\n }\r\n\r\n public navigateToPortal(params: Partial<VectorApp>): void {\r\n this.authService.generateTokenGuid().subscribe((tokenGuid) => {\r\n const userId = this.storageService.getUserId();\r\n if (params.navigate) {\r\n params.navigate(tokenGuid, userId);\r\n } else {\r\n switch (this.appName) {\r\n case AppName.FINTECH:\r\n this.handleFintechRedirects(params, tokenGuid, userId);\r\n break;\r\n case AppName.MARKETPLACE:\r\n this.handleMarketplaceRedirects(params, tokenGuid, userId);\r\n break;\r\n case AppName.LOGTECH:\r\n this.handleLogtechRedirects(params, tokenGuid, userId);\r\n break;\r\n }\r\n this.storageService.clear();\r\n }\r\n });\r\n }\r\n\r\n public addMenuNotification(menuId: string) {\r\n this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);\r\n }\r\n\r\n public subtractMenuNotification(menuId: string) {\r\n this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);\r\n }\r\n\r\n public updateMenuNotifications(menuId: string, notificationsCount: number): void {\r\n this.menuNotifications[menuId] = notificationsCount;\r\n }\r\n\r\n private removeHiddenChildren(menu: MenuItem) {\r\n const newMenu = { ...menu };\r\n const hadChildren = !!newMenu.children?.length;\r\n newMenu.children = newMenu.children\r\n ?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((child) => !child.hidden);\r\n if (\r\n hadChildren &&\r\n !newMenu.children?.length &&\r\n !newMenu.route &&\r\n !newMenu.frameUrl &&\r\n !newMenu.externalUrl &&\r\n !newMenu.command\r\n ) {\r\n newMenu.hidden = true;\r\n }\r\n return newMenu;\r\n }\r\n\r\n private generateId(menu: MenuItem, index: number, parentId: string = '') {\r\n menu.id = `${parentId}${index}`;\r\n menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));\r\n return menu;\r\n }\r\n\r\n private handleFintechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.FINTECH) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId },\r\n });\r\n } else {\r\n let url =\r\n params.appName === AppName.MARKETPLACE ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n private handleMarketplaceRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.MARKETPLACE) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },\r\n });\r\n } else {\r\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n private handleLogtechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.LOGTECH) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },\r\n });\r\n } else {\r\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ModalService {\r\n public showModalBackground$ = new Subject<boolean>();\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, of } from 'rxjs';\r\nimport { VectorNotification } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsService {\r\n public notifications$ = new BehaviorSubject<VectorNotification[]>([]);\r\n\r\n private readonly baseUrl = 'api/Notifications'; //to do: confirmar api\r\n constructor(private http: HttpClient) {}\r\n\r\n public getUserNotifications(): void {\r\n of(NOTIFICATIONS_MOCK).subscribe((notifications) => this.notifications$.next(notifications));\r\n // return this.http.get(`${this.baseUrl}`);\r\n }\r\n}\r\n\r\nconst NOTIFICATIONS_MOCK: VectorNotification[] = [\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n needsApproval: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n wasRead: true,\r\n },\r\n];\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-field-error-message',\r\n templateUrl: './field-error-message.component.html',\r\n styleUrls: ['./field-error-message.component.scss'],\r\n})\r\nexport class FieldErrorMessageComponent implements OnInit {\r\n @Input()\r\n public control: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('minlength')) {\r\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { ModalService } from '../../../services';\r\n\r\n@Component({\r\n selector: 'vector-calendar-field',\r\n templateUrl: './calendar-field.component.html',\r\n styleUrls: ['./calendar-field.component.scss'],\r\n})\r\nexport class CalendarComponent {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public showCalendarOnFocus = true;\r\n @Input()\r\n public min?: any = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();\r\n @Input()\r\n public max?: any = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();\r\n @Input()\r\n public disabledDates: Date[] = [];\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public defaultDate: Date = DateTime.now().toJSDate();\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public showTime = false;\r\n @Input()\r\n public showSeconds = false;\r\n @Input()\r\n public stepMinute = 1;\r\n @Input()\r\n public stepHour = 1;\r\n @Input()\r\n public stepSecond = 1;\r\n @Input()\r\n public timeOnly: boolean = false;\r\n @Input()\r\n public hourFormat: string = '24';\r\n\r\n @Output()\r\n public onFocus = new EventEmitter<Event>();\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n @Output()\r\n public onInput = new EventEmitter<Event>();\r\n @Output()\r\n public onSelect = new EventEmitter<Date>();\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n public keyFilter = '';\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public onShowCalendar() {\r\n this.modalService.showModalBackground$.next(true);\r\n }\r\n\r\n public onHideCalendar() {\r\n this.modalService.showModalBackground$.next(false);\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n icon=\"fas fa-calendar-day\"\r\n (onClose)=\"onHideCalendar()\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n (onInput)=\"onInput.emit()\"\r\n [defaultDate]=\"defaultDate\"\r\n [disabled]=\"disabled\"\r\n [disabledDates]=\"disabledDates\"\r\n [formControl]=\"control\"\r\n [maxDate]=\"max\"\r\n [minDate]=\"min\"\r\n [readonlyInput]=\"false\"\r\n [showIcon]=\"true\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [showSeconds]=\"showSeconds\"\r\n [showTime]=\"showTime\"\r\n [stepMinute]=\"stepMinute\"\r\n [timeOnly]=\"timeOnly\"\r\n [stepHour]=\"stepHour\"\r\n [stepSecond]=\"stepSecond\"\r\n [hourFormat]=\"hourFormat\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-checkbox-field',\r\n templateUrl: './checkbox-field.component.html',\r\n styleUrls: ['./checkbox-field.component.scss'],\r\n})\r\nexport class CheckboxFieldComponent implements OnInit {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public rounded: boolean = false;\r\n @Input()\r\n public labelSize: 'default' | 'large' = 'default';\r\n @Input()\r\n public value: boolean | undefined = false;\r\n @Input()\r\n public groupName: string = '';\r\n @Input()\r\n public options: ListItem[] | null = null;\r\n @Input()\r\n public disabled: boolean = false;\r\n @Output()\r\n public valueChange = new EventEmitter<boolean>();\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (this.disabled) {\r\n this.control?.disable();\r\n } else {\r\n this.control?.enable();\r\n }\r\n }\r\n}\r\n","<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n","export enum Currency {\r\n BR = 'R$ ',\r\n AR = '$ ',\r\n US = '$ ',\r\n}\r\n","export enum Locale {\r\n BR = 'pt-BR',\r\n AR = 'es-AR',\r\n US = 'en-US',\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { InputNumber } from 'primeng/inputnumber';\r\nimport { Currency } from '../../../models/currency.enum';\r\nimport { Locale } from '../../../models/locale.enum';\r\n\r\n@Component({\r\n selector: 'vector-currency-field',\r\n templateUrl: './currency-field.component.html',\r\n styleUrls: ['./currency-field.component.scss'],\r\n})\r\nexport class CurrencyFieldComponent implements AfterViewInit {\r\n @Input()\r\n public minValue = 0;\r\n @Input()\r\n public maxValue = 999999999;\r\n @Input()\r\n public placeholder: string = '';\r\n @Input()\r\n public numberOfDecimals: number = 2;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public outlined = false;\r\n @Input()\r\n public rounded = false;\r\n @Input()\r\n public label?: string;\r\n @Input()\r\n public isBankingField: boolean = false;\r\n @Input()\r\n public inputClassName = '';\r\n @Input()\r\n public localePrefix: Locale | string = Locale.BR;\r\n @Input()\r\n public currencyPrefix: Currency | string = Currency.BR;\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public centered = false;\r\n @Input()\r\n public inputId?: string;\r\n\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n\r\n @ViewChild(InputNumber)\r\n private inputElement?: InputNumber;\r\n\r\n ngAfterViewInit() {\r\n const inputElement = this.inputElement?.el.nativeElement.querySelector('input');\r\n inputElement.addEventListener(\r\n 'select',\r\n () => {\r\n inputElement.selectionStart = inputElement.selectionEnd;\r\n },\r\n false\r\n );\r\n }\r\n\r\n public getInputNgClass() {\r\n return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };\r\n }\r\n\r\n public focusLastIndex($event: Event): void {\r\n const target = $event.target as HTMLInputElement;\r\n const selectionIndex = target?.value.length || 0;\r\n target?.setSelectionRange(selectionIndex, selectionIndex);\r\n }\r\n\r\n public inputNextChar($event: KeyboardEvent): void {\r\n const target = $event.target as HTMLInputElement;\r\n const valueTyped = $event.key;\r\n let newValue = target.value.replace('R$ ', '').replace(/[\\.,]/g, '');\r\n const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);\r\n if (isDeleteOrBackspace) {\r\n newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');\r\n } else if (!isNaN(+valueTyped)) {\r\n newValue += valueTyped;\r\n newValue = `${+newValue}`.padStart(3, '0');\r\n }\r\n target.value = `${this.outlined ? 'R$ ' : ''}${Number(\r\n `${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`\r\n ).toLocaleString('pt-BR', {\r\n currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: this.numberOfDecimals,\r\n })}`;\r\n this.focusLastIndex($event);\r\n }\r\n\r\n public clearValue() {\r\n this.control.setValue(0);\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"numberOfDecimals\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? currencyPrefix : ''\"\r\n [disabled]=\"disabled\"\r\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n [inputId]=\"inputId\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { DocumentType, ListItem } from '../../../models';\r\nimport { MaskUtil } from '../../../utils';\r\n\r\n@Component({\r\n selector: 'vector-text-field',\r\n templateUrl: './text-field.component.html',\r\n styleUrls: ['./text-field.component.scss'],\r\n})\r\nexport class TextFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public maxlength: string = '';\r\n @Input()\r\n public isPassword = false;\r\n @Input()\r\n public numeric = false;\r\n @Input()\r\n public numericPositive = false;\r\n @Input()\r\n public numericDotComma = false;\r\n @Input()\r\n public decimal = false;\r\n @Input()\r\n public onlyText = false;\r\n @Input()\r\n public noSpecialCharacters = false;\r\n @Input()\r\n public alphaNumeric = false;\r\n @Input()\r\n public alphaNumericAndWhitespace = false;\r\n @Input()\r\n public mask?: string;\r\n @Input()\r\n public autoClear = true;\r\n @Input()\r\n public readonly = false;\r\n @Input()\r\n public rightIcon = '';\r\n @Input()\r\n public centered = false;\r\n @Input()\r\n public enableDocumentTypeChoice = false;\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public leftLabel?: string;\r\n @Input()\r\n set control(_control: any) {\r\n this._control = _control;\r\n if (this.enableDocumentTypeChoice) {\r\n this.handleInitialDocumentTypeState();\r\n }\r\n\r\n if (this.controlSubscription) {\r\n this.controlSubscription.unsubscribe();\r\n this.controlSubscription = new Subscription();\r\n }\r\n this.controlSubscription.add(\r\n this.control.valueChanges.subscribe((value: string) => {\r\n if (this.enableDocumentTypeChoice && !this.lastTypedValue && value?.length > 11) {\r\n this.handleInitialDocumentTypeState();\r\n }\r\n this.lastTypedValue = value;\r\n })\r\n );\r\n }\r\n @Input()\r\n public inputId?: string;\r\n @Input()\r\n public slotChar = '_';\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public pattern: string = '';\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public inputEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public backSpaceKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n @Output()\r\n public onDocumentTypeChange = new EventEmitter<ListItem>();\r\n\r\n public isPasswordVisible = false;\r\n public validateOnly = false;\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n get keyfilter() {\r\n this.validateOnly = false;\r\n if (this.numeric) {\r\n return 'int';\r\n }\r\n if (this.numericPositive) {\r\n return 'pint';\r\n }\r\n if (this.decimal) {\r\n this.validateOnly = true;\r\n return /^(\\d+(?:[\\,]\\d{2})?)$/;\r\n }\r\n if (this.onlyText) {\r\n this.validateOnly = true;\r\n return /^[a-zA-ZÀ-ú\\s]*$/gm;\r\n }\r\n if (this.alphaNumeric) {\r\n return 'alphanum';\r\n }\r\n if (this.alphaNumericAndWhitespace) {\r\n return /^[A-Za-zÀ-ú0-9 ]*$/gm;\r\n }\r\n if (this.numericDotComma) {\r\n return 'money';\r\n }\r\n if (this.noSpecialCharacters) {\r\n return /^[a-zA-ZÀ-ÖØ-öø-ÿ0-9\\s]+$/;\r\n }\r\n return /[\\s\\S]*/;\r\n }\r\n\r\n get control() {\r\n return this._control;\r\n }\r\n\r\n get showPasswordIcon() {\r\n return this.isPasswordVisible ? 'fas fa-eye' : 'fas fa-eye-slash';\r\n }\r\n\r\n public documentTypes: ListItem[] = [\r\n {\r\n name: 'CPF',\r\n code: DocumentType.CPF,\r\n },\r\n {\r\n name: 'CNPJ',\r\n code: DocumentType.CNPJ,\r\n },\r\n ];\r\n\r\n public selectedDocumentType = this.documentTypes[1];\r\n\r\n private lastBlurValue = '';\r\n private lastTypedValue = '';\r\n private subscription = new Subscription();\r\n private controlSubscription = new Subscription();\r\n private _control: any;\r\n\r\n ngOnInit() {\r\n if (this.enableDocumentTypeChoice) {\r\n this.setDocumentType(this.selectedDocumentType.code);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.controlSubscription.unsubscribe();\r\n }\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n\r\n public onInput($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n this.inputEvent.emit(target.value);\r\n }\r\n\r\n public onEnterPress() {\r\n this.onBlur();\r\n this.enterKeyPress.emit();\r\n }\r\n public onBackSpacePress() {\r\n this.onBlur();\r\n this.backSpaceKeyPress.emit();\r\n }\r\n\r\n public onFocus($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n if (this.mask) {\r\n const firstUnderscore = target?.value.indexOf('_');\r\n const selectionIndex = (firstUnderscore >= 0 ? firstUnderscore : target?.value.length) || 0;\r\n target?.setSelectionRange(selectionIndex, selectionIndex);\r\n }\r\n this.focusEvent.emit(target?.value);\r\n }\r\n\r\n public toggleShowPassword() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n public handleDocumentTypeChange() {\r\n if (this.selectedDocumentType.code === DocumentType.CNPJ) {\r\n this.setDocumentType(DocumentType.CPF);\r\n } else {\r\n this.setDocumentType(DocumentType.CNPJ);\r\n }\r\n }\r\n\r\n private handleInitialDocumentTypeState() {\r\n if (this.control?.value) {\r\n if (this.control.value.length === 11) {\r\n this.setDocumentType(DocumentType.CPF);\r\n } else {\r\n this.setDocumentType(DocumentType.CNPJ);\r\n }\r\n } else {\r\n this.setDocumentType(DocumentType.CPF);\r\n }\r\n }\r\n\r\n private setDocumentType(documentType: DocumentType) {\r\n switch (documentType) {\r\n case DocumentType.CNPJ:\r\n this.selectedDocumentType = this.documentTypes[1];\r\n this.mask = MaskUtil.CNPJ_TEXT_FIELD_PATTERN;\r\n break;\r\n case DocumentType.CPF:\r\n this.selectedDocumentType = this.documentTypes[0];\r\n this.mask = MaskUtil.CPF_TEXT_FIELD_PATTERN;\r\n break;\r\n }\r\n this.onDocumentTypeChange.emit(this.selectedDocumentType);\r\n }\r\n}\r\n","<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\" *ngIf=\"!inputId\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (input)=\"onInput($event)\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n [pattern]=\"pattern\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n [pattern]=\"pattern\"\r\n ></p-inputMask>\r\n </div>\r\n <div class=\"p-inputgroup\" *ngIf=\"inputId\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n [id]=\"inputId\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (input)=\"onInput($event)\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n [pattern]=\"pattern\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n [pattern]=\"pattern\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</form>\r\n","import { Component, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil } from '../../../utils';\r\n\r\nexport type ListItemExtend = ListItem & {\r\n key?: number | string;\r\n id?: number | string;\r\n};\r\n\r\nexport type ListItemOptionsFlagType = ListItem & {\r\n align: 'center' | 'left';\r\n showDescriptionOnRight: boolean;\r\n type: 'img' | 'icon';\r\n iconSource?: string;\r\n iconSize?: '1em' | '1.25em' | '1.5em' | '1.75em' | '2em';\r\n iconClass?: string;\r\n imgSource?: string;\r\n imgSize?: '15' | '20' | '25';\r\n imgClass?: string;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-multiselect-field',\r\n templateUrl: './multiselect-field.component.html',\r\n styleUrls: ['./multiselect-field.component.scss'],\r\n})\r\nexport class MultiselectFieldComponent {\r\n @Input()\r\n set pagedSugestion(_pagedSugestion: ListItem[]) {\r\n this._pagedSugestion = _pagedSugestion;\r\n this.options = this.pagedSugestion || [];\r\n }\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public options: ListItem[] | ListItemExtend[] | ListItemOptionsFlagType[] = [];\r\n @Input()\r\n public filter = false;\r\n @Input()\r\n public showSelectAllOption: boolean = true;\r\n @Input()\r\n public display: string = 'comma';\r\n @Input()\r\n public paged = true;\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public minLengthToService: number = 0;\r\n @Input()\r\n public initialLoad = true;\r\n @Input()\r\n public service: BaseDropdown | undefined;\r\n @Input()\r\n public filterVirtualScrool = false;\r\n @Input()\r\n public showHeader: boolean = true;\r\n @Input()\r\n public showFlags: boolean = false;\r\n private _showFlagsOptions?: ListItemOptionsFlagType[] | undefined;\r\n\r\n @Input()\r\n public dependencies: any;\r\n @Input()\r\n public limitScrollPage: number = 20;\r\n @Input()\r\n public forceSelection = true;\r\n\r\n @Input()\r\n set showFlagsOptions(value: ListItemOptionsFlagType[]) {\r\n if (!this.showFlags) {\r\n throw new Error('showFlags is set to false. Setting showFlagsOptions is not allowed.');\r\n }\r\n value.forEach((option) => {\r\n if (option.type === 'img') {\r\n if (!option.imgSource) {\r\n throw new Error(\"imgSource is required when type is 'img'\");\r\n }\r\n if (!option.imgSize) {\r\n throw new Error(\"imgSize is required when type is 'img'\");\r\n }\r\n } else if (option.type === 'icon') {\r\n if (!option.iconSource) {\r\n throw new Error(\"iconSource is required when type is 'icon'\");\r\n }\r\n if (!option.iconSize) {\r\n throw new Error(\"iconSize is required when type is 'icon'\");\r\n }\r\n }\r\n });\r\n this._showFlagsOptions = value;\r\n }\r\n\r\n get showFlagsOptions(): ListItemOptionsFlagType[] {\r\n if (!this._showFlagsOptions) {\r\n throw new Error('showFlagsOptions was not set');\r\n }\r\n return this._showFlagsOptions;\r\n }\r\n\r\n @Output()\r\n public onChange = new EventEmitter();\r\n @Output()\r\n public onClosePanel = new EventEmitter();\r\n\r\n private currentSearchQuery = '';\r\n private currentScrollPage = -1;\r\n private currentScrollIndex = 0;\r\n\r\n public unlistenAutocompleteVirtualScroll = () => {};\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n get pagedSugestion() {\r\n return this._pagedSugestion;\r\n }\r\n\r\n private _pagedSugestion: ListItem[] = [];\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.initialLoad && this.filterVirtualScrool) {\r\n this.search(null, true);\r\n }\r\n\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n\r\n if (this.service && this.control && this.control.value && Array.isArray(this.control.value)) {\r\n const controlValueArray = this.control.value.map((value: any) => value);\r\n if (controlValueArray.length) {\r\n this.loadInitialSelectedValues(controlValueArray);\r\n }\r\n }\r\n }\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public customFormattingMultiSelectFieldWithFlags(): void {\r\n this.onloadAutocompletePanelService();\r\n\r\n setTimeout(() => {\r\n const vectorMultiselectField = document.querySelector('vector-multiselect-field.multiselect-flags');\r\n\r\n if (vectorMultiselectField) {\r\n const pOverlayElement = vectorMultiselectField.querySelector('p-overlay');\r\n\r\n if (pOverlayElement) {\r\n const classList = Array.from(pOverlayElement.classList);\r\n const targetClass = classList.find((className) => className.startsWith('ng-tns-'));\r\n\r\n if (targetClass) {\r\n const classReferenceCode = targetClass.replace('ng-tns-', '');\r\n const targetDivWithRefCode = document.querySelector(`div.ng-tns-${classReferenceCode}`);\r\n\r\n if (targetDivWithRefCode) {\r\n targetDivWithRefCode.classList.add('multiselect-flags');\r\n }\r\n }\r\n }\r\n }\r\n }, 200);\r\n }\r\n\r\n private onloadAutocompletePanelService(): void {\r\n if (this.service) {\r\n this.search();\r\n this.currentScrollPage++;\r\n\r\n this.service\r\n .getPaged(\r\n encodeURIComponent(this.currentSearchQuery),\r\n this.currentScrollPage,\r\n this.limitScrollPage,\r\n this.dependencies\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n this.options =\r\n this.currentScrollPage === 0\r\n ? response\r\n : (this.options as (ListItem | ListItemOptionsFlagType)[])?.concat(\r\n response as (ListItem | ListItemOptionsFlagType)[]\r\n );\r\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\r\n\r\n if (this.control.value && this.options?.find((item) => item.code == controlValue)) {\r\n this.setControlValueFromSuggestions();\r\n }\r\n\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n }\r\n\r\n private loadInitialSelectedValues(controlValueArray: any[]): void {\r\n if (!this.service) return;\r\n this.service.getPaged('', 0, this.limitScrollPage, this.dependencies).subscribe({\r\n next: (response) => {\r\n this.options = response;\r\n this.setInitialControlValues(controlValueArray);\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n\r\n private setInitialControlValues(values: any[]): void {\r\n const selectedItems = (this.options as ListItemExtend[])\r\n .filter((item) => values.includes(item.code || item.key || item.id))\r\n .map((el) => (el.code = el.key ? el.key : el.id ? el.id : el.code));\r\n this.control.setValue(selectedItems, { emitEvent: false });\r\n }\r\n\r\n public onOpenAutocompletePanel(): void {\r\n this.search();\r\n const multiSelectPanel = document.querySelector('.p-multiselect-items-wrapper');\r\n\r\n if (multiSelectPanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(multiSelectPanel, 'scroll', (event) => {\r\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\r\n\r\n if (Math.round(event.target.scrollTop) >= eventHeight) {\r\n this.pageResults();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onHideAutocompletePanel(): void {\r\n if (this.paged) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n public search($event?: any, forceSearch = false): void {\r\n this.currentSearchQuery = $event?.filter.toUpperCase() || '';\r\n this.currentScrollPage = -1;\r\n this.currentScrollIndex = 0;\r\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.pageResults();\r\n } else {\r\n this.options = [];\r\n }\r\n }\r\n\r\n private pageResults(): void {\r\n const filteredOptions = this.filterListByQuery(this.pagedSugestion, this.currentSearchQuery.toUpperCase());\r\n this.options = filteredOptions.slice(0, this.currentScrollIndex + 20);\r\n\r\n if (this.pagedSugestion?.length && this.pagedSugestion.length > 20) {\r\n this.currentScrollIndex = this.currentScrollIndex + 20;\r\n }\r\n\r\n this.setControlValueFromSuggestions();\r\n }\r\n\r\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\r\n return list.filter(\r\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\r\n );\r\n }\r\n private setControlValueFromSuggestions() {\r\n const code =\r\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\r\n if (this.control.value && this.options?.length) {\r\n let itemsArray = this.options;\r\n if (this.options?.length) {\r\n itemsArray = this.options;\r\n }\r\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\r\n if (itemFromSuggestions) {\r\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\r\n } else {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n } else if (this.control.value && !this.options?.length) {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n }\r\n\r\n private handleSearchErrors() {\r\n if (this.options?.length) {\r\n delete this.control.errors?.itemNotFound;\r\n } else if (this.currentSearchQuery) {\r\n this.control.setErrors({ itemNotFound: true });\r\n }\r\n }\r\n}\r\n","<div class=\"multiselect-field-input-container\">\r\n <p-multiSelect\r\n *ngIf=\"!filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onPanelHide)=\"onClosePanel.emit($event)\"\r\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\r\n [disabled]=\"disabled\"\r\n [showHeader]=\"showHeader\"\r\n >\r\n <ng-container *ngIf=\"showFlags\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"grid-nogutter w-full flex\">\r\n <div\r\n class=\"md:col-6 sm:col-12 align-content-center\"\r\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\r\n >\r\n <img\r\n *ngIf=\"option.type == 'img'\"\r\n [src]=\"option.imgSource\"\r\n [ngClass]=\"option.imgClass\"\r\n [style]=\"{ height: option.imgSize + 'px' }\"\r\n />\r\n <i\r\n *ngIf=\"option.type == 'icon'\"\r\n [className]=\"option.iconSource\"\r\n [ngClass]=\"option.iconClass\"\r\n [style]=\"{ 'font-size': option.iconSize }\"\r\n ></i>\r\n </div>\r\n\r\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\r\n <span class=\"block\">{{ option.name }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </p-multiSelect>\r\n\r\n <p-multiSelect\r\n *ngIf=\"filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onFilter)=\"search($event)\"\r\n (onPanelShow)=\"onOpenAutocompletePanel()\"\r\n (onPanelHide)=\"onHideAutocompletePanel()\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-multiSelect>\r\n <p-multiSelect\r\n *ngIf=\"filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onFilter)=\"search($event)\"\r\n (onPanelShow)=\"onOpenAutocompletePanel()\"\r\n (onPanelHide)=\"onHideAutocompletePanel()\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil } from '../../../utils';\r\n\r\nexport type DropdownButtonAction = {\r\n label: string;\r\n onClick: (value: any) => void;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-dropdown-field',\r\n templateUrl: './dropdown-field.component.html',\r\n styleUrls: ['./dropdown-field.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DropdownFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n set options(_options: ListItem[]) {\r\n this._options = _options;\r\n this.pagedSuggestions = this.options || [];\r\n }\r\n @Input()\r\n public isNgContent = false;\r\n @Input()\r\n public forceSelection = true;\r\n @Input()\r\n public isRequired: boolean | undefined = false;\r\n @Input()\r\n set control(_control: any) {\r\n this._control = _control;\r\n if (this.control) {\r\n this.subscription.add(\r\n this.control.valueChanges.subscribe(() => {\r\n this.setControlValueFromSuggestions();\r\n })\r\n );\r\n }\r\n }\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public service: BaseDropdown | undefined;\r\n @Input()\r\n public paged = true;\r\n @Input()\r\n public buttonAction: DropdownButtonAction | undefined;\r\n @Input()\r\n public dependencies: any;\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public dynamicFilters?: ListItem[];\r\n @Input()\r\n public minLengthToService: number = 0;\r\n @Input()\r\n public initialLoad = true;\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public limitScrollPage: number = 20;\r\n @Input()\r\n public inputId?: string;\r\n @Output()\r\n public onFocus = new EventEmitter();\r\n @Output()\r\n public onChange = new EventEmitter();\r\n\r\n get control() {\r\n return this._control;\r\n }\r\n\r\n get options() {\r\n return this._options;\r\n }\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n public pagedSuggestions: ListItem[] = [];\r\n public unlistenAutocompleteVirtualScroll = () => {};\r\n public selectedDynamicFilter: any = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;\r\n\r\n private _control: any;\r\n private _options: any[] = [];\r\n private currentScrollPage = -1;\r\n private currentScrollIndex = 0;\r\n private subscription = new Subscription();\r\n private currentSearchQuery = '';\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n \r\n if (this.initialLoad) {\r\n this.search(null, true);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n if (this.unlistenAutocompleteVirtualScroll) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control?.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n return this.control?.errors && typeof this.control.errors['invalid'] === 'string'\r\n ? this.control?.errors['invalid']\r\n : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public search($event?: any, forceSearch = false): void {\r\n this.currentSearchQuery = $event?.query.toUpperCase() || '';\r\n this.currentScrollPage = -1;\r\n this.currentScrollIndex = 0;\r\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.pageResults();\r\n } else {\r\n this.pagedSuggestions = [];\r\n }\r\n }\r\n\r\n public onOpenAutocompletePanel(): void {\r\n const autocompletePanel = document.querySelector('.p-autocomplete-panel');\r\n if (autocompletePanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(autocompletePanel, 'scroll', (event) => {\r\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\r\n\r\n if (Math.round(event.target.scrollTop) >= eventHeight) {\r\n this.pageResults();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onHideAutocompletePanel(): void {\r\n if (this.paged) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n private pageResults(): void {\r\n if (this.service) {\r\n this.currentScrollPage++;\r\n this.service\r\n .getPaged(\r\n encodeURIComponent(this.currentSearchQuery),\r\n this.currentScrollPage,\r\n this.limitScrollPage,\r\n this.dependencies\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n this.pagedSuggestions = this.currentScrollPage === 0 ? response : this.pagedSuggestions?.concat(response);\r\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\r\n if (this.control.value && this.pagedSuggestions?.find((item) => item.code == controlValue)) {\r\n this.setControlValueFromSuggestions();\r\n }\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n } else {\r\n const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());\r\n this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + this.limitScrollPage);\r\n\r\n if (this.options?.length && this.options.length > this.limitScrollPage) {\r\n this.currentScrollIndex = this.currentScrollIndex + this.limitScrollPage;\r\n }\r\n\r\n this.setControlValueFromSuggestions();\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n }\r\n }\r\n\r\n private setControlValueFromSuggestions() {\r\n const code =\r\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\r\n if (this.control.value && this.pagedSuggestions?.length) {\r\n let itemsArray = this.pagedSuggestions;\r\n if (this.options?.length) {\r\n itemsArray = this.options;\r\n }\r\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\r\n if (itemFromSuggestions) {\r\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\r\n } else {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n } else if (this.control.value && !this.pagedSuggestions?.length) {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n }\r\n\r\n private handleSearchErrors() {\r\n if (this.pagedSuggestions?.length) {\r\n delete this.control.errors?.itemNotFound;\r\n } else if (this.currentSearchQuery) {\r\n this.control.setErrors({ itemNotFound: true });\r\n }\r\n }\r\n\r\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\r\n return list.filter(\r\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\r\n );\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n [forceSelection]=\"forceSelection\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n [delay]=\"800\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n [forceSelection]=\"forceSelection\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n [delay]=\"800\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-select-button-field',\r\n templateUrl: './select-button-field.component.html',\r\n styleUrls: ['./select-button-field.component.scss'],\r\n})\r\nexport class SelectButtonFieldComponent {\r\n @Input()\r\n public options: ListItem[] = [];\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n constructor() {}\r\n}\r\n","<div class=\"input-container p-input-icon-right\">\r\n <p-selectButton\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [disabled]=\"disabled\"\r\n ></p-selectButton>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil, ValidationUtil } from '../../../utils';\r\n\r\nexport enum FieldType {\r\n DROPDOWN,\r\n TEXT,\r\n DATE,\r\n NUMBER,\r\n CURRENCY,\r\n DYNAMIC_DROPDOWN,\r\n SELECT_BUTTON,\r\n DATE_RANGE,\r\n MULTISELECT,\r\n}\r\n\r\nexport type FilterField = {\r\n name: string;\r\n type: FieldType;\r\n minLength?: number;\r\n maxLength?: number;\r\n min?: number;\r\n max?: number;\r\n required?: boolean;\r\n readonly?: boolean;\r\n disabled?: boolean;\r\n label?: string;\r\n mask?: string;\r\n options?: ListItem[];\r\n filterTypes?: ListItem[];\r\n service?: BaseDropdown;\r\n defaultValue?: any;\r\n placeholder?: string;\r\n hidden?: boolean;\r\n dependencies?: string[];\r\n size?: 'small' | 'medium' | 'large' | 'largest' | 'full';\r\n minLengthToService?: number;\r\n initiateValue?: boolean;\r\n tooltip?: string;\r\n controler?: UntypedFormControl;\r\n dateMin?: Date;\r\n dateMax?: Date;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-filters',\r\n templateUrl: './filters.component.html',\r\n styleUrls: ['./filters.component.scss'],\r\n})\r\nexport class FiltersComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public set fields(_fields: FilterField[]) {\r\n const isFirstSet = !this._fields.length && _fields?.length;\r\n this._fields = _fields;\r\n this.formGroup = new UntypedFormGroup({});\r\n\r\n this.fieldsSubscription.unsubscribe();\r\n this.fieldsSubscription = new Subscription();\r\n\r\n this.fields?.forEach((field) => {\r\n if (field?.defaultValue && typeof field?.defaultValue === 'object') {\r\n field.initiateValue = !!field.defaultValue?.code;\r\n } else {\r\n field.initiateValue = !!field.defaultValue;\r\n }\r\n if (field.type === FieldType.DATE_RANGE) {\r\n this.formGroup.addControl(\r\n field.name,\r\n new UntypedFormGroup({\r\n startDate: new UntypedFormControl({ value: field.defaultValue?.startDate, disabled: field.readonly }, [\r\n ...this.buildValidators(field),\r\n ValidationUtil.lowerThanOrEqualTo('endDate'),\r\n ]),\r\n endDate: new UntypedFormControl({ value: field.defaultValue?.endDate, disabled: field.readonly }, [\r\n ...this.buildValidators(field),\r\n ValidationUtil.greaterThanOrEqualTo('startDate'),\r\n ]),\r\n })\r\n );\r\n } else {\r\n if (field.controler) {\r\n this.formGroup.addControl(field.name, field.controler);\r\n } else {\r\n this.formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl({ value: field.defaultValue, disabled: field.readonly }, this.buildValidators(field))\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.fields\r\n ?.filter((field) => field.dependencies)\r\n .forEach((field) => {\r\n field.dependencies?.forEach((dependency) => {\r\n this.fieldsSubscription.add(\r\n this.formGroup.get(dependency)?.valueChanges.subscribe((value) => {\r\n this.formGroup.get(field.name)?.reset();\r\n })\r\n );\r\n });\r\n });\r\n\r\n this.patchFormFromQueryParams({ ...this.activatedRoute.snapshot.queryParams });\r\n\r\n if (this._fields?.length && this.formGroup.valid && isFirstSet) {\r\n this.search();\r\n }\r\n this.formBuilded.emit();\r\n\r\n this.fieldsSubscription.add(\r\n this.activatedRoute.queryParams.subscribe((queryParams) => {\r\n this.patchFormFromQueryParams({ ...queryParams });\r\n })\r\n );\r\n }\r\n @Output()\r\n public onSearch = new EventEmitter<any>();\r\n @Output()\r\n public formBuilded = new EventEmitter<void>();\r\n\r\n public get fields() {\r\n return this._fields;\r\n }\r\n\r\n public fieldTypes = FieldType;\r\n public formGroup = new UntypedFormGroup({});\r\n private _fields: FilterField[] = [];\r\n private fieldsSubscription = new Subscription();\r\n\r\n get hideFilters() {\r\n return !this.fields?.filter((item) => !item.hidden).length;\r\n }\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy() {\r\n this.fieldsSubscription.unsubscribe();\r\n }\r\n\r\n public search() {\r\n this.formGroup.markAllAsTouched();\r\n if (this.formGroup.valid) {\r\n const filterValue = this.formGroup.getRawValue();\r\n Object.keys(filterValue).forEach((key) => {\r\n if (filterValue[key]?.hasOwnProperty('code')) {\r\n filterValue[key] = filterValue[key].code;\r\n }\r\n if (!ObjectUtil.isValid(filterValue[key])) {\r\n const fieldType = this.fields.find((field) => field.name === key)?.type ?? FieldType.TEXT;\r\n filterValue[key] = [FieldType.DROPDOWN, FieldType.NUMBER].includes(fieldType) ? -1 : '';\r\n }\r\n });\r\n this.onSearch.emit(filterValue);\r\n }\r\n }\r\n\r\n public isTextFieldType(field: FilterField) {\r\n return [FieldType.TEXT, FieldType.NUMBER].includes(field.type);\r\n }\r\n\r\n public getFieldDependencies(field: FilterField) {\r\n if (!field.dependencies) {\r\n return undefined;\r\n }\r\n return field.dependencies.reduce((prev, curr) => {\r\n let depValue: any = this.formGroup.get(curr)?.value?.code;\r\n if (!ObjectUtil.isValid(depValue)) {\r\n depValue = -1;\r\n }\r\n return {\r\n ...prev,\r\n [curr]: depValue,\r\n };\r\n }, {});\r\n }\r\n\r\n public getGridClass(field: FilterField) {\r\n switch (field.size) {\r\n case 'small':\r\n return 'md:col-1';\r\n case 'medium':\r\n return 'md:col-3';\r\n case 'large':\r\n return 'md:col-4';\r\n case 'largest':\r\n return 'md:col-8';\r\n case 'full':\r\n return 'md:col-12';\r\n default:\r\n return 'md:col-4';\r\n }\r\n }\r\n\r\n private patchFormFromQueryParams(queryParams: any) {\r\n if (Object.keys(queryParams).length) {\r\n this.fields.forEach((field) => {\r\n if (queryParams.hasOwnProperty(field.name)) {\r\n try {\r\n queryParams[field.name] = queryParams[field.name]\r\n ? JSON.parse(queryParams[field.name])\r\n : queryParams[field.name];\r\n } catch (_) {}\r\n if (field.type === FieldType.DATE_RANGE) {\r\n queryParams[field.name] = {\r\n startDate: queryParams[field.name].startDate ? new Date(queryParams[field.name].startDate) : undefined,\r\n endDate: queryParams[field.name].endDate ? new Date(queryParams[field.name].endDate) : undefined,\r\n };\r\n }\r\n if (field.type === FieldType.DATE) {\r\n queryParams[field.name] = queryParams[field.name] ? new Date(queryParams[field.name]) : undefined;\r\n }\r\n }\r\n });\r\n this.formGroup.patchValue(queryParams);\r\n }\r\n }\r\n\r\n private buildValidators(field: FilterField): ValidatorFn[] {\r\n const validators = [];\r\n if (field.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (field.minLength) {\r\n validators.push(Validators.minLength(field.minLength));\r\n }\r\n if (field.maxLength) {\r\n validators.push(Validators.maxLength(field.maxLength));\r\n }\r\n if (field.min) {\r\n validators.push(Validators.min(field.min));\r\n }\r\n if (field.max) {\r\n validators.push(Validators.max(field.max));\r\n }\r\n return validators;\r\n }\r\n}\r\n","<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label\r\n >{{ field.label }}\r\n <i\r\n *ngIf=\"field.tooltip\"\r\n class=\"fas fa-info-circle mt-1 pl-2 ch\"\r\n pTooltip=\"{{ field.tooltip }}\"\r\n tooltipPosition=\"bottom\"\r\n ></i\r\n ></label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n [disabled]=\"field.disabled\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [min]=\"field.dateMin\"\r\n [max]=\"field.dateMax\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n [disabled]=\"field.disabled\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [min]=\"field.dateMin\"\r\n ></vector-calendar-field>\r\n Até\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [max]=\"field.dateMax\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n [disabled]=\"field.disabled\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { FilterChangedEvent, ListItem, Status } from '../../../models';\r\nimport { DataTableLazyLoadEvent, TableColumn, TableColumnType } from '../../../models/data-table.model';\r\nimport { MaskUtil } from '../../../utils';\r\nimport { FilterField, FiltersComponent } from '../filters/filters.component';\r\n\r\n@Component({\r\n selector: 'vector-data-table',\r\n templateUrl: './data-table.component.html',\r\n styleUrls: ['./data-table.component.scss'],\r\n})\r\nexport class DataTableComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public columns: TableColumn[] = [];\r\n @Input()\r\n public set data(_data: any[]) {\r\n this._data = _data;\r\n this.selectedItems = this._data?.filter((item) => item.selected) || [];\r\n }\r\n public get data() {\r\n return this._data;\r\n }\r\n private _data: any[] = [];\r\n @Input()\r\n public exportExcel = false;\r\n @Input()\r\n public exportPDF = false;\r\n @Input()\r\n public customFunction: { label: string; icon?: string; clickFunction: Function }[] | undefined;\r\n @Input()\r\n public totalRecords = 0;\r\n @Input()\r\n public disabledHeadercheckbox = false;\r\n @Input()\r\n public filters: FilterField[] = [];\r\n @Input()\r\n public addItemLabel = '';\r\n @Input()\r\n public pagination = true;\r\n @Input()\r\n public virtualPagination = false;\r\n @Input()\r\n public set tabs(_tabs: ListItem[]) {\r\n this._tabs = _tabs;\r\n this._tabSelected = _tabs[0];\r\n }\r\n @Input()\r\n public customButtons: { label: string; clickFunction: Function }[] | undefined;\r\n @Input()\r\n public addItemButtonPlusSign = false;\r\n @Input()\r\n public hasActions: boolean = true;\r\n @Input()\r\n public hasExpandableIcon = false;\r\n @Input()\r\n public addNameColumnExpand = '';\r\n @Input() expandable = false;\r\n @Input() expansionTemplate!: TemplateRef<any> | null;\r\n @Input()\r\n public set selectionMode(_selectionMode) {\r\n switch (_selectionMode) {\r\n case 'single':\r\n this._selectionMode = 'single';\r\n break;\r\n case 'multiple':\r\n this._selectionMode = 'multiple';\r\n break;\r\n default:\r\n this._selectionMode = null;\r\n break;\r\n }\r\n }\r\n @Input()\r\n public selectionType: 'checkbox' | 'radiobutton' | null = null;\r\n @Input()\r\n public set height(_height: string) {\r\n switch (_height) {\r\n case 'small':\r\n this._height = '300px';\r\n break;\r\n case 'medium':\r\n this._height = '500px';\r\n break;\r\n case 'large':\r\n this._height = '700px';\r\n break;\r\n case 'full':\r\n this._height = 'flex';\r\n break;\r\n default:\r\n this._height = '300px';\r\n }\r\n }\r\n @Input()\r\n public showLimitBalance = false;\r\n @Input()\r\n public dataAccountBalance: { visible: boolean; name: string; valueBalance: number; showBalance: boolean }[] = [];\r\n\r\n @Output()\r\n public onLazyLoad = new EventEmitter<DataTableLazyLoadEvent>();\r\n @Output()\r\n public onFilter = new EventEmitter<any>();\r\n @Output()\r\n public onAdd = new EventEmitter<void>();\r\n @Output()\r\n public onExportExcel = new EventEmitter<void>();\r\n @Output()\r\n public onExportPDF = new EventEmitter<void>();\r\n @Output()\r\n public onSelectedRows = new EventEmitter<any>();\r\n @Output()\r\n public onFilterChanged = new EventEmitter<FilterChangedEvent>();\r\n @Output()\r\n public onTabSelected = new EventEmitter<ListItem>();\r\n @Output()\r\n public onExpandRow: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public firstLazyLoad = false;\r\n @Input()\r\n public shouldLazyLoadWithoutFilter = false;\r\n @Input()\r\n public reorderableColumns = false;\r\n\r\n @ViewChild(FiltersComponent, { static: true })\r\n public filtersComponent: FiltersComponent | undefined;\r\n\r\n public selectedItems: any = [];\r\n\r\n get balance(): (itemAccount?: any) => number | string {\r\n return (itemAccount?: any): number | string => {\r\n return itemAccount.showBalance\r\n ? itemAccount.valueBalance.toLocaleString('pt-BR', {\r\n currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n })\r\n : '-,--';\r\n };\r\n }\r\n\r\n get tabs() {\r\n return this._tabs;\r\n }\r\n get height() {\r\n return this._height;\r\n }\r\n get selectionMode() {\r\n return this._selectionMode;\r\n }\r\n\r\n private _selectionMode: 'single' | 'multiple' | null = null;\r\n private _height: string = 'small';\r\n private _tabs: ListItem[] = [];\r\n private _draw = 1;\r\n private _firstLazyLoadedDone = this.firstLazyLoad;\r\n private _lastLazyLoadEvent: DataTableLazyLoadEvent | undefined;\r\n private _tabSelected: ListItem | undefined;\r\n private _filterSubscription = new Subscription();\r\n\r\n constructor(public cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.height) {\r\n this.height = 'small';\r\n }\r\n\r\n if (!this.pagination || this.virtualPagination) {\r\n this.filtersComponent?.search();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._filterSubscription.unsubscribe();\r\n }\r\n\r\n getColStyle(col: TableColumn) {\r\n return { 'min-width': col.width };\r\n }\r\n\r\n lazyLoaded(params: { filter: boolean; data: any } = { filter: false, data: { start: 0, rows: 10 } }) {\r\n if (!params.filter && !this.shouldLazyLoadWithoutFilter) {\r\n const columns = this.columns.map((col) => {\r\n return {\r\n data: col.field,\r\n name: `${col.field.substring(0, 1).toUpperCase()}${col.field.substring(1, col.field.length)}`,\r\n orderable: true,\r\n search: { value: '', regex: false },\r\n searchable: true,\r\n };\r\n });\r\n if (this.hasActions) {\r\n columns.unshift({\r\n data: 'active',\r\n name: 'Active',\r\n orderable: true,\r\n search: { value: '', regex: false },\r\n searchable: true,\r\n });\r\n }\r\n this._lastLazyLoadEvent = {\r\n ...(this._lastLazyLoadEvent || ({} as any)),\r\n page: params.data.first / params.data.rows + 1,\r\n start: params.data.first,\r\n length: params.data.rows,\r\n draw: this._draw++,\r\n order: params.data.sortField\r\n ? [\r\n {\r\n column:\r\n this.columns.findIndex((col) => col.field === params.data.sortField) + (this.hasActions ? 1 : 0),\r\n dir: params.data.sortOrder > 0 ? 'asc' : 'desc',\r\n },\r\n ]\r\n : [{ column: 0, dir: 'desc' }],\r\n columns: columns,\r\n tab: this._tabSelected,\r\n };\r\n } else {\r\n this._lastLazyLoadEvent = {\r\n ...this._lastLazyLoadEvent,\r\n ...params.data,\r\n start: 0,\r\n };\r\n if (this._tabSelected) {\r\n this._lastLazyLoadEvent = {\r\n ...(this._lastLazyLoadEvent || ({} as any)),\r\n ...{ Status: this._tabSelected.code },\r\n tab: this._tabSelected,\r\n };\r\n }\r\n }\r\n\r\n if (this._firstLazyLoadedDone || this.firstLazyLoad) {\r\n this.onLazyLoad.emit(this._lastLazyLoadEvent);\r\n }\r\n this._firstLazyLoadedDone = true;\r\n }\r\n\r\n getCellContent(item: any, col: TableColumn) {\r\n const cellText = this.getCellText(item, col);\r\n let content = `<span class=\"p-column-title\">${col.header}</span><span class=\"w-100\">`;\r\n if (\r\n !col.type ||\r\n [TableColumnType.ENUM, TableColumnType.TEXT, TableColumnType.DATETIME, TableColumnType.DATE].includes(col.type)\r\n ) {\r\n content += cellText;\r\n }\r\n\r\n switch (col.type) {\r\n case TableColumnType.CUSTOM_STYLE:\r\n content += `<span class=\"${col.textFieldClass ? item[col.textFieldClass] : ''}\">${cellText}</span>`;\r\n break;\r\n case TableColumnType.BOOLEAN:\r\n content += `<div class=\"text-centered\"><i class=\" status-table-field fas fa-${\r\n cellText ? 'check boolean-value-positive' : 'times boolean-value-negative'\r\n }\"></i></div>`;\r\n break;\r\n case TableColumnType.STATUS_BADGE:\r\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getStatusColor(\r\n cellText\r\n )}\"></i></div>`;\r\n break;\r\n case TableColumnType.ACTIVE_BOOLEAN_BADGE:\r\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getActiveStatusColor(\r\n cellText\r\n )}\"></i></div>`;\r\n break;\r\n case TableColumnType.BUTTON:\r\n content += `<div class=\"text-centered\"><i class=\"${\r\n col.icon || 'fas fa-circle'\r\n } status-table-field table-button\"></i></div>`;\r\n break;\r\n case TableColumnType.MASK:\r\n content += MaskUtil.doMaskString(cellText, col.mask);\r\n break;\r\n case TableColumnType.CURRENCY:\r\n content += Number(cellText).toLocaleString('pt-BR', {\r\n currency: col.currencyType || 'BRL',\r\n currencyDisplay: 'narrowSymbol',\r\n style: 'currency',\r\n });\r\n }\r\n\r\n content += `</span>`;\r\n return content;\r\n }\r\n\r\n public getCellText(item: any, col: TableColumn) {\r\n if (col.getEnumTranslated) {\r\n return col.getEnumTranslated(item[col.field]);\r\n }\r\n if (col.type === TableColumnType.DATETIME && item[col.field]) {\r\n const dateTime =\r\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\r\n return dateTime.toUTC().toFormat('dd/MM/yyyy HH:mm');\r\n }\r\n if (col.type === TableColumnType.DATE && item[col.field]) {\r\n const dateTime =\r\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\r\n return dateTime.toUTC().toFormat('dd/MM/yyyy');\r\n }\r\n if (col.type === TableColumnType.STACK_BADGE) {\r\n if (!item[col.field].length || item[col.field].length === 1) {\r\n return item[col.field];\r\n } else {\r\n return `+${item[col.field].length}`;\r\n }\r\n }\r\n if (col.type === TableColumnType.STATUS_BADGE) {\r\n return item[col.field] == 0 ? 0 : item[col.field];\r\n }\r\n\r\n return item[col.field || ''] || '';\r\n }\r\n\r\n public getTooltipText(item: any, col: TableColumn) {\r\n if (\r\n !col.type ||\r\n ![TableColumnType.STACK_BADGE].includes(col.type) ||\r\n !Array.isArray(item[col.field]) ||\r\n item[col.field].length === 1\r\n ) {\r\n return null;\r\n }\r\n\r\n if (!Array.isArray(item[col.field])) {\r\n return item[col.field];\r\n }\r\n return item[col.field].join(' - ');\r\n }\r\n\r\n onTabChange($event: any) {\r\n this._tabSelected = this.tabs[$event.index];\r\n this.lazyLoaded({ filter: true, data: {} });\r\n this.onTabSelected.emit(this._tabSelected);\r\n }\r\n\r\n subscribeToFilterChanges() {\r\n this._filterSubscription.unsubscribe();\r\n this._filterSubscription = new Subscription();\r\n Object.keys(this.filtersComponent?.formGroup.controls || {}).forEach((key) => {\r\n this._filterSubscription.add(\r\n this.filtersComponent?.formGroup\r\n .get(key)\r\n ?.valueChanges.pipe(debounceTime(300))\r\n .subscribe((value) => {\r\n this.onFilterChanged.emit({ field: key, value });\r\n })\r\n );\r\n this.onFilterChanged.emit({ field: key, value: this.filtersComponent?.formGroup.get(key)?.value });\r\n });\r\n }\r\n\r\n onRowClick(item: any) {\r\n setTimeout(() => {\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.onExpandRow.emit(item);\r\n }\r\n\r\n get listHasActions() {\r\n return this.data.some((item) => item.actions?.length);\r\n }\r\n\r\n public changeSelectedItems(value: any) {\r\n this.onSelectedRows.emit(this.selectedItems);\r\n }\r\n\r\n public isHtmlCell(col: TableColumn) {\r\n return !col.type || !this.isBadgeCell(col);\r\n }\r\n\r\n public isBadgeCell(col: TableColumn) {\r\n return col.type && [TableColumnType.TEXT_BADGE, TableColumnType.STACK_BADGE].includes(col.type);\r\n }\r\n\r\n public isScoreCell(col: TableColumn) {\r\n return col.type === TableColumnType.SCORE;\r\n }\r\n\r\n public onSelectionChange(selection: any) {\r\n for (let i = selection.length - 1; i >= 0; i--) {\r\n let data = selection[i];\r\n if (data.disabledCheckBox) {\r\n selection.splice(i, 1);\r\n }\r\n }\r\n this.selectedItems = selection;\r\n }\r\n\r\n public changeShowBalance(itemAccount?: any): void {\r\n if (itemAccount) {\r\n itemAccount.showBalance = !itemAccount.showBalance;\r\n }\r\n }\r\n\r\n private getStatusColor(status: Status) {\r\n switch (status) {\r\n case Status.PENDING:\r\n return 'warning';\r\n case Status.APPROVED:\r\n return 'success';\r\n case Status.REJECTED:\r\n return 'error';\r\n case Status.INFO:\r\n return 'info';\r\n }\r\n return '';\r\n }\r\n\r\n private getActiveStatusColor(active: boolean) {\r\n return active ? 'success' : 'error';\r\n }\r\n}\r\n","<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel || exportExcel || exportPDF || customFunction\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file-excel\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file-pdf\"></i><span>PDF</span>\r\n </button>\r\n <button\r\n *ngFor=\"let button of customFunction\"\r\n (click)=\"button.clickFunction()\"\r\n class=\"export-button custom-function\"\r\n >\r\n <i *ngIf=\"button?.icon\" class=\"{{ button?.icon }}\"></i><span>{{ button?.label }}</span>\r\n </button>\r\n\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n @if(showLimitBalance){\r\n <div class=\"col-12 grid ml-0\">\r\n @for (itemAccount of dataAccountBalance; track $index) { @if(itemAccount.visible){\r\n <div class=\"card balance-container\">\r\n <span class=\"card-header\">{{ itemAccount.name }}</span>\r\n <div class=\"card-content value-container\">\r\n <span>R$ </span>\r\n <span *ngIf=\"itemAccount.showBalance\" class=\"balance\">{{ balance(itemAccount) }}</span>\r\n <div class=\"hidden-balance\" *ngIf=\"!itemAccount.showBalance\"></div>\r\n <div class=\"icon-container\">\r\n <i\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-eye': !itemAccount.showBalance, 'fa-eye-slash': itemAccount.showBalance }\"\r\n (click)=\"changeShowBalance(itemAccount)\"\r\n ></i>\r\n </div>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n\r\n }\r\n\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\">\r\n <ng-template pTemplate=\"header\">\r\n <em *ngIf=\"tab.icon\" [class]=\"tab.icon\"> </em>\r\n <span>{{ tab.name }}</span>\r\n </ng-template>\r\n </p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} até {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [reorderableColumns]=\"reorderableColumns\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th *ngIf=\"reorderableColumns\" style=\"width: 5rem\"></th>\r\n\r\n <th *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th class=\"text-center\" *ngIf=\"hasExpandableIcon\">\r\n {{ addNameColumnExpand }}\r\n </th>\r\n <th *ngIf=\"hasActions\">{{ 'app.label.actions' | translate }}</th>\r\n <th *ngIf=\"selectionType === 'radiobutton'\">\r\n <div class=\"flex align-items-center\">\r\n <span></span>\r\n </div>\r\n </th>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n [pSortableColumn]=\"col.notSortable ? '' : col.field\"\r\n pReorderableColumn\r\n >\r\n <div class=\"flex align-items-center\">\r\n <span>{{ col.header }}</span> <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\" let-index=\"rowIndex\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n [pReorderableRow]=\"index\"\r\n >\r\n <ng-container *ngIf=\"reorderableColumns\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasExpandableIcon\" style=\"max-width: 150px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i\r\n [ngClass]=\"\r\n expanded ? 'actions-menu-button pi pi-chevron-down' : 'actions-menu-button pi pi-chevron-right'\r\n \"\r\n ></i>\r\n </td>\r\n <td *ngIf=\"hasActions\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"(!isHtmlCell(col) && !!col.getStatus) || isScoreCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"isBadgeCell(col)\"\r\n [label]=\"getCellText(item, col)\"\r\n [type]=\"col.getStatus && col.getStatus(item[col.field])\"\r\n [tooltip]=\"getTooltipText(item, col)\"\r\n ></vector-badge>\r\n <vector-score *ngIf=\"isScoreCell(col)\" [score]=\"item[col.field]\"></vector-score>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n@Component({\r\n selector: 'vector-input-number',\r\n templateUrl: './input-number-field.component.html',\r\n styleUrls: ['./input-number-field.component.scss'],\r\n})\r\nexport class InputNumberFieldComponent {\r\n @Input()\r\n public inputId?: string;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public showButtons: boolean = false;\r\n @Input()\r\n public type: 'decimal' | 'percent' = 'decimal';\r\n @Input()\r\n public minFractionDigits: number = 0;\r\n @Input()\r\n public maxFractionDigits: number = 4;\r\n @Input()\r\n public buttonLayout: 'stacked' | 'horizontal' | 'vertical' = 'horizontal';\r\n @Input()\r\n public incrementButtonIcon: string = 'pi pi-plus-circle';\r\n @Input()\r\n public decrementButtonIcon: string = 'pi pi-minus-circle';\r\n @Input()\r\n public min: number = 0;\r\n @Input()\r\n public step: number = 1;\r\n @Input()\r\n public disabled = false;\r\n\r\n @Input()\r\n public set max(_max) {\r\n this._max = _max;\r\n }\r\n @Input()\r\n public set suffix(_suffix) {\r\n this._suffix = _suffix;\r\n }\r\n\r\n @Output()\r\n public onFocus = new EventEmitter<Event>();\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n @Output()\r\n public onInput = new EventEmitter();\r\n @Output()\r\n public onClear = new EventEmitter();\r\n\r\n get max(): number {\r\n if (this.type === 'percent') {\r\n return this._max || 100;\r\n }\r\n return this._max || 999999999;\r\n }\r\n\r\n get suffix() {\r\n switch (this.type) {\r\n case 'percent':\r\n return this._suffix || '%';\r\n }\r\n return '';\r\n }\r\n\r\n public _maxFractionDigits: number | null = null;\r\n public _max: number | null = null;\r\n public _suffix: string | null = null;\r\n}\r\n","<div class=\"input-container\">\r\n <p-inputNumber\r\n [inputId]=\"inputId\"\r\n [formControl]=\"control\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [suffix]=\"suffix\"\r\n [step]=\"step\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [showButtons]=\"showButtons\"\r\n [disabled]=\"disabled\"\r\n [buttonLayout]=\"buttonLayout\"\r\n [incrementButtonIcon]=\"incrementButtonIcon\"\r\n [decrementButtonIcon]=\"decrementButtonIcon\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n ></p-inputNumber>\r\n <vector-field-error-message [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-input-otp',\r\n templateUrl: './input-otp.component.html',\r\n styleUrl: './input-otp.component.scss',\r\n})\r\nexport class InputOtpComponent {\r\n @Input()\r\n public integerOnly = false;\r\n @Input()\r\n public length = 6;\r\n @Input()\r\n public inputValue!: string | number;\r\n @Input()\r\n public isReadonly = false;\r\n @Input()\r\n public isDisabled = false;\r\n @Input()\r\n public isInvalid = false;\r\n\r\n @Output()\r\n public onChangeOtp = new EventEmitter();\r\n @Output()\r\n public onBlurOtp = new EventEmitter();\r\n @Output()\r\n public onFocusOtp = new EventEmitter();\r\n\r\n public onChange($event: any) {\r\n this.onChangeOtp.emit($event);\r\n }\r\n\r\n public onBlur($event: Event) {\r\n this.onBlurOtp.emit($event);\r\n }\r\n\r\n public onFocus($event: Event) {\r\n this.onFocusOtp.emit($event);\r\n }\r\n}\r\n","<p-inputOtp\r\n class=\"custom-field-text input-otp\"\r\n [integerOnly]=\"integerOnly\"\r\n [length]=\"length\"\r\n [ngModel]=\"inputValue\"\r\n [invalid]=\"isInvalid\"\r\n [disabled]=\"isDisabled\"\r\n [readonly]=\"isReadonly\"\r\n (onChange)=\"onChange($event)\"\r\n (onBlur)=\"onBlur($event)\"\r\n (onFocus)=\"onFocus($event)\"\r\n></p-inputOtp>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-input-switch-field',\r\n templateUrl: './input-switch-field.component.html',\r\n styleUrls: ['./input-switch-field.component.scss'],\r\n})\r\nexport class InputSwitchFieldComponent implements OnInit {\r\n @Input()\r\n public control: any;\r\n\r\n @Input()\r\n public disabled = false;\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<p-inputSwitch [formControl]=\"control\" [disabled]=\"disabled\"></p-inputSwitch>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-percentage-field',\r\n templateUrl: './percentage-field.component.html',\r\n styleUrls: ['./percentage-field.component.scss'],\r\n})\r\nexport class PercentageFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public min: number = 0;\r\n @Input()\r\n public max: number = 100;\r\n @Input()\r\n public minFractionDigits: number = 0;\r\n @Input()\r\n public maxFractionDigits: number = 0;\r\n @Input()\r\n public step = 0;\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n\r\n public readonly percentageRegex = `^(100(\\\\.0{1,2})?|[1-9]?\\\\d(\\\\.\\\\d{1,2})?)$`;\r\n\r\n private lastBlurValue = '';\r\n\r\n ngOnInit() {}\r\n\r\n ngOnDestroy() {}\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n}\r\n","<form class=\"input-container\">\r\n <p-inputNumber\r\n [formControl]=\"control\"\r\n suffix=\"%\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [step]=\"step\"\r\n [showButtons]=\"step > 1\"\r\n buttonLayout=\"horizontal\"\r\n decrementButtonIcon=\"pi pi-minus-circle\"\r\n incrementButtonIcon=\"pi pi-plus-circle\"\r\n (onBlur)=\"onBlur()\"\r\n ></p-inputNumber>\r\n</form>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BooleanType } from '../../../models';\r\n\r\nexport type RadioButtonOption = {\r\n label: string;\r\n value: string;\r\n textTooltip?: string;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-radio-button-field',\r\n templateUrl: './radio-button-field.component.html',\r\n styleUrls: ['./radio-button-field.component.scss'],\r\n})\r\nexport class RadioButtonFieldComponent implements OnInit {\r\n @Input()\r\n public groupName: string = '';\r\n @Input()\r\n public options: RadioButtonOption[] = [\r\n { label: this.getYesLabel(), value: BooleanType.YES },\r\n { label: this.getNoLabel(), value: BooleanType.NO },\r\n ];\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public layout: 'vertical' | 'horizontal' = 'vertical';\r\n @Input()\r\n public justifySpaceBetween = false;\r\n @Input()\r\n public addIcon = false;\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n }\r\n\r\n get layoutClass() {\r\n return { horizontal: this.layout === 'horizontal', vertical: this.layout === 'vertical' };\r\n }\r\n\r\n private getYesLabel() {\r\n const label = this.translateService.instant('app.label.yes');\r\n return label !== 'app.label.yes' ? label : 'Sim';\r\n }\r\n\r\n private getNoLabel() {\r\n const label = this.translateService.instant('app.label.no');\r\n return label !== 'app.label.no' ? label : 'Não';\r\n }\r\n}\r\n","<div\r\n class=\"radio-buttons-container\"\r\n [ngClass]=\"layoutClass\"\r\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\r\n>\r\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\r\n <p-radioButton\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [label]=\"option.label\"\r\n [formControl]=\"control\"\r\n ></p-radioButton>\r\n <i\r\n *ngIf=\"addIcon && option.textTooltip != null\"\r\n class=\"fas fa-info-circle mt-1 pr-3 pl-2\"\r\n pTooltip=\"{{ option.textTooltip }}\"\r\n tooltipPosition=\"bottom\"\r\n ></i>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-range-value',\r\n templateUrl: './range-value.component.html',\r\n styleUrls: ['./range-value.component.scss'],\r\n})\r\nexport class RangeValueComponent implements OnInit {\r\n @Input() value: number = 0;\r\n @Input() movimentedValue: number | null = null;\r\n @Input() min: number = 0;\r\n @Input() max: number = 100;\r\n @Input() disabled: boolean = false;\r\n @Output() valueChange = new EventEmitter<number>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n changeValue() {\r\n if (this.value < this.min) {\r\n this.value = this.min;\r\n }\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n getMovimentedValue() {\r\n if (this.movimentedValue) {\r\n return this.movimentedValue;\r\n } else {\r\n return (this.max - this.min) / 100;\r\n }\r\n }\r\n\r\n increment() {\r\n if (!this.disabled) {\r\n if (this.value + this.getMovimentedValue() < this.max) {\r\n this.value = this.value + this.getMovimentedValue();\r\n this.valueChange.emit(this.value);\r\n } else {\r\n this.value = this.max;\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n decrement() {\r\n if (!this.disabled) {\r\n if (this.value - this.getMovimentedValue() > this.min) {\r\n this.value = this.value - this.getMovimentedValue();\r\n this.valueChange.emit(this.value);\r\n } else {\r\n this.value = this.min;\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\" [disabled]=\"disabled\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vector-search-field',\r\n templateUrl: './search-field.component.html',\r\n styleUrls: ['./search-field.component.scss'],\r\n})\r\nexport class SearchFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public placeholder = '';\r\n @Output()\r\n public onSearch = new EventEmitter<string>();\r\n\r\n public formControl = new UntypedFormControl();\r\n private subscription = new Subscription();\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.formControl.valueChanges.pipe(debounceTime(300)).subscribe((value) => {\r\n this.onSearch.emit(value);\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<vector-text-field [control]=\"formControl\" rightIcon=\"fas fa-search\" [label]=\"placeholder\"></vector-text-field>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-textarea-field',\r\n templateUrl: './textarea-field.component.html',\r\n styleUrls: ['./textarea-field.component.scss'],\r\n})\r\nexport class TextareaFieldComponent implements OnInit {\r\n @Input()\r\n public isRequired: boolean | undefined = false;\r\n @Input()\r\n public label: string | undefined = '';\r\n @Input()\r\n public maxlength: string = '';\r\n @Input()\r\n public rows: number = 5;\r\n @Input()\r\n public cols: number = 10;\r\n @Input()\r\n public control: any;\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n private lastBlurValue = '';\r\n\r\n ngOnInit() {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('minlength')) {\r\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n\r\n public onEnterPress() {\r\n this.onBlur();\r\n this.enterKeyPress.emit();\r\n }\r\n\r\n public onFocus($event: Event) {\r\n const target = $event.target as HTMLTextAreaElement;\r\n this.focusEvent.emit(target?.value);\r\n }\r\n}\r\n","<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputOtpModule } from 'primeng/inputotp';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { PanelModule } from '../panel';\r\nimport { ScoreModule } from '../score';\r\nimport { ButtonComponent } from './button';\r\nimport { CalendarComponent } from './calendar-field';\r\nimport { CheckboxFieldComponent } from './checkbox-field';\r\nimport { CurrencyFieldComponent } from './currency-field';\r\nimport { DataTableComponent } from './data-table';\r\nimport { DropdownFieldComponent } from './dropdown-field';\r\nimport { FieldErrorMessageComponent } from './field-error-message';\r\nimport { FiltersComponent } from './filters';\r\nimport { InputNumberFieldComponent } from './input-number-field';\r\nimport { InputOtpComponent } from './input-otp';\r\nimport { InputSwitchFieldComponent } from './input-switch-field';\r\nimport { MultiselectFieldComponent } from './multiselect-field';\r\nimport { PercentageFieldComponent } from './percentage-field';\r\nimport { RadioButtonFieldComponent } from './radio-button-field';\r\nimport { RangeValueComponent } from './range-value';\r\nimport { SearchFieldComponent } from './search-field';\r\nimport { SelectButtonFieldComponent } from './select-button-field';\r\nimport { TextFieldComponent } from './text-field';\r\nimport { TextareaFieldComponent } from './textarea-field';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n KeyFilterModule,\r\n InputTextModule,\r\n CheckboxModule,\r\n InputMaskModule,\r\n CalendarModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n AutoCompleteModule,\r\n SliderModule,\r\n RadioButtonModule,\r\n FileUploadModule,\r\n DialogModule,\r\n InputNumberModule,\r\n PanelModule,\r\n TabViewModule,\r\n ButtonModule,\r\n InputTextareaModule,\r\n SelectButtonModule,\r\n InputNumberModule,\r\n BadgeModule,\r\n ScoreModule,\r\n TranslateModule,\r\n InputSwitchModule,\r\n MenuModule,\r\n TableModule,\r\n InputOtpModule,\r\n ],\r\n declarations: [\r\n DataTableComponent,\r\n TextFieldComponent,\r\n CheckboxFieldComponent,\r\n ButtonComponent,\r\n CalendarComponent,\r\n MultiselectFieldComponent,\r\n DropdownFieldComponent,\r\n RangeValueComponent,\r\n SearchFieldComponent,\r\n RadioButtonFieldComponent,\r\n CurrencyFieldComponent,\r\n PercentageFieldComponent,\r\n FiltersComponent,\r\n TextareaFieldComponent,\r\n FieldErrorMessageComponent,\r\n SelectButtonFieldComponent,\r\n InputNumberFieldComponent,\r\n InputSwitchFieldComponent,\r\n InputOtpComponent,\r\n ],\r\n exports: [\r\n DataTableComponent,\r\n TextFieldComponent,\r\n CheckboxFieldComponent,\r\n ButtonComponent,\r\n CalendarComponent,\r\n MultiselectFieldComponent,\r\n DropdownFieldComponent,\r\n RangeValueComponent,\r\n SearchFieldComponent,\r\n RadioButtonFieldComponent,\r\n FileUploadModule,\r\n DialogModule,\r\n CurrencyFieldComponent,\r\n PercentageFieldComponent,\r\n FiltersComponent,\r\n TextareaFieldComponent,\r\n FieldErrorMessageComponent,\r\n SelectButtonFieldComponent,\r\n InputNumberFieldComponent,\r\n InputSwitchFieldComponent,\r\n InputOtpComponent,\r\n ],\r\n})\r\nexport class FieldsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { CrudFooterComponent } from './crud-footer.component';\r\n\r\n@NgModule({\r\n declarations: [CrudFooterComponent],\r\n exports: [CrudFooterComponent, TranslateModule],\r\n imports: [SharedModule, FieldsModule, TranslateModule],\r\n})\r\nexport class FooterModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Status } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-crud-header',\r\n templateUrl: './crud-header.component.html',\r\n styleUrls: ['./crud-header.component.scss'],\r\n})\r\nexport class CrudHeaderComponent implements OnInit {\r\n @Input()\r\n public statusCode?: number;\r\n @Input()\r\n public code?: number;\r\n\r\n get statusLabel() {\r\n switch (this.statusCode) {\r\n case Status.PENDING:\r\n return 'Pendente';\r\n case Status.APPROVED:\r\n return 'Ativo';\r\n case Status.REJECTED:\r\n return 'Inativo';\r\n }\r\n return '';\r\n }\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"container\">\r\n <div class=\"status-container\">\r\n <span>Status</span>\r\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\r\n </div>\r\n <div class=\"separator\"></div>\r\n <span class=\"code-label\"\r\n >Código de identificação<span class=\"code\">{{ code }}</span></span\r\n >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { CrudHeaderComponent } from './crud-header.component';\r\n\r\n@NgModule({\r\n declarations: [CrudHeaderComponent],\r\n imports: [SharedModule, BadgeModule],\r\n exports: [CrudHeaderComponent],\r\n})\r\nexport class CrudHeaderModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CrudHistory } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-crud-history',\r\n templateUrl: './crud-history.component.html',\r\n styleUrls: ['./crud-history.component.scss'],\r\n})\r\nexport class CrudHistoryComponent {\r\n @Input()\r\n public crudHistory?: CrudHistory<any>;\r\n @Output()\r\n public onClick = new EventEmitter<any>();\r\n public getHistoryBadgeBackgroundColor(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return '#CBFFAE';\r\n case 'ActionUpdate':\r\n return '#FFE6B0';\r\n case 'ActionDelete':\r\n return 'Removido';\r\n case 'ActionUpdate-OnComposition':\r\n return '#FFE6B0';\r\n case 'ActionUpdate-OnUnit':\r\n return '#FFE6B0';\r\n case 'ActionCreate-OnComposition':\r\n return '#CBFFAE';\r\n case 'ActionCancel':\r\n return '#FFE6B0';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public getHistoryBadgeColor(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return '#067306';\r\n case 'ActionUpdate':\r\n return '#946300';\r\n case 'ActionDelete':\r\n return '#6B2D2D';\r\n case 'ActionUpdate-OnComposition':\r\n return '#946300';\r\n case 'ActionUpdate-OnUnit':\r\n return '#946300';\r\n case 'ActionCreate-OnComposition':\r\n return '#067306';\r\n case 'ActionCancel':\r\n return '#946300';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public getHistoryBadgeLabel(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return 'Criado';\r\n case 'ActionUpdate':\r\n return 'Modificado';\r\n case 'ActionDelete':\r\n return 'Removido';\r\n case 'ActionUpdate-OnComposition':\r\n return 'Composição Modificada';\r\n case 'ActionUpdate-OnUnit':\r\n return 'Unidade Modificada';\r\n case 'ActionCreate-OnComposition':\r\n return 'Composição Criada';\r\n case 'ActionCancel':\r\n return 'Modificado';\r\n default:\r\n return '';\r\n }\r\n }\r\n}\r\n","<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"history-item-header-container\" (click)=\"onClick.emit()\">\r\n <div class=\"history-item-header-left\">\r\n <span id=\"color-first-span\" *ngIf=\"crudHistory.typeOfModification\">{{ crudHistory.typeOfModification }}</span>\r\n <vector-badge\r\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\r\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\r\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\r\n ></vector-badge>\r\n <span>por {{ crudHistory.modifierName }}</span>\r\n </div>\r\n <span class=\"history-item-header-right\">\r\n {{ crudHistory.dateTime | date : 'dd/MM/yyyy HH:mm' }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div *ngFor=\"let auditDelta of crudHistory.dataAuditDelta\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 md:col-6 field\">\r\n <span>{{ auditDelta.fieldName }}</span>\r\n </div>\r\n <div class=\"col-12 md:col-6 field\">\r\n <span class=\"new-value\">{{ auditDelta.newValue }}</span>\r\n <span class=\"old-value pl-1\">{{ auditDelta.oldValue }}</span>\r\n <span *ngIf=\"auditDelta.type || auditDelta.type == 0\" class=\"text-600 pl-1\">\r\n Entity: <span class=\"text-green-300\">{{ auditDelta.type }}</span>\r\n <i\r\n class=\"fas fa-info-circle text-400 text-base ch pl-1\"\r\n [pTooltip]=\"auditDelta.typeDescription\"\r\n tooltipPosition=\"top\"\r\n ></i>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-accordionTab>\r\n","import { NgModule } from '@angular/core';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { CrudHistoryComponent } from './crud-history.component';\r\n\r\n@NgModule({\r\n declarations: [CrudHistoryComponent],\r\n imports: [SharedModule, BadgeModule, AccordionModule, TooltipModule],\r\n exports: [CrudHistoryComponent],\r\n})\r\nexport class CrudHistoryModule {}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ErrorMessageService } from '../../services';\r\n\r\n@Component({\r\n selector: 'vector-generic-error-modal',\r\n templateUrl: './generic-error-modal.component.html',\r\n styleUrls: ['./generic-error-modal.component.scss'],\r\n})\r\nexport class GenericErrorModalComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public skipMessages: string[] = [];\r\n public message?: string = '';\r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(private errorService: ErrorMessageService) {\r\n this.subscription.add(\r\n this.errorService.genericModalErrorMessage$\r\n .pipe(filter((message) => !!message && !this.skipMessages.includes(message)))\r\n .subscribe((message) => {\r\n this.message = message;\r\n })\r\n );\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public close() {\r\n this.message = '';\r\n }\r\n}\r\n","<p-dialog\r\n [visible]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { GenericErrorModalComponent } from './generic-error-modal.component';\r\n@NgModule({\r\n declarations: [GenericErrorModalComponent],\r\n imports: [SharedModule, DialogModule, FieldsModule],\r\n exports: [GenericErrorModalComponent],\r\n})\r\nexport class GenericErrorModalModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GenericModalMessage } from '../../models/generic-modal.model';\r\n\r\n@Component({\r\n selector: 'vector-generic-modal',\r\n templateUrl: './generic-modal.component.html',\r\n styleUrls: ['./generic-modal.component.scss'],\r\n})\r\nexport class GenericModalComponent implements OnInit {\r\n @Input()\r\n public modalMessage: GenericModalMessage = {\r\n fileIcon: 'alert_icon',\r\n title: '',\r\n message: [],\r\n confirmButton: { label: 'Confirmar', clickFunction: () => {} },\r\n cancelButton: { label: 'Voltar', clickFunction: () => {} },\r\n };\r\n @Input()\r\n public isClosable: boolean = true;\r\n @Input()\r\n public hiddenActions: boolean = false;\r\n @Input()\r\n public linkLabel: string = '';\r\n @Input()\r\n public linkUrl: string = '';\r\n @Input()\r\n public display!: boolean;\r\n @Input()\r\n public maxWidth?: string = '';\r\n @Input()\r\n public lineBreak?: string = '';\r\n @Output()\r\n public displayChange = new EventEmitter<boolean>();\r\n @Output()\r\n public onCloseModal = new EventEmitter();\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public routerLink(url: string) {\r\n this.router.navigate([url]);\r\n }\r\n\r\n public confirm() {\r\n this.display = false;\r\n this.displayChange.emit(this.display);\r\n }\r\n\r\n public hideModal() {\r\n this.display = false;\r\n this.displayChange.emit(this.display);\r\n this.onCloseModal.emit();\r\n }\r\n}\r\n","<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"isClosable\"\r\n (onHide)=\"hideModal()\"\r\n [ngStyle]=\"{ 'max-width': maxWidth, 'line-break': lineBreak }\"\r\n>\r\n <div class=\"grid modal-generic\">\r\n <div class=\"col-12\">\r\n <img\r\n *ngIf=\"modalMessage.fileIcon\"\r\n class=\"flex mx-auto mb-3\"\r\n [ngClass]=\"!isClosable ? 'mt-4' : ''\"\r\n src=\"assets/images/{{ modalMessage.fileIcon }}.svg\"\r\n />\r\n <h1 *ngIf=\"modalMessage.title\">{{ modalMessage.title }}</h1>\r\n <p *ngFor=\"let text of modalMessage.message\" [innerHTML]=\"text\"></p>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"linkLabel\" class=\"grid mt-2 justify-content-center\">\r\n <div class=\"col-12 md:col-6\">\r\n <vector-button [label]=\"linkLabel\" (click)=\"routerLink(linkUrl)\"></vector-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!hiddenActions\" class=\"grid mt-2 justify-content-center\">\r\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.cancelButton\">\r\n <vector-button\r\n (onClick)=\"modalMessage.cancelButton && modalMessage.cancelButton.clickFunction()\"\r\n [label]=\"modalMessage.cancelButton.label\"\r\n [type]=\"modalMessage.cancelButton.type ? modalMessage.cancelButton.type : 'default'\"\r\n ></vector-button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.confirmButton\">\r\n <vector-button\r\n (onClick)=\"modalMessage.confirmButton && modalMessage.confirmButton.clickFunction()\"\r\n [label]=\"modalMessage.confirmButton.label\"\r\n [type]=\"modalMessage.confirmButton.type ? modalMessage.confirmButton.type : 'default-filled'\"\r\n ></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { GenericModalComponent } from './generic-modal.component';\r\n\r\n@NgModule({\r\n declarations: [GenericModalComponent],\r\n exports: [GenericModalComponent],\r\n imports: [DialogModule, FieldsModule, SharedModule],\r\n})\r\nexport class GenericModalModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-sub-menus-list',\r\n templateUrl: './sub-menus-list.component.html',\r\n styleUrls: ['./sub-menus-list.component.scss'],\r\n})\r\nexport class SubMenusListComponent {\r\n @Input()\r\n public showList = false;\r\n @Input()\r\n public options: MenuItem[] | undefined;\r\n @Input()\r\n public childLevel = 1;\r\n @Input()\r\n public submenuSelected: MenuItem | undefined;\r\n @Output()\r\n public submenuSelectedChange = new EventEmitter<MenuItem>();\r\n\r\n public submenuClick(option: MenuItem) {\r\n if (!option.alwaysOpen) {\r\n if (this.submenuSelected?.id === option.id) {\r\n this.submenuSelected = undefined;\r\n } else {\r\n this.submenuSelected = option.children?.length ? option : undefined;\r\n }\r\n this.submenuSelectedChange.emit(option);\r\n }\r\n }\r\n\r\n public get paddingLeft() {\r\n return this.childLevel * 10 + 'px';\r\n }\r\n}\r\n","<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, HostListener, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { APP_NAME, ENVIRONMENT } from '../../injections';\r\nimport { AppName, MenuItem, Role } from '../../models';\r\nimport { VectorApp } from '../../models/vector-app.model';\r\nimport { MenuService, ProfileService, StorageService } from '../../services';\r\n\r\n@Component({\r\n selector: 'vector-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n animations: [\r\n trigger('sideInOut', [state('in', style({ width: '60px' })), state('out', style({ width: '250px' }))]),\r\n trigger('fadeInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n width: '0%',\r\n 'font-size': '0em',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n 'font-size': '1em',\r\n width: '100%',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n trigger('fadeSearchInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n width: '0%',\r\n 'font-size': '0em',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n 'font-size': '1em',\r\n width: '100%',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n trigger('submenuFadeInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n height: '0%',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n height: 'fit-content',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n ],\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n public options: MenuItem[] = [];\r\n public activeOption: MenuItem | undefined;\r\n public activeSubmenuOption: MenuItem | undefined;\r\n public widthStyle = { width: '250px' };\r\n public lastAnimation = 'out';\r\n public appNameLabel = this.environment.appName;\r\n public adminOption: MenuItem | undefined;\r\n public appsEnum = AppName;\r\n public production = this.environment.production;\r\n @Output() onFinishMenuOptionsConfig = new EventEmitter<any>();\r\n\r\n set opened(opened: boolean) {\r\n this._opened = opened;\r\n this.menuService.menuOpened$.next(this.opened);\r\n }\r\n\r\n public get opened() {\r\n return this._opened;\r\n }\r\n\r\n public get hasFintechAdminPermission() {\r\n return this.profileService.hasFintechAdminPermission;\r\n }\r\n\r\n public get hasMarketplaceAdminPermission() {\r\n return this.profileService.hasMarketplaceAdminPermission;\r\n }\r\n\r\n public get hasAnyMarketplacePermission() {\r\n return this.profileService.hasAnyMarketplacePermission;\r\n }\r\n\r\n public get hasAnyFintechPermission() {\r\n return this.profileService.hasAnyFintechPermission;\r\n }\r\n\r\n @Input()\r\n public accountService: any;\r\n @Input()\r\n public apps: VectorApp[] = [];\r\n\r\n private _opened = true;\r\n private subscription = new Subscription();\r\n private currentWindowWidth: number = 0;\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private router: Router,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n @Inject(ENVIRONMENT) private environment: any,\r\n @Inject(APP_NAME) private currentApp: string\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.menuService.toggleMenu$.subscribe(() => {\r\n this.toggleMenu();\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.profileService.moduleProfile$.subscribe((profile) => {\r\n if (profile) {\r\n const role = this.storageService.getRole();\r\n this.options =\r\n role === Role.ADMIN\r\n ? this.menuService.getSideAdminMenuOptions()\r\n : this.menuService.getSideMainMenuOptions();\r\n\r\n if (this.hasFintechAdminPermission || this.hasMarketplaceAdminPermission) {\r\n this.adminOption = {\r\n id: `${99999}`,\r\n label: 'Admin Fintech',\r\n iconFileName: 'vector_admin_icon',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\r\n },\r\n };\r\n\r\n if (this.hasFintechAdminPermission) {\r\n this.adminOption.children?.push({\r\n id: `${999991}`,\r\n label: 'Admin Fintech',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\r\n },\r\n hidden: !this.hasFintechAdminPermission,\r\n });\r\n }\r\n\r\n if (this.hasMarketplaceAdminPermission) {\r\n this.adminOption.children?.push({\r\n id: `${999992}`,\r\n label: 'Admin Marketplace',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.MARKETPLACE, isAdmin: true });\r\n },\r\n hidden: !this.hasMarketplaceAdminPermission,\r\n });\r\n }\r\n }\r\n this.onFinishMenuOptionsConfig.emit(null);\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.menuService.frameUrl$.subscribe((frameUrl) => {\r\n if (frameUrl) {\r\n this.storageService.setSession('frameUrl', frameUrl);\r\n } else {\r\n this.storageService.removeSession('frameUrl');\r\n }\r\n })\r\n );\r\n\r\n const frameUrlFromStorage = this.storageService.getSession('frameUrl');\r\n if (frameUrlFromStorage) {\r\n this.menuService.frameUrl$.next(frameUrlFromStorage);\r\n }\r\n\r\n this.currentWindowWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n if (this.opened && this.currentWindowWidth !== window.innerWidth) {\r\n this.clearAndCloseMenu();\r\n }\r\n this.currentWindowWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n handleKeyboardEvent() {\r\n this.toggleMenu();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public toggleMenu() {\r\n this.opened = !this.opened;\r\n if (!this.opened) {\r\n this.activeOption = undefined;\r\n this.activeSubmenuOption = undefined;\r\n }\r\n this.resizeMenu();\r\n }\r\n\r\n public onMenuClick(option: MenuItem) {\r\n if (!option.alwaysOpen) {\r\n if (this.activeOption?.id === option.id) {\r\n this.activeOption = undefined;\r\n } else {\r\n this.activeOption = option.children?.length ? option : undefined;\r\n }\r\n if (option.frameUrl) {\r\n this.menuService.frameUrl$.next(option.frameUrl);\r\n } else if (option.route) {\r\n this.router.navigate([option.route]);\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (option.externalUrl) {\r\n window.open(option.externalUrl, '_blank');\r\n this.menuService.frameUrl$.next(undefined);\r\n }\r\n if (option.children?.length && !this.opened) {\r\n this.toggleMenu();\r\n }\r\n this.activeSubmenuOption = undefined;\r\n }\r\n }\r\n\r\n public onSubmenuClick(submenuItem: MenuItem) {\r\n if (!submenuItem.alwaysOpen) {\r\n if (this.activeSubmenuOption?.id === submenuItem?.id) {\r\n this.activeSubmenuOption = undefined;\r\n } else {\r\n this.activeSubmenuOption = submenuItem.children?.length ? submenuItem : undefined;\r\n }\r\n if (submenuItem.frameUrl) {\r\n this.menuService.frameUrl$.next(submenuItem.frameUrl);\r\n } else if (submenuItem.route) {\r\n this.router.navigate([submenuItem.route]);\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (submenuItem.externalUrl) {\r\n window.open(submenuItem.externalUrl, '_blank');\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (submenuItem.command) {\r\n submenuItem.command();\r\n this.menuService.frameUrl$.next(undefined);\r\n }\r\n }\r\n }\r\n\r\n public openTermsOfUse() {\r\n this.accountService.termsOfUse$.next();\r\n }\r\n\r\n public isPortalSelected(portal: AppName) {\r\n return this.currentApp === portal;\r\n }\r\n\r\n public navigateToPortal(params: Partial<VectorApp>) {\r\n this.activeOption = undefined;\r\n this.activeSubmenuOption = undefined;\r\n this.menuService.navigateToPortal(params);\r\n }\r\n\r\n public getMenuNotificationsCount(menu: MenuItem) {\r\n return this.menuService.menuNotifications[menu.id || ''];\r\n }\r\n\r\n private clearAndCloseMenu(): void {\r\n this.opened = false;\r\n this.activeOption = undefined;\r\n this.resizeMenu();\r\n }\r\n\r\n private resizeMenu() {\r\n this.lastAnimation = this.opened ? 'out' : 'in';\r\n this.widthStyle = { width: this.opened ? '250px' : '60px' };\r\n this.activeSubmenuOption = undefined;\r\n }\r\n}\r\n","<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELEÇÃO DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <ng-container *ngIf=\"apps.length\">\r\n <li *ngFor=\"let app of apps\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(app.appName) }\"\r\n (click)=\"navigateToPortal(app)\"\r\n >\r\n <div class=\"icon-container selected-portal-item {{ app.className }}\"></div>\r\n <span class=\"menu-label\">{{ app.description }}</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!apps.length\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.LOGTECH, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.FINTECH) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Conta digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.MARKETPLACE, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combustível</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: true })\"\r\n >\r\n <div class=\"icon-container selected-portal-item admin\"></div>\r\n <span class=\"menu-label\">Admin Fintech</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <a>\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" (click)=\"openTermsOfUse()\" class=\"menu-icon\" />\r\n </a>\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a (click)=\"openTermsOfUse()\">Política de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n","import { NgModule } from '@angular/core';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MenuComponent } from './menu.component';\r\nimport { SubMenusListComponent } from './sub-menus-list/sub-menus-list.component';\r\n\r\n@NgModule({\r\n declarations: [MenuComponent, SubMenusListComponent],\r\n exports: [MenuComponent],\r\n imports: [SharedModule, OverlayPanelModule],\r\n})\r\nexport class MenuModule {}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'vector-stepper',\r\n templateUrl: './stepper.component.html',\r\n styleUrls: ['./stepper.component.scss'],\r\n})\r\nexport class StepperComponent implements AfterViewInit {\r\n @Input()\r\n public steps: MenuItem[] = [];\r\n @Input()\r\n public navigable = false;\r\n @Input()\r\n public activeIndex = 0;\r\n @Output()\r\n public activeIndexChange = new EventEmitter<number>();\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n const stepsNumbers: HTMLSpanElement[] = this.elementRef.nativeElement.getElementsByClassName('p-steps-number');\r\n let index = 0;\r\n for (let element of stepsNumbers) {\r\n const step = this.steps[index];\r\n if (step.styleClass === 'checked') {\r\n element.innerHTML = `<span class=\"fas fa-check\"></span>`;\r\n }\r\n if (step.icon) {\r\n element.innerHTML = `<span class=\"${step.icon}\"></span>`;\r\n }\r\n if (step.disabled) {\r\n element.classList.add('disabled');\r\n }\r\n index++;\r\n }\r\n }\r\n\r\n onActiveIndexChange(index: number) {\r\n this.activeIndexChange.emit(index);\r\n }\r\n}\r\n","<div class=\"wrapper\">\r\n <p-steps\r\n [model]=\"steps\"\r\n [readonly]=\"!navigable\"\r\n [activeIndex]=\"activeIndex\"\r\n (activeIndexChange)=\"onActiveIndexChange($event)\"\r\n >\r\n ></p-steps\r\n >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { StepperComponent } from './stepper.component';\r\n\r\n@NgModule({\r\n declarations: [StepperComponent],\r\n exports: [StepperComponent],\r\n imports: [SharedModule, StepsModule],\r\n})\r\nexport class StepperModule {}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { Role, VectorNotification } from '../../models';\r\nimport { HelpCentralIconOptionsType } from '../../models/topbar.model';\r\nimport { AuthService, ErrorMessageService, MenuService, ProfileService, StorageService } from '../../services';\r\nimport { NotificationsService } from '../../services/notifications.service';\r\nimport { MaskUtil, WindowUtil } from '../../utils';\r\n\r\n@Component({\r\n selector: 'vector-top-bar',\r\n templateUrl: './top-bar.component.html',\r\n styleUrls: ['./top-bar.component.scss'],\r\n})\r\nexport class TopBarComponent implements OnInit, OnDestroy {\r\n public hideElements = false;\r\n public openedMenu = false;\r\n public openedChangeAccountMenu = false;\r\n public showNotifications = false;\r\n public doingOnboarding = false;\r\n\r\n public vectorFirstName: any;\r\n public currentAccount: any = {};\r\n public isAdmin = false;\r\n public otherAccounts: any[] = [];\r\n public maskUtil = MaskUtil;\r\n\r\n @Input()\r\n public fintech: boolean = false;\r\n @Input()\r\n public accountService: any;\r\n @Input()\r\n public showHelpCentral = false;\r\n public helpCentralIcons: HelpCentralIconOptionsType[] = [\r\n {\r\n icon: 'fab fa-whatsapp',\r\n url: 'https://api.whatsapp.com/send?phone=5521971551188&text=ol%C3%A1',\r\n active: true,\r\n },\r\n {\r\n icon: 'pi pi-phone',\r\n url: 'tel:552120423017',\r\n active: true,\r\n },\r\n {\r\n icon: 'far fa-envelope',\r\n url: 'mailto:suporte@vectorapp.com.br',\r\n active: true,\r\n },\r\n {\r\n icon: 'far fa-question-circle',\r\n url: '',\r\n active: false,\r\n },\r\n ];\r\n\r\n @Output() onClick = new EventEmitter<string>();\r\n\r\n public notificationsList: VectorNotification[] = [];\r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private authService: AuthService,\r\n private router: Router,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n private notificationsService: NotificationsService,\r\n private errorMessageService: ErrorMessageService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.profileService.profileFirstName$.subscribe((value) => {\r\n this.vectorFirstName = value;\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.menuService.menuOpened$.subscribe((hasOpened) => {\r\n this.hideElements = hasOpened;\r\n })\r\n );\r\n\r\n if (this.accountService) {\r\n this.subscription.add(\r\n this.accountService.currentAccount$.subscribe((account: any) => {\r\n this.currentAccount = account;\r\n if (this.currentAccount) {\r\n const str = `${this.currentAccount.accountNumber}`;\r\n const len = str.length;\r\n const accountWithHyfen = str.substring(0, len - 1) + '-' + str.substring(len - 1);\r\n this.currentAccount.accountNumber = accountWithHyfen;\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.accountService?.userAccounts$.subscribe((accounts: any) => {\r\n this.otherAccounts = accounts?.filter((acc: any) => acc.uuid !== this.currentAccount?.uuid) || [];\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.accountService.onOnboarding$.subscribe((onOnboarding: any) => {\r\n setTimeout(() => {\r\n this.doingOnboarding = onOnboarding;\r\n });\r\n })\r\n );\r\n }\r\n\r\n this.subscription.add(\r\n this.authService.role$.subscribe((role) => {\r\n this.isAdmin = role === Role.ADMIN;\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.notificationsService.notifications$.subscribe((notifications) => {\r\n this.notificationsList = notifications;\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public toggleMenu() {\r\n this.menuService.toggleMenu$.next();\r\n }\r\n\r\n public logout() {\r\n this.authService.logout();\r\n }\r\n\r\n public isDesktop() {\r\n return WindowUtil.isDesktop();\r\n }\r\n\r\n public changeAccount(newAccount: any) {\r\n if (newAccount.isBlocked) {\r\n this.errorMessageService.genericModalErrorMessage$.next('Entre em contato com a central de atendimento');\r\n return;\r\n }\r\n\r\n this.storageService.set('linkedCnpj', newAccount.customerDocument);\r\n this.accountService.currentAccount$.next(newAccount);\r\n window.location.reload();\r\n }\r\n\r\n public goToTermsOfUse() {\r\n this.accountService.termsOfUse$.next();\r\n }\r\n\r\n public goToPasswordChange() {\r\n this.router.navigate(['password', 'recover'], { queryParams: { change: true } });\r\n }\r\n\r\n public goToTariff() {\r\n this.router.navigate(['fintech/under-construction']);\r\n }\r\n public goToOnboarding() {\r\n this.router.navigate(['onboarding', 'attorney-information']);\r\n }\r\n\r\n public handleClick(link: string | undefined) {\r\n this.onClick.emit(link || '');\r\n }\r\n}\r\n","<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MenuModule } from '../menu';\r\nimport { TopBarComponent } from './top-bar.component';\r\n\r\n@NgModule({\r\n declarations: [TopBarComponent],\r\n exports: [TopBarComponent],\r\n imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule],\r\n})\r\nexport class TopBarModule {}\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport const crudListHasItemsGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const serviceType = routeSnapshot.data['service'];\r\n if (!serviceType) {\r\n console.error('You forgot to add the service declaration to route \"data\" property.');\r\n return false;\r\n }\r\n const service: typeof serviceType = inject(serviceType);\r\n return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { APP_NAME } from '../injections';\r\nimport { AppName, Role } from '../models';\r\nimport { AuthService, ProfileService, StorageService } from '../services';\r\n\r\nexport const getTokenByGuidGuard = (route: ActivatedRouteSnapshot) => {\r\n const authService: AuthService = inject(AuthService);\r\n const storageService: StorageService = inject(StorageService);\r\n const router: Router = inject(Router);\r\n const profileService: ProfileService = inject(ProfileService);\r\n const appName: AppName = inject(APP_NAME);\r\n\r\n const paramTokenGuid = route.queryParams['Token'];\r\n const role = atob(route.queryParams['role'] || '') as Role;\r\n authService.role$.next(role);\r\n if (paramTokenGuid) {\r\n storageService.clear();\r\n storageService.setRole(route.queryParams['role']);\r\n storageService.setUserId(route.queryParams['userId']);\r\n return authService.getTokenByGuid(paramTokenGuid).pipe(\r\n switchMap((token) => {\r\n if (token && role !== Role.ADMIN) {\r\n router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return profileService.getUserInfo().pipe(\r\n map((response) => {\r\n if (response.id) {\r\n storageService.setUserId(response.id);\r\n }\r\n return true;\r\n })\r\n );\r\n })\r\n );\r\n } else if (storageService.getToken()) {\r\n if (role !== Role.ADMIN) {\r\n return router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return true;\r\n }\r\n authService.logout();\r\n return false;\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { APP_NAME } from '../injections';\r\nimport { AppName } from '../models';\r\nimport { ProfileService } from '../services';\r\n\r\nexport const hasPermissionGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const profileService: ProfileService = inject(ProfileService);\r\n const router: Router = inject(Router);\r\n const appName: AppName = inject(APP_NAME);\r\n const hasPermission = profileService.userHasPermission(routeSnapshot.data['permission']);\r\n\r\n if (!hasPermission) {\r\n return router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return true;\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { Role } from '../models';\r\nimport { StorageService } from '../services';\r\n\r\nexport const roleGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const storageService: StorageService = inject(StorageService);\r\n const router: Router = inject(Router);\r\n const isRoleAdmin = storageService.getRole() === Role.ADMIN;\r\n\r\n if ((routeSnapshot.data['adminView'] && isRoleAdmin) || (!routeSnapshot.data['adminView'] && !isRoleAdmin)) {\r\n return true;\r\n }\r\n return router.createUrlTree(['']);\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { AuthService, StorageService } from '../services';\r\n\r\nexport const tokenIsPresentGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const storageService: StorageService = inject(StorageService);\r\n const authService: AuthService = inject(AuthService);\r\n\r\n if (routeSnapshot.queryParams['tokenGuid']) {\r\n return firstValueFrom(authService.getTokenByGuid(routeSnapshot.queryParams['tokenGuid'])).then(\r\n (response) => !!response.accessToken\r\n );\r\n } else {\r\n return !!storageService.getToken();\r\n }\r\n};\r\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, filter, switchMap, take, tap } from 'rxjs/operators';\r\nimport { ENVIRONMENT } from '../injections';\r\nimport { MessageStatus } from '../models';\r\nimport { AuthService, ErrorMessageService, LoadingService, StorageService } from '../services';\r\n\r\n@Injectable()\r\nexport class HttpInterceptorProvider implements HttpInterceptor {\r\n private activeRequests: string[] = [];\r\n private isRefreshing = false;\r\n private refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);\r\n constructor(\r\n private storageService: StorageService,\r\n private errorMessageService: ErrorMessageService,\r\n private loadingService: LoadingService,\r\n private authService: AuthService,\r\n private messageService: MessageService,\r\n @Inject(ENVIRONMENT) private environment: any\r\n ) {}\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const isExternalUrl = request.headers.get('external-url');\r\n\r\n if (!this.isRefreshTokenRequest(request.url)) {\r\n if (!isExternalUrl) {\r\n request = this.addTokenIfPresent(request);\r\n request = this.addEncryptPasswordIfPresent(request);\r\n request = this.addAccountUuidIfPresent(request);\r\n request = this.addModifierIdIfPresent(request);\r\n request = this.addContentType(request);\r\n }\r\n }\r\n\r\n if (!isExternalUrl) {\r\n request = this.fixUrl(request);\r\n }\r\n\r\n const noSpinnerHeader = request.headers.get('no-spinner');\r\n if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {\r\n this.loadingService.loading$.next(true);\r\n this.activeRequests.push(this.getUrlWithoutParams(request.url));\r\n }\r\n\r\n return next.handle(request).pipe(\r\n catchError((response: HttpErrorResponse) => {\r\n if (response.error?.messages?.length) {\r\n this.errorMessageService.genericModalErrorMessage$.next(\r\n response.error.messages[response.error.messages.length - 1]\r\n );\r\n }\r\n if (!this.isRefreshTokenRequest(request.url)) {\r\n if (response.status === 401) {\r\n return this.handle401Error(request, next);\r\n }\r\n if (response.status === 403) {\r\n this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');\r\n } else {\r\n if (!isExternalUrl) {\r\n if (typeof response.error == 'string') {\r\n this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });\r\n }\r\n }\r\n }\r\n }\r\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\r\n this.activeRequests.splice(\r\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\r\n 1\r\n );\r\n if (!this.activeRequests.length) {\r\n this.loadingService.loading$.next(false);\r\n }\r\n }\r\n\r\n return throwError(() => response);\r\n }),\r\n tap((response) => {\r\n if (response instanceof HttpResponse) {\r\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\r\n this.activeRequests.splice(\r\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\r\n 1\r\n );\r\n if (!this.activeRequests.length) {\r\n this.loadingService.loading$.next(false);\r\n }\r\n }\r\n\r\n if (\r\n Object(response.body).hasOwnProperty('statusCode') &&\r\n response.body.statusCode === 400 &&\r\n response.body.messages?.length\r\n ) {\r\n this.errorMessageService.genericModalErrorMessage$.next(\r\n response.body.messages[response.body.messages.length - 1]\r\n );\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n private isRefreshTokenRequest(url: string) {\r\n return url.includes('connect/token');\r\n }\r\n\r\n private getUrlWithoutParams(fullUrl: string | null): string {\r\n if (!fullUrl) {\r\n return '';\r\n }\r\n\r\n const decodedUrl = decodeURIComponent(fullUrl.trim());\r\n\r\n if (!decodedUrl.includes('?')) {\r\n return decodedUrl;\r\n }\r\n\r\n return decodedUrl.substring(0, decodedUrl.indexOf('?'));\r\n }\r\n\r\n private addTokenIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const token = this.storageService.getToken();\r\n if (token) {\r\n request = request.clone({ setHeaders: { Authorization: token } });\r\n }\r\n return request;\r\n }\r\n\r\n private addModifierIdIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const modifierId = this.storageService.getUserId();\r\n if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {\r\n request = request.clone({ body: { ...request.body, modifierId } });\r\n }\r\n return request;\r\n }\r\n\r\n private addEncryptPasswordIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const encriptPassword = this.storageService.get('encryptPassword');\r\n if (request.method !== 'GET' && encriptPassword) {\r\n if (request.body instanceof FormData) {\r\n request.body.append('encriptPassword', encriptPassword);\r\n } else {\r\n request = request.clone({ body: { ...request.body, encriptPassword } });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n private addAccountUuidIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const accountUuid = this.storageService.get('accountUuid');\r\n if (request.method !== 'GET' && accountUuid) {\r\n if (request.body instanceof FormData) {\r\n request.body.append('accountUuid', accountUuid);\r\n } else {\r\n request = request.clone({ body: { ...request.body, accountUuid } });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n private addContentType(request: HttpRequest<any>): HttpRequest<any> {\r\n return request.clone({ setHeaders: { contentType: 'application/json' } });\r\n }\r\n\r\n private fixUrl(request: HttpRequest<any>): HttpRequest<any> {\r\n if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {\r\n return request.clone({\r\n url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,\r\n });\r\n }\r\n return request.clone({\r\n url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,\r\n });\r\n }\r\n\r\n private isAuthRequest(url: string) {\r\n return url.includes('connect/token');\r\n }\r\n\r\n private isProfilesRequest(url: string) {\r\n return url.includes('connect/userinfo');\r\n }\r\n\r\n private handle401Error(request: HttpRequest<any>, next: HttpHandler) {\r\n if (!this.isRefreshing) {\r\n this.isRefreshing = true;\r\n this.refreshTokenSubject.next(null);\r\n\r\n const refreshToken = this.storageService.getRefreshToken();\r\n if (refreshToken) {\r\n return this.authService.getTokenByRefreshToken(refreshToken).pipe(\r\n switchMap((token: any) => {\r\n this.isRefreshing = false;\r\n this.refreshTokenSubject.next(this.storageService.getToken());\r\n return next.handle(this.addTokenIfPresent(request));\r\n }),\r\n catchError((err) => {\r\n this.isRefreshing = false;\r\n this.authService.logout();\r\n return throwError(() => err);\r\n })\r\n );\r\n } else {\r\n this.isRefreshing = false;\r\n this.authService.logout();\r\n return throwError(() => new Error());\r\n }\r\n }\r\n\r\n return this.refreshTokenSubject.pipe(\r\n filter((token) => token !== null),\r\n take(1),\r\n switchMap((token) => next.handle(this.addTokenIfPresent(request)))\r\n );\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport const getSelectedCrudItemResolver = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const serviceType = routeSnapshot.data['service'];\r\n if (!serviceType) {\r\n console.error('You forgot to add the service declaration to route \"data\" property.');\r\n return undefined;\r\n }\r\n const service: typeof serviceType = inject(serviceType);\r\n if (service.dataset$.value?.data?.length) {\r\n return service.dataset$.value.data.find((item: any) => item.id == routeSnapshot.params['id']);\r\n }\r\n if (service.flatUnpagedDataset$.value?.length) {\r\n return service.flatUnpagedDataset$.value.find((item: any) => item.id == routeSnapshot.params['id']);\r\n }\r\n return undefined;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.RemoveLastChildPipe","i2.ButtonComponent","i3","PrimeNgPanel","i2.StorageService","i2.ProfileService","i1.ProfileService","i4.AuthService","i1.ModalService","i5.FieldErrorMessageComponent","i4","i6.ButtonComponent","i7.FieldErrorMessageComponent","i5","i5.TextFieldComponent","i7.CalendarComponent","i8.MultiselectFieldComponent","i9.DropdownFieldComponent","i10.CurrencyFieldComponent","i11.SelectButtonFieldComponent","i12.NotHiddenPipe","i13","i3.PanelComponent","i5.BadgeComponent","i6.ScoreComponent","i9.ButtonComponent","i10.FiltersComponent","i11","i3.FieldErrorMessageComponent","i1.TextFieldComponent","MenuModule","i1.BadgeComponent","i3.BadgeComponent","i1.ErrorMessageService","i3.ButtonComponent","i1.MenuService","i1.StorageService","i5.SubMenusListComponent","i1.AuthService","i3.NotificationsService","i7","i8.FormatDocumentPipe","i9.UnreadNotificationsPipe","i10"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-vector-components.mjs","sources":["../../../projects/ngx-vector-components/src/lib/models/app-name.enum.ts","../../../projects/ngx-vector-components/src/lib/models/boolean-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/crud-history.model.ts","../../../projects/ngx-vector-components/src/lib/models/crud-mode.enum.ts","../../../projects/ngx-vector-components/src/lib/models/data-table.model.ts","../../../projects/ngx-vector-components/src/lib/models/document-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/message-status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/profile.model.ts","../../../projects/ngx-vector-components/src/lib/models/role.enum.ts","../../../projects/ngx-vector-components/src/lib/models/status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/view.enum.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.html","../../../projects/ngx-vector-components/src/lib/pipes/currency-brl.pipe.ts","../../../projects/ngx-vector-components/src/lib/utils/cpf-cnpj-validator.util.ts","../../../projects/ngx-vector-components/src/lib/utils/file.util.ts","../../../projects/ngx-vector-components/src/lib/utils/mask.util.ts","../../../projects/ngx-vector-components/src/lib/utils/object.util.ts","../../../projects/ngx-vector-components/src/lib/utils/string.util.ts","../../../projects/ngx-vector-components/src/lib/utils/validation.util.ts","../../../projects/ngx-vector-components/src/lib/utils/window.util.ts","../../../projects/ngx-vector-components/src/lib/pipes/format-document.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/mask.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/not-hidden.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/only-active.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/remove-last-child.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/unread-notifications.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/pipes.module.ts","../../../projects/ngx-vector-components/src/lib/shared/shared.module.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.module.ts","../../../projects/ngx-vector-components/src/lib/injections/index.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.html","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-base/crud-base.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.ts","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.module.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.html","../../../projects/ngx-vector-components/src/lib/components/score/score.module.ts","../../../projects/ngx-vector-components/src/lib/services/auth.service.ts","../../../projects/ngx-vector-components/src/lib/services/crud-base.service.ts","../../../projects/ngx-vector-components/src/lib/services/enum.service.ts","../../../projects/ngx-vector-components/src/lib/services/error-message.service.ts","../../../projects/ngx-vector-components/src/lib/services/geolocation.service.ts","../../../projects/ngx-vector-components/src/lib/services/loading.service.ts","../../../projects/ngx-vector-components/src/lib/services/storage.service.ts","../../../projects/ngx-vector-components/src/lib/services/profile.service.ts","../../../projects/ngx-vector-components/src/lib/services/menu.service.ts","../../../projects/ngx-vector-components/src/lib/services/modal.service.ts","../../../projects/ngx-vector-components/src/lib/services/notifications.service.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.html","../../../projects/ngx-vector-components/src/lib/models/currency.enum.ts","../../../projects/ngx-vector-components/src/lib/models/locale.enum.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/fields.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.module.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.html","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.module.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.html","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.module.ts","../../../projects/ngx-vector-components/src/lib/guards/crud-list-has-items.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/get-token-by-guid.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/has-permission.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/role.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/token-is-present.guard.ts","../../../projects/ngx-vector-components/src/lib/interceptors/http-interceptor.ts","../../../projects/ngx-vector-components/src/lib/resolvers/get-selected-crud-item.resolver.ts","../../../projects/ngx-vector-components/src/ngx-vector-components.ts"],"sourcesContent":["export enum AppName {\r\n PORTAL = 'PORTAL',\r\n FINTECH = 'FINTECH',\r\n MARKETPLACE = 'MARKETPLACE',\r\n LOGTECH = 'LOGTECH',\r\n SURVEY = 'SURVEY',\r\n PRODUCER_PORTAL = 'PRODUCER_PORTAL',\r\n}\r\n","export enum BooleanType {\r\n YES = 'YES',\r\n NO = 'NO',\r\n}\r\n","export class CrudHistory<T> {\r\n auditId?: number;\r\n dataAuditDelta?: DataAuditDelta[];\r\n dateTime?: Date;\r\n entityType?: number;\r\n eventType?: string;\r\n modifierName?: string;\r\n typeOfModification?: string;\r\n}\r\n\r\nexport type DataAuditDelta = {\r\n fieldName?: string;\r\n newValue?: string;\r\n oldValue?: string;\r\n type?: number | string;\r\n typeDescription?: string;\r\n};\r\n","export enum CrudMode {\r\n NEW,\r\n EDIT,\r\n VIEW,\r\n}\r\n","import { MenuItem } from 'primeng/api';\r\nimport { ListItem } from './list-item.model';\r\nimport { Status } from './status.enum';\r\n\r\nexport type DataTableBaseItem = {\r\n actions?: MenuItem[];\r\n};\r\n\r\nexport enum TableColumnType {\r\n TEXT = 'TEXT',\r\n BOOLEAN = 'BOOLEAN',\r\n DATE = 'DATE',\r\n DATETIME = 'DATETIME',\r\n ENUM = 'ENUM',\r\n STATUS_BADGE = 'STATUS_BADGE',\r\n ACTIVE_BOOLEAN_BADGE = 'ACTIVE_BOOLEAN_BADGE',\r\n BUTTON = 'BUTTON',\r\n CUSTOM_STYLE = 'CUSTOM_STYLE',\r\n MASK = 'MASK',\r\n TEXT_BADGE = 'TEXT_BADGE',\r\n STACK_BADGE = 'STACK_BADGE',\r\n CURRENCY = 'CURRENCY',\r\n SCORE = 'SCORE',\r\n}\r\n\r\nexport type TableColumn = {\r\n header: string;\r\n field: string;\r\n width?: string;\r\n type?: TableColumnType;\r\n textFieldClass?: string;\r\n getEnumTranslated?: (enumVal: any) => string;\r\n getStatus?: (value: any) => Status;\r\n clickFunction?: Function;\r\n icon?: string;\r\n notSortable?: boolean;\r\n mask?: string;\r\n currencyType?: 'USD' | 'BRL';\r\n};\r\n\r\nexport type DataTableLazyLoadEvent = {\r\n start: number;\r\n length: number;\r\n draw: number;\r\n page: number;\r\n order: { column: number; dir: 'asc' | 'desc' }[];\r\n columns: {\r\n data: string;\r\n name: string;\r\n orderable: boolean;\r\n search: { value: string; regex: boolean };\r\n searchable: boolean;\r\n }[];\r\n search: { value: string; regex: boolean };\r\n tab: ListItem;\r\n};\r\n\r\nexport enum SelectionType {\r\n CHECKBOX = 'checkbox',\r\n RADIOBUTTON = 'radiobutton',\r\n}\r\n","export enum DocumentType {\r\n CPF,\r\n CNPJ,\r\n}\r\n","export enum MessageStatus {\r\n SUCCESS = 'success',\r\n INFO = 'info',\r\n WARN = 'warn',\r\n ERROR = 'error',\r\n}\r\n","import { DataTableBaseItem } from './data-table.model';\r\n\r\nexport type Profile = {\r\n id: number;\r\n name: string;\r\n profileTypeId: number;\r\n ProfileTypeName: string;\r\n modules: ProfileModule[];\r\n active: boolean;\r\n} & DataTableBaseItem;\r\n\r\nexport enum ProfileTypeEnum {\r\n SHIPPER = 1,\r\n SUPER_USER,\r\n CARRIER,\r\n DRIVER,\r\n SHIPPER_INTEGRATION,\r\n BATCHES,\r\n}\r\n\r\nexport type ProfileModule = {\r\n menu: string;\r\n actions: ProfileModuleAction[];\r\n} & ProfileModuleBase;\r\n\r\nexport type ProfileModuleGroupedByMenu = {\r\n menu: string;\r\n modules: ProfileModule[];\r\n children?: ProfileModuleGroupedByMenu[];\r\n};\r\n\r\nexport type ProfileModuleAction = {} & ProfileModuleBase;\r\n\r\nexport type ProfileModuleBase = {\r\n id: number;\r\n name: string;\r\n isAvailable?: boolean;\r\n};\r\n\r\nexport enum ProfileModuleType {\r\n OPERATIONAL_EVALUATION = 'OperationalEvaluation',\r\n ADMIN_SURVEYS = 'AdminSurveys',\r\n DIGITAL_DISCHARGE = 'Quitação Digital',\r\n REGISTER_OPERATION = 'RegisterOperation',\r\n REGISTER_PRODUCTS = 'RegisterProduct',\r\n ADMIN_NPS = 'NPS',\r\n COCKPIT = 'Cockpit',\r\n VALIDATIONS_CARGO_MATCH = 'ValidationsCargoMatch',\r\n PAYMENT_FREIGHT = 'Pagamento De Frete',\r\n FREIGHT_ADJUST = 'FreightAdjust',\r\n PUBLISH_FREIGHT = 'PublishFreight',\r\n APPROVE_FREIGHT = 'ApproveFreight',\r\n REGISTER_JUSTICATIVE = 'RegisterJustificative',\r\n BANK_EXTERNAL = 'BancoExterno',\r\n PAYMENT_SCHEDULING = 'Agendamento De Pagamento',\r\n DICHARGE_CONTROL_PANEL = 'DischargeControlPanel',\r\n CARD_CONTROL = 'Cartão digital',\r\n VECTOR_PAY_STATEMENT = 'VectorPayStatement',\r\n}\r\n\r\nexport enum ProfileModuleActionType {\r\n ADD_VEHICLE = 'Add Vehicle',\r\n EDIT_VEHICLE = 'Edit Vehicle',\r\n DELETE_VEHICLE = 'Delete Vehicle',\r\n SHOW_VEHICLE = 'Show Vehicle',\r\n ADD_DRIVER = 'Add Driver',\r\n EDIT_DRIVER = 'Edit Driver',\r\n DELETE_DRIVER = 'Delete Driver',\r\n SHOW_DRIVER = 'Show Driver',\r\n ADD_CARRIER = 'Add Carrier',\r\n DOCUMENTAL_HAZMAT = 'Documental Hazmat',\r\n EDIT_CARRIER = 'Edit Carrier',\r\n DELETE_CARRIER = 'Delete Carrier',\r\n SHOW_CARRIER = 'Show Carrier',\r\n ADD_PROFILE = 'Add Profile',\r\n EDIT_PROFILE = 'Edit Profile',\r\n DELETE_PROFILE = 'Delete Profile',\r\n SHOW_PROFILE = 'Show Profile',\r\n EDIT_BROADCAST_VALUES = 'Edit Broadcast Values',\r\n ADD_WAVE = 'Add Wave',\r\n EDIT_WAVE = 'Edit Wave',\r\n SHOW_WAVE = 'Show Wave',\r\n HISTORICAL_CHANGES_VEHICLE = 'Historical Changes Vehicle',\r\n HISTORICAL_CHANGES_DRIVER = 'Historical Changes Driver',\r\n HISTORICAL_CHANGES_CARRIER = 'Historical Changes Carrier',\r\n HISTORICAL_CHANGES_TRIP = 'Historical Changes Trip',\r\n HISTORICAL_CHANGES_USER = 'Historical Changes User',\r\n CANCEL_TRIPS = 'Cancel Trips',\r\n CANCEL_TRIPSPA = 'Cancel Trips PA',\r\n MANUAL_UPLOAD_DOCUMENTS = 'Manual Upload Documents',\r\n HISTORICAL_CHANGES_LOTS = 'Historical Changes Lots',\r\n ADD_LOCATION = 'Add Location',\r\n EDIT_LOCATION = 'Edit Location',\r\n SHOW_LOCATION = 'Show Location',\r\n ADD_RESTRICTIONS = 'Add Restrictions',\r\n EDIT_RESTRICTIONS = 'Edit Restrictions',\r\n SHOW_RESTRICTIONS = 'Show Restrictions',\r\n DELETE_RESTRICTIONS = 'Delete Restrictions',\r\n DELETE_LOCATION = 'Delete Location',\r\n SHOW_MESSAGES = 'Show Messages',\r\n EDIT_MESSAGES = 'Edit Messages',\r\n DELETE_MESSAGES = 'Delete Messages',\r\n ADD_MESSAGES = 'Add Messages',\r\n ADD_LOT = 'Add Lot',\r\n EDIT_LOT = 'Edit Lot',\r\n DELETE_LOT = 'Delete Lot',\r\n SHOW_LOT = 'Show Lot',\r\n ACCEPT_CREDIT = 'Accept Credit',\r\n SHOW_CREDIT = 'Show Credit',\r\n ADD_VEHICLE_CONFIGURATION = 'Add Vehicle Configuration',\r\n EDIT_VEHICLE_CONFIGURATION = 'Edit Vehicle Configuration',\r\n SHOW_VEHICLE_CONFIGURATION = 'Show Vehicle Configuration',\r\n ADD_SCHEDULING = 'Add Scheduling',\r\n EDIT_SCHEDULING = 'Edit Scheduling',\r\n DELETE_SCHEDULING = 'Delete Scheduling',\r\n ADD_VEHICLE_CONFIGURATION_SHIPPER = 'Add Vehicle Configuration Shipper',\r\n EDIT_VEHICLE_CONFIGURATION_SHIPPER = 'Edit Vehicle Configuration Shipper',\r\n SHOW_VEHICLE_CONFIGURATION_SHIPPER = 'Show Vehicle Configuration Shipper',\r\n EDIT_TRIP_BUNGE = 'Edit trip Bunge',\r\n EDIT_TRIP_COFCO = 'Edit trip Cofco',\r\n SHOW_MINIMUM_TRANSPORT_PRICE_TABLE = 'Show Minimum Transport Price Table',\r\n EDIT_MINIMUM_TRANSPORT_PRICE_TABLE = 'Edit Minimum Transport Price Table',\r\n HISTORICAL_CHANGES_CREDITS = 'Historical Changes Credits',\r\n INTEGRAÇÃO_PAGBEM = 'Integração Pagbem',\r\n VALIDATION_CARRIER = 'Validation Carrier',\r\n VALIDATION_DRIVER = 'Validation Driver',\r\n VALIDATION_VEHICLE = 'Validation Vehicle',\r\n EDIT_TRIP_STATUS = 'Edit trip status',\r\n REGISTRATION_VALIDATION = 'Registration Validation',\r\n B3_OPERATION = 'B3 Operation',\r\n SHOW_CARRIER_DETAIL_INTEGRATION = 'Show Carrier Detail Integration',\r\n SHOW_DRIVER_DETAIL_INTEGRATION = 'Show Driver Detail Integration',\r\n FUELS_SHOW_DISTRIBUTION_CENTER = 'Fuels show distribution center',\r\n FUELS_ADD_DISTRIBUTION_CENTER = 'Fuels add distribution center',\r\n FUELS_EDIT_DISTRIBUTION_CENTER = 'Fuels edit distribution center',\r\n FUELS_DELETE_DISTRIBUTION_CENTER = 'Fuels delete distribution center',\r\n FUELS_SHOW_DISTRIBUTION_POINT = 'Fuels show distribution point',\r\n FUELS_ADD_DISTRIBUTION_POINT = 'Fuels add distribution point',\r\n FUELS_EDIT_DISTRIBUTION_POINT = 'Fuels edit distribution point',\r\n FUELS_DELETE_DISTRIBUTION_POINT = 'Fuels delete distribution point',\r\n FUELS_SHOW_DISTRIBUTION_POST = 'Fuels show distribution post',\r\n FUELS_ADD_DISTRIBUTION_POST = 'Fuels add distribution post',\r\n FUELS_EDIT_DISTRIBUTION_POST = 'Fuels edit distribution post',\r\n FUELS_DELETE_DISTRIBUTION_POST = 'Fuels delete distribution post',\r\n FUELS_SHOW_MARKETPLACE_PRODUCT = 'Fuels show marketplace product',\r\n FUELS_ADD_MARKETPLACE_PRODUCT = 'Fuels add marketplace product',\r\n FUELS_EDIT_MARKETPLACE_PRODUCT = 'Fuels edit marketplace product',\r\n FUELS_DELETE_MARKETPLACE_PRODUCT = 'Fuels delete marketplace product',\r\n FUELS_SHOW_STOCK_UPDATE = 'Fuels show stock update',\r\n FUELS_ADD_STOCK_UPDATE = 'Fuels add stock update',\r\n SHOW_MARKETPLACES = 'Show marketplaces',\r\n FUELS_SHOW_DEPOSIT = 'Fuels show deposit',\r\n FUELS_ADD_DEPOSIT = 'Fuels add deposit',\r\n FUELS_EDIT_DEPOSIT = 'Fuels edit deposit',\r\n FUELS_DELETE_DEPOSIT = 'Fuels delete deposit',\r\n FUELS_SHOW_SUPPLY_OFFER = 'Fuels show supply offer',\r\n FUELS_ADD_SUPPLY_OFFER = 'Fuels add supply offer',\r\n FUELS_EDIT_SUPPLY_OFFER = 'Fuels edit supply offer',\r\n FUELS_SHOW_OPERATOR = 'Fuels show operator',\r\n FUELS_ADD_OPERATOR = 'Fuels add operator',\r\n FUELS_EDIT_OPERATOR = 'Fuels edit operator',\r\n FUELS_DELETE_OPERATOR = 'Fuels delete operator',\r\n FINTECH_BANK_ADMIN = 'Fintech Bank Admin',\r\n FINTECH_BANK_USER = 'Fintech Bank User',\r\n FINTECH_PIX_PAYMENT_REVERSAL = 'Pix Payment Reversal',\r\n FINTECH_CREDIT_ADMIN = 'Fintech Credit Admin',\r\n FINTECH_CREDIT_USER = 'Fintech Credit User',\r\n FINTECH_BANK_ADMIN_ACCOUNTS_VIEW = 'Fintech Bank Admin - Accounts View',\r\n FINTECH_CREDIT_ADMIN_PROPOSAL_NOT_CONFIRMED = 'Fintech Credit Admin - Proposal Not Confirmed',\r\n FINTECH_CREDIT_ADMIN_CONTRACTS_FOLLOW_UP = 'Fintech Credit Admin - Contracts Follow-Up',\r\n ADMIN_MARKEPLACE = 'Admin Markeplace',\r\n APPROVE_REQUEST = 'Approve Request',\r\n REPROVE_REQUEST = 'Reprove Request',\r\n SHOW_REQUEST = 'Show Request',\r\n SHOW_USER = 'Show User',\r\n ADD_USER = 'Add User',\r\n EDIT_USER = 'Edit User',\r\n DELETE_USER = 'Delete User',\r\n ADD_REGION = 'Add Region',\r\n SHOW_REGION = 'Show Region',\r\n EDIT_REGION = 'Edit Region',\r\n ADD_LOCATION_SHIPPER = 'Add LocationShipper',\r\n EDIT_LOCATION_SHIPPER = 'Edit LocationShipper',\r\n SHOW_LOCATION_SHIPPER = 'Show LocationShipper',\r\n DELETE_LOCATION_SHIPPER = 'Delete LocationShipper',\r\n ADD_SCHEDULE = 'Add Schedule',\r\n EDIT_SCHEDULE = 'Edit Schedule',\r\n SHOW_SCHEDULE = 'Show Schedule',\r\n ADD_VACANCIES_LOGISTIC = 'Add Vacancies Logistic',\r\n ADD_VACANCIES_COMMERCIAL = 'Add Vacancies Commercial',\r\n SHOW_VACANCIES_COMPLETE = 'Show Vacancies Complete',\r\n ADD_SCHEDULE_OFF = 'Add Schedule Off',\r\n SHOW_NEWS = 'Show News',\r\n ADD_NEWS = 'Add News',\r\n EDIT_NEWS = 'Edit News',\r\n DELETE_NEWS = 'Delete News',\r\n HISTORICAL_CHANGES_NEWS = 'Historical Changes News',\r\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Add DistributionCentersCompanyCredit',\r\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Edit DistributionCentersCompanyCredit',\r\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Show DistributionCentersCompanyCredit',\r\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Delete DistributionCentersCompanyCredit',\r\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Add DistributionCentersCompanyUnitCredit',\r\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Edit DistributionCentersCompanyUnitCredit',\r\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Show DistributionCentersCompanyUnitCredit',\r\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Delete DistributionCentersCompanyUnitCredit',\r\n APPROVE_VECTOR = 'ApproveVector',\r\n APPROVE_ETCD = 'ApproveETCD',\r\n APPROVE_CARRIER = 'ApproveEmbarcador',\r\n DELETE_PARAMETERS_ETCD = 'Delete Parameters',\r\n SHOW_RECEPTION_PRODUCT = 'Show Reception Product',\r\n EDIT_RECEPTION_PRODUCT = 'Edit Reception Product',\r\n DELETE_RECEPTION_PRODUCT = 'Delete Reception Product',\r\n ADD_RECEPTION_PRODUCT = 'Add Reception Product',\r\n SHOW_DIGITAL_DISCHARGE = 'Show Digital Discharge',\r\n SHOW_DIGITAL_DISCHARGE_FILES = 'Show Digital Discharge Files',\r\n SHOW_DIGITAL_TRANSPORTATION = 'Show Digital Transportation',\r\n FULL_ACCESS_DIGITAL_DISCHARGE = 'Full Acess Digital Discharge',\r\n SHOW_ETCD = 'Show ETCD',\r\n EDIT_ETCD = 'Edit ETCD',\r\n DELETE_ETCD = 'Delete ETCD',\r\n ADD_ETCD = 'Add ETCD',\r\n SHOW_REGIONAL_ETCD = 'Show Regional ETCD',\r\n SHOW_VIRTUAL_BRANCH = 'Show Virtual Branch',\r\n EDIT_VIRTUAL_BRANCH = 'Edit Virtual Branch',\r\n ADD_VIRTUAL_BRANCH = 'Add Virtual Branch',\r\n DELETE_VIRTUAL_BRANCH = 'Delete Virtual Branch',\r\n SHOW_PHYSICAL_BRANCH = 'Show Physical Branch',\r\n EDIT_PHYSICAL_BRANCH = 'Edit Physical Branch',\r\n ADD_PHYSICAL_BRANCH = 'Add Physical Branch',\r\n DELETE_PHYSICAL_BRANCH = 'Delete Physical Branch',\r\n SHOW_FISCAL_BRANCH = 'Show Fiscal Branch',\r\n EDIT_FISCAL_BRANCH = 'Edit Fiscal Branch',\r\n ADD_FISCAL_BRANCH = 'Add Fiscal Branch',\r\n DELETE_FISCAL_BRANCH = 'Delete Fiscal Branch',\r\n SHOW_MONITORING_ETCD = 'Show Monitoring ETCD',\r\n ADD_PRODUCT_ETCD = 'Add Product ETCD',\r\n EDIT_PRODUCT_ETCD = 'Edit Product ETCD',\r\n SHOW_PRODUCT_ETCD = 'Show Product ETCD',\r\n DELETE_PRODUCT_ETCD = 'Delete Product ETCD',\r\n ADD_PARAMETERS_ETCD = 'Add Parameters ETCD',\r\n EDIT_PARAMETERS_ETCD = 'Edit Parameters ETCD',\r\n SHOW_PARAMETERS_ETCD = 'Show Parameters ETCD',\r\n ADD_FREIGHT_ETCD = 'Add Freight ETCD',\r\n SHOW_FREIGHT_ETCD = 'Show Freight ETCD',\r\n APPROVE_ADJUSMENT_ETCD = 'Approve Adjusment ETCD',\r\n REPROVE_ADJUSMENT_ETCD = 'Reprove Adjusment ETCD',\r\n ADD_JUSTIFICATIVE_ETCD = 'Add Justificative ETCD',\r\n EDIT_JUSTIFICATIVE_ETCD = 'Edit Justificative ETCD',\r\n DELETE_JUSTIFICATIVE_ETCD = 'Delete Justificative ETCD',\r\n APPROVE_RELEASE_ETCD = 'Approve Release ETCD',\r\n REPROVE_RELEASE_ETCD = 'Reprove Release ETCD',\r\n SHOW_ADVANCE_ETCD = 'Show Advance ETCD',\r\n APPROVE_REQUESTS_ETCD = 'Approve Requests ETCD',\r\n SHOW_SUPPLY = 'Show Supply',\r\n SHOW_TRIP_OFFERT = 'Trip Offer Show',\r\n APPROVE_DISCHARGE_PAYMENT = 'Aprovar quitacao',\r\n APPROVE_ADVANCE_PAYMENT = 'Aprovar adiantamento',\r\n APPROVE_ENGINE_PAYMENT = 'Aprovar motor de pagamento',\r\n EXTRACT_THIRD = 'Extrato terceiro',\r\n HISTORICAL_CHANGES_GROUPS = 'HistoricalChangesGroups',\r\n DELETE_ONLY_MEMBER_GROUPS = 'Delete Only Member Groups',\r\n ADD_ONLY_MEMBER_GROUPS = 'Add Only Member Groups',\r\n SHOW_GROUPS = 'Show Groups',\r\n DELETE_GROUPS = 'Delete Groups',\r\n EDIT_GROUPS = 'Edit Groups',\r\n ADD_GROUPS = 'Add Groups',\r\n ADD_UPDATE_GEOFENCE = 'Add Update Geofence',\r\n SHOW_GEOFENCE = 'Show Geofence',\r\n SHOW_GEOFENCE_LOG = 'Show Geofence Log',\r\n HISTORICAL_CHANGES_GEOFENCE = 'Historical Changes Geofence',\r\n SHOW_DRIVER_LOG = 'Show Driver Log',\r\n UPDATE_CHECKIN_CHECKOUT = 'Update CheckIn CheckOut',\r\n AUTOMATIC_CHECKIN = 'Automatic CheckIn',\r\n SHOW_FILTERS_MONTHLY_RECEPTION = 'Show Filters Monthly Reception',\r\n VIEW_ROUTE_TRIP = 'View Route Trip',\r\n SHOW_RISK_MANAGEMENT = 'Show Risk Management',\r\n ADD_RISK_MANAGEMENT = 'Add Risk Management',\r\n EDIT_RISK_MANAGEMENT = 'Edit Risk Management',\r\n DELETE_RISK_MANAGEMENT = 'Delete Risk Management',\r\n DIGITAL_DISCHARGE_BASIC_DATA = 'Quitacao Digital Basic Data',\r\n DIGITAL_DISCHARGE_ETCD_APPROVER = 'Quitacao Digital ETCD Aprovador',\r\n DIGITAL_DISCHARGE_ETCD_APPROVER_MANAGEMENT = 'Quitacao Digital ETCD Aprovador Gestor',\r\n DIGITAL_DISCHARGE_VECTOR_APPROVER = 'Quitacao Digital Vector Aprovador',\r\n DIGITAL_DISCHARGE_VECTOR_APPROVER_MANAGEMENT = 'Quitacao Digital Vector Aprovador Gestor',\r\n DIGITAL_DISCHARGE_APPROVE_SAP = 'Quitacao Digital Aprovador Contingencia Sap',\r\n PAYMENT_FREIGHT_ADJUST_FREIGHT_VALUE = 'Pagamento Frete Ajustar Valor Frete',\r\n SHOW_MESSAGE_CUSTOM = 'Show Messages Custom',\r\n DELETE_MESSAGE_CUSTOM = 'Delete Messages Custom',\r\n ADD_MESSAGE_CUSTOM = 'Add Messages Custom',\r\n EDIT_MESSAGE_CUSTOM = 'Edit Messages Custom',\r\n RECEPTION_WITHOUT_SCHEDULING = 'Reception Without Scheduling',\r\n BANK_EDIT = 'Edit',\r\n BANK_REGISTER_FULL = 'Cadastro Full',\r\n SEARCH_CALENDAR_FULL = 'Pesquisar Agenda Full',\r\n SHOW_MOVEMENT_ETCD = 'Show Movement Etcd',\r\n CREATE_AND_EDIT_NPS = 'Create and edit NPS',\r\n READ_NPS_INFORMATION = 'Read NPS information',\r\n TEX_ONBOARDING_TRACKING = 'OnboardingTracking',\r\n TEX_CARRIER_ASSOCIATION_TRACKING = 'Carrier Association Tracking',\r\n BIDDING_PARAMETERS = 'Bidding Parameters',\r\n DRIVER_SCORE_METRICS_ADMIN = 'Driver Score Metrics Admin',\r\n SHOW_DOCK_BUILDING = 'Show Dock Building',\r\n ADD_DOCK_BUILDING = 'Add Dock Building',\r\n EDIT_DOCK_BUILDING = 'Edit Dock Building',\r\n EDIT_DOCK = 'Edit Dock',\r\n FRIENDLY_TRIP = 'Friendly Trip',\r\n CANCEL_FRIENDLY_TRIP = 'Cancelar Viagem Amiga',\r\n SHOW_FRIENDLY_TRIP = 'Visualizar Viagem Amiga',\r\n CREATE_FRIENDLY_TRIP = 'Solicitar Viagem Amiga',\r\n ADD_OBSERVATION = 'Add Observation',\r\n SHOW_OBSERVATION = 'Show Observation',\r\n EDIT_OBSERVATION = 'Edit Observation',\r\n DELETE_OBSERVATION = 'Delete Observation',\r\n CLASSIFIER_PARAMETERS_FRIENDLY_TRIP = 'Parâmetros de classificador',\r\n SCORE_REPORT_FRIENDLY_TRIP = 'Relatório de Pontuação',\r\n SEND_NFS_ETCD = 'Send NFs ETCD',\r\n SHOW_ANTECITABLE_RECEVEIBLES = 'Vizualizar antecipacao de recebiveis',\r\n SHOW_LOG_ANTECITABLE_RECEVEIBLES = 'Vizualizar log antecipacao de recebiveis',\r\n AUTOMATIC_DISCLOSURE_CONFIGURATIONS = 'Automatic Disclosure Configurations',\r\n SHOW_PAYMENT_SCHEDULING_DETAIL = 'Show Payment Scheduling Detail',\r\n SCHEDULE_UPDATE_CHECKIN_CHECKOUT = 'Schedule Update CheckIn CheckOut',\r\n SHOW_PARAMETERS_CANCEL_TRIPS = 'show Parameters Cancel Trips',\r\n EDIT_PARAMETERS_CANCEL_TRIPS = 'Edit Parameters Cancel Trips',\r\n SHOW_PARAMETERS_DIVULGATION_WEB = 'Show Parameters Divulgation Web',\r\n EDIT_PARAMETERS_DIVULGATION_WEB = 'Edit Parameters Divulgation Web',\r\n SHOW_PRICE_TAKING = 'Show PriceTaking',\r\n SHOWTABLE_PRICE_TAKING = 'ShowTable PriceTaking',\r\n SHOWTABLE_PRICE_TAKING_EXCEL = 'ShowTable PriceTakingExcel',\r\n SEND_OFFER_PRICE_TAKING = 'Send Offer PriceTaking',\r\n CHANGE_STATUS_PRICE_TAKING = 'Change Status PriceTaking',\r\n SHOWTABLE_PRICE_TAKING_HISTORY = 'ShowTable PriceTaking History',\r\n SAVE_PRICE_TAKING = 'Save PriceTaking',\r\n SHOW_SHIPPING_ORIGIN = 'Show Shipping Origin',\r\n SHOW_SHIPPING_COMBINED = 'Show Shipping Combined',\r\n SHOW_SHIPPING_CONTINUOUS = 'Show Shipping Continuous',\r\n SHOW_LOYALTY = 'Show Loyalty',\r\n SHOW_PAYMENT_PARAMETERS = 'Show Payment Parameters',\r\n COCKPIT_SUMMARY = 'Cockpit Summary',\r\n COCKPIT_REGISTRATION = 'Cockpit Registration',\r\n COCKPIT_BANK = 'Cockpit Bank',\r\n COCKPIT_CREDIT = 'Cockpit Credit',\r\n COCKPIT_PA = 'Cockpit PA',\r\n COCKPIT_LOG = 'Cockpit Log',\r\n CREATE_UPDATE_CARGO_MATCH_VALIDATIONS = 'Create Update Cargo Match Validations',\r\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS = 'Show Cargo Match Etcd Validations',\r\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS_HISTORY = 'Show Cargo Match Etcd Validations History',\r\n PARAMETERIZE_LOT_RANGE_GDV = 'Parameterize Lot Range',\r\n PERFORM_CHECKIN_CHECKOUT_GDV = 'Perform Checkin CheckOut.',\r\n UPLOAD_DOCUMENTS_GDV = 'Upload Documents',\r\n FIX_DOCUMENTS_GDV = 'Fix Documents',\r\n VALIDATE_DOCUMENT_UPLOAD_GDV = 'Validate Document Upload',\r\n REQUEST_CORRECTION_DOCUMENT_INFORMATION_GDV = 'Request correction of document information',\r\n UPLOAD_CTE_MDFE_GDV = 'Upload CTE MDFE',\r\n APPROVE_CANCELLATION_LOAD_ORDER_GDV = 'Approve cancellation of Load Order',\r\n SHOW_FREIGHT_SIMULATOR_ETCD = 'Show Freight Simulator Etcd',\r\n CREATE_UPDATE_FREIGHT_SIMULATOR_ETCD = 'Create Update Freight Simulator Etcd',\r\n APPROVE_REPROVE_ETCD_SIMULATION = 'Approve Reprove Etcd Simulation',\r\n ADVANCE_AND_DISCHARGE_PAYMENT = 'Advance and discharge payment',\r\n PAYMENT_ENGINE = 'Payment Engine',\r\n PAYMENT_STATEMENT = 'Payment Statement',\r\n EDIT_CARRIER_SUSTAINABLE = 'Edit Carrier Sustainable',\r\n SHOW_CARRIER_SUSTAINABLE = 'Show Carrier Sustainable',\r\n SHOW_ORDER_TRAKING = 'Show OrderTraking',\r\n SHOW_ORDER_TRAKING_EXCEL = 'Show OrderTrakingExcel',\r\n EDIT_ORDER_TRAKING_CONFIG = 'Edit OrderTrakingConfig',\r\n SEND_DOCUMENTS_TRIP_MANUAL = 'Send Documents Trip Manual',\r\n DELETE_DOCUMENTS_TRIP_MANUAL = 'Delete Documents Trip Manual',\r\n SEND_DOCUMENTS_CARGO_MANUAL = 'Send Documents Cargo Manual',\r\n ADD_POOLOFFERT = 'Add PoolOffert',\r\n DELETE_POOLOFFERT = 'Delete PoolOffert',\r\n SHOW_POOLOFFERT = 'Show PoolOffert',\r\n EDIT_POOLOFFERT = 'Edit PoolOffert',\r\n DOCUMENTARY_IRREGULARITY = 'documentaryIrregularity',\r\n DOCUMENTARY_IRREGULARITY_FULL_SEARCH = 'documentaryIrregularityFullSearch',\r\n BLOCK_USER_ACCESS = 'Block User Access',\r\n SHOW_DRIVER_DASHBOARD = 'Show Driver Dashboard',\r\n ENABLE_DISABLE_BROADCAST_GRID = 'Enabled-Disabled broadcast in grid',\r\n SHOW_BIDDING = 'Show Bidding',\r\n ADD_FREIGHT_RATE = 'Add Freight Rate',\r\n ADD_MANUAL_CARGO = 'Add Manual Cargo',\r\n EDIT_TRIP_OFFER = 'Trip Offer Edit',\r\n SHOW_TRIP_OFFER = 'Trip Offer Show',\r\n CANCEL_TRIP_OFFER_CARGO_MATCH = 'Trip Offer Cargo Match Cancel',\r\n CREATE_EDIT_ETCD_MANUAL = 'Create Edit Etcd Manual',\r\n DUPLICATE_LOT = 'Duplicar Lote',\r\n ADD_LOT_NORMAL = 'Add Lot Normal',\r\n DUPLICATE_CARGO = 'Duplicar Carga',\r\n DISCLOSURE_IN_MASS = 'Disclosure En Masse',\r\n EDIT_BIDDING = 'Edit Bidding',\r\n SHOW_CHECKLIST_PARAMETER = 'Show Checklist Parameter',\r\n ADD_CHECKLIST_PARAMETER = 'Add Checklist Parameter',\r\n EDIT_CHECKLIST_PARAMETER = 'Edit Checklist Parameter',\r\n DELETE_CHECKLIST_PARAMETER = 'Delete Checklist Parameter',\r\n SHOW_CHECKLIST_PARAMETER_HISTORY = 'Show Checklist Parameter History',\r\n ADD_CHECKLIST_PARAMETER_TYPE = 'Add Checklist Parameter Type',\r\n ADD_MAIL_LOTS = 'Add Mails Lots',\r\n ADD_ROUTE = 'Add Route',\r\n ADD_CASH_ADVANCE = 'Add Cash Advance',\r\n ADD_HAS_TOLL = 'Add Has Toll',\r\n EDIT_FREIGHT_RATE = 'Edit Freight Rate',\r\n ADD_FREIGHT_RATE_SON = 'Add Freight Rate Son',\r\n EDIT_FREIGHT_RATE_SON = 'Edit Freight Rate Son',\r\n CHANGE_IS_POC = 'ChangeIsPOC',\r\n APPROVE_BIDDING_CLOSURE = 'Aprovar encerramento do Bidding',\r\n APPROVE_BIDDING_WITH_GREATER_VALUE = 'Aprovar Bidding com valor maior que o menor valor',\r\n VEHICLE_SHOW_SHIPPER_PETROBRAS = 'Vehicle Show Shipper Petrobras',\r\n DRIVER_SHOW_SHIPPER_PETROBRAS = 'Driver Show Shipper Petrobras',\r\n CARRIER_SHOW_SHIPPER_PETROBRAS = 'Carrier Show Shipper Petrobras',\r\n SHOW_CARRIER_DOCUMENTS = 'Show Carrier Documents',\r\n EDIT_CARRIER_DOCUMENTS = 'Edit Carrier Documents',\r\n CARRIER_VALIDATE_DOCUMENTS = 'Carrier Validate Documents',\r\n SHOW_VEHICLE_DOCUMENTS = 'Show Vehicle Documents',\r\n SAVE_VEHICLE_DOCUMENTS = 'Save Vehicle Documents',\r\n VEHICLE_VALIDATE_DOCUMENTS = 'Vehicle Validate Documents',\r\n SAVE_DRIVER_DOCUMENTS = 'Save Driver Documents',\r\n SHOW_DRIVER_DOCUMENTS = 'Show Driver Documents',\r\n DRIVER_VALIDATE_DOCUMENTS = 'Driver Validate Documents',\r\n ONLY_SHOW_PROFILE_PETROBRAS = 'Only Show Profile Petrobras',\r\n SHOW_PARAMETERS_CARRIER = 'Show Parameters Carrier',\r\n SAVE_CARRIERS_DOCUMENTS = 'Save Carriers Documents',\r\n APRV_Validation = 'APRV_Validation',\r\n SHOW_PLANNED_TRIPS = 'Show Planned Trips',\r\n ADD_PLANNED_TRIPS = 'Add Planned Trips',\r\n ADD_MONITORING_PLANNED_TRIPS = 'Add Monitoring Planned Trips',\r\n SHOW_MONITORING_PLANNED_TRIPS = 'Show Monitoring Planned Trips',\r\n SHOW_DRIVER_TRIP_INFO_DETAIL = 'Show Driver Trip Info Detail',\r\n MANUAL_CHECKLIST_APPLICATION = 'Manual Checklist Application',\r\n SUPPLIER_UPDATE_CHECKIN_CHECKOUT = 'Supplier Update CheckIn CheckOut',\r\n RETROACTIVE_STEP_ADVANCEMENT = 'Retroactive Show',\r\n EDIT_CONFIGURATION = 'Edit Configuration',\r\n DELETE_ROTOGRAM = 'Delete Rotogram',\r\n ADD_OBSERVATION_EVENT = 'Add Observation Event',\r\n APPROVED_EVENT = 'Approved Event',\r\n SHOW_ROUTE_PLANNED_TRIP = 'Show Route Planned Trip',\r\n NEW_ROUTE_PLANNED_TRIP = 'New Route Planned Trip',\r\n EDIT_ROUTE_PLANNED_TRIP = 'Edit Route Planned Trip',\r\n NEW_ROTOGRAM = 'New Rotogram',\r\n SHOW_ROTROGRAM = 'Show Rotogram',\r\n LOW_FUEL_STOCK_RECEPTION_PRODUCT = 'Low Fuel Stock Reception Product',\r\n SHOW_TELEMETRY_POINT = 'Show TelemetryPoints',\r\n ADD_BLOCK_HAZMAT = 'Add Block Hazmat',\r\n SHOW_BLOCK_HAZMAT = 'Show Block Hazmat',\r\n EDIT_BLOCK_HAZMAT = 'Edit Block Hazmat',\r\n CONFIGURE_APPROVAL_AUTHORITY = 'Configure Approval Authority',\r\n SHOW_APPROVAL_AUTHORITY_CONFIG = 'Show Approval Authority Config',\r\n BUY_VALE_PEDAGIO = 'Buy Vale Pedagio',\r\n CANCEL_VALE_PEDAGIO = 'Cancel Vale Pedagio',\r\n SHOW_INFO_VALE_PEDAGIO = 'Show Info Vale Pedagio',\r\n SHOW_ORDER_TRAKING_UNTIL_TRIP_EN = 'Show OrderTraking Until Trip EN',\r\n AUDIT_CHECKLIST = 'Audit CheckList',\r\n ADD_SURVEY_DRIVER = 'Add Survey Driver',\r\n SHOW_SURVEY_DRIVER = 'Show Survey Driver',\r\n EDIT_SURVEY_DRIVER = 'Edit Survey Driver',\r\n DELETE_SURVEY_DRIVER = 'Delete Survey Driver',\r\n SHOW_SHIPPING_FREIGHT = 'Show Shipping Freight',\r\n MANAGE_SHIPPING_FREIGHT = 'Manage Shipping Freight',\r\n UPDATE_TRAVEL_APPROVAL = 'Update Travel Approval',\r\n CONFIGURE_WAITING_LINES = 'Configure Waiting Lines',\r\n ADD_WAITING_LINES = 'Add Waiting Lines',\r\n SHOW_WAITING_LINES = 'Show Waiting Lines',\r\n CALL_DRIVER_WAITING_LINES = 'Call Driver Waiting Lines',\r\n MONITORING_HANDLE_EVENT = 'Monitoring Handle Event',\r\n MONITORING_JUSTIFY_EVENT = 'Monitoring Justify Event',\r\n APPROVE_POOL_BIDDING_CLOSURE = 'Aprovar Encerramento Pool Bidding',\r\n APPROVE_POOL_BIDDING_LESSER_VALUE = 'Aprovar Bidding Pool Com Valor Maior Que Menor Valor',\r\n SHOW_GR_VECTOR_PARAMETERS = 'Show GR Vector Parameters',\r\n ACTIVATE_OR_INACTIVATE_GR_PARAMETERS = 'Activate or Inactivate GR Parameters',\r\n UPDATE_GR_PARAMETERS = 'Update GR Parameters',\r\n CREATE_GR_VECTOR = 'Create GR Vector',\r\n APPROVE_OR_DISAPROVE_GR = 'Approve Or Disaprove Gr',\r\n SHOW_GR_VECTOR = 'Show GR Vector',\r\n ADD_DRIVER_MULTICARRIER = 'Add Driver MultiCarrier',\r\n APPROVE_OR_DISAPPROVE_ANALYSIS = 'Approve Or Disapprove Analysis',\r\n VIEW_LOCATION_GROUP = 'View Location Group',\r\n CREATE_LOCATION_GROUP = 'Create Location Group',\r\n EDIT_LOCATION_GROUP = 'Edit Location Group',\r\n DEACTIVATE_LOCATION_GROUP = 'Deactivate Location Group',\r\n DELIVERY_TOLL_CARD = 'Delivery Toll Card',\r\n SHOW_TOLL_CARD = 'View Toll Card',\r\n EDIT_TOLL_CARD = 'Edit Toll Card',\r\n SENT_TO_SAP_SUPPLY = 'Sent To Sap Supply',\r\n SAVE_NFSAP_DOCUMENTS = 'Save NFSap Documents',\r\n SHOW_LOT_PARAMETER_SHIPPER = 'Show Lot Parameter Shipper',\r\n SAVE_LOT_PARAMETER_SHIPPER = 'Save Lot Parameter Shipper',\r\n SHOW_GENERAL_PARAMETERS = 'Show General Parameters',\r\n SHOW_DISTRIBUTION_OF_VACANCIES = 'Show Distribution Of Vacancies',\r\n SHOW_SCHEDULE_SCHEDULING_MANAGEMENT = 'Show Schedule Scheduling Management',\r\n SHOW_HISTORICAL_SCHEDULING_MANAGEMENT = 'Show Historical Scheduling Management',\r\n DELETE_SUPPLIER_SCHEDULING_MANAGEMENT = 'Delete Supplier Scheduling Management',\r\n EDIT_VECTOR_SHIFT_VACANCIES = 'Edit Vector Shift Vacancies',\r\n SHOW_ESTIMATED_TIME_TO_ARRIVE = 'Show Estimated Time To Arrive',\r\n EDIT_ESTIMATED_TIME_TO_ARRIVE = 'Edit Estimated Time To Arrive',\r\n SHOW_ETA_VECTOR = 'Show Eta Vector',\r\n SHOW_PROFILEUSER = 'Show ProfileUser',\r\n EDIT_PROFILEUSER = 'Edit ProfileUser',\r\n CREATE_PROFILEUSER = 'Create ProfileUser',\r\n ACTIVATE_PROFILEUSER = 'Activate ProfileUser',\r\n DEACTIVATE_PROFILEUSER = 'Deactivate ProfileUser',\r\n ADD_SUPPLY_MANUAL = 'Add Supply Manual',\r\n SHOW_ISS_PARAMS = 'Show Iss Param',\r\n SHOW_PGR_INSURANCE = 'Show PGR Insurance',\r\n ADD_PGR_CONTRACTS = 'Add PGR Contracts',\r\n DELETE_PGR_CONTRACTS = 'Delete PGR Contracts',\r\n ADD_PGR_RULES = 'Add PGR Rules',\r\n DELETE_PGR_RULES = 'Delete PGR Rules',\r\n ADD_PGR_CONFIGURATIONS = 'Add PGR Configurations',\r\n CREATE_ISS_PARAMS = 'Create Iss Param',\r\n EDIT_ISS_PARAMS = 'Edit Iss Param',\r\n DELETE_LOCATION_SHIFT_PRIORITY = 'Delete Location Shift Priority',\r\n ADD_LOCATION_SHIFT_PRIORITY = 'Add Location Shift Priority',\r\n SAVE_CLIENT_ORDER_TRACKING = 'Save Client Order Tracking',\r\n SHOW_CLIENT_ORDER_TRACKING = 'Show Client Order Tracking',\r\n SHOW_PARAMETER_ORDER_TRACKING = 'Show Parameter Order Tracking',\r\n SAVE_PARAMETER_ORDER_TRACKING = 'Save Parameter Order Tracking',\r\n SHOW_PARAMETERS_MONITORING = 'Show Parameters Monitoring',\r\n ADD_PARAMETERS_MONITORING = 'Add Parameters Monitoring',\r\n FINALIZE_PLANNED_TRIP_PENDING_FINISH = 'Finalize Planned Trip Pending Finish',\r\n SHOW_PLANNED_TRIP_LOGS = 'Show Planned Trip Logs',\r\n CONTROL_CADASTRO_EXCEL_EXPORT = 'Control Cadastro Excel Export',\r\n OPEN_SHIFTS_MANUALLY = 'Open Shifts Manually',\r\n OPEN_PROGRAMABILITY_SHIFT = 'Open Programability Shift',\r\n SHOW_TRIPS_REFUSED = 'Show Trips Refused',\r\n SHOW_GTFROTA_PENDING_SUPPLY_LOG = 'Show GtFrotaPendingSupplylog',\r\n CREDIT_LIMIT_MANAGEMENT = 'Credit Limit Management',\r\n LOCATION_SCHEDULE_INTEGRATION_EDIT = 'Location Schedule Integration Edit',\r\n}\r\n","export enum Role {\r\n ADMIN = 'ADMIN',\r\n}\r\n","export enum Status {\r\n PENDING,\r\n APPROVED,\r\n REJECTED,\r\n INFO,\r\n NOT_EXECUTEDCOUNT\r\n}\r\n","export enum View {\r\n HOME,\r\n ADMIN,\r\n DIGITAL_CARRIER,\r\n RISK_MANAGER,\r\n VECTOR_CLUB,\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Status } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n})\r\nexport class BadgeComponent implements OnInit {\r\n @Input()\r\n public type?: Status;\r\n @Input()\r\n public label?: string;\r\n @Input()\r\n public customColor?: string;\r\n @Input()\r\n public customBackgroundColor?: string;\r\n @Input()\r\n public tooltip?: string;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public getStatusColor() {\r\n switch (this.type) {\r\n case Status.PENDING:\r\n return 'badge-warning';\r\n case Status.APPROVED:\r\n return 'badge-success';\r\n case Status.REJECTED:\r\n return 'badge-error';\r\n case Status.INFO:\r\n return 'badge-info';\r\n }\r\n return '';\r\n }\r\n}\r\n","<div\r\n class=\"badge\"\r\n [class]=\"getStatusColor()\"\r\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\r\n [pTooltip]=\"tooltip || ''\"\r\n tooltipPosition=\"top\"\r\n>\r\n {{ label }}\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currencyBrl',\r\n})\r\nexport class CurrencyBrlPipe implements PipeTransform {\r\n transform(value: number = 0): string {\r\n if (!value) value = 0;\r\n return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;\r\n }\r\n}\r\n","export class CpfCnpjValidator {\r\n public static validateCpfOrCnpj(taxId: string) {\r\n taxId = taxId.replace(/[^0-9]+/g, '');\r\n\r\n if (taxId.length == 11) {\r\n return this.validateCpf(taxId);\r\n } else if (taxId.length == 14) {\r\n return this.validateCnpj(taxId);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public static validateCpf(cpf: string) {\r\n if (!cpf?.trim() || cpf.length !== 11 || !cpf.match('^[0-9]+$')) {\r\n return false;\r\n }\r\n\r\n if (\r\n [\r\n '00000000000',\r\n '11111111111',\r\n '22222222222',\r\n '33333333333',\r\n '44444444444',\r\n '55555555555',\r\n '66666666666',\r\n '77777777777',\r\n '88888888888',\r\n '99999999999',\r\n ].includes(cpf)\r\n ) {\r\n return false;\r\n }\r\n let num: number = 0;\r\n let caracter: string = '';\r\n let counter: number = 10;\r\n let sum: number = 0;\r\n let rest: number = 0;\r\n let firstDigit: number = 0;\r\n let secondDigit: number = 0;\r\n let cpfAux: string = '';\r\n cpfAux = cpf.substring(0, 9);\r\n for (let i: number = 0; i < 9; i++) {\r\n caracter = cpfAux.charAt(i);\r\n num = Number(caracter);\r\n sum = sum + num * counter;\r\n counter--;\r\n }\r\n rest = sum % 11;\r\n firstDigit = 11 - rest;\r\n if (firstDigit > 9) {\r\n firstDigit = 0;\r\n }\r\n counter = 11;\r\n sum = 0;\r\n cpfAux = cpfAux + firstDigit;\r\n for (let i: number = 0; i < 10; i++) {\r\n caracter = cpfAux.charAt(i);\r\n num = Number(caracter);\r\n sum = sum + num * counter;\r\n counter--;\r\n }\r\n rest = sum % 11;\r\n secondDigit = 11 - rest;\r\n if (secondDigit > 9) {\r\n secondDigit = 0;\r\n }\r\n cpfAux = cpfAux + secondDigit;\r\n return cpf === cpfAux;\r\n }\r\n\r\n public static validateCnpj(cnpj: string) {\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n\r\n if (cnpj == '') return false;\r\n\r\n if (cnpj.length != 14) return false;\r\n\r\n if (\r\n [\r\n '00000000000000',\r\n '11111111111111',\r\n '22222222222222',\r\n '33333333333333',\r\n '44444444444444',\r\n '55555555555555',\r\n '66666666666666',\r\n '77777777777777',\r\n '88888888888888',\r\n '99999999999999',\r\n ].includes(cnpj)\r\n )\r\n return false;\r\n\r\n let size = cnpj.length - 2;\r\n let numbers = cnpj.substring(0, size);\r\n let digits = cnpj.substring(size);\r\n let sum = 0;\r\n let pos = size - 7;\r\n for (let i = size; i >= 1; i--) {\r\n sum += parseInt(numbers.charAt(size - i)) * pos--;\r\n if (pos < 2) pos = 9;\r\n }\r\n let resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n if (resultado != parseInt(digits.charAt(0))) return false;\r\n\r\n size = size + 1;\r\n numbers = cnpj.substring(0, size);\r\n sum = 0;\r\n pos = size - 7;\r\n for (let i = size; i >= 1; i--) {\r\n sum += parseInt(numbers.charAt(size - i)) * pos--;\r\n if (pos < 2) pos = 9;\r\n }\r\n resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n if (resultado != parseInt(digits.charAt(1))) return false;\r\n\r\n return true;\r\n }\r\n}\r\n","import { saveAs } from 'file-saver';\r\n\r\nexport class FileUtil {\r\n public static getBlob(base64StringData: string, mimeType: string) {\r\n const decodedData = atob(base64StringData);\r\n const byteNumbers = new Array(decodedData.length);\r\n for (let i = 0; i < decodedData.length; i++) {\r\n byteNumbers[i] = decodedData.charCodeAt(i);\r\n }\r\n return new Blob([new Uint8Array(byteNumbers)], { type: mimeType });\r\n }\r\n public static downloadFile(mimeType: string, base64StringData: string, fileName: string) {\r\n saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);\r\n }\r\n}\r\n","const CPF_PATTERN = '###.###.###-##';\r\nconst CNPJ_PATTERN = '##.###.###/####-##';\r\nconst BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ############## #';\r\nconst POSTALCODE_PATTERN = '#####-###';\r\nconst CELLPHONE_PATTERN = '(##) #####-####';\r\nconst PHONE_PATTERN = '(##) ####-####';\r\nconst PLATE_PATTERN = '###-####';\r\nconst HOURS_MINUTES_PATTERN = '##:##';\r\nconst DNI_PATTERN = '##.###.###';\r\nconst CUIT_PATTERN = '##-########-#';\r\n\r\nexport class MaskUtil {\r\n public static CPF_TEXT_FIELD_PATTERN = '999.999.999-99';\r\n public static CNPJ_TEXT_FIELD_PATTERN = '99.999.999/9999-99';\r\n public static BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999 9';\r\n public static CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';\r\n public static PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';\r\n public static POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';\r\n public static PLATE_FIELD_PATTERN = 'aaa-9*99';\r\n public static HOURS_MINUTES_FIELD_PATTERN = '99:99';\r\n public static DNI_FIELD_PATTERN = '99.999.999';\r\n public static CUIT_FIELD_PATTERN = '99.99999999.9';\r\n\r\n public static formatDocument(stringValue: string) {\r\n if (!stringValue) {\r\n return '';\r\n }\r\n\r\n if (stringValue.length === 11) {\r\n return this.doMaskString(stringValue, CPF_PATTERN);\r\n }\r\n\r\n if (stringValue.length === 14) {\r\n return this.doMaskString(stringValue, CNPJ_PATTERN);\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n public static formatPostalCode(stringValue: string) {\r\n return this.doMaskString(stringValue, POSTALCODE_PATTERN);\r\n }\r\n\r\n public static formatBoleto(stringValue: string) {\r\n return this.doMaskString(stringValue, BOLETO_PATTERN);\r\n }\r\n\r\n public static formatPhone(stringValue: string) {\r\n if (!stringValue) {\r\n return '';\r\n }\r\n\r\n if (stringValue.length === 11) {\r\n return this.doMaskString(stringValue, CELLPHONE_PATTERN);\r\n } else if (stringValue.length === 10) {\r\n return this.doMaskString(stringValue, PHONE_PATTERN);\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n public static formatHoursMinutes(stringValue: string) {\r\n return this.doMaskString(stringValue, HOURS_MINUTES_PATTERN);\r\n }\r\n\r\n public static formatPlate(stringValue: string) {\r\n return this.doMaskString(stringValue, PLATE_PATTERN);\r\n }\r\n\r\n public static formatDni(stringValue: string) {\r\n return this.doMaskString(stringValue, DNI_PATTERN);\r\n }\r\n\r\n public static formatCuit(stringValue: string) {\r\n return this.doMaskString(stringValue, CUIT_PATTERN);\r\n }\r\n\r\n public static doMaskString(str: string, pattern?: string) {\r\n if (!str?.trim()) {\r\n return '';\r\n }\r\n\r\n if (!pattern || !pattern.includes('#')) {\r\n console.warn('Utilize uma máscara válida. Ex.: (##) #####-####');\r\n return str;\r\n }\r\n let i = 0;\r\n return pattern.replace(/#/g, () => str[i++]);\r\n }\r\n}\r\n","export class ObjectUtil {\r\n public static getObjectKeys<T>(obj: Object): Array<keyof T> {\r\n if (!obj) {\r\n return [];\r\n }\r\n\r\n return Object.keys(obj).map((key: string) => key as keyof T);\r\n }\r\n\r\n public static isValid(obj: any) {\r\n return obj !== null && obj !== undefined;\r\n }\r\n\r\n public static getCodes(obj: any): any {\r\n if (!obj) {\r\n return {};\r\n }\r\n\r\n return Object.keys(obj).reduce((acc, curr) => {\r\n let value = obj[curr];\r\n try {\r\n value = JSON.parse(obj[curr]);\r\n } catch (_) {\r\n value = obj[curr];\r\n }\r\n return { ...acc, [curr]: value?.code || value };\r\n }, {});\r\n }\r\n}\r\n","export class StringUtil {\r\n public static getInitials(nameString?: string) {\r\n if (!nameString) {\r\n return '';\r\n }\r\n\r\n const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));\r\n return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';\r\n }\r\n\r\n public static revertString(str: string) {\r\n if (!str) {\r\n return '';\r\n }\r\n\r\n return str.split('').reverse().join('');\r\n }\r\n\r\n public static convertTimeToMinutes(timeText: string): number {\r\n const parts = timeText.split(':');\r\n const minutes = parseInt(parts[0]);\r\n const seconds = parseInt(parts[1]);\r\n const minutesTotals = minutes + seconds / 60;\r\n return minutesTotals;\r\n }\r\n\r\n public static convertMinutesToTime(minutesTotal: number): string {\r\n const minutes = Math.floor(minutesTotal);\r\n const seconds = Math.round((minutesTotal - minutes) * 60);\r\n\r\n const minutesText = `${minutes}`.padStart(2, '0');\r\n const secondsText = `${seconds}`.padStart(2, '0');\r\n\r\n return `${minutesText}:${secondsText}`;\r\n }\r\n\r\n public static convertObjectToQueryString(obj: Record<string, any>): string {\r\n const queryParams: string[] = [];\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key) && obj[key]) {\r\n queryParams.push(`${key}=${obj[key]}`);\r\n }\r\n }\r\n return queryParams.join('&');\r\n }\r\n\r\n public static convertToUppercaseWithoutSymbols(stringValue: string, withSpace?: boolean): string {\r\n const convert = stringValue\r\n .toUpperCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '')\r\n .replace(/[^\\w\\s]/g, '');\r\n\r\n if (withSpace) {\r\n return convert.replace(/\\s+/g, ' ');\r\n } else {\r\n return convert.replace(/\\s+/g, '');\r\n }\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { ObjectUtil } from './object.util';\r\n\r\nexport class ValidationUtil {\r\n public static email(control: AbstractControl): ValidationErrors | null {\r\n const email = control.value as string;\r\n\r\n if (!email || email === '') {\r\n return null;\r\n }\r\n\r\n if (\r\n !email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/) ||\r\n email.match(/['`~!#%^&*()|+¨=?;:'´\",<>\\{\\}\\[\\]\\\\\\/]/gi)\r\n ) {\r\n return {\r\n email: true,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static fullName(control: AbstractControl): ValidationErrors | null {\r\n const name: string = control.value;\r\n if (!name) {\r\n return null;\r\n }\r\n\r\n const splittedName = name\r\n .trim()\r\n .split(' ')\r\n .map((namePart) => namePart.trim());\r\n\r\n if (splittedName.length < 2) {\r\n return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };\r\n }\r\n return null;\r\n }\r\n\r\n public static noMultipleWhitespace(control: AbstractControl): ValidationErrors | null {\r\n const name: string = control.value;\r\n\r\n if (name) {\r\n if (!name.match(/^([a-zA-ZÀ-ú0-9]+\\s)*[a-zA-ZÀ-ú0-9]+$/)) {\r\n return { haveWhiteSpace: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public static isValidTaxId(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value) {\r\n return null;\r\n }\r\n\r\n if (control.value.length === 11) {\r\n return ValidationUtil.isValidCpf(control);\r\n }\r\n if (control.value.length === 14) {\r\n return ValidationUtil.isValidCnpj(control);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static isValidCpf(control: AbstractControl): ValidationErrors | null {\r\n const cpf = control.value;\r\n if (cpf) {\r\n let numbers, digits, sum, i, result, equalDigits;\r\n equalDigits = 1;\r\n if (cpf.length < 11) {\r\n return null;\r\n }\r\n\r\n for (i = 0; i < cpf.length - 1; i++) {\r\n if (cpf.charAt(i) !== cpf.charAt(i + 1)) {\r\n equalDigits = 0;\r\n break;\r\n }\r\n }\r\n\r\n if (!equalDigits) {\r\n numbers = cpf.substring(0, 9);\r\n digits = cpf.substring(9);\r\n sum = 0;\r\n for (i = 10; i > 1; i--) {\r\n sum += numbers.charAt(10 - i) * i;\r\n }\r\n\r\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n\r\n if (result !== Number(digits.charAt(0))) {\r\n return { cpfNotValid: true };\r\n }\r\n numbers = cpf.substring(0, 10);\r\n sum = 0;\r\n\r\n for (i = 11; i > 1; i--) {\r\n sum += numbers.charAt(11 - i) * i;\r\n }\r\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n\r\n if (result !== Number(digits.charAt(1))) {\r\n return { cpfNotValid: true };\r\n }\r\n return null;\r\n } else {\r\n return { cpfNotValid: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public static isValidCnpj(control: AbstractControl): ValidationErrors | null {\r\n let cnpj = control.value;\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n if (/^(\\d)\\1+$/.test(cnpj)) {\r\n return { cnpjNotValid: true };\r\n }\r\n\r\n let t = cnpj.length - 2,\r\n d = cnpj.substring(t),\r\n d1 = parseInt(d.charAt(0)),\r\n d2 = parseInt(d.charAt(1)),\r\n calc = (x: number) => {\r\n let n = cnpj.substring(0, x),\r\n y = x - 7,\r\n s = 0,\r\n r = 0;\r\n for (let i = x; i >= 1; i--) {\r\n s += n.charAt(x - i) * y--;\r\n if (y < 2) y = 9;\r\n }\r\n r = 11 - (s % 11);\r\n return r > 9 ? 0 : r;\r\n };\r\n if (calc(t) === d1 && calc(t + 1) === d2) {\r\n return null;\r\n } else {\r\n return { cnpjNotValid: true };\r\n }\r\n }\r\n\r\n public static majorAge(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value) {\r\n return null;\r\n }\r\n const age = ~~((Date.now() - control.value) / 31557600000);\r\n\r\n if (age < 18) {\r\n return { isNotMajorAge: true };\r\n }\r\n return null;\r\n }\r\n\r\n public static matchField(anotherField: AbstractControl | null): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n if (!control.value || !anotherField?.value) {\r\n return null;\r\n }\r\n if (control.value !== anotherField?.value) {\r\n return { fieldDoesNotMatch: true };\r\n }\r\n\r\n return null;\r\n };\r\n return validator;\r\n }\r\n\r\n public static cellphone(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value || control.value.length < 11) {\r\n return null;\r\n }\r\n\r\n const firstNumber = control.value.substring(2, 3);\r\n\r\n if (firstNumber != '9') {\r\n return { cellphoneInvalid: true };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static lowerThanOrEqualTo(greaterControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const lowerValue = control.value;\r\n const greaterValue = control.parent?.get(greaterControlName)?.value;\r\n if (!control.parent?.get(greaterControlName)) {\r\n console.log(`Control with name ${greaterControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue > +greaterValue\r\n ) {\r\n return {\r\n invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static greaterThanOrEqualTo(lowerControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const greaterValue = control.value;\r\n const lowerValue = control.parent?.get(lowerControlName)?.value;\r\n if (!control.parent?.get(lowerControlName)) {\r\n console.log(`Control with name ${lowerControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue > +greaterValue\r\n ) {\r\n return {\r\n invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static notSequentialNumbers(length: number): ValidatorFn {\r\n const validator = (control: AbstractControl): ValidationErrors | null => {\r\n const controlValue = control.value;\r\n const sequentialNumbers = '01234567890123456789';\r\n\r\n if (controlValue) {\r\n if (controlValue.length === length) {\r\n if (~sequentialNumbers.indexOf(control.value)) {\r\n return { isSequential: true };\r\n } else if (!!controlValue.match(/^(\\d)\\1+$/)) {\r\n return { isSequential: true };\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return validator;\r\n }\r\n\r\n public static firstLetterIsUppercase(control: AbstractControl): ValidationErrors | null {\r\n const controlValue = control.value as string;\r\n const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;\r\n\r\n if (!!controlValue) {\r\n if (!controlValue.match(regex)) {\r\n return { invalidField: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n public static containsLettersAndNumbers(control: AbstractControl): ValidationErrors | null {\r\n const controlValue = control.value as string;\r\n const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;\r\n\r\n if (!!controlValue) {\r\n if (!!!controlValue.match(regex)) {\r\n return { isNotAlphaNumeric: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n public static greaterThanTo(lowerControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const greaterValue = control.value;\r\n const lowerValue = control.parent?.get(lowerControlName)?.value;\r\n if (!control.parent?.get(lowerControlName)) {\r\n console.log(`Control with name ${lowerControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue >= +greaterValue\r\n ) {\r\n return {\r\n invalid: ` Este valor não pode ser igual ou menor que o valor inicial`,\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n}\r\n","export class WindowUtil {\r\n static isSmallDevice() {\r\n return window.innerWidth < 640;\r\n }\r\n static isDesktop() {\r\n return window.innerWidth >= 1024;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MaskUtil } from '../utils';\r\n\r\n@Pipe({\r\n name: 'formatDocument',\r\n})\r\nexport class FormatDocumentPipe implements PipeTransform {\r\n transform(value: string = ''): string {\r\n return MaskUtil.formatDocument(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MaskUtil } from '../utils';\r\n\r\n@Pipe({\r\n name: 'mask',\r\n})\r\nexport class MaskPipe implements PipeTransform {\r\n transform(value: string = '', mask: string): string {\r\n if (!mask || !mask.includes('#')) {\r\n console.warn('Uma máscara válida deve ser passada para o MaskPipe. Ex.: (##) #####-####');\r\n return value;\r\n }\r\n return MaskUtil.doMaskString(value, mask);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notHidden',\r\n})\r\nexport class NotHiddenPipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n return value?.filter((item) => !item.hidden) || [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'onlyActive',\r\n})\r\nexport class OnlyActivePipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n return value?.filter((item) => item.active) || [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'removeLastChild',\r\n})\r\nexport class RemoveLastChildPipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n const newArray = [...value];\r\n newArray.pop();\r\n return newArray;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { VectorNotification } from '../models/vector-notification.model';\r\n\r\n@Pipe({ name: 'unreadNotifications' })\r\nexport class UnreadNotificationsPipe implements PipeTransform {\r\n constructor() {}\r\n transform(notifications: VectorNotification[] | null) {\r\n return notifications?.filter((item) => !item.wasRead) ?? [];\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyBrlPipe } from './currency-brl.pipe';\r\nimport { FormatDocumentPipe } from './format-document.pipe';\r\nimport { MaskPipe } from './mask.pipe';\r\nimport { NotHiddenPipe } from './not-hidden.pipe';\r\nimport { OnlyActivePipe } from './only-active.pipe';\r\nimport { RemoveLastChildPipe } from './remove-last-child.pipe';\r\nimport { UnreadNotificationsPipe } from './unread-notifications.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n RemoveLastChildPipe,\r\n CurrencyBrlPipe,\r\n NotHiddenPipe,\r\n OnlyActivePipe,\r\n FormatDocumentPipe,\r\n MaskPipe,\r\n UnreadNotificationsPipe,\r\n ],\r\n exports: [\r\n RemoveLastChildPipe,\r\n CurrencyBrlPipe,\r\n NotHiddenPipe,\r\n OnlyActivePipe,\r\n FormatDocumentPipe,\r\n MaskPipe,\r\n UnreadNotificationsPipe,\r\n ],\r\n})\r\nexport class PipesModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { PipesModule } from '../pipes';\r\n\r\n@NgModule({\r\n exports: [CommonModule, TooltipModule, PipesModule],\r\n imports: [TranslateModule],\r\n})\r\nexport class SharedModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n declarations: [BadgeComponent],\r\n imports: [SharedModule, TooltipModule],\r\n exports: [BadgeComponent],\r\n})\r\nexport class BadgeModule {}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { AppName, MenuItem } from '../models';\r\n\r\nexport interface Environment {\r\n production: boolean;\r\n appName: string;\r\n API_URL: string;\r\n LOGITECH_URL: string;\r\n LOGTECH_ASPX_URL: string;\r\n PORTAL_URL: string;\r\n FINTECH_URL: string;\r\n MARKETPLACE_URL: string;\r\n SURVEY_URL: string;\r\n API_KEY: string;\r\n}\r\n\r\nexport const APP_NAME = new InjectionToken<AppName>('APP_NAME');\r\nexport const ENVIRONMENT = new InjectionToken<Environment>('ENVIRONMENT');\r\nexport const MENU_OPTIONS = new InjectionToken<MenuItem[]>('MENU_OPTIONS');\r\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ENVIRONMENT, MENU_OPTIONS } from '../../injections';\r\nimport { MenuItem } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n})\r\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\r\n public appName = this.environment.appName;\r\n public routeFragments: MenuItem[] = [];\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(ENVIRONMENT) private environment: any,\r\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[]\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.routeFragments = [];\r\n let url = event.urlAfterRedirects.replace('/', '');\r\n if (url.includes('?')) {\r\n url = url.substring(0, url.indexOf('?'));\r\n }\r\n this.extractRouteFragmentsFromMenu(url, this.menuOptions);\r\n }\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public navigateToFragment(fragment: MenuItem) {\r\n this.router.navigate([fragment.route], { queryParamsHandling: 'preserve' });\r\n }\r\n\r\n private extractRouteFragmentsFromMenu(url: string, currentChildren: MenuItem[]): boolean {\r\n let foundItem = false;\r\n for (let i = 0; i < currentChildren.length; i++) {\r\n if (currentChildren[i].route) {\r\n if (\r\n currentChildren[i].route &&\r\n (currentChildren[i].route!.startsWith(url) || url.startsWith(currentChildren[i].route || ''))\r\n ) {\r\n this.routeFragments = [currentChildren[i]];\r\n foundItem = true;\r\n }\r\n }\r\n\r\n if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {\r\n this.routeFragments = [currentChildren[i]].concat(this.routeFragments);\r\n foundItem = true;\r\n break;\r\n }\r\n }\r\n\r\n return foundItem;\r\n }\r\n}\r\n","<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span\r\n class=\"route-fragment\"\r\n [ngClass]=\"{ clickable: fragment.route }\"\r\n *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n (click)=\"navigateToFragment(fragment)\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment.label }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1].label }}\r\n </span>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\n\r\n@NgModule({\r\n declarations: [BreadcrumbComponent],\r\n exports: [BreadcrumbComponent],\r\n imports: [SharedModule],\r\n})\r\nexport class BreadcrumbModule {}\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CrudMode } from '../../models/crud-mode.enum';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport class CrudBaseComponent implements OnDestroy {\r\n public crudMode = CrudMode.NEW;\r\n public isReadonly = false;\r\n public form = new UntypedFormGroup({});\r\n protected subscription = new Subscription();\r\n\r\n constructor(protected activatedRoute: ActivatedRoute) {\r\n this.crudMode = this.getCrudModeByRoute(this.activatedRoute.snapshot.url[0].path);\r\n this.isReadonly = this.crudMode === CrudMode.VIEW;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public isInsertion() {\r\n return this.crudMode === CrudMode.NEW;\r\n }\r\n\r\n public isEdition() {\r\n return this.crudMode === CrudMode.EDIT;\r\n }\r\n\r\n private getCrudModeByRoute(route: string) {\r\n switch (route) {\r\n case 'new':\r\n return CrudMode.NEW;\r\n case 'edit':\r\n return CrudMode.EDIT;\r\n case 'view':\r\n return CrudMode.VIEW;\r\n default:\r\n return CrudMode.NEW;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\ntype ButtonType =\r\n | 'success'\r\n | 'success-outlined'\r\n | 'default'\r\n | 'default-filled'\r\n | 'default-outlined'\r\n | 'default-outlined-gray'\r\n | 'default-outlined-gray-icon-red'\r\n | 'default-outlined-gray-icon-gray'\r\n | 'cancel'\r\n | 'cancel-filled'\r\n | 'light-outline';\r\n\r\n@Component({\r\n selector: 'vector-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n})\r\nexport class ButtonComponent {\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public label = '';\r\n @Input()\r\n public type: ButtonType = 'default';\r\n @Input()\r\n public leftIcon = '';\r\n @Input()\r\n public rightIcon = '';\r\n @Input()\r\n public noShadow = false;\r\n @Input()\r\n public round = false;\r\n @Input()\r\n public style: any = {};\r\n @Input()\r\n public loading: boolean = false;\r\n @Output()\r\n public onClick = new EventEmitter<any>();\r\n\r\n get styleClass() {\r\n return `button shadow-3 ${this.type} ${this.noShadow && 'no-shadow'}`;\r\n }\r\n}\r\n","<p-button\r\n [styleClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (onClick)=\"onClick.emit($event)\"\r\n [ngClass]=\"{ round: round }\"\r\n [loading]=\"loading\"\r\n></p-button>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\ntype ButtonType = 'success' | 'success-outlined' | 'default' | 'default-filled' | 'cancel' | 'cancel-filled';\r\n@Component({\r\n selector: 'vector-crud-footer',\r\n templateUrl: './crud-footer.component.html',\r\n styleUrls: ['./crud-footer.component.scss'],\r\n})\r\nexport class CrudFooterComponent implements OnInit {\r\n @Input()\r\n public submitDisabled = false;\r\n @Input()\r\n public submitHidden = false;\r\n @Input()\r\n public goBackHidden = false;\r\n\r\n @Input()\r\n public labelGoBack?: string;\r\n @Input()\r\n public typeGoBack?: ButtonType;\r\n @Input()\r\n public labelGoSubmit?: string;\r\n @Input()\r\n public typeGoSubmit?: ButtonType;\r\n\r\n @Output()\r\n public onGoBack = new EventEmitter<void>();\r\n @Output()\r\n public onSubmit = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"footer-container shadow-3\">\r\n <div class=\"button\" *ngIf=\"!goBackHidden\">\r\n <vector-button\r\n [label]=\"labelGoBack ? labelGoBack : ('enums.Options.GO_BACK' | translate)\"\r\n [type]=\"typeGoBack ? typeGoBack : 'default'\"\r\n (onClick)=\"onGoBack.emit()\"\r\n >\r\n </vector-button>\r\n </div>\r\n\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n [label]=\"labelGoSubmit ? labelGoSubmit : ('enums.Options.SAVE' | translate)\"\r\n [type]=\"typeGoSubmit ? typeGoSubmit : 'success'\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-panel',\r\n templateUrl: './panel.component.html',\r\n styleUrls: ['./panel.component.scss'],\r\n})\r\nexport class PanelComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n","import { NgModule } from '@angular/core';\r\nimport { PanelModule as PrimeNgPanel } from 'primeng/panel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { PanelComponent } from './panel.component';\r\n\r\n@NgModule({\r\n declarations: [PanelComponent],\r\n exports: [PanelComponent],\r\n imports: [SharedModule, PrimeNgPanel],\r\n})\r\nexport class PanelModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-score',\r\n templateUrl: './score.component.html',\r\n styleUrls: ['./score.component.scss'],\r\n})\r\nexport class ScoreComponent implements OnInit {\r\n @Input()\r\n public score: number = 0;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"container\">\r\n <span class=\"score\">{{ score }}</span>\r\n <em class=\"fas fa-star star\"></em>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { ScoreComponent } from './score.component';\r\n\r\n@NgModule({\r\n declarations: [ScoreComponent],\r\n exports: [ScoreComponent],\r\n})\r\nexport class ScoreModule {}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { map, switchMap, tap } from 'rxjs/operators';\r\nimport { ProfileService, StorageService } from '.';\r\nimport { ENVIRONMENT, Environment } from '../injections';\r\nimport { Role } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n public readonly role$ = new BehaviorSubject<Role>(this.storageService.getRole());\r\n private parentWindowUrl = '';\r\n private subscription = new Subscription();\r\n private readonly baseUrl: string;\r\n\r\n constructor(\r\n @Inject(ENVIRONMENT) private environment: Environment,\r\n private http: HttpClient,\r\n private storageService: StorageService,\r\n private profileService: ProfileService,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';\r\n\r\n this.subscription.add(\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params['parent']) {\r\n this.parentWindowUrl = decodeURIComponent(params['parent']);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public getTokenByGuid(tokenGuid: string): Observable<any> {\r\n let response: any;\r\n return this.http.get<any>(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(\r\n switchMap((tokenResponse: any) => {\r\n response = tokenResponse;\r\n this.storageService.setToken(tokenResponse.accessToken);\r\n this.storageService.setUsername(tokenResponse.userName);\r\n this.storageService.setRefreshToken(tokenResponse.refreshToken);\r\n return this.profileService.getUserProfile();\r\n }),\r\n map(() => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n public getTokenByRefreshToken(refreshToken: string) {\r\n const headers = new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n .set('no-spinner', 'true');\r\n return this.http\r\n .post<any>(\r\n `connect/token`,\r\n `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`,\r\n { headers }\r\n )\r\n .pipe(\r\n tap((response) => {\r\n if (response?.access_token && response?.refresh_token) {\r\n this.storageService.setToken(`Bearer ${response.access_token}`);\r\n this.storageService.setRefreshToken(response.refresh_token);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public generateTokenGuid(): Observable<string> {\r\n return this.http\r\n .post<any>(`${this.baseUrl}/TemporaryAccessToken/generate`, {\r\n RefreshToken: this.storageService.getRefreshToken(),\r\n })\r\n .pipe(map((response) => response?.accessToken || ''));\r\n }\r\n\r\n public logout(): void {\r\n this.storageService.clear();\r\n if (window.parent == window) {\r\n window.location.href = this.environment.PORTAL_URL;\r\n } else {\r\n window.parent.postMessage({ logout: true }, this.parentWindowUrl);\r\n }\r\n }\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { HttpResponseGridPaged } from '../models/http-response.model';\r\n\r\nexport class CrudBaseService<T> {\r\n public dataset$ = new BehaviorSubject<HttpResponseGridPaged<T>>({\r\n data: [],\r\n draw: 0,\r\n recordsFiltered: 0,\r\n recordsTotal: 0,\r\n });\r\n public flatUnpagedDataset$ = new BehaviorSubject<T[]>([]);\r\n public getHistory(entityId: string) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ListItem } from '../models/list-item.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnumService {\r\n constructor(private translateService: TranslateService) {}\r\n public getTranslatedListItemsFromEnum(enumType: any, enumName: string): Observable<ListItem[]> {\r\n return this.getEnumTranslations(enumName).pipe(\r\n map((enumTranslations: any) => {\r\n return Object.keys(enumType)\r\n .filter((item) => isNaN(+item))\r\n .map((item: string) => {\r\n return {\r\n name: enumTranslations[item],\r\n code: enumType[item],\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n public getEnumTranslations(enumName: string): Observable<any> {\r\n return this.translateService.get('enums').pipe(\r\n map((translations) => {\r\n return translations[enumName];\r\n })\r\n );\r\n }\r\n\r\n public getListItemsFromEnum(enumType: any): ListItem[] {\r\n return Object.keys(enumType)\r\n .filter((item) => isNaN(+item))\r\n .map((item: string) => {\r\n return {\r\n name: enumType[item],\r\n code: enumType[item],\r\n };\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ErrorMessageService {\r\n public hasToken$ = new Subject<boolean>();\r\n public genericModalErrorMessage$ = new Subject<string | undefined>();\r\n}\r\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IpInfo } from '../models/ip-info.enum';\r\n\r\n@Injectable()\r\nexport class GeolocationService {\r\n private customHttpClient: HttpClient;\r\n\r\n constructor(private http: HttpClient, private backend: HttpBackend) {\r\n this.customHttpClient = new HttpClient(backend);\r\n }\r\n\r\n public getGeoLoc() {\r\n return this.customHttpClient.get<IpInfo>('https://api.ipify.org/?format=json');\r\n }\r\n\r\n public createUserLoginInfo(userInfo: any) {\r\n return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoadingService {\r\n public loading$ = new Subject<boolean>();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ProfileModule, Role } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StorageService {\r\n public clear(): void {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n }\r\n\r\n public clearSession(): void {\r\n sessionStorage.clear();\r\n }\r\n\r\n public get(key: string): any {\r\n const storageItem = localStorage.getItem(key);\r\n try {\r\n return storageItem ? JSON.parse(storageItem) : '';\r\n } catch (e) {\r\n return storageItem;\r\n }\r\n }\r\n\r\n public set(key: string, value: any): void {\r\n localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\r\n }\r\n\r\n public remove(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n public getSession(key: string): any {\r\n const storageItem = sessionStorage.getItem(key);\r\n try {\r\n return storageItem ? JSON.parse(storageItem) : '';\r\n } catch (e) {\r\n return storageItem;\r\n }\r\n }\r\n\r\n public setSession(key: string, value: any): void {\r\n sessionStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\r\n }\r\n\r\n public removeSession(key: string): void {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n public getToken(): string {\r\n return localStorage.getItem('token') || '';\r\n }\r\n\r\n public setToken(token: string) {\r\n localStorage.setItem('token', token);\r\n }\r\n\r\n public removeToken() {\r\n localStorage.removeItem('token');\r\n }\r\n\r\n public getRefreshToken(): string {\r\n return sessionStorage.getItem('refreshToken') || '';\r\n }\r\n\r\n public setRefreshToken(refreshToken: string) {\r\n sessionStorage.setItem('refreshToken', refreshToken);\r\n }\r\n\r\n public removeRefreshToken() {\r\n sessionStorage.removeItem('refreshToken');\r\n }\r\n\r\n public getUsername(): string {\r\n return sessionStorage.getItem('username') || '';\r\n }\r\n\r\n public setUsername(username: string) {\r\n sessionStorage.setItem('username', username);\r\n }\r\n\r\n public removeUsername() {\r\n sessionStorage.removeItem('username');\r\n }\r\n\r\n public getUserId(): number {\r\n const userId = sessionStorage.getItem('userId');\r\n return userId ? +atob(userId) : 0;\r\n }\r\n\r\n public setUserId(userId: number) {\r\n sessionStorage.setItem('userId', btoa(`${userId}`));\r\n }\r\n\r\n public clearUserId() {\r\n sessionStorage.removeItem('userId');\r\n }\r\n\r\n public getRole(): Role {\r\n return atob(sessionStorage.getItem('role') || '') as Role;\r\n }\r\n\r\n public setRole(role?: string) {\r\n sessionStorage.setItem('role', role || '');\r\n }\r\n\r\n public clearRole() {\r\n sessionStorage.removeItem('role');\r\n }\r\n\r\n public getProfile(): {\r\n marketplace: ProfileModule | undefined;\r\n fintech: ProfileModule | undefined;\r\n allModules: ProfileModule[] | undefined;\r\n } {\r\n const data = sessionStorage.getItem('profile') || '';\r\n return data ? JSON.parse(data) : data;\r\n }\r\n\r\n public setProfile(profiles: {\r\n marketplace: ProfileModule | undefined;\r\n fintech: ProfileModule | undefined;\r\n allModules: ProfileModule[] | undefined;\r\n }) {\r\n sessionStorage.setItem('profile', JSON.stringify(profiles || ''));\r\n }\r\n\r\n public removeProfile() {\r\n sessionStorage.removeItem('profile');\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport {\r\n Profile,\r\n ProfileModule,\r\n ProfileModuleActionType,\r\n ProfileModuleType,\r\n ProfileTypeEnum,\r\n} from '../models/profile.model';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProfileService {\r\n public readonly moduleProfile$ = new BehaviorSubject<ProfileModule[] | undefined>(\r\n this.storageService.getProfile().allModules\r\n );\r\n\r\n public readonly profileFirstName$ = new BehaviorSubject<string | undefined>(undefined);\r\n public readonly profileTypeItens$ = new BehaviorSubject<\r\n { shipper: number; carrierId: number; profileTypeId: number } | undefined\r\n >(undefined);\r\n public hasFintechAdminPermission = false;\r\n public hasMarketplaceAdminPermission = false;\r\n public hasAnyFintechPermission = false;\r\n public hasAnyMarketplacePermission = false;\r\n\r\n constructor(private http: HttpClient, private storageService: StorageService) {\r\n const { fintech, marketplace } = this.storageService.getProfile();\r\n this.hasFintechAdminPermission = !!fintech?.actions.some((act) =>\r\n [\r\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\r\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\r\n ].includes(act.name)\r\n );\r\n this.hasMarketplaceAdminPermission = !!marketplace?.actions.some(\r\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\r\n );\r\n this.hasAnyFintechPermission = !!fintech?.actions?.length;\r\n this.hasAnyMarketplacePermission = !!marketplace?.actions?.length;\r\n }\r\n\r\n private getProfileTypeEnum(profileTypeId: number) {\r\n if (profileTypeId) return profileTypeId as ProfileTypeEnum;\r\n else return null;\r\n }\r\n\r\n public getUserProfile() {\r\n return this.http.get<any>('connect/userinfo').pipe(\r\n tap((response) => {\r\n if (response.firstName) {\r\n this.profileFirstName$.next(response.firstName);\r\n }\r\n if (response) {\r\n let dataObject = {\r\n shipper: response?.shipper,\r\n carrierId: response?.carrierId,\r\n profileTypeId: response?.profile.profileTypeId,\r\n profileName: response?.profile.name,\r\n userId: response?.id,\r\n profileTypeEnum: this.getProfileTypeEnum(response?.profile.profileTypeId),\r\n isEtcd: response?.isEtcd,\r\n shipperEtcd: response?.shipperEtcd,\r\n userName: response.firstName,\r\n };\r\n if (response.id) {\r\n this.storageService.setUserId(response.id);\r\n }\r\n this.storageService.setSession('userInfo', dataObject);\r\n this.profileTypeItens$.next(dataObject);\r\n }\r\n\r\n const completeProfile: Profile = response.profile;\r\n const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');\r\n const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');\r\n const allModules = completeProfile.modules;\r\n this.hasFintechAdminPermission = !!fintechProfileModule?.actions.some((act) =>\r\n [\r\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\r\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\r\n ].includes(act.name)\r\n );\r\n this.hasMarketplaceAdminPermission = !!marketplaceProfileModule?.actions.some(\r\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\r\n );\r\n this.hasAnyFintechPermission = !!fintechProfileModule?.actions?.length;\r\n this.storageService.setProfile({\r\n marketplace: marketplaceProfileModule,\r\n fintech: fintechProfileModule,\r\n allModules,\r\n });\r\n this.moduleProfile$.next(allModules);\r\n })\r\n );\r\n }\r\n\r\n public userHasPermission(\r\n action: ProfileModuleActionType | ProfileModuleType | ProfileModuleActionType[] | ProfileModuleType[] | undefined\r\n ) {\r\n if (!action) {\r\n return true;\r\n }\r\n if (!this.moduleProfile$.value) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(action)) {\r\n return action.some((act) => {\r\n if (Object.values(ProfileModuleActionType).some((val) => val === act)) {\r\n return this.moduleProfile$.value?.some((module) =>\r\n module.actions.some((moduleAction) => moduleAction.name === act)\r\n );\r\n }\r\n\r\n if (Object.values(ProfileModuleType).some((val) => val === act)) {\r\n return this.moduleProfile$.value?.some((module) => module.name === act);\r\n }\r\n\r\n return false;\r\n });\r\n } else {\r\n if (Object.values(ProfileModuleActionType).some((val) => val === action)) {\r\n return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));\r\n }\r\n\r\n if (Object.values(ProfileModuleType).some((val) => val === action)) {\r\n return this.moduleProfile$.value.some((module) => module.name === action);\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public getUserInfo(): Observable<any> {\r\n return this.http.get<any>(`connect/userinfo`);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { APP_NAME, ENVIRONMENT, Environment, MENU_OPTIONS } from '../injections';\r\nimport { AppName, MenuItem, View } from '../models';\r\nimport { VectorApp } from '../models/vector-app.model';\r\nimport { AuthService } from './auth.service';\r\nimport { ProfileService } from './profile.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MenuService {\r\n public toggleMenu$ = new Subject<void>();\r\n public menuOpened$ = new Subject<boolean>();\r\n public frameUrl$ = new Subject<string | undefined>();\r\n public menuNotifications: { [menuId: string]: number } = {};\r\n\r\n constructor(\r\n @Inject(ENVIRONMENT) private environment: Environment,\r\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[],\r\n @Inject(APP_NAME) private appName: string,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {}\r\n\r\n public getSideMainMenuOptions(): MenuItem[] {\r\n return this.menuOptions\r\n .filter(\r\n (menu) =>\r\n (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&\r\n !menu.hidden &&\r\n this.profileService.userHasPermission(menu.permission)\r\n )\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((menu) => !menu.hidden)\r\n .map((menu, index) => this.generateId(menu, index));\r\n }\r\n\r\n public getSideAdminMenuOptions(): MenuItem[] {\r\n return this.menuOptions\r\n .filter(\r\n (menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission)\r\n )\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((menu) => !menu.hidden)\r\n .map((menu, index) => this.generateId(menu, index));\r\n }\r\n\r\n public navigateToPortal(params: Partial<VectorApp>): void {\r\n this.authService.generateTokenGuid().subscribe((tokenGuid) => {\r\n const userId = this.storageService.getUserId();\r\n if (params.navigate) {\r\n params.navigate(tokenGuid, userId);\r\n } else {\r\n switch (this.appName) {\r\n case AppName.FINTECH:\r\n this.handleFintechRedirects(params, tokenGuid, userId);\r\n break;\r\n case AppName.MARKETPLACE:\r\n this.handleMarketplaceRedirects(params, tokenGuid, userId);\r\n break;\r\n case AppName.LOGTECH:\r\n this.handleLogtechRedirects(params, tokenGuid, userId);\r\n break;\r\n }\r\n this.storageService.clear();\r\n }\r\n });\r\n }\r\n\r\n public addMenuNotification(menuId: string) {\r\n this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);\r\n }\r\n\r\n public subtractMenuNotification(menuId: string) {\r\n this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);\r\n }\r\n\r\n public updateMenuNotifications(menuId: string, notificationsCount: number): void {\r\n this.menuNotifications[menuId] = notificationsCount;\r\n }\r\n\r\n private removeHiddenChildren(menu: MenuItem) {\r\n const newMenu = { ...menu };\r\n const hadChildren = !!newMenu.children?.length;\r\n newMenu.children = newMenu.children\r\n ?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((child) => !child.hidden);\r\n if (\r\n hadChildren &&\r\n !newMenu.children?.length &&\r\n !newMenu.route &&\r\n !newMenu.frameUrl &&\r\n !newMenu.externalUrl &&\r\n !newMenu.command\r\n ) {\r\n newMenu.hidden = true;\r\n }\r\n return newMenu;\r\n }\r\n\r\n private generateId(menu: MenuItem, index: number, parentId: string = '') {\r\n menu.id = `${parentId}${index}`;\r\n menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));\r\n return menu;\r\n }\r\n\r\n private handleFintechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.FINTECH) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId },\r\n });\r\n } else {\r\n let url =\r\n params.appName === AppName.MARKETPLACE ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n private handleMarketplaceRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.MARKETPLACE) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },\r\n });\r\n } else {\r\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n private handleLogtechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.LOGTECH) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },\r\n });\r\n } else {\r\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ModalService {\r\n public showModalBackground$ = new Subject<boolean>();\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, of } from 'rxjs';\r\nimport { VectorNotification } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsService {\r\n public notifications$ = new BehaviorSubject<VectorNotification[]>([]);\r\n\r\n private readonly baseUrl = 'api/Notifications'; //to do: confirmar api\r\n constructor(private http: HttpClient) {}\r\n\r\n public getUserNotifications(): void {\r\n of(NOTIFICATIONS_MOCK).subscribe((notifications) => this.notifications$.next(notifications));\r\n // return this.http.get(`${this.baseUrl}`);\r\n }\r\n}\r\n\r\nconst NOTIFICATIONS_MOCK: VectorNotification[] = [\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n needsApproval: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n wasRead: true,\r\n },\r\n];\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-field-error-message',\r\n templateUrl: './field-error-message.component.html',\r\n styleUrls: ['./field-error-message.component.scss'],\r\n})\r\nexport class FieldErrorMessageComponent implements OnInit {\r\n @Input()\r\n public control: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('minlength')) {\r\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('fieldDoesNotMatch')) {\r\n return typeof this.control.errors['fieldDoesNotMatch'] === 'string'\r\n ? this.control.errors['fieldDoesNotMatch']\r\n : 'Campo inválido';\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { ModalService } from '../../../services';\r\n\r\n@Component({\r\n selector: 'vector-calendar-field',\r\n templateUrl: './calendar-field.component.html',\r\n styleUrls: ['./calendar-field.component.scss'],\r\n})\r\nexport class CalendarComponent {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public showCalendarOnFocus = true;\r\n @Input()\r\n public min?: any = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();\r\n @Input()\r\n public max?: any = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();\r\n @Input()\r\n public disabledDates: Date[] = [];\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public defaultDate: Date = DateTime.now().toJSDate();\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public showTime = false;\r\n @Input()\r\n public showSeconds = false;\r\n @Input()\r\n public stepMinute = 1;\r\n @Input()\r\n public stepHour = 1;\r\n @Input()\r\n public stepSecond = 1;\r\n @Input()\r\n public timeOnly: boolean = false;\r\n @Input()\r\n public hourFormat: string = '24';\r\n\r\n @Output()\r\n public onFocus = new EventEmitter<Event>();\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n @Output()\r\n public onInput = new EventEmitter<Event>();\r\n @Output()\r\n public onSelect = new EventEmitter<Date>();\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n public keyFilter = '';\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public onShowCalendar() {\r\n this.modalService.showModalBackground$.next(true);\r\n }\r\n\r\n public onHideCalendar() {\r\n this.modalService.showModalBackground$.next(false);\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n icon=\"fas fa-calendar-day\"\r\n (onClose)=\"onHideCalendar()\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n (onInput)=\"onInput.emit()\"\r\n [defaultDate]=\"defaultDate\"\r\n [disabled]=\"disabled\"\r\n [disabledDates]=\"disabledDates\"\r\n [formControl]=\"control\"\r\n [maxDate]=\"max\"\r\n [minDate]=\"min\"\r\n [readonlyInput]=\"false\"\r\n [showIcon]=\"true\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [showSeconds]=\"showSeconds\"\r\n [showTime]=\"showTime\"\r\n [stepMinute]=\"stepMinute\"\r\n [timeOnly]=\"timeOnly\"\r\n [stepHour]=\"stepHour\"\r\n [stepSecond]=\"stepSecond\"\r\n [hourFormat]=\"hourFormat\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-checkbox-field',\r\n templateUrl: './checkbox-field.component.html',\r\n styleUrls: ['./checkbox-field.component.scss'],\r\n})\r\nexport class CheckboxFieldComponent implements OnInit {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public rounded: boolean = false;\r\n @Input()\r\n public labelSize: 'default' | 'large' = 'default';\r\n @Input()\r\n public value: boolean | undefined = false;\r\n @Input()\r\n public groupName: string = '';\r\n @Input()\r\n public options: ListItem[] | null = null;\r\n @Input()\r\n public disabled: boolean = false;\r\n @Output()\r\n public valueChange = new EventEmitter<boolean>();\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (this.disabled) {\r\n this.control?.disable();\r\n } else {\r\n this.control?.enable();\r\n }\r\n }\r\n}\r\n","<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n","export enum Currency {\r\n BR = 'R$ ',\r\n AR = '$ ',\r\n US = '$ ',\r\n}\r\n","export enum Locale {\r\n BR = 'pt-BR',\r\n AR = 'es-AR',\r\n US = 'en-US',\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { InputNumber } from 'primeng/inputnumber';\r\nimport { Currency } from '../../../models/currency.enum';\r\nimport { Locale } from '../../../models/locale.enum';\r\n\r\n@Component({\r\n selector: 'vector-currency-field',\r\n templateUrl: './currency-field.component.html',\r\n styleUrls: ['./currency-field.component.scss'],\r\n})\r\nexport class CurrencyFieldComponent implements AfterViewInit {\r\n @Input()\r\n public minValue = 0;\r\n @Input()\r\n public maxValue = 999999999;\r\n @Input()\r\n public placeholder: string = '';\r\n @Input()\r\n public numberOfDecimals: number = 2;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public outlined = false;\r\n @Input()\r\n public rounded = false;\r\n @Input()\r\n public label?: string;\r\n @Input()\r\n public isBankingField: boolean = false;\r\n @Input()\r\n public inputClassName = '';\r\n @Input()\r\n public localePrefix: Locale | string = Locale.BR;\r\n @Input()\r\n public currencyPrefix: Currency | string = Currency.BR;\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public centered = false;\r\n @Input()\r\n public inputId?: string;\r\n\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n\r\n @ViewChild(InputNumber)\r\n private inputElement?: InputNumber;\r\n\r\n ngAfterViewInit() {\r\n const inputElement = this.inputElement?.el.nativeElement.querySelector('input');\r\n inputElement.addEventListener(\r\n 'select',\r\n () => {\r\n inputElement.selectionStart = inputElement.selectionEnd;\r\n },\r\n false\r\n );\r\n }\r\n\r\n public getInputNgClass() {\r\n return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };\r\n }\r\n\r\n public focusLastIndex($event: Event): void {\r\n const target = $event.target as HTMLInputElement;\r\n const selectionIndex = target?.value.length || 0;\r\n target?.setSelectionRange(selectionIndex, selectionIndex);\r\n }\r\n\r\n public inputNextChar($event: KeyboardEvent): void {\r\n const target = $event.target as HTMLInputElement;\r\n const valueTyped = $event.key;\r\n let newValue = target.value.replace('R$ ', '').replace(/[\\.,]/g, '');\r\n const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);\r\n if (isDeleteOrBackspace) {\r\n newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');\r\n } else if (!isNaN(+valueTyped)) {\r\n newValue += valueTyped;\r\n newValue = `${+newValue}`.padStart(3, '0');\r\n }\r\n target.value = `${this.outlined ? 'R$ ' : ''}${Number(\r\n `${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`\r\n ).toLocaleString('pt-BR', {\r\n currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: this.numberOfDecimals,\r\n })}`;\r\n this.focusLastIndex($event);\r\n }\r\n\r\n public clearValue() {\r\n this.control.setValue(0);\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"numberOfDecimals\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? currencyPrefix : ''\"\r\n [disabled]=\"disabled\"\r\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n [inputId]=\"inputId\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { DocumentType, ListItem } from '../../../models';\r\nimport { MaskUtil } from '../../../utils';\r\n\r\n@Component({\r\n selector: 'vector-text-field',\r\n templateUrl: './text-field.component.html',\r\n styleUrls: ['./text-field.component.scss'],\r\n})\r\nexport class TextFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public maxlength: string = '';\r\n @Input()\r\n public isPassword = false;\r\n @Input()\r\n public numeric = false;\r\n @Input()\r\n public numericPositive = false;\r\n @Input()\r\n public numericDotComma = false;\r\n @Input()\r\n public decimal = false;\r\n @Input()\r\n public onlyText = false;\r\n @Input()\r\n public noSpecialCharacters = false;\r\n @Input()\r\n public alphaNumeric = false;\r\n @Input()\r\n public alphaNumericAndWhitespace = false;\r\n @Input()\r\n public mask?: string;\r\n @Input()\r\n public autoClear = true;\r\n @Input()\r\n public readonly = false;\r\n @Input()\r\n public rightIcon = '';\r\n @Input()\r\n public centered = false;\r\n @Input()\r\n public enableDocumentTypeChoice = false;\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public leftLabel?: string;\r\n @Input()\r\n set control(_control: any) {\r\n this._control = _control;\r\n if (this.enableDocumentTypeChoice) {\r\n this.handleInitialDocumentTypeState();\r\n }\r\n\r\n if (this.controlSubscription) {\r\n this.controlSubscription.unsubscribe();\r\n this.controlSubscription = new Subscription();\r\n }\r\n this.controlSubscription.add(\r\n this.control.valueChanges.subscribe((value: string) => {\r\n if (this.enableDocumentTypeChoice && !this.lastTypedValue && value?.length > 11) {\r\n this.handleInitialDocumentTypeState();\r\n }\r\n this.lastTypedValue = value;\r\n })\r\n );\r\n }\r\n @Input()\r\n public inputId?: string;\r\n @Input()\r\n public slotChar = '_';\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public pattern: string = '';\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public inputEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public backSpaceKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n @Output()\r\n public onDocumentTypeChange = new EventEmitter<ListItem>();\r\n\r\n public isPasswordVisible = false;\r\n public validateOnly = false;\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n get keyfilter() {\r\n this.validateOnly = false;\r\n if (this.numeric) {\r\n return 'int';\r\n }\r\n if (this.numericPositive) {\r\n return 'pint';\r\n }\r\n if (this.decimal) {\r\n this.validateOnly = true;\r\n return /^(\\d+(?:[\\,]\\d{2})?)$/;\r\n }\r\n if (this.onlyText) {\r\n this.validateOnly = true;\r\n return /^[a-zA-ZÀ-ú\\s]*$/gm;\r\n }\r\n if (this.alphaNumeric) {\r\n return 'alphanum';\r\n }\r\n if (this.alphaNumericAndWhitespace) {\r\n return /^[A-Za-zÀ-ú0-9 ]*$/gm;\r\n }\r\n if (this.numericDotComma) {\r\n return 'money';\r\n }\r\n if (this.noSpecialCharacters) {\r\n return /^[a-zA-ZÀ-ÖØ-öø-ÿ0-9\\s]+$/;\r\n }\r\n return /[\\s\\S]*/;\r\n }\r\n\r\n get control() {\r\n return this._control;\r\n }\r\n\r\n get showPasswordIcon() {\r\n return this.isPasswordVisible ? 'fas fa-eye' : 'fas fa-eye-slash';\r\n }\r\n\r\n public documentTypes: ListItem[] = [\r\n {\r\n name: 'CPF',\r\n code: DocumentType.CPF,\r\n },\r\n {\r\n name: 'CNPJ',\r\n code: DocumentType.CNPJ,\r\n },\r\n ];\r\n\r\n public selectedDocumentType = this.documentTypes[1];\r\n\r\n private lastBlurValue = '';\r\n private lastTypedValue = '';\r\n private subscription = new Subscription();\r\n private controlSubscription = new Subscription();\r\n private _control: any;\r\n\r\n ngOnInit() {\r\n if (this.enableDocumentTypeChoice) {\r\n this.setDocumentType(this.selectedDocumentType.code);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.controlSubscription.unsubscribe();\r\n }\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n\r\n public onInput($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n this.inputEvent.emit(target.value);\r\n }\r\n\r\n public onEnterPress() {\r\n this.onBlur();\r\n this.enterKeyPress.emit();\r\n }\r\n public onBackSpacePress() {\r\n this.onBlur();\r\n this.backSpaceKeyPress.emit();\r\n }\r\n\r\n public onFocus($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n if (this.mask) {\r\n const firstUnderscore = target?.value.indexOf('_');\r\n const selectionIndex = (firstUnderscore >= 0 ? firstUnderscore : target?.value.length) || 0;\r\n target?.setSelectionRange(selectionIndex, selectionIndex);\r\n }\r\n this.focusEvent.emit(target?.value);\r\n }\r\n\r\n public toggleShowPassword() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n public handleDocumentTypeChange() {\r\n if (this.selectedDocumentType.code === DocumentType.CNPJ) {\r\n this.setDocumentType(DocumentType.CPF);\r\n } else {\r\n this.setDocumentType(DocumentType.CNPJ);\r\n }\r\n }\r\n\r\n private handleInitialDocumentTypeState() {\r\n if (this.control?.value) {\r\n if (this.control.value.length === 11) {\r\n this.setDocumentType(DocumentType.CPF);\r\n } else {\r\n this.setDocumentType(DocumentType.CNPJ);\r\n }\r\n } else {\r\n this.setDocumentType(DocumentType.CPF);\r\n }\r\n }\r\n\r\n private setDocumentType(documentType: DocumentType) {\r\n switch (documentType) {\r\n case DocumentType.CNPJ:\r\n this.selectedDocumentType = this.documentTypes[1];\r\n this.mask = MaskUtil.CNPJ_TEXT_FIELD_PATTERN;\r\n break;\r\n case DocumentType.CPF:\r\n this.selectedDocumentType = this.documentTypes[0];\r\n this.mask = MaskUtil.CPF_TEXT_FIELD_PATTERN;\r\n break;\r\n }\r\n this.onDocumentTypeChange.emit(this.selectedDocumentType);\r\n }\r\n}\r\n","<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\" *ngIf=\"!inputId\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (input)=\"onInput($event)\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n [pattern]=\"pattern\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n [pattern]=\"pattern\"\r\n ></p-inputMask>\r\n </div>\r\n <div class=\"p-inputgroup\" *ngIf=\"inputId\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n [id]=\"inputId\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (input)=\"onInput($event)\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n [pattern]=\"pattern\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n [pattern]=\"pattern\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</form>\r\n","import { Component, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil } from '../../../utils';\r\n\r\nexport type ListItemExtend = ListItem & {\r\n key?: number | string;\r\n id?: number | string;\r\n};\r\n\r\nexport type ListItemOptionsFlagType = ListItem & {\r\n align: 'center' | 'left';\r\n showDescriptionOnRight: boolean;\r\n type: 'img' | 'icon';\r\n iconSource?: string;\r\n iconSize?: '1em' | '1.25em' | '1.5em' | '1.75em' | '2em';\r\n iconClass?: string;\r\n imgSource?: string;\r\n imgSize?: '15' | '20' | '25';\r\n imgClass?: string;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-multiselect-field',\r\n templateUrl: './multiselect-field.component.html',\r\n styleUrls: ['./multiselect-field.component.scss'],\r\n})\r\nexport class MultiselectFieldComponent {\r\n @Input()\r\n set pagedSugestion(_pagedSugestion: ListItem[]) {\r\n this._pagedSugestion = _pagedSugestion;\r\n this.options = this.pagedSugestion || [];\r\n }\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public options: ListItem[] | ListItemExtend[] | ListItemOptionsFlagType[] = [];\r\n @Input()\r\n public filter = false;\r\n @Input()\r\n public showSelectAllOption: boolean = true;\r\n @Input()\r\n public display: string = 'comma';\r\n @Input()\r\n public paged = true;\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public minLengthToService: number = 0;\r\n @Input()\r\n public initialLoad = true;\r\n @Input()\r\n public service: BaseDropdown | undefined;\r\n @Input()\r\n public filterVirtualScrool = false;\r\n @Input()\r\n public showHeader: boolean = true;\r\n @Input()\r\n public showFlags: boolean = false;\r\n private _showFlagsOptions?: ListItemOptionsFlagType[] | undefined;\r\n\r\n @Input()\r\n public dependencies: any;\r\n @Input()\r\n public limitScrollPage: number = 20;\r\n @Input()\r\n public forceSelection = true;\r\n\r\n @Input()\r\n set showFlagsOptions(value: ListItemOptionsFlagType[]) {\r\n if (!this.showFlags) {\r\n throw new Error('showFlags is set to false. Setting showFlagsOptions is not allowed.');\r\n }\r\n value.forEach((option) => {\r\n if (option.type === 'img') {\r\n if (!option.imgSource) {\r\n throw new Error(\"imgSource is required when type is 'img'\");\r\n }\r\n if (!option.imgSize) {\r\n throw new Error(\"imgSize is required when type is 'img'\");\r\n }\r\n } else if (option.type === 'icon') {\r\n if (!option.iconSource) {\r\n throw new Error(\"iconSource is required when type is 'icon'\");\r\n }\r\n if (!option.iconSize) {\r\n throw new Error(\"iconSize is required when type is 'icon'\");\r\n }\r\n }\r\n });\r\n this._showFlagsOptions = value;\r\n }\r\n\r\n get showFlagsOptions(): ListItemOptionsFlagType[] {\r\n if (!this._showFlagsOptions) {\r\n throw new Error('showFlagsOptions was not set');\r\n }\r\n return this._showFlagsOptions;\r\n }\r\n\r\n @Output()\r\n public onChange = new EventEmitter();\r\n @Output()\r\n public onClosePanel = new EventEmitter();\r\n\r\n private currentSearchQuery = '';\r\n private currentScrollPage = -1;\r\n private currentScrollIndex = 0;\r\n\r\n public unlistenAutocompleteVirtualScroll = () => {};\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n get pagedSugestion() {\r\n return this._pagedSugestion;\r\n }\r\n\r\n private _pagedSugestion: ListItem[] = [];\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.initialLoad && this.filterVirtualScrool) {\r\n this.search(null, true);\r\n }\r\n\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n\r\n if (this.service && this.control && this.control.value && Array.isArray(this.control.value)) {\r\n const controlValueArray = this.control.value.map((value: any) => value);\r\n if (controlValueArray.length) {\r\n this.loadInitialSelectedValues(controlValueArray);\r\n }\r\n }\r\n }\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public customFormattingMultiSelectFieldWithFlags(): void {\r\n this.onloadAutocompletePanelService();\r\n\r\n setTimeout(() => {\r\n const vectorMultiselectField = document.querySelector('vector-multiselect-field.multiselect-flags');\r\n\r\n if (vectorMultiselectField) {\r\n const pOverlayElement = vectorMultiselectField.querySelector('p-overlay');\r\n\r\n if (pOverlayElement) {\r\n const classList = Array.from(pOverlayElement.classList);\r\n const targetClass = classList.find((className) => className.startsWith('ng-tns-'));\r\n\r\n if (targetClass) {\r\n const classReferenceCode = targetClass.replace('ng-tns-', '');\r\n const targetDivWithRefCode = document.querySelector(`div.ng-tns-${classReferenceCode}`);\r\n\r\n if (targetDivWithRefCode) {\r\n targetDivWithRefCode.classList.add('multiselect-flags');\r\n }\r\n }\r\n }\r\n }\r\n }, 200);\r\n }\r\n\r\n private onloadAutocompletePanelService(): void {\r\n if (this.service) {\r\n this.search();\r\n this.currentScrollPage++;\r\n\r\n this.service\r\n .getPaged(\r\n encodeURIComponent(this.currentSearchQuery),\r\n this.currentScrollPage,\r\n this.limitScrollPage,\r\n this.dependencies\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n this.options =\r\n this.currentScrollPage === 0\r\n ? response\r\n : (this.options as (ListItem | ListItemOptionsFlagType)[])?.concat(\r\n response as (ListItem | ListItemOptionsFlagType)[]\r\n );\r\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\r\n\r\n if (this.control.value && this.options?.find((item) => item.code == controlValue)) {\r\n this.setControlValueFromSuggestions();\r\n }\r\n\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n }\r\n\r\n private loadInitialSelectedValues(controlValueArray: any[]): void {\r\n if (!this.service) return;\r\n this.service.getPaged('', 0, this.limitScrollPage, this.dependencies).subscribe({\r\n next: (response) => {\r\n this.options = response;\r\n this.setInitialControlValues(controlValueArray);\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n\r\n private setInitialControlValues(values: any[]): void {\r\n const selectedItems = (this.options as ListItemExtend[])\r\n .filter((item) => values.includes(item.code || item.key || item.id))\r\n .map((el) => (el.code = el.key ? el.key : el.id ? el.id : el.code));\r\n this.control.setValue(selectedItems, { emitEvent: false });\r\n }\r\n\r\n public onOpenAutocompletePanel(): void {\r\n this.search();\r\n const multiSelectPanel = document.querySelector('.p-multiselect-items-wrapper');\r\n\r\n if (multiSelectPanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(multiSelectPanel, 'scroll', (event) => {\r\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\r\n\r\n if (Math.round(event.target.scrollTop) >= eventHeight) {\r\n this.pageResults();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onHideAutocompletePanel(): void {\r\n if (this.paged) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n public search($event?: any, forceSearch = false): void {\r\n this.currentSearchQuery = $event?.filter.toUpperCase() || '';\r\n this.currentScrollPage = -1;\r\n this.currentScrollIndex = 0;\r\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.pageResults();\r\n } else {\r\n this.options = [];\r\n }\r\n }\r\n\r\n private pageResults(): void {\r\n const filteredOptions = this.filterListByQuery(this.pagedSugestion, this.currentSearchQuery.toUpperCase());\r\n this.options = filteredOptions.slice(0, this.currentScrollIndex + 20);\r\n\r\n if (this.pagedSugestion?.length && this.pagedSugestion.length > 20) {\r\n this.currentScrollIndex = this.currentScrollIndex + 20;\r\n }\r\n\r\n this.setControlValueFromSuggestions();\r\n }\r\n\r\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\r\n return list.filter(\r\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\r\n );\r\n }\r\n private setControlValueFromSuggestions() {\r\n const code =\r\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\r\n if (this.control.value && this.options?.length) {\r\n let itemsArray = this.options;\r\n if (this.options?.length) {\r\n itemsArray = this.options;\r\n }\r\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\r\n if (itemFromSuggestions) {\r\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\r\n } else {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n } else if (this.control.value && !this.options?.length) {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n }\r\n\r\n private handleSearchErrors() {\r\n if (this.options?.length) {\r\n delete this.control.errors?.itemNotFound;\r\n } else if (this.currentSearchQuery) {\r\n this.control.setErrors({ itemNotFound: true });\r\n }\r\n }\r\n}\r\n","<div class=\"multiselect-field-input-container\">\r\n <p-multiSelect\r\n *ngIf=\"!filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onPanelHide)=\"onClosePanel.emit($event)\"\r\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\r\n [disabled]=\"disabled\"\r\n [showHeader]=\"showHeader\"\r\n >\r\n <ng-container *ngIf=\"showFlags\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"grid-nogutter w-full flex\">\r\n <div\r\n class=\"md:col-6 sm:col-12 align-content-center\"\r\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\r\n >\r\n <img\r\n *ngIf=\"option.type == 'img'\"\r\n [src]=\"option.imgSource\"\r\n [ngClass]=\"option.imgClass\"\r\n [style]=\"{ height: option.imgSize + 'px' }\"\r\n />\r\n <i\r\n *ngIf=\"option.type == 'icon'\"\r\n [className]=\"option.iconSource\"\r\n [ngClass]=\"option.iconClass\"\r\n [style]=\"{ 'font-size': option.iconSize }\"\r\n ></i>\r\n </div>\r\n\r\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\r\n <span class=\"block\">{{ option.name }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </p-multiSelect>\r\n\r\n <p-multiSelect\r\n *ngIf=\"filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onFilter)=\"search($event)\"\r\n (onPanelShow)=\"onOpenAutocompletePanel()\"\r\n (onPanelHide)=\"onHideAutocompletePanel()\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-multiSelect>\r\n <p-multiSelect\r\n *ngIf=\"filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onFilter)=\"search($event)\"\r\n (onPanelShow)=\"onOpenAutocompletePanel()\"\r\n (onPanelHide)=\"onHideAutocompletePanel()\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil } from '../../../utils';\r\n\r\nexport type DropdownButtonAction = {\r\n label: string;\r\n onClick: (value: any) => void;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-dropdown-field',\r\n templateUrl: './dropdown-field.component.html',\r\n styleUrls: ['./dropdown-field.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DropdownFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n set options(_options: ListItem[]) {\r\n this._options = _options;\r\n this.pagedSuggestions = this.options || [];\r\n }\r\n @Input()\r\n public isNgContent = false;\r\n @Input()\r\n public forceSelection = true;\r\n @Input()\r\n public isRequired: boolean | undefined = false;\r\n @Input()\r\n set control(_control: any) {\r\n this._control = _control;\r\n if (this.control) {\r\n this.subscription.add(\r\n this.control.valueChanges.subscribe(() => {\r\n this.setControlValueFromSuggestions();\r\n })\r\n );\r\n }\r\n }\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public service: BaseDropdown | undefined;\r\n @Input()\r\n public paged = true;\r\n @Input()\r\n public buttonAction: DropdownButtonAction | undefined;\r\n @Input()\r\n public dependencies: any;\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public dynamicFilters?: ListItem[];\r\n @Input()\r\n public minLengthToService: number = 0;\r\n @Input()\r\n public initialLoad = true;\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public limitScrollPage: number = 20;\r\n @Input()\r\n public inputId?: string;\r\n @Output()\r\n public onFocus = new EventEmitter();\r\n @Output()\r\n public onChange = new EventEmitter();\r\n\r\n get control() {\r\n return this._control;\r\n }\r\n\r\n get options() {\r\n return this._options;\r\n }\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n public pagedSuggestions: ListItem[] = [];\r\n public unlistenAutocompleteVirtualScroll = () => {};\r\n public selectedDynamicFilter: any = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;\r\n\r\n private _control: any;\r\n private _options: any[] = [];\r\n private currentScrollPage = -1;\r\n private currentScrollIndex = 0;\r\n private subscription = new Subscription();\r\n private currentSearchQuery = '';\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n \r\n if (this.initialLoad) {\r\n this.search(null, true);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n if (this.unlistenAutocompleteVirtualScroll) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control?.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n return this.control?.errors && typeof this.control.errors['invalid'] === 'string'\r\n ? this.control?.errors['invalid']\r\n : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public search($event?: any, forceSearch = false): void {\r\n this.currentSearchQuery = $event?.query.toUpperCase() || '';\r\n this.currentScrollPage = -1;\r\n this.currentScrollIndex = 0;\r\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.pageResults();\r\n } else {\r\n this.pagedSuggestions = [];\r\n }\r\n }\r\n\r\n public onOpenAutocompletePanel(): void {\r\n const autocompletePanel = document.querySelector('.p-autocomplete-panel');\r\n if (autocompletePanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(autocompletePanel, 'scroll', (event) => {\r\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\r\n\r\n if (Math.round(event.target.scrollTop) >= eventHeight) {\r\n this.pageResults();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onHideAutocompletePanel(): void {\r\n if (this.paged) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n private pageResults(): void {\r\n if (this.service) {\r\n this.currentScrollPage++;\r\n this.service\r\n .getPaged(\r\n encodeURIComponent(this.currentSearchQuery),\r\n this.currentScrollPage,\r\n this.limitScrollPage,\r\n this.dependencies\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n this.pagedSuggestions = this.currentScrollPage === 0 ? response : this.pagedSuggestions?.concat(response);\r\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\r\n if (this.control.value && this.pagedSuggestions?.find((item) => item.code == controlValue)) {\r\n this.setControlValueFromSuggestions();\r\n }\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n } else {\r\n const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());\r\n this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + this.limitScrollPage);\r\n\r\n if (this.options?.length && this.options.length > this.limitScrollPage) {\r\n this.currentScrollIndex = this.currentScrollIndex + this.limitScrollPage;\r\n }\r\n\r\n this.setControlValueFromSuggestions();\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n }\r\n }\r\n\r\n private setControlValueFromSuggestions() {\r\n const code =\r\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\r\n if (this.control.value && this.pagedSuggestions?.length) {\r\n let itemsArray = this.pagedSuggestions;\r\n if (this.options?.length) {\r\n itemsArray = this.options;\r\n }\r\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\r\n if (itemFromSuggestions) {\r\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\r\n } else {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n } else if (this.control.value && !this.pagedSuggestions?.length) {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n }\r\n\r\n private handleSearchErrors() {\r\n if (this.pagedSuggestions?.length) {\r\n delete this.control.errors?.itemNotFound;\r\n } else if (this.currentSearchQuery) {\r\n this.control.setErrors({ itemNotFound: true });\r\n }\r\n }\r\n\r\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\r\n return list.filter(\r\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\r\n );\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n [forceSelection]=\"forceSelection\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n [delay]=\"800\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n [forceSelection]=\"forceSelection\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n [delay]=\"800\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-select-button-field',\r\n templateUrl: './select-button-field.component.html',\r\n styleUrls: ['./select-button-field.component.scss'],\r\n})\r\nexport class SelectButtonFieldComponent {\r\n @Input()\r\n public options: ListItem[] = [];\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n constructor() {}\r\n}\r\n","<div class=\"input-container p-input-icon-right\">\r\n <p-selectButton\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [disabled]=\"disabled\"\r\n ></p-selectButton>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil, ValidationUtil } from '../../../utils';\r\n\r\nexport enum FieldType {\r\n DROPDOWN,\r\n TEXT,\r\n DATE,\r\n NUMBER,\r\n CURRENCY,\r\n DYNAMIC_DROPDOWN,\r\n SELECT_BUTTON,\r\n DATE_RANGE,\r\n MULTISELECT,\r\n}\r\n\r\nexport type FilterField = {\r\n name: string;\r\n type: FieldType;\r\n minLength?: number;\r\n maxLength?: number;\r\n min?: number;\r\n max?: number;\r\n required?: boolean;\r\n readonly?: boolean;\r\n disabled?: boolean;\r\n label?: string;\r\n mask?: string;\r\n options?: ListItem[];\r\n filterTypes?: ListItem[];\r\n service?: BaseDropdown;\r\n defaultValue?: any;\r\n placeholder?: string;\r\n hidden?: boolean;\r\n dependencies?: string[];\r\n size?: 'small' | 'medium' | 'large' | 'largest' | 'full';\r\n minLengthToService?: number;\r\n initiateValue?: boolean;\r\n tooltip?: string;\r\n controler?: UntypedFormControl;\r\n dateMin?: Date;\r\n dateMax?: Date;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-filters',\r\n templateUrl: './filters.component.html',\r\n styleUrls: ['./filters.component.scss'],\r\n})\r\nexport class FiltersComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public set fields(_fields: FilterField[]) {\r\n const isFirstSet = !this._fields.length && _fields?.length;\r\n this._fields = _fields;\r\n this.formGroup = new UntypedFormGroup({});\r\n\r\n this.fieldsSubscription.unsubscribe();\r\n this.fieldsSubscription = new Subscription();\r\n\r\n this.fields?.forEach((field) => {\r\n if (field?.defaultValue && typeof field?.defaultValue === 'object') {\r\n field.initiateValue = !!field.defaultValue?.code;\r\n } else {\r\n field.initiateValue = !!field.defaultValue;\r\n }\r\n if (field.type === FieldType.DATE_RANGE) {\r\n this.formGroup.addControl(\r\n field.name,\r\n new UntypedFormGroup({\r\n startDate: new UntypedFormControl({ value: field.defaultValue?.startDate, disabled: field.readonly }, [\r\n ...this.buildValidators(field),\r\n ValidationUtil.lowerThanOrEqualTo('endDate'),\r\n ]),\r\n endDate: new UntypedFormControl({ value: field.defaultValue?.endDate, disabled: field.readonly }, [\r\n ...this.buildValidators(field),\r\n ValidationUtil.greaterThanOrEqualTo('startDate'),\r\n ]),\r\n })\r\n );\r\n } else {\r\n if (field.controler) {\r\n this.formGroup.addControl(field.name, field.controler);\r\n } else {\r\n this.formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl({ value: field.defaultValue, disabled: field.readonly }, this.buildValidators(field))\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.fields\r\n ?.filter((field) => field.dependencies)\r\n .forEach((field) => {\r\n field.dependencies?.forEach((dependency) => {\r\n this.fieldsSubscription.add(\r\n this.formGroup.get(dependency)?.valueChanges.subscribe((value) => {\r\n this.formGroup.get(field.name)?.reset();\r\n })\r\n );\r\n });\r\n });\r\n\r\n this.patchFormFromQueryParams({ ...this.activatedRoute.snapshot.queryParams });\r\n\r\n if (this._fields?.length && this.formGroup.valid && isFirstSet) {\r\n this.search();\r\n }\r\n this.formBuilded.emit();\r\n\r\n this.fieldsSubscription.add(\r\n this.activatedRoute.queryParams.subscribe((queryParams) => {\r\n this.patchFormFromQueryParams({ ...queryParams });\r\n })\r\n );\r\n }\r\n @Output()\r\n public onSearch = new EventEmitter<any>();\r\n @Output()\r\n public formBuilded = new EventEmitter<void>();\r\n\r\n public get fields() {\r\n return this._fields;\r\n }\r\n\r\n public fieldTypes = FieldType;\r\n public formGroup = new UntypedFormGroup({});\r\n private _fields: FilterField[] = [];\r\n private fieldsSubscription = new Subscription();\r\n\r\n get hideFilters() {\r\n return !this.fields?.filter((item) => !item.hidden).length;\r\n }\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy() {\r\n this.fieldsSubscription.unsubscribe();\r\n }\r\n\r\n public search() {\r\n this.formGroup.markAllAsTouched();\r\n if (this.formGroup.valid) {\r\n const filterValue = this.formGroup.getRawValue();\r\n Object.keys(filterValue).forEach((key) => {\r\n if (filterValue[key]?.hasOwnProperty('code')) {\r\n filterValue[key] = filterValue[key].code;\r\n }\r\n if (!ObjectUtil.isValid(filterValue[key])) {\r\n const fieldType = this.fields.find((field) => field.name === key)?.type ?? FieldType.TEXT;\r\n filterValue[key] = [FieldType.DROPDOWN, FieldType.NUMBER].includes(fieldType) ? -1 : '';\r\n }\r\n });\r\n this.onSearch.emit(filterValue);\r\n }\r\n }\r\n\r\n public isTextFieldType(field: FilterField) {\r\n return [FieldType.TEXT, FieldType.NUMBER].includes(field.type);\r\n }\r\n\r\n public getFieldDependencies(field: FilterField) {\r\n if (!field.dependencies) {\r\n return undefined;\r\n }\r\n return field.dependencies.reduce((prev, curr) => {\r\n let depValue: any = this.formGroup.get(curr)?.value?.code;\r\n if (!ObjectUtil.isValid(depValue)) {\r\n depValue = -1;\r\n }\r\n return {\r\n ...prev,\r\n [curr]: depValue,\r\n };\r\n }, {});\r\n }\r\n\r\n public getGridClass(field: FilterField) {\r\n switch (field.size) {\r\n case 'small':\r\n return 'md:col-1';\r\n case 'medium':\r\n return 'md:col-3';\r\n case 'large':\r\n return 'md:col-4';\r\n case 'largest':\r\n return 'md:col-8';\r\n case 'full':\r\n return 'md:col-12';\r\n default:\r\n return 'md:col-4';\r\n }\r\n }\r\n\r\n private patchFormFromQueryParams(queryParams: any) {\r\n if (Object.keys(queryParams).length) {\r\n this.fields.forEach((field) => {\r\n if (queryParams.hasOwnProperty(field.name)) {\r\n try {\r\n queryParams[field.name] = queryParams[field.name]\r\n ? JSON.parse(queryParams[field.name])\r\n : queryParams[field.name];\r\n } catch (_) {}\r\n if (field.type === FieldType.DATE_RANGE) {\r\n queryParams[field.name] = {\r\n startDate: queryParams[field.name].startDate ? new Date(queryParams[field.name].startDate) : undefined,\r\n endDate: queryParams[field.name].endDate ? new Date(queryParams[field.name].endDate) : undefined,\r\n };\r\n }\r\n if (field.type === FieldType.DATE) {\r\n queryParams[field.name] = queryParams[field.name] ? new Date(queryParams[field.name]) : undefined;\r\n }\r\n }\r\n });\r\n this.formGroup.patchValue(queryParams);\r\n }\r\n }\r\n\r\n private buildValidators(field: FilterField): ValidatorFn[] {\r\n const validators = [];\r\n if (field.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (field.minLength) {\r\n validators.push(Validators.minLength(field.minLength));\r\n }\r\n if (field.maxLength) {\r\n validators.push(Validators.maxLength(field.maxLength));\r\n }\r\n if (field.min) {\r\n validators.push(Validators.min(field.min));\r\n }\r\n if (field.max) {\r\n validators.push(Validators.max(field.max));\r\n }\r\n return validators;\r\n }\r\n}\r\n","<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label\r\n >{{ field.label }}\r\n <i\r\n *ngIf=\"field.tooltip\"\r\n class=\"fas fa-info-circle mt-1 pl-2 ch\"\r\n pTooltip=\"{{ field.tooltip }}\"\r\n tooltipPosition=\"bottom\"\r\n ></i\r\n ></label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n [disabled]=\"field.disabled\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [min]=\"field.dateMin\"\r\n [max]=\"field.dateMax\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n [disabled]=\"field.disabled\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [min]=\"field.dateMin\"\r\n ></vector-calendar-field>\r\n Até\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [max]=\"field.dateMax\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n [disabled]=\"field.disabled\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { FilterChangedEvent, ListItem, Status } from '../../../models';\r\nimport { DataTableLazyLoadEvent, TableColumn, TableColumnType } from '../../../models/data-table.model';\r\nimport { MaskUtil } from '../../../utils';\r\nimport { FilterField, FiltersComponent } from '../filters/filters.component';\r\n\r\n@Component({\r\n selector: 'vector-data-table',\r\n templateUrl: './data-table.component.html',\r\n styleUrls: ['./data-table.component.scss'],\r\n})\r\nexport class DataTableComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public columns: TableColumn[] = [];\r\n @Input()\r\n public set data(_data: any[]) {\r\n this._data = _data;\r\n this.selectedItems = this._data?.filter((item) => item.selected) || [];\r\n }\r\n public get data() {\r\n return this._data;\r\n }\r\n private _data: any[] = [];\r\n @Input()\r\n public exportExcel = false;\r\n @Input()\r\n public exportPDF = false;\r\n @Input()\r\n public customFunction: { label: string; icon?: string; clickFunction: Function }[] | undefined;\r\n @Input()\r\n public totalRecords = 0;\r\n @Input()\r\n public disabledHeadercheckbox = false;\r\n @Input()\r\n public filters: FilterField[] = [];\r\n @Input()\r\n public addItemLabel = '';\r\n @Input()\r\n public pagination = true;\r\n @Input()\r\n public virtualPagination = false;\r\n @Input()\r\n public set tabs(_tabs: ListItem[]) {\r\n this._tabs = _tabs;\r\n this._tabSelected = _tabs[0];\r\n }\r\n @Input()\r\n public customButtons: { label: string; clickFunction: Function }[] | undefined;\r\n @Input()\r\n public addItemButtonPlusSign = false;\r\n @Input()\r\n public hasActions: boolean = true;\r\n @Input()\r\n public hasExpandableIcon = false;\r\n @Input()\r\n public addNameColumnExpand = '';\r\n @Input() expandable = false;\r\n @Input() expansionTemplate!: TemplateRef<any> | null;\r\n @Input()\r\n public set selectionMode(_selectionMode) {\r\n switch (_selectionMode) {\r\n case 'single':\r\n this._selectionMode = 'single';\r\n break;\r\n case 'multiple':\r\n this._selectionMode = 'multiple';\r\n break;\r\n default:\r\n this._selectionMode = null;\r\n break;\r\n }\r\n }\r\n @Input()\r\n public selectionType: 'checkbox' | 'radiobutton' | null = null;\r\n @Input()\r\n public set height(_height: string) {\r\n switch (_height) {\r\n case 'small':\r\n this._height = '300px';\r\n break;\r\n case 'medium':\r\n this._height = '500px';\r\n break;\r\n case 'large':\r\n this._height = '700px';\r\n break;\r\n case 'full':\r\n this._height = 'flex';\r\n break;\r\n default:\r\n this._height = '300px';\r\n }\r\n }\r\n @Input()\r\n public showLimitBalance = false;\r\n @Input()\r\n public dataAccountBalance: { visible: boolean; name: string; valueBalance: number; showBalance: boolean }[] = [];\r\n\r\n @Output()\r\n public onLazyLoad = new EventEmitter<DataTableLazyLoadEvent>();\r\n @Output()\r\n public onFilter = new EventEmitter<any>();\r\n @Output()\r\n public onAdd = new EventEmitter<void>();\r\n @Output()\r\n public onExportExcel = new EventEmitter<void>();\r\n @Output()\r\n public onExportPDF = new EventEmitter<void>();\r\n @Output()\r\n public onSelectedRows = new EventEmitter<any>();\r\n @Output()\r\n public onFilterChanged = new EventEmitter<FilterChangedEvent>();\r\n @Output()\r\n public onTabSelected = new EventEmitter<ListItem>();\r\n @Output()\r\n public onExpandRow: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public firstLazyLoad = false;\r\n @Input()\r\n public shouldLazyLoadWithoutFilter = false;\r\n @Input()\r\n public reorderableColumns = false;\r\n\r\n @ViewChild(FiltersComponent, { static: true })\r\n public filtersComponent: FiltersComponent | undefined;\r\n\r\n public selectedItems: any = [];\r\n\r\n get balance(): (itemAccount?: any) => number | string {\r\n return (itemAccount?: any): number | string => {\r\n return itemAccount.showBalance\r\n ? itemAccount.valueBalance.toLocaleString('pt-BR', {\r\n currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n })\r\n : '-,--';\r\n };\r\n }\r\n\r\n get tabs() {\r\n return this._tabs;\r\n }\r\n get height() {\r\n return this._height;\r\n }\r\n get selectionMode() {\r\n return this._selectionMode;\r\n }\r\n\r\n private _selectionMode: 'single' | 'multiple' | null = null;\r\n private _height: string = 'small';\r\n private _tabs: ListItem[] = [];\r\n private _draw = 1;\r\n private _firstLazyLoadedDone = this.firstLazyLoad;\r\n private _lastLazyLoadEvent: DataTableLazyLoadEvent | undefined;\r\n private _tabSelected: ListItem | undefined;\r\n private _filterSubscription = new Subscription();\r\n\r\n constructor(public cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.height) {\r\n this.height = 'small';\r\n }\r\n\r\n if (!this.pagination || this.virtualPagination) {\r\n this.filtersComponent?.search();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._filterSubscription.unsubscribe();\r\n }\r\n\r\n getColStyle(col: TableColumn) {\r\n return { 'min-width': col.width };\r\n }\r\n\r\n lazyLoaded(params: { filter: boolean; data: any } = { filter: false, data: { start: 0, rows: 10 } }) {\r\n if (!params.filter && !this.shouldLazyLoadWithoutFilter) {\r\n const columns = this.columns.map((col) => {\r\n return {\r\n data: col.field,\r\n name: `${col.field.substring(0, 1).toUpperCase()}${col.field.substring(1, col.field.length)}`,\r\n orderable: true,\r\n search: { value: '', regex: false },\r\n searchable: true,\r\n };\r\n });\r\n if (this.hasActions) {\r\n columns.unshift({\r\n data: 'active',\r\n name: 'Active',\r\n orderable: true,\r\n search: { value: '', regex: false },\r\n searchable: true,\r\n });\r\n }\r\n this._lastLazyLoadEvent = {\r\n ...(this._lastLazyLoadEvent || ({} as any)),\r\n page: params.data.first / params.data.rows + 1,\r\n start: params.data.first,\r\n length: params.data.rows,\r\n draw: this._draw++,\r\n order: params.data.sortField\r\n ? [\r\n {\r\n column:\r\n this.columns.findIndex((col) => col.field === params.data.sortField) + (this.hasActions ? 1 : 0),\r\n dir: params.data.sortOrder > 0 ? 'asc' : 'desc',\r\n },\r\n ]\r\n : [{ column: 0, dir: 'desc' }],\r\n columns: columns,\r\n tab: this._tabSelected,\r\n };\r\n } else {\r\n this._lastLazyLoadEvent = {\r\n ...this._lastLazyLoadEvent,\r\n ...params.data,\r\n start: 0,\r\n };\r\n if (this._tabSelected) {\r\n this._lastLazyLoadEvent = {\r\n ...(this._lastLazyLoadEvent || ({} as any)),\r\n ...{ Status: this._tabSelected.code },\r\n tab: this._tabSelected,\r\n };\r\n }\r\n }\r\n\r\n if (this._firstLazyLoadedDone || this.firstLazyLoad) {\r\n this.onLazyLoad.emit(this._lastLazyLoadEvent);\r\n }\r\n this._firstLazyLoadedDone = true;\r\n }\r\n\r\n getCellContent(item: any, col: TableColumn) {\r\n const cellText = this.getCellText(item, col);\r\n let content = `<span class=\"p-column-title\">${col.header}</span><span class=\"w-100\">`;\r\n if (\r\n !col.type ||\r\n [TableColumnType.ENUM, TableColumnType.TEXT, TableColumnType.DATETIME, TableColumnType.DATE].includes(col.type)\r\n ) {\r\n content += cellText;\r\n }\r\n\r\n switch (col.type) {\r\n case TableColumnType.CUSTOM_STYLE:\r\n content += `<span class=\"${col.textFieldClass ? item[col.textFieldClass] : ''}\">${cellText}</span>`;\r\n break;\r\n case TableColumnType.BOOLEAN:\r\n content += `<div class=\"text-centered\"><i class=\" status-table-field fas fa-${\r\n cellText ? 'check boolean-value-positive' : 'times boolean-value-negative'\r\n }\"></i></div>`;\r\n break;\r\n case TableColumnType.STATUS_BADGE:\r\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getStatusColor(\r\n cellText\r\n )}\"></i></div>`;\r\n break;\r\n case TableColumnType.ACTIVE_BOOLEAN_BADGE:\r\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getActiveStatusColor(\r\n cellText\r\n )}\"></i></div>`;\r\n break;\r\n case TableColumnType.BUTTON:\r\n content += `<div class=\"text-centered\"><i class=\"${\r\n col.icon || 'fas fa-circle'\r\n } status-table-field table-button\"></i></div>`;\r\n break;\r\n case TableColumnType.MASK:\r\n content += MaskUtil.doMaskString(cellText, col.mask);\r\n break;\r\n case TableColumnType.CURRENCY:\r\n content += Number(cellText).toLocaleString('pt-BR', {\r\n currency: col.currencyType || 'BRL',\r\n currencyDisplay: 'narrowSymbol',\r\n style: 'currency',\r\n });\r\n }\r\n\r\n content += `</span>`;\r\n return content;\r\n }\r\n\r\n public getCellText(item: any, col: TableColumn) {\r\n if (col.getEnumTranslated) {\r\n return col.getEnumTranslated(item[col.field]);\r\n }\r\n if (col.type === TableColumnType.DATETIME && item[col.field]) {\r\n const dateTime =\r\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\r\n return dateTime.toUTC().toFormat('dd/MM/yyyy HH:mm');\r\n }\r\n if (col.type === TableColumnType.DATE && item[col.field]) {\r\n const dateTime =\r\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\r\n return dateTime.toUTC().toFormat('dd/MM/yyyy');\r\n }\r\n if (col.type === TableColumnType.STACK_BADGE) {\r\n if (!item[col.field].length || item[col.field].length === 1) {\r\n return item[col.field];\r\n } else {\r\n return `+${item[col.field].length}`;\r\n }\r\n }\r\n if (col.type === TableColumnType.STATUS_BADGE) {\r\n return item[col.field] == 0 ? 0 : item[col.field];\r\n }\r\n\r\n return item[col.field || ''] || '';\r\n }\r\n\r\n public getTooltipText(item: any, col: TableColumn) {\r\n if (\r\n !col.type ||\r\n ![TableColumnType.STACK_BADGE].includes(col.type) ||\r\n !Array.isArray(item[col.field]) ||\r\n item[col.field].length === 1\r\n ) {\r\n return null;\r\n }\r\n\r\n if (!Array.isArray(item[col.field])) {\r\n return item[col.field];\r\n }\r\n return item[col.field].join(' - ');\r\n }\r\n\r\n onTabChange($event: any) {\r\n this._tabSelected = this.tabs[$event.index];\r\n this.lazyLoaded({ filter: true, data: {} });\r\n this.onTabSelected.emit(this._tabSelected);\r\n }\r\n\r\n subscribeToFilterChanges() {\r\n this._filterSubscription.unsubscribe();\r\n this._filterSubscription = new Subscription();\r\n Object.keys(this.filtersComponent?.formGroup.controls || {}).forEach((key) => {\r\n this._filterSubscription.add(\r\n this.filtersComponent?.formGroup\r\n .get(key)\r\n ?.valueChanges.pipe(debounceTime(300))\r\n .subscribe((value) => {\r\n this.onFilterChanged.emit({ field: key, value });\r\n })\r\n );\r\n this.onFilterChanged.emit({ field: key, value: this.filtersComponent?.formGroup.get(key)?.value });\r\n });\r\n }\r\n\r\n onRowClick(item: any) {\r\n setTimeout(() => {\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.onExpandRow.emit(item);\r\n }\r\n\r\n get listHasActions() {\r\n return this.data.some((item) => item.actions?.length);\r\n }\r\n\r\n public changeSelectedItems(value: any) {\r\n this.onSelectedRows.emit(this.selectedItems);\r\n }\r\n\r\n public isHtmlCell(col: TableColumn) {\r\n return !col.type || !this.isBadgeCell(col);\r\n }\r\n\r\n public isBadgeCell(col: TableColumn) {\r\n return col.type && [TableColumnType.TEXT_BADGE, TableColumnType.STACK_BADGE].includes(col.type);\r\n }\r\n\r\n public isScoreCell(col: TableColumn) {\r\n return col.type === TableColumnType.SCORE;\r\n }\r\n\r\n public onSelectionChange(selection: any) {\r\n for (let i = selection.length - 1; i >= 0; i--) {\r\n let data = selection[i];\r\n if (data.disabledCheckBox) {\r\n selection.splice(i, 1);\r\n }\r\n }\r\n this.selectedItems = selection;\r\n }\r\n\r\n public changeShowBalance(itemAccount?: any): void {\r\n if (itemAccount) {\r\n itemAccount.showBalance = !itemAccount.showBalance;\r\n }\r\n }\r\n\r\n private getStatusColor(status: Status) {\r\n switch (status) {\r\n case Status.PENDING:\r\n return 'warning';\r\n case Status.APPROVED:\r\n return 'success';\r\n case Status.REJECTED:\r\n return 'error';\r\n case Status.INFO:\r\n return 'info';\r\n }\r\n return '';\r\n }\r\n\r\n private getActiveStatusColor(active: boolean) {\r\n return active ? 'success' : 'error';\r\n }\r\n}\r\n","<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel || exportExcel || exportPDF || customFunction\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file-excel\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file-pdf\"></i><span>PDF</span>\r\n </button>\r\n <button\r\n *ngFor=\"let button of customFunction\"\r\n (click)=\"button.clickFunction()\"\r\n class=\"export-button custom-function\"\r\n >\r\n <i *ngIf=\"button?.icon\" class=\"{{ button?.icon }}\"></i><span>{{ button?.label }}</span>\r\n </button>\r\n\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n @if(showLimitBalance){\r\n <div class=\"col-12 grid ml-0\">\r\n @for (itemAccount of dataAccountBalance; track $index) { @if(itemAccount.visible){\r\n <div class=\"card balance-container\">\r\n <span class=\"card-header\">{{ itemAccount.name }}</span>\r\n <div class=\"card-content value-container\">\r\n <span>R$ </span>\r\n <span *ngIf=\"itemAccount.showBalance\" class=\"balance\">{{ balance(itemAccount) }}</span>\r\n <div class=\"hidden-balance\" *ngIf=\"!itemAccount.showBalance\"></div>\r\n <div class=\"icon-container\">\r\n <i\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-eye': !itemAccount.showBalance, 'fa-eye-slash': itemAccount.showBalance }\"\r\n (click)=\"changeShowBalance(itemAccount)\"\r\n ></i>\r\n </div>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n\r\n }\r\n\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\">\r\n <ng-template pTemplate=\"header\">\r\n <em *ngIf=\"tab.icon\" [class]=\"tab.icon\"> </em>\r\n <span>{{ tab.name }}</span>\r\n </ng-template>\r\n </p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} até {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [reorderableColumns]=\"reorderableColumns\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th *ngIf=\"reorderableColumns\" style=\"width: 5rem\"></th>\r\n\r\n <th *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th class=\"text-center\" *ngIf=\"hasExpandableIcon\">\r\n {{ addNameColumnExpand }}\r\n </th>\r\n <th *ngIf=\"hasActions\">{{ 'app.label.actions' | translate }}</th>\r\n <th *ngIf=\"selectionType === 'radiobutton'\">\r\n <div class=\"flex align-items-center\">\r\n <span></span>\r\n </div>\r\n </th>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n [pSortableColumn]=\"col.notSortable ? '' : col.field\"\r\n pReorderableColumn\r\n >\r\n <div class=\"flex align-items-center\">\r\n <span>{{ col.header }}</span> <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\" let-index=\"rowIndex\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n [pReorderableRow]=\"index\"\r\n >\r\n <ng-container *ngIf=\"reorderableColumns\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasExpandableIcon\" style=\"max-width: 150px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i\r\n [ngClass]=\"\r\n expanded ? 'actions-menu-button pi pi-chevron-down' : 'actions-menu-button pi pi-chevron-right'\r\n \"\r\n ></i>\r\n </td>\r\n <td *ngIf=\"hasActions\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"(!isHtmlCell(col) && !!col.getStatus) || isScoreCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"isBadgeCell(col)\"\r\n [label]=\"getCellText(item, col)\"\r\n [type]=\"col.getStatus && col.getStatus(item[col.field])\"\r\n [tooltip]=\"getTooltipText(item, col)\"\r\n ></vector-badge>\r\n <vector-score *ngIf=\"isScoreCell(col)\" [score]=\"item[col.field]\"></vector-score>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n@Component({\r\n selector: 'vector-input-number',\r\n templateUrl: './input-number-field.component.html',\r\n styleUrls: ['./input-number-field.component.scss'],\r\n})\r\nexport class InputNumberFieldComponent {\r\n @Input()\r\n public inputId?: string;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public showButtons: boolean = false;\r\n @Input()\r\n public type: 'decimal' | 'percent' = 'decimal';\r\n @Input()\r\n public minFractionDigits: number = 0;\r\n @Input()\r\n public maxFractionDigits: number = 4;\r\n @Input()\r\n public buttonLayout: 'stacked' | 'horizontal' | 'vertical' = 'horizontal';\r\n @Input()\r\n public incrementButtonIcon: string = 'pi pi-plus-circle';\r\n @Input()\r\n public decrementButtonIcon: string = 'pi pi-minus-circle';\r\n @Input()\r\n public min: number = 0;\r\n @Input()\r\n public step: number = 1;\r\n @Input()\r\n public disabled = false;\r\n\r\n @Input()\r\n public set max(_max) {\r\n this._max = _max;\r\n }\r\n @Input()\r\n public set suffix(_suffix) {\r\n this._suffix = _suffix;\r\n }\r\n\r\n @Output()\r\n public onFocus = new EventEmitter<Event>();\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n @Output()\r\n public onInput = new EventEmitter();\r\n @Output()\r\n public onClear = new EventEmitter();\r\n\r\n get max(): number {\r\n if (this.type === 'percent') {\r\n return this._max || 100;\r\n }\r\n return this._max || 999999999;\r\n }\r\n\r\n get suffix() {\r\n switch (this.type) {\r\n case 'percent':\r\n return this._suffix || '%';\r\n }\r\n return '';\r\n }\r\n\r\n public _maxFractionDigits: number | null = null;\r\n public _max: number | null = null;\r\n public _suffix: string | null = null;\r\n}\r\n","<div class=\"input-container\">\r\n <p-inputNumber\r\n [inputId]=\"inputId\"\r\n [formControl]=\"control\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [suffix]=\"suffix\"\r\n [step]=\"step\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [showButtons]=\"showButtons\"\r\n [disabled]=\"disabled\"\r\n [buttonLayout]=\"buttonLayout\"\r\n [incrementButtonIcon]=\"incrementButtonIcon\"\r\n [decrementButtonIcon]=\"decrementButtonIcon\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n ></p-inputNumber>\r\n <vector-field-error-message [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-input-otp',\r\n templateUrl: './input-otp.component.html',\r\n styleUrl: './input-otp.component.scss',\r\n})\r\nexport class InputOtpComponent {\r\n @Input()\r\n public integerOnly = false;\r\n @Input()\r\n public length = 6;\r\n @Input()\r\n public inputValue!: string | number;\r\n @Input()\r\n public isReadonly = false;\r\n @Input()\r\n public isDisabled = false;\r\n @Input()\r\n public isInvalid = false;\r\n\r\n @Output()\r\n public onChangeOtp = new EventEmitter();\r\n @Output()\r\n public onBlurOtp = new EventEmitter();\r\n @Output()\r\n public onFocusOtp = new EventEmitter();\r\n\r\n public onChange($event: any) {\r\n this.onChangeOtp.emit($event);\r\n }\r\n\r\n public onBlur($event: Event) {\r\n this.onBlurOtp.emit($event);\r\n }\r\n\r\n public onFocus($event: Event) {\r\n this.onFocusOtp.emit($event);\r\n }\r\n}\r\n","<p-inputOtp\r\n class=\"custom-field-text input-otp\"\r\n [integerOnly]=\"integerOnly\"\r\n [length]=\"length\"\r\n [ngModel]=\"inputValue\"\r\n [invalid]=\"isInvalid\"\r\n [disabled]=\"isDisabled\"\r\n [readonly]=\"isReadonly\"\r\n (onChange)=\"onChange($event)\"\r\n (onBlur)=\"onBlur($event)\"\r\n (onFocus)=\"onFocus($event)\"\r\n></p-inputOtp>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-input-switch-field',\r\n templateUrl: './input-switch-field.component.html',\r\n styleUrls: ['./input-switch-field.component.scss'],\r\n})\r\nexport class InputSwitchFieldComponent implements OnInit {\r\n @Input()\r\n public control: any;\r\n\r\n @Input()\r\n public disabled = false;\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<p-inputSwitch [formControl]=\"control\" [disabled]=\"disabled\"></p-inputSwitch>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-percentage-field',\r\n templateUrl: './percentage-field.component.html',\r\n styleUrls: ['./percentage-field.component.scss'],\r\n})\r\nexport class PercentageFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public min: number = 0;\r\n @Input()\r\n public max: number = 100;\r\n @Input()\r\n public minFractionDigits: number = 0;\r\n @Input()\r\n public maxFractionDigits: number = 0;\r\n @Input()\r\n public step = 0;\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n\r\n public readonly percentageRegex = `^(100(\\\\.0{1,2})?|[1-9]?\\\\d(\\\\.\\\\d{1,2})?)$`;\r\n\r\n private lastBlurValue = '';\r\n\r\n ngOnInit() {}\r\n\r\n ngOnDestroy() {}\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n}\r\n","<form class=\"input-container\">\r\n <p-inputNumber\r\n [formControl]=\"control\"\r\n suffix=\"%\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [step]=\"step\"\r\n [showButtons]=\"step > 1\"\r\n buttonLayout=\"horizontal\"\r\n decrementButtonIcon=\"pi pi-minus-circle\"\r\n incrementButtonIcon=\"pi pi-plus-circle\"\r\n (onBlur)=\"onBlur()\"\r\n ></p-inputNumber>\r\n</form>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BooleanType } from '../../../models';\r\n\r\nexport type RadioButtonOption = {\r\n label: string;\r\n value: string;\r\n textTooltip?: string;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-radio-button-field',\r\n templateUrl: './radio-button-field.component.html',\r\n styleUrls: ['./radio-button-field.component.scss'],\r\n})\r\nexport class RadioButtonFieldComponent implements OnInit {\r\n @Input()\r\n public groupName: string = '';\r\n @Input()\r\n public options: RadioButtonOption[] = [\r\n { label: this.getYesLabel(), value: BooleanType.YES },\r\n { label: this.getNoLabel(), value: BooleanType.NO },\r\n ];\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public layout: 'vertical' | 'horizontal' = 'vertical';\r\n @Input()\r\n public justifySpaceBetween = false;\r\n @Input()\r\n public addIcon = false;\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n }\r\n\r\n get layoutClass() {\r\n return { horizontal: this.layout === 'horizontal', vertical: this.layout === 'vertical' };\r\n }\r\n\r\n private getYesLabel() {\r\n const label = this.translateService.instant('app.label.yes');\r\n return label !== 'app.label.yes' ? label : 'Sim';\r\n }\r\n\r\n private getNoLabel() {\r\n const label = this.translateService.instant('app.label.no');\r\n return label !== 'app.label.no' ? label : 'Não';\r\n }\r\n}\r\n","<div\r\n class=\"radio-buttons-container\"\r\n [ngClass]=\"layoutClass\"\r\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\r\n>\r\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\r\n <p-radioButton\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [label]=\"option.label\"\r\n [formControl]=\"control\"\r\n ></p-radioButton>\r\n <i\r\n *ngIf=\"addIcon && option.textTooltip != null\"\r\n class=\"fas fa-info-circle mt-1 pr-3 pl-2\"\r\n pTooltip=\"{{ option.textTooltip }}\"\r\n tooltipPosition=\"bottom\"\r\n ></i>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-range-value',\r\n templateUrl: './range-value.component.html',\r\n styleUrls: ['./range-value.component.scss'],\r\n})\r\nexport class RangeValueComponent implements OnInit {\r\n @Input() value: number = 0;\r\n @Input() movimentedValue: number | null = null;\r\n @Input() min: number = 0;\r\n @Input() max: number = 100;\r\n @Input() disabled: boolean = false;\r\n @Output() valueChange = new EventEmitter<number>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n changeValue() {\r\n if (this.value < this.min) {\r\n this.value = this.min;\r\n }\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n getMovimentedValue() {\r\n if (this.movimentedValue) {\r\n return this.movimentedValue;\r\n } else {\r\n return (this.max - this.min) / 100;\r\n }\r\n }\r\n\r\n increment() {\r\n if (!this.disabled) {\r\n if (this.value + this.getMovimentedValue() < this.max) {\r\n this.value = this.value + this.getMovimentedValue();\r\n this.valueChange.emit(this.value);\r\n } else {\r\n this.value = this.max;\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n decrement() {\r\n if (!this.disabled) {\r\n if (this.value - this.getMovimentedValue() > this.min) {\r\n this.value = this.value - this.getMovimentedValue();\r\n this.valueChange.emit(this.value);\r\n } else {\r\n this.value = this.min;\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\" [disabled]=\"disabled\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vector-search-field',\r\n templateUrl: './search-field.component.html',\r\n styleUrls: ['./search-field.component.scss'],\r\n})\r\nexport class SearchFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public placeholder = '';\r\n @Output()\r\n public onSearch = new EventEmitter<string>();\r\n\r\n public formControl = new UntypedFormControl();\r\n private subscription = new Subscription();\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.formControl.valueChanges.pipe(debounceTime(300)).subscribe((value) => {\r\n this.onSearch.emit(value);\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<vector-text-field [control]=\"formControl\" rightIcon=\"fas fa-search\" [label]=\"placeholder\"></vector-text-field>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-textarea-field',\r\n templateUrl: './textarea-field.component.html',\r\n styleUrls: ['./textarea-field.component.scss'],\r\n})\r\nexport class TextareaFieldComponent implements OnInit {\r\n @Input()\r\n public isRequired: boolean | undefined = false;\r\n @Input()\r\n public label: string | undefined = '';\r\n @Input()\r\n public maxlength: string = '';\r\n @Input()\r\n public rows: number = 5;\r\n @Input()\r\n public cols: number = 10;\r\n @Input()\r\n public control: any;\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n private lastBlurValue = '';\r\n\r\n ngOnInit() {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('minlength')) {\r\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n\r\n public onEnterPress() {\r\n this.onBlur();\r\n this.enterKeyPress.emit();\r\n }\r\n\r\n public onFocus($event: Event) {\r\n const target = $event.target as HTMLTextAreaElement;\r\n this.focusEvent.emit(target?.value);\r\n }\r\n}\r\n","<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputOtpModule } from 'primeng/inputotp';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { PanelModule } from '../panel';\r\nimport { ScoreModule } from '../score';\r\nimport { ButtonComponent } from './button';\r\nimport { CalendarComponent } from './calendar-field';\r\nimport { CheckboxFieldComponent } from './checkbox-field';\r\nimport { CurrencyFieldComponent } from './currency-field';\r\nimport { DataTableComponent } from './data-table';\r\nimport { DropdownFieldComponent } from './dropdown-field';\r\nimport { FieldErrorMessageComponent } from './field-error-message';\r\nimport { FiltersComponent } from './filters';\r\nimport { InputNumberFieldComponent } from './input-number-field';\r\nimport { InputOtpComponent } from './input-otp';\r\nimport { InputSwitchFieldComponent } from './input-switch-field';\r\nimport { MultiselectFieldComponent } from './multiselect-field';\r\nimport { PercentageFieldComponent } from './percentage-field';\r\nimport { RadioButtonFieldComponent } from './radio-button-field';\r\nimport { RangeValueComponent } from './range-value';\r\nimport { SearchFieldComponent } from './search-field';\r\nimport { SelectButtonFieldComponent } from './select-button-field';\r\nimport { TextFieldComponent } from './text-field';\r\nimport { TextareaFieldComponent } from './textarea-field';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n KeyFilterModule,\r\n InputTextModule,\r\n CheckboxModule,\r\n InputMaskModule,\r\n CalendarModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n AutoCompleteModule,\r\n SliderModule,\r\n RadioButtonModule,\r\n FileUploadModule,\r\n DialogModule,\r\n InputNumberModule,\r\n PanelModule,\r\n TabViewModule,\r\n ButtonModule,\r\n InputTextareaModule,\r\n SelectButtonModule,\r\n InputNumberModule,\r\n BadgeModule,\r\n ScoreModule,\r\n TranslateModule,\r\n InputSwitchModule,\r\n MenuModule,\r\n TableModule,\r\n InputOtpModule,\r\n ],\r\n declarations: [\r\n DataTableComponent,\r\n TextFieldComponent,\r\n CheckboxFieldComponent,\r\n ButtonComponent,\r\n CalendarComponent,\r\n MultiselectFieldComponent,\r\n DropdownFieldComponent,\r\n RangeValueComponent,\r\n SearchFieldComponent,\r\n RadioButtonFieldComponent,\r\n CurrencyFieldComponent,\r\n PercentageFieldComponent,\r\n FiltersComponent,\r\n TextareaFieldComponent,\r\n FieldErrorMessageComponent,\r\n SelectButtonFieldComponent,\r\n InputNumberFieldComponent,\r\n InputSwitchFieldComponent,\r\n InputOtpComponent,\r\n ],\r\n exports: [\r\n DataTableComponent,\r\n TextFieldComponent,\r\n CheckboxFieldComponent,\r\n ButtonComponent,\r\n CalendarComponent,\r\n MultiselectFieldComponent,\r\n DropdownFieldComponent,\r\n RangeValueComponent,\r\n SearchFieldComponent,\r\n RadioButtonFieldComponent,\r\n FileUploadModule,\r\n DialogModule,\r\n CurrencyFieldComponent,\r\n PercentageFieldComponent,\r\n FiltersComponent,\r\n TextareaFieldComponent,\r\n FieldErrorMessageComponent,\r\n SelectButtonFieldComponent,\r\n InputNumberFieldComponent,\r\n InputSwitchFieldComponent,\r\n InputOtpComponent,\r\n ],\r\n})\r\nexport class FieldsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { CrudFooterComponent } from './crud-footer.component';\r\n\r\n@NgModule({\r\n declarations: [CrudFooterComponent],\r\n exports: [CrudFooterComponent, TranslateModule],\r\n imports: [SharedModule, FieldsModule, TranslateModule],\r\n})\r\nexport class FooterModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Status } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-crud-header',\r\n templateUrl: './crud-header.component.html',\r\n styleUrls: ['./crud-header.component.scss'],\r\n})\r\nexport class CrudHeaderComponent implements OnInit {\r\n @Input()\r\n public statusCode?: number;\r\n @Input()\r\n public code?: number;\r\n\r\n get statusLabel() {\r\n switch (this.statusCode) {\r\n case Status.PENDING:\r\n return 'Pendente';\r\n case Status.APPROVED:\r\n return 'Ativo';\r\n case Status.REJECTED:\r\n return 'Inativo';\r\n }\r\n return '';\r\n }\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"container\">\r\n <div class=\"status-container\">\r\n <span>Status</span>\r\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\r\n </div>\r\n <div class=\"separator\"></div>\r\n <span class=\"code-label\"\r\n >Código de identificação<span class=\"code\">{{ code }}</span></span\r\n >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { CrudHeaderComponent } from './crud-header.component';\r\n\r\n@NgModule({\r\n declarations: [CrudHeaderComponent],\r\n imports: [SharedModule, BadgeModule],\r\n exports: [CrudHeaderComponent],\r\n})\r\nexport class CrudHeaderModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { CrudHistory } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-crud-history',\r\n templateUrl: './crud-history.component.html',\r\n styleUrls: ['./crud-history.component.scss'],\r\n})\r\nexport class CrudHistoryComponent {\r\n @Input()\r\n public crudHistory?: CrudHistory<any>;\r\n @Output()\r\n public onClick = new EventEmitter<any>();\r\n public getHistoryBadgeBackgroundColor(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return '#CBFFAE';\r\n case 'ActionUpdate':\r\n return '#FFE6B0';\r\n case 'ActionDelete':\r\n return 'Removido';\r\n case 'ActionUpdate-OnComposition':\r\n return '#FFE6B0';\r\n case 'ActionUpdate-OnUnit':\r\n return '#FFE6B0';\r\n case 'ActionCreate-OnComposition':\r\n return '#CBFFAE';\r\n case 'ActionCancel':\r\n return '#FFE6B0';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public getHistoryBadgeColor(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return '#067306';\r\n case 'ActionUpdate':\r\n return '#946300';\r\n case 'ActionDelete':\r\n return '#6B2D2D';\r\n case 'ActionUpdate-OnComposition':\r\n return '#946300';\r\n case 'ActionUpdate-OnUnit':\r\n return '#946300';\r\n case 'ActionCreate-OnComposition':\r\n return '#067306';\r\n case 'ActionCancel':\r\n return '#946300';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public getHistoryBadgeLabel(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return 'Criado';\r\n case 'ActionUpdate':\r\n return 'Modificado';\r\n case 'ActionDelete':\r\n return 'Removido';\r\n case 'ActionUpdate-OnComposition':\r\n return 'Composição Modificada';\r\n case 'ActionUpdate-OnUnit':\r\n return 'Unidade Modificada';\r\n case 'ActionCreate-OnComposition':\r\n return 'Composição Criada';\r\n case 'ActionCancel':\r\n return 'Modificado';\r\n default:\r\n return '';\r\n }\r\n }\r\n}\r\n","<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"history-item-header-container\" (click)=\"onClick.emit()\">\r\n <div class=\"history-item-header-left\">\r\n <span id=\"color-first-span\" *ngIf=\"crudHistory.typeOfModification\">{{ crudHistory.typeOfModification }}</span>\r\n <vector-badge\r\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\r\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\r\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\r\n ></vector-badge>\r\n <span>por {{ crudHistory.modifierName }}</span>\r\n </div>\r\n <span class=\"history-item-header-right\">\r\n {{ crudHistory.dateTime | date : 'dd/MM/yyyy HH:mm' }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div *ngFor=\"let auditDelta of crudHistory.dataAuditDelta\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 md:col-6 field\">\r\n <span>{{ auditDelta.fieldName }}</span>\r\n </div>\r\n <div class=\"col-12 md:col-6 field\">\r\n <span class=\"new-value\">{{ auditDelta.newValue }}</span>\r\n <span class=\"old-value pl-1\">{{ auditDelta.oldValue }}</span>\r\n <span *ngIf=\"auditDelta.type || auditDelta.type == 0\" class=\"text-600 pl-1\">\r\n Entity: <span class=\"text-green-300\">{{ auditDelta.type }}</span>\r\n <i\r\n class=\"fas fa-info-circle text-400 text-base ch pl-1\"\r\n [pTooltip]=\"auditDelta.typeDescription\"\r\n tooltipPosition=\"top\"\r\n ></i>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-accordionTab>\r\n","import { NgModule } from '@angular/core';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { CrudHistoryComponent } from './crud-history.component';\r\n\r\n@NgModule({\r\n declarations: [CrudHistoryComponent],\r\n imports: [SharedModule, BadgeModule, AccordionModule, TooltipModule],\r\n exports: [CrudHistoryComponent],\r\n})\r\nexport class CrudHistoryModule {}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { ErrorMessageService } from '../../services';\r\n\r\n@Component({\r\n selector: 'vector-generic-error-modal',\r\n templateUrl: './generic-error-modal.component.html',\r\n styleUrls: ['./generic-error-modal.component.scss'],\r\n})\r\nexport class GenericErrorModalComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public skipMessages: string[] = [];\r\n public message?: string = '';\r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(private errorService: ErrorMessageService) {\r\n this.subscription.add(\r\n this.errorService.genericModalErrorMessage$\r\n .pipe(filter((message) => !!message && !this.skipMessages.includes(message)))\r\n .subscribe((message) => {\r\n this.message = message;\r\n })\r\n );\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public close() {\r\n this.message = '';\r\n }\r\n}\r\n","<p-dialog\r\n [visible]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { GenericErrorModalComponent } from './generic-error-modal.component';\r\n@NgModule({\r\n declarations: [GenericErrorModalComponent],\r\n imports: [SharedModule, DialogModule, FieldsModule],\r\n exports: [GenericErrorModalComponent],\r\n})\r\nexport class GenericErrorModalModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GenericModalMessage } from '../../models/generic-modal.model';\r\n\r\n@Component({\r\n selector: 'vector-generic-modal',\r\n templateUrl: './generic-modal.component.html',\r\n styleUrls: ['./generic-modal.component.scss'],\r\n})\r\nexport class GenericModalComponent implements OnInit {\r\n @Input()\r\n public modalMessage: GenericModalMessage = {\r\n fileIcon: 'alert_icon',\r\n title: '',\r\n message: [],\r\n confirmButton: { label: 'Confirmar', clickFunction: () => {} },\r\n cancelButton: { label: 'Voltar', clickFunction: () => {} },\r\n };\r\n @Input()\r\n public isClosable: boolean = true;\r\n @Input()\r\n public hiddenActions: boolean = false;\r\n @Input()\r\n public linkLabel: string = '';\r\n @Input()\r\n public linkUrl: string = '';\r\n @Input()\r\n public display!: boolean;\r\n @Input()\r\n public maxWidth?: string = '';\r\n @Input()\r\n public lineBreak?: string = '';\r\n @Output()\r\n public displayChange = new EventEmitter<boolean>();\r\n @Output()\r\n public onCloseModal = new EventEmitter();\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public routerLink(url: string) {\r\n this.router.navigate([url]);\r\n }\r\n\r\n public confirm() {\r\n this.display = false;\r\n this.displayChange.emit(this.display);\r\n }\r\n\r\n public hideModal() {\r\n this.display = false;\r\n this.displayChange.emit(this.display);\r\n this.onCloseModal.emit();\r\n }\r\n}\r\n","<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"isClosable\"\r\n (onHide)=\"hideModal()\"\r\n [ngStyle]=\"{ 'max-width': maxWidth, 'line-break': lineBreak }\"\r\n>\r\n <div class=\"grid modal-generic\">\r\n <div class=\"col-12\">\r\n <img\r\n *ngIf=\"modalMessage.fileIcon\"\r\n class=\"flex mx-auto mb-3\"\r\n [ngClass]=\"!isClosable ? 'mt-4' : ''\"\r\n src=\"assets/images/{{ modalMessage.fileIcon }}.svg\"\r\n />\r\n <h1 *ngIf=\"modalMessage.title\">{{ modalMessage.title }}</h1>\r\n <p *ngFor=\"let text of modalMessage.message\" [innerHTML]=\"text\"></p>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"linkLabel\" class=\"grid mt-2 justify-content-center\">\r\n <div class=\"col-12 md:col-6\">\r\n <vector-button [label]=\"linkLabel\" (click)=\"routerLink(linkUrl)\"></vector-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!hiddenActions\" class=\"grid mt-2 justify-content-center\">\r\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.cancelButton\">\r\n <vector-button\r\n (onClick)=\"modalMessage.cancelButton && modalMessage.cancelButton.clickFunction()\"\r\n [label]=\"modalMessage.cancelButton.label\"\r\n [type]=\"modalMessage.cancelButton.type ? modalMessage.cancelButton.type : 'default'\"\r\n ></vector-button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.confirmButton\">\r\n <vector-button\r\n (onClick)=\"modalMessage.confirmButton && modalMessage.confirmButton.clickFunction()\"\r\n [label]=\"modalMessage.confirmButton.label\"\r\n [type]=\"modalMessage.confirmButton.type ? modalMessage.confirmButton.type : 'default-filled'\"\r\n ></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { GenericModalComponent } from './generic-modal.component';\r\n\r\n@NgModule({\r\n declarations: [GenericModalComponent],\r\n exports: [GenericModalComponent],\r\n imports: [DialogModule, FieldsModule, SharedModule],\r\n})\r\nexport class GenericModalModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-sub-menus-list',\r\n templateUrl: './sub-menus-list.component.html',\r\n styleUrls: ['./sub-menus-list.component.scss'],\r\n})\r\nexport class SubMenusListComponent {\r\n @Input()\r\n public showList = false;\r\n @Input()\r\n public options: MenuItem[] | undefined;\r\n @Input()\r\n public childLevel = 1;\r\n @Input()\r\n public submenuSelected: MenuItem | undefined;\r\n @Output()\r\n public submenuSelectedChange = new EventEmitter<MenuItem>();\r\n\r\n public submenuClick(option: MenuItem) {\r\n if (!option.alwaysOpen) {\r\n if (this.submenuSelected?.id === option.id) {\r\n this.submenuSelected = undefined;\r\n } else {\r\n this.submenuSelected = option.children?.length ? option : undefined;\r\n }\r\n this.submenuSelectedChange.emit(option);\r\n }\r\n }\r\n\r\n public get paddingLeft() {\r\n return this.childLevel * 10 + 'px';\r\n }\r\n}\r\n","<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, HostListener, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { APP_NAME, ENVIRONMENT } from '../../injections';\r\nimport { AppName, MenuItem, Role } from '../../models';\r\nimport { VectorApp } from '../../models/vector-app.model';\r\nimport { MenuService, ProfileService, StorageService } from '../../services';\r\n\r\n@Component({\r\n selector: 'vector-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n animations: [\r\n trigger('sideInOut', [state('in', style({ width: '60px' })), state('out', style({ width: '250px' }))]),\r\n trigger('fadeInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n width: '0%',\r\n 'font-size': '0em',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n 'font-size': '1em',\r\n width: '100%',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n trigger('fadeSearchInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n width: '0%',\r\n 'font-size': '0em',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n 'font-size': '1em',\r\n width: '100%',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n trigger('submenuFadeInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n height: '0%',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n height: 'fit-content',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n ],\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n public options: MenuItem[] = [];\r\n public activeOption: MenuItem | undefined;\r\n public activeSubmenuOption: MenuItem | undefined;\r\n public widthStyle = { width: '250px' };\r\n public lastAnimation = 'out';\r\n public appNameLabel = this.environment.appName;\r\n public adminOption: MenuItem | undefined;\r\n public appsEnum = AppName;\r\n public production = this.environment.production;\r\n @Output() onFinishMenuOptionsConfig = new EventEmitter<any>();\r\n\r\n set opened(opened: boolean) {\r\n this._opened = opened;\r\n this.menuService.menuOpened$.next(this.opened);\r\n }\r\n\r\n public get opened() {\r\n return this._opened;\r\n }\r\n\r\n public get hasFintechAdminPermission() {\r\n return this.profileService.hasFintechAdminPermission;\r\n }\r\n\r\n public get hasMarketplaceAdminPermission() {\r\n return this.profileService.hasMarketplaceAdminPermission;\r\n }\r\n\r\n public get hasAnyMarketplacePermission() {\r\n return this.profileService.hasAnyMarketplacePermission;\r\n }\r\n\r\n public get hasAnyFintechPermission() {\r\n return this.profileService.hasAnyFintechPermission;\r\n }\r\n\r\n @Input()\r\n public accountService: any;\r\n @Input()\r\n public apps: VectorApp[] = [];\r\n\r\n private _opened = true;\r\n private subscription = new Subscription();\r\n private currentWindowWidth: number = 0;\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private router: Router,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n @Inject(ENVIRONMENT) private environment: any,\r\n @Inject(APP_NAME) private currentApp: string\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.menuService.toggleMenu$.subscribe(() => {\r\n this.toggleMenu();\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.profileService.moduleProfile$.subscribe((profile) => {\r\n if (profile) {\r\n const role = this.storageService.getRole();\r\n this.options =\r\n role === Role.ADMIN\r\n ? this.menuService.getSideAdminMenuOptions()\r\n : this.menuService.getSideMainMenuOptions();\r\n\r\n if (this.hasFintechAdminPermission || this.hasMarketplaceAdminPermission) {\r\n this.adminOption = {\r\n id: `${99999}`,\r\n label: 'Admin Fintech',\r\n iconFileName: 'vector_admin_icon',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\r\n },\r\n };\r\n\r\n if (this.hasFintechAdminPermission) {\r\n this.adminOption.children?.push({\r\n id: `${999991}`,\r\n label: 'Admin Fintech',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\r\n },\r\n hidden: !this.hasFintechAdminPermission,\r\n });\r\n }\r\n\r\n if (this.hasMarketplaceAdminPermission) {\r\n this.adminOption.children?.push({\r\n id: `${999992}`,\r\n label: 'Admin Marketplace',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.MARKETPLACE, isAdmin: true });\r\n },\r\n hidden: !this.hasMarketplaceAdminPermission,\r\n });\r\n }\r\n }\r\n this.onFinishMenuOptionsConfig.emit(null);\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.menuService.frameUrl$.subscribe((frameUrl) => {\r\n if (frameUrl) {\r\n this.storageService.setSession('frameUrl', frameUrl);\r\n } else {\r\n this.storageService.removeSession('frameUrl');\r\n }\r\n })\r\n );\r\n\r\n const frameUrlFromStorage = this.storageService.getSession('frameUrl');\r\n if (frameUrlFromStorage) {\r\n this.menuService.frameUrl$.next(frameUrlFromStorage);\r\n }\r\n\r\n this.currentWindowWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n if (this.opened && this.currentWindowWidth !== window.innerWidth) {\r\n this.clearAndCloseMenu();\r\n }\r\n this.currentWindowWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n handleKeyboardEvent() {\r\n this.toggleMenu();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public toggleMenu() {\r\n this.opened = !this.opened;\r\n if (!this.opened) {\r\n this.activeOption = undefined;\r\n this.activeSubmenuOption = undefined;\r\n }\r\n this.resizeMenu();\r\n }\r\n\r\n public onMenuClick(option: MenuItem) {\r\n if (!option.alwaysOpen) {\r\n if (this.activeOption?.id === option.id) {\r\n this.activeOption = undefined;\r\n } else {\r\n this.activeOption = option.children?.length ? option : undefined;\r\n }\r\n if (option.frameUrl) {\r\n this.menuService.frameUrl$.next(option.frameUrl);\r\n } else if (option.route) {\r\n this.router.navigate([option.route]);\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (option.externalUrl) {\r\n window.open(option.externalUrl, '_blank');\r\n this.menuService.frameUrl$.next(undefined);\r\n }\r\n if (option.children?.length && !this.opened) {\r\n this.toggleMenu();\r\n }\r\n this.activeSubmenuOption = undefined;\r\n }\r\n }\r\n\r\n public onSubmenuClick(submenuItem: MenuItem) {\r\n if (!submenuItem.alwaysOpen) {\r\n if (this.activeSubmenuOption?.id === submenuItem?.id) {\r\n this.activeSubmenuOption = undefined;\r\n } else {\r\n this.activeSubmenuOption = submenuItem.children?.length ? submenuItem : undefined;\r\n }\r\n if (submenuItem.frameUrl) {\r\n this.menuService.frameUrl$.next(submenuItem.frameUrl);\r\n } else if (submenuItem.route) {\r\n this.router.navigate([submenuItem.route]);\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (submenuItem.externalUrl) {\r\n window.open(submenuItem.externalUrl, '_blank');\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (submenuItem.command) {\r\n submenuItem.command();\r\n this.menuService.frameUrl$.next(undefined);\r\n }\r\n }\r\n }\r\n\r\n public openTermsOfUse() {\r\n this.accountService.termsOfUse$.next();\r\n }\r\n\r\n public isPortalSelected(portal: AppName) {\r\n return this.currentApp === portal;\r\n }\r\n\r\n public navigateToPortal(params: Partial<VectorApp>) {\r\n this.activeOption = undefined;\r\n this.activeSubmenuOption = undefined;\r\n this.menuService.navigateToPortal(params);\r\n }\r\n\r\n public getMenuNotificationsCount(menu: MenuItem) {\r\n return this.menuService.menuNotifications[menu.id || ''];\r\n }\r\n\r\n private clearAndCloseMenu(): void {\r\n this.opened = false;\r\n this.activeOption = undefined;\r\n this.resizeMenu();\r\n }\r\n\r\n private resizeMenu() {\r\n this.lastAnimation = this.opened ? 'out' : 'in';\r\n this.widthStyle = { width: this.opened ? '250px' : '60px' };\r\n this.activeSubmenuOption = undefined;\r\n }\r\n}\r\n","<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELEÇÃO DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <ng-container *ngIf=\"apps.length\">\r\n <li *ngFor=\"let app of apps\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(app.appName) }\"\r\n (click)=\"navigateToPortal(app)\"\r\n >\r\n <div class=\"icon-container selected-portal-item {{ app.className }}\"></div>\r\n <span class=\"menu-label\">{{ app.description }}</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!apps.length\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.LOGTECH, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.FINTECH) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Conta digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.MARKETPLACE, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combustível</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: true })\"\r\n >\r\n <div class=\"icon-container selected-portal-item admin\"></div>\r\n <span class=\"menu-label\">Admin Fintech</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <a>\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" (click)=\"openTermsOfUse()\" class=\"menu-icon\" />\r\n </a>\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a (click)=\"openTermsOfUse()\">Política de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n","import { NgModule } from '@angular/core';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MenuComponent } from './menu.component';\r\nimport { SubMenusListComponent } from './sub-menus-list/sub-menus-list.component';\r\n\r\n@NgModule({\r\n declarations: [MenuComponent, SubMenusListComponent],\r\n exports: [MenuComponent],\r\n imports: [SharedModule, OverlayPanelModule],\r\n})\r\nexport class MenuModule {}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'vector-stepper',\r\n templateUrl: './stepper.component.html',\r\n styleUrls: ['./stepper.component.scss'],\r\n})\r\nexport class StepperComponent implements AfterViewInit {\r\n @Input()\r\n public steps: MenuItem[] = [];\r\n @Input()\r\n public navigable = false;\r\n @Input()\r\n public activeIndex = 0;\r\n @Output()\r\n public activeIndexChange = new EventEmitter<number>();\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n const stepsNumbers: HTMLSpanElement[] = this.elementRef.nativeElement.getElementsByClassName('p-steps-number');\r\n let index = 0;\r\n for (let element of stepsNumbers) {\r\n const step = this.steps[index];\r\n if (step.styleClass === 'checked') {\r\n element.innerHTML = `<span class=\"fas fa-check\"></span>`;\r\n }\r\n if (step.icon) {\r\n element.innerHTML = `<span class=\"${step.icon}\"></span>`;\r\n }\r\n if (step.disabled) {\r\n element.classList.add('disabled');\r\n }\r\n index++;\r\n }\r\n }\r\n\r\n onActiveIndexChange(index: number) {\r\n this.activeIndexChange.emit(index);\r\n }\r\n}\r\n","<div class=\"wrapper\">\r\n <p-steps\r\n [model]=\"steps\"\r\n [readonly]=\"!navigable\"\r\n [activeIndex]=\"activeIndex\"\r\n (activeIndexChange)=\"onActiveIndexChange($event)\"\r\n >\r\n ></p-steps\r\n >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { StepperComponent } from './stepper.component';\r\n\r\n@NgModule({\r\n declarations: [StepperComponent],\r\n exports: [StepperComponent],\r\n imports: [SharedModule, StepsModule],\r\n})\r\nexport class StepperModule {}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { Role, VectorNotification } from '../../models';\r\nimport { HelpCentralIconOptionsType } from '../../models/topbar.model';\r\nimport { AuthService, ErrorMessageService, MenuService, ProfileService, StorageService } from '../../services';\r\nimport { NotificationsService } from '../../services/notifications.service';\r\nimport { MaskUtil, WindowUtil } from '../../utils';\r\n\r\n@Component({\r\n selector: 'vector-top-bar',\r\n templateUrl: './top-bar.component.html',\r\n styleUrls: ['./top-bar.component.scss'],\r\n})\r\nexport class TopBarComponent implements OnInit, OnDestroy {\r\n public hideElements = false;\r\n public openedMenu = false;\r\n public openedChangeAccountMenu = false;\r\n public showNotifications = false;\r\n public doingOnboarding = false;\r\n\r\n public vectorFirstName: any;\r\n public currentAccount: any = {};\r\n public isAdmin = false;\r\n public otherAccounts: any[] = [];\r\n public maskUtil = MaskUtil;\r\n\r\n @Input()\r\n public fintech: boolean = false;\r\n @Input()\r\n public accountService: any;\r\n @Input()\r\n public showHelpCentral = false;\r\n public helpCentralIcons: HelpCentralIconOptionsType[] = [\r\n {\r\n icon: 'fab fa-whatsapp',\r\n url: 'https://api.whatsapp.com/send?phone=5521971551188&text=ol%C3%A1',\r\n active: true,\r\n },\r\n {\r\n icon: 'pi pi-phone',\r\n url: 'tel:552120423017',\r\n active: true,\r\n },\r\n {\r\n icon: 'far fa-envelope',\r\n url: 'mailto:suporte@vectorapp.com.br',\r\n active: true,\r\n },\r\n {\r\n icon: 'far fa-question-circle',\r\n url: '',\r\n active: false,\r\n },\r\n ];\r\n\r\n @Output() onClick = new EventEmitter<string>();\r\n\r\n public notificationsList: VectorNotification[] = [];\r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private authService: AuthService,\r\n private router: Router,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n private notificationsService: NotificationsService,\r\n private errorMessageService: ErrorMessageService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.profileService.profileFirstName$.subscribe((value) => {\r\n this.vectorFirstName = value;\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.menuService.menuOpened$.subscribe((hasOpened) => {\r\n this.hideElements = hasOpened;\r\n })\r\n );\r\n\r\n if (this.accountService) {\r\n this.subscription.add(\r\n this.accountService.currentAccount$.subscribe((account: any) => {\r\n this.currentAccount = account;\r\n if (this.currentAccount) {\r\n const str = `${this.currentAccount.accountNumber}`;\r\n const len = str.length;\r\n const accountWithHyfen = str.substring(0, len - 1) + '-' + str.substring(len - 1);\r\n this.currentAccount.accountNumber = accountWithHyfen;\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.accountService?.userAccounts$.subscribe((accounts: any) => {\r\n this.otherAccounts = accounts?.filter((acc: any) => acc.uuid !== this.currentAccount?.uuid) || [];\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.accountService.onOnboarding$.subscribe((onOnboarding: any) => {\r\n setTimeout(() => {\r\n this.doingOnboarding = onOnboarding;\r\n });\r\n })\r\n );\r\n }\r\n\r\n this.subscription.add(\r\n this.authService.role$.subscribe((role) => {\r\n this.isAdmin = role === Role.ADMIN;\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.notificationsService.notifications$.subscribe((notifications) => {\r\n this.notificationsList = notifications;\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public toggleMenu() {\r\n this.menuService.toggleMenu$.next();\r\n }\r\n\r\n public logout() {\r\n this.authService.logout();\r\n }\r\n\r\n public isDesktop() {\r\n return WindowUtil.isDesktop();\r\n }\r\n\r\n public changeAccount(newAccount: any) {\r\n if (newAccount.isBlocked) {\r\n this.errorMessageService.genericModalErrorMessage$.next('Entre em contato com a central de atendimento');\r\n return;\r\n }\r\n\r\n this.storageService.set('linkedCnpj', newAccount.customerDocument);\r\n this.accountService.currentAccount$.next(newAccount);\r\n window.location.reload();\r\n }\r\n\r\n public goToTermsOfUse() {\r\n this.accountService.termsOfUse$.next();\r\n }\r\n\r\n public goToPasswordChange() {\r\n this.router.navigate(['password', 'recover'], { queryParams: { change: true } });\r\n }\r\n\r\n public goToTariff() {\r\n this.router.navigate(['fintech/under-construction']);\r\n }\r\n public goToOnboarding() {\r\n this.router.navigate(['onboarding', 'attorney-information']);\r\n }\r\n\r\n public handleClick(link: string | undefined) {\r\n this.onClick.emit(link || '');\r\n }\r\n}\r\n","<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MenuModule } from '../menu';\r\nimport { TopBarComponent } from './top-bar.component';\r\n\r\n@NgModule({\r\n declarations: [TopBarComponent],\r\n exports: [TopBarComponent],\r\n imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule],\r\n})\r\nexport class TopBarModule {}\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport const crudListHasItemsGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const serviceType = routeSnapshot.data['service'];\r\n if (!serviceType) {\r\n console.error('You forgot to add the service declaration to route \"data\" property.');\r\n return false;\r\n }\r\n const service: typeof serviceType = inject(serviceType);\r\n return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { APP_NAME } from '../injections';\r\nimport { AppName, Role } from '../models';\r\nimport { AuthService, ProfileService, StorageService } from '../services';\r\n\r\nexport const getTokenByGuidGuard = (route: ActivatedRouteSnapshot) => {\r\n const authService: AuthService = inject(AuthService);\r\n const storageService: StorageService = inject(StorageService);\r\n const router: Router = inject(Router);\r\n const profileService: ProfileService = inject(ProfileService);\r\n const appName: AppName = inject(APP_NAME);\r\n\r\n const paramTokenGuid = route.queryParams['Token'];\r\n const role = atob(route.queryParams['role'] || '') as Role;\r\n authService.role$.next(role);\r\n if (paramTokenGuid) {\r\n storageService.clear();\r\n storageService.setRole(route.queryParams['role']);\r\n storageService.setUserId(route.queryParams['userId']);\r\n return authService.getTokenByGuid(paramTokenGuid).pipe(\r\n switchMap((token) => {\r\n if (token && role !== Role.ADMIN) {\r\n router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return profileService.getUserInfo().pipe(\r\n map((response) => {\r\n if (response.id) {\r\n storageService.setUserId(response.id);\r\n }\r\n return true;\r\n })\r\n );\r\n })\r\n );\r\n } else if (storageService.getToken()) {\r\n if (role !== Role.ADMIN) {\r\n return router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return true;\r\n }\r\n authService.logout();\r\n return false;\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { APP_NAME } from '../injections';\r\nimport { AppName } from '../models';\r\nimport { ProfileService } from '../services';\r\n\r\nexport const hasPermissionGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const profileService: ProfileService = inject(ProfileService);\r\n const router: Router = inject(Router);\r\n const appName: AppName = inject(APP_NAME);\r\n const hasPermission = profileService.userHasPermission(routeSnapshot.data['permission']);\r\n\r\n if (!hasPermission) {\r\n return router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return true;\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { Role } from '../models';\r\nimport { StorageService } from '../services';\r\n\r\nexport const roleGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const storageService: StorageService = inject(StorageService);\r\n const router: Router = inject(Router);\r\n const isRoleAdmin = storageService.getRole() === Role.ADMIN;\r\n\r\n if ((routeSnapshot.data['adminView'] && isRoleAdmin) || (!routeSnapshot.data['adminView'] && !isRoleAdmin)) {\r\n return true;\r\n }\r\n return router.createUrlTree(['']);\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { AuthService, StorageService } from '../services';\r\n\r\nexport const tokenIsPresentGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const storageService: StorageService = inject(StorageService);\r\n const authService: AuthService = inject(AuthService);\r\n\r\n if (routeSnapshot.queryParams['tokenGuid']) {\r\n return firstValueFrom(authService.getTokenByGuid(routeSnapshot.queryParams['tokenGuid'])).then(\r\n (response) => !!response.accessToken\r\n );\r\n } else {\r\n return !!storageService.getToken();\r\n }\r\n};\r\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, filter, switchMap, take, tap } from 'rxjs/operators';\r\nimport { ENVIRONMENT } from '../injections';\r\nimport { MessageStatus } from '../models';\r\nimport { AuthService, ErrorMessageService, LoadingService, StorageService } from '../services';\r\n\r\n@Injectable()\r\nexport class HttpInterceptorProvider implements HttpInterceptor {\r\n private activeRequests: string[] = [];\r\n private isRefreshing = false;\r\n private refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);\r\n constructor(\r\n private storageService: StorageService,\r\n private errorMessageService: ErrorMessageService,\r\n private loadingService: LoadingService,\r\n private authService: AuthService,\r\n private messageService: MessageService,\r\n @Inject(ENVIRONMENT) private environment: any\r\n ) {}\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const isExternalUrl = request.headers.get('external-url');\r\n\r\n if (!this.isRefreshTokenRequest(request.url)) {\r\n if (!isExternalUrl) {\r\n request = this.addTokenIfPresent(request);\r\n request = this.addEncryptPasswordIfPresent(request);\r\n request = this.addAccountUuidIfPresent(request);\r\n request = this.addModifierIdIfPresent(request);\r\n request = this.addContentType(request);\r\n }\r\n }\r\n\r\n if (!isExternalUrl) {\r\n request = this.fixUrl(request);\r\n }\r\n\r\n const noSpinnerHeader = request.headers.get('no-spinner');\r\n if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {\r\n this.loadingService.loading$.next(true);\r\n this.activeRequests.push(this.getUrlWithoutParams(request.url));\r\n }\r\n\r\n return next.handle(request).pipe(\r\n catchError((response: HttpErrorResponse) => {\r\n if (response.error?.messages?.length) {\r\n this.errorMessageService.genericModalErrorMessage$.next(\r\n response.error.messages[response.error.messages.length - 1]\r\n );\r\n }\r\n if (!this.isRefreshTokenRequest(request.url)) {\r\n if (response.status === 401) {\r\n return this.handle401Error(request, next);\r\n }\r\n if (response.status === 403) {\r\n this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');\r\n } else {\r\n if (!isExternalUrl) {\r\n if (typeof response.error == 'string') {\r\n this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });\r\n }\r\n }\r\n }\r\n }\r\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\r\n this.activeRequests.splice(\r\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\r\n 1\r\n );\r\n if (!this.activeRequests.length) {\r\n this.loadingService.loading$.next(false);\r\n }\r\n }\r\n\r\n return throwError(() => response);\r\n }),\r\n tap((response) => {\r\n if (response instanceof HttpResponse) {\r\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\r\n this.activeRequests.splice(\r\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\r\n 1\r\n );\r\n if (!this.activeRequests.length) {\r\n this.loadingService.loading$.next(false);\r\n }\r\n }\r\n\r\n if (\r\n Object(response.body).hasOwnProperty('statusCode') &&\r\n response.body.statusCode === 400 &&\r\n response.body.messages?.length\r\n ) {\r\n this.errorMessageService.genericModalErrorMessage$.next(\r\n response.body.messages[response.body.messages.length - 1]\r\n );\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n private isRefreshTokenRequest(url: string) {\r\n return url.includes('connect/token');\r\n }\r\n\r\n private getUrlWithoutParams(fullUrl: string | null): string {\r\n if (!fullUrl) {\r\n return '';\r\n }\r\n\r\n const decodedUrl = decodeURIComponent(fullUrl.trim());\r\n\r\n if (!decodedUrl.includes('?')) {\r\n return decodedUrl;\r\n }\r\n\r\n return decodedUrl.substring(0, decodedUrl.indexOf('?'));\r\n }\r\n\r\n private addTokenIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const token = this.storageService.getToken();\r\n if (token) {\r\n request = request.clone({ setHeaders: { Authorization: token } });\r\n }\r\n return request;\r\n }\r\n\r\n private addModifierIdIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const modifierId = this.storageService.getUserId();\r\n if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {\r\n request = request.clone({ body: { ...request.body, modifierId } });\r\n }\r\n return request;\r\n }\r\n\r\n private addEncryptPasswordIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const encriptPassword = this.storageService.get('encryptPassword');\r\n if (request.method !== 'GET' && encriptPassword) {\r\n if (request.body instanceof FormData) {\r\n request.body.append('encriptPassword', encriptPassword);\r\n } else {\r\n request = request.clone({ body: { ...request.body, encriptPassword } });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n private addAccountUuidIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const accountUuid = this.storageService.get('accountUuid');\r\n if (request.method !== 'GET' && accountUuid) {\r\n if (request.body instanceof FormData) {\r\n request.body.append('accountUuid', accountUuid);\r\n } else {\r\n request = request.clone({ body: { ...request.body, accountUuid } });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n private addContentType(request: HttpRequest<any>): HttpRequest<any> {\r\n return request.clone({ setHeaders: { contentType: 'application/json' } });\r\n }\r\n\r\n private fixUrl(request: HttpRequest<any>): HttpRequest<any> {\r\n if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {\r\n return request.clone({\r\n url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,\r\n });\r\n }\r\n return request.clone({\r\n url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,\r\n });\r\n }\r\n\r\n private isAuthRequest(url: string) {\r\n return url.includes('connect/token');\r\n }\r\n\r\n private isProfilesRequest(url: string) {\r\n return url.includes('connect/userinfo');\r\n }\r\n\r\n private handle401Error(request: HttpRequest<any>, next: HttpHandler) {\r\n if (!this.isRefreshing) {\r\n this.isRefreshing = true;\r\n this.refreshTokenSubject.next(null);\r\n\r\n const refreshToken = this.storageService.getRefreshToken();\r\n if (refreshToken) {\r\n return this.authService.getTokenByRefreshToken(refreshToken).pipe(\r\n switchMap((token: any) => {\r\n this.isRefreshing = false;\r\n this.refreshTokenSubject.next(this.storageService.getToken());\r\n return next.handle(this.addTokenIfPresent(request));\r\n }),\r\n catchError((err) => {\r\n this.isRefreshing = false;\r\n this.authService.logout();\r\n return throwError(() => err);\r\n })\r\n );\r\n } else {\r\n this.isRefreshing = false;\r\n this.authService.logout();\r\n return throwError(() => new Error());\r\n }\r\n }\r\n\r\n return this.refreshTokenSubject.pipe(\r\n filter((token) => token !== null),\r\n take(1),\r\n switchMap((token) => next.handle(this.addTokenIfPresent(request)))\r\n );\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport const getSelectedCrudItemResolver = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const serviceType = routeSnapshot.data['service'];\r\n if (!serviceType) {\r\n console.error('You forgot to add the service declaration to route \"data\" property.');\r\n return undefined;\r\n }\r\n const service: typeof serviceType = inject(serviceType);\r\n if (service.dataset$.value?.data?.length) {\r\n return service.dataset$.value.data.find((item: any) => item.id == routeSnapshot.params['id']);\r\n }\r\n if (service.flatUnpagedDataset$.value?.length) {\r\n return service.flatUnpagedDataset$.value.find((item: any) => item.id == routeSnapshot.params['id']);\r\n }\r\n return undefined;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.RemoveLastChildPipe","i2.ButtonComponent","i3","PrimeNgPanel","i2.StorageService","i2.ProfileService","i1.ProfileService","i4.AuthService","i1.ModalService","i5.FieldErrorMessageComponent","i4","i6.ButtonComponent","i7.FieldErrorMessageComponent","i5","i5.TextFieldComponent","i7.CalendarComponent","i8.MultiselectFieldComponent","i9.DropdownFieldComponent","i10.CurrencyFieldComponent","i11.SelectButtonFieldComponent","i12.NotHiddenPipe","i13","i3.PanelComponent","i5.BadgeComponent","i6.ScoreComponent","i9.ButtonComponent","i10.FiltersComponent","i11","i3.FieldErrorMessageComponent","i1.TextFieldComponent","MenuModule","i1.BadgeComponent","i3.BadgeComponent","i1.ErrorMessageService","i3.ButtonComponent","i1.MenuService","i1.StorageService","i5.SubMenusListComponent","i1.AuthService","i3.NotificationsService","i7","i8.FormatDocumentPipe","i9.UnreadNotificationsPipe","i10"],"mappings":"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"}
|