{"version":3,"sources":["node_modules/@vendasta/sales-v2/fesm2020/vendasta-sales-v2.mjs","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/_account-group-schema.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/_product-schema.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/_sales-order-schema.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/_task-schema.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/_user-schema.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/schema.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/field-data-service/_account-group-data.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/field-data-service/_user-data.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/field-data-service/_product-data.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/field-data-service/_order-data.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/field-data-service/_task-data.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/field-data-service/field-data.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderers/integer.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderers/text.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderers/date.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderers/dropdown.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/currency.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderers/currency.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderers/index.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderer-utils.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-field-handler.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/renderer-selector.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-table/auxiliary-data-table.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-table/auxiliary-data-table.component.html","libs/auxiliary-data-components/src/lib/assets/en_devel.json","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-card/auxiliary-data-card.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-card/auxiliary-data-card.component.html","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-panel/auxiliary-data-panel.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-panel/auxiliary-data-panel.component.html","libs/auxiliary-data-components/src/lib/auxiliary-data.module.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table.service.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table.data-model.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table-actions.module.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table-internal.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-dialog/auxiliary-data-dialog.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-fields/auxiliary-data-fields.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/schema-service/schema-interface.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-fields-responsive/auxiliary-data-fields-responsive.component.ts","libs/auxiliary-data-components/src/lib/auxiliary-data/auxiliary-data-fields-responsive/auxiliary-data-fields-responsive.component.html","libs/auxiliary-data-components/src/index.ts"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport { map, catchError, mapTo } from 'rxjs/operators';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { throwError, of } from 'rxjs';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar CancellationRequestReason = /*#__PURE__*/function (CancellationRequestReason) {\n CancellationRequestReason[CancellationRequestReason[\"CANCELLATION_REQUEST_REASON_UNSET\"] = 0] = \"CANCELLATION_REQUEST_REASON_UNSET\";\n CancellationRequestReason[CancellationRequestReason[\"CANCELLATION_REQUEST_REASON_OTHER\"] = 1] = \"CANCELLATION_REQUEST_REASON_OTHER\";\n return CancellationRequestReason;\n}(CancellationRequestReason || {});\nvar CancellationRequestStatus = /*#__PURE__*/function (CancellationRequestStatus) {\n CancellationRequestStatus[CancellationRequestStatus[\"CANCELLATION_REQUEST_STATUS_UNSET\"] = 0] = \"CANCELLATION_REQUEST_STATUS_UNSET\";\n CancellationRequestStatus[CancellationRequestStatus[\"CANCELLATION_REQUEST_STATUS_REQUESTED\"] = 1] = \"CANCELLATION_REQUEST_STATUS_REQUESTED\";\n CancellationRequestStatus[CancellationRequestStatus[\"CANCELLATION_REQUEST_STATUS_RESOLVED\"] = 2] = \"CANCELLATION_REQUEST_STATUS_RESOLVED\";\n CancellationRequestStatus[CancellationRequestStatus[\"CANCELLATION_REQUEST_STATUS_DECLINED\"] = 3] = \"CANCELLATION_REQUEST_STATUS_DECLINED\";\n return CancellationRequestStatus;\n}(CancellationRequestStatus || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AccountField = /*#__PURE__*/function (AccountField) {\n AccountField[AccountField[\"ACCOUNT_FIELD_CREATED\"] = 0] = \"ACCOUNT_FIELD_CREATED\";\n AccountField[AccountField[\"ACCOUNT_FIELD_UPDATED\"] = 1] = \"ACCOUNT_FIELD_UPDATED\";\n AccountField[AccountField[\"ACCOUNT_FIELD_NAME\"] = 2] = \"ACCOUNT_FIELD_NAME\";\n AccountField[AccountField[\"ACCOUNT_FIELD_CITY\"] = 3] = \"ACCOUNT_FIELD_CITY\";\n AccountField[AccountField[\"ACCOUNT_FIELD_STATE\"] = 4] = \"ACCOUNT_FIELD_STATE\";\n return AccountField;\n}(AccountField || {});\nvar AccountsArchived = /*#__PURE__*/function (AccountsArchived) {\n AccountsArchived[AccountsArchived[\"ACCOUNTS_ARCHIVED_INVALID\"] = 0] = \"ACCOUNTS_ARCHIVED_INVALID\";\n AccountsArchived[AccountsArchived[\"ACCOUNTS_ARCHIVED_ALL\"] = 1] = \"ACCOUNTS_ARCHIVED_ALL\";\n AccountsArchived[AccountsArchived[\"ACCOUNTS_ARCHIVED_TRUE\"] = 2] = \"ACCOUNTS_ARCHIVED_TRUE\";\n AccountsArchived[AccountsArchived[\"ACCOUNTS_ARCHIVED_FALSE\"] = 3] = \"ACCOUNTS_ARCHIVED_FALSE\";\n return AccountsArchived;\n}(AccountsArchived || {});\nvar SortDirection$1 = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_DIRECTION_UNSET\"] = 0] = \"SORT_DIRECTION_UNSET\";\n SortDirection[SortDirection[\"SORT_DIRECTION_ASCENDING\"] = 1] = \"SORT_DIRECTION_ASCENDING\";\n SortDirection[SortDirection[\"SORT_DIRECTION_DESCENDING\"] = 2] = \"SORT_DIRECTION_DESCENDING\";\n return SortDirection;\n}(SortDirection$1 || {});\n// *********************************\n\nfunction enumStringToValue$7(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Salesperson {\n static fromProto(proto) {\n let m = new Salesperson();\n m = Object.assign(m, proto);\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.salespersonId !== 'undefined') {\n toReturn['salespersonId'] = this.salespersonId;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.unifiedUserId !== 'undefined') {\n toReturn['unifiedUserId'] = this.unifiedUserId;\n }\n if (typeof this.countryCode !== 'undefined') {\n toReturn['countryCode'] = this.countryCode;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.photoUrlHttps !== 'undefined') {\n toReturn['photoUrlHttps'] = this.photoUrlHttps;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Contact {\n static fromProto(proto) {\n let m = new Contact();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.title !== 'undefined') {\n toReturn['title'] = this.title;\n }\n if (typeof this.contactEmail !== 'undefined') {\n toReturn['contactEmail'] = this.contactEmail;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.phoneExtension !== 'undefined') {\n toReturn['phoneExtension'] = this.phoneExtension;\n }\n if (typeof this.accountIds !== 'undefined') {\n toReturn['accountIds'] = this.accountIds;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.phoneNumberCountry !== 'undefined') {\n toReturn['phoneNumberCountry'] = this.phoneNumberCountry;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ActionList {\n static fromProto(proto) {\n let m = new ActionList();\n m = Object.assign(m, proto);\n if (proto.accounts) {\n m.accounts = parseInt(proto.accounts, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.accounts !== 'undefined') {\n toReturn['accounts'] = this.accounts;\n }\n if (typeof this.inProgress !== 'undefined') {\n toReturn['inProgress'] = this.inProgress;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Business {\n static fromProto(proto) {\n let m = new Business();\n m = Object.assign(m, proto);\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass CancellationRequest {\n static fromProto(proto) {\n let m = new CancellationRequest();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue$1(CancellationRequestStatus, proto.status);\n }\n if (proto.reason) {\n m.reason = enumStringToValue$1(CancellationRequestReason, proto.reason);\n }\n if (proto.requestCreatedDate) {\n m.requestCreatedDate = new Date(proto.requestCreatedDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.cancellationRequestId !== 'undefined') {\n toReturn['cancellationRequestId'] = this.cancellationRequestId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.lineItemId !== 'undefined') {\n toReturn['lineItemId'] = this.lineItemId;\n }\n if (typeof this.requestingUserId !== 'undefined') {\n toReturn['requestingUserId'] = this.requestingUserId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.message !== 'undefined') {\n toReturn['message'] = this.message;\n }\n if (typeof this.requestCreatedDate !== 'undefined' && this.requestCreatedDate !== null) {\n toReturn['requestCreatedDate'] = 'toApiJson' in this.requestCreatedDate ? this.requestCreatedDate.toApiJson() : this.requestCreatedDate;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccountLatestSalesActivity {\n static fromProto(proto) {\n let m = new AccountLatestSalesActivity();\n m = Object.assign(m, proto);\n if (proto.lastActivityDate) {\n m.lastActivityDate = new Date(proto.lastActivityDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountId !== 'undefined') {\n toReturn['accountId'] = this.accountId;\n }\n if (typeof this.lastActivityDate !== 'undefined' && this.lastActivityDate !== null) {\n toReturn['lastActivityDate'] = 'toApiJson' in this.lastActivityDate ? this.lastActivityDate.toApiJson() : this.lastActivityDate;\n }\n return toReturn;\n }\n}\nclass AddAccountsToActionListRequest {\n static fromProto(proto) {\n let m = new AddAccountsToActionListRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.listName !== 'undefined') {\n toReturn['listName'] = this.listName;\n }\n if (typeof this.accountGroupIds !== 'undefined') {\n toReturn['accountGroupIds'] = this.accountGroupIds;\n }\n return toReturn;\n }\n}\nclass AddAccountsToActionListResponse {\n static fromProto(proto) {\n let m = new AddAccountsToActionListResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionListId !== 'undefined') {\n toReturn['actionListId'] = this.actionListId;\n }\n return toReturn;\n }\n}\nclass AddContactToCampaignRequest {\n static fromProto(proto) {\n let m = new AddContactToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.contact) {\n m.contact = AddContactToCampaignRequestRecipient.fromProto(proto.contact);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.senderUnifiedUserId !== 'undefined') {\n toReturn['senderUnifiedUserId'] = this.senderUnifiedUserId;\n }\n if (typeof this.contact !== 'undefined' && this.contact !== null) {\n toReturn['contact'] = 'toApiJson' in this.contact ? this.contact.toApiJson() : this.contact;\n }\n return toReturn;\n }\n}\nclass CreateContactRequest {\n static fromProto(proto) {\n let m = new CreateContactRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountGroupIds !== 'undefined') {\n toReturn['accountGroupIds'] = this.accountGroupIds;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.phoneNumberCountry !== 'undefined') {\n toReturn['phoneNumberCountry'] = this.phoneNumberCountry;\n }\n if (typeof this.phoneNumberExtension !== 'undefined') {\n toReturn['phoneNumberExtension'] = this.phoneNumberExtension;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.title !== 'undefined') {\n toReturn['title'] = this.title;\n }\n if (typeof this.notes !== 'undefined') {\n toReturn['notes'] = this.notes;\n }\n return toReturn;\n }\n}\nclass CreateContactResponse {\n static fromProto(proto) {\n let m = new CreateContactResponse();\n m = Object.assign(m, proto);\n if (proto.contact) {\n m.contact = Contact.fromProto(proto.contact);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contact !== 'undefined' && this.contact !== null) {\n toReturn['contact'] = 'toApiJson' in this.contact ? this.contact.toApiJson() : this.contact;\n }\n return toReturn;\n }\n}\nclass CreateRequest {\n static fromProto(proto) {\n let m = new CreateRequest();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(CancellationRequestStatus, proto.status);\n }\n if (proto.reason) {\n m.reason = enumStringToValue(CancellationRequestReason, proto.reason);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.lineItemId !== 'undefined') {\n toReturn['lineItemId'] = this.lineItemId;\n }\n if (typeof this.requestingUserId !== 'undefined') {\n toReturn['requestingUserId'] = this.requestingUserId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.reason !== 'undefined') {\n toReturn['reason'] = this.reason;\n }\n if (typeof this.message !== 'undefined') {\n toReturn['message'] = this.message;\n }\n return toReturn;\n }\n}\nclass CreateSalespersonForUserRequest {\n static fromProto(proto) {\n let m = new CreateSalespersonForUserRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.authCheckOnly !== 'undefined') {\n toReturn['authCheckOnly'] = this.authCheckOnly;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.isSalesManager !== 'undefined') {\n toReturn['isSalesManager'] = this.isSalesManager;\n }\n return toReturn;\n }\n}\nclass CreateSalespersonForUserResponse {\n static fromProto(proto) {\n let m = new CreateSalespersonForUserResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n return toReturn;\n }\n}\nclass DateRangeFilter {\n static fromProto(proto) {\n let m = new DateRangeFilter();\n m = Object.assign(m, proto);\n if (proto.beginRange) {\n m.beginRange = new Date(proto.beginRange);\n }\n if (proto.endRange) {\n m.endRange = new Date(proto.endRange);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.beginRange !== 'undefined' && this.beginRange !== null) {\n toReturn['beginRange'] = 'toApiJson' in this.beginRange ? this.beginRange.toApiJson() : this.beginRange;\n }\n if (typeof this.endRange !== 'undefined' && this.endRange !== null) {\n toReturn['endRange'] = 'toApiJson' in this.endRange ? this.endRange.toApiJson() : this.endRange;\n }\n return toReturn;\n }\n}\nclass DeleteContactRequest {\n static fromProto(proto) {\n let m = new DeleteContactRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n return toReturn;\n }\n}\nclass EffortAggregate {\n static fromProto(proto) {\n let m = new EffortAggregate();\n m = Object.assign(m, proto);\n if (proto.efforts) {\n m.efforts = Object.keys(proto.efforts).reduce((obj, k) => {\n obj[k] = parseInt(proto.efforts[k], 10);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.efforts !== 'undefined' && this.efforts !== null) {\n toReturn['efforts'] = 'toApiJson' in this.efforts ? this.efforts.toApiJson() : this.efforts;\n }\n return toReturn;\n }\n}\nclass EffortAggregateEffortsEntry {\n static fromProto(proto) {\n let m = new EffortAggregateEffortsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = parseInt(proto.value, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass GetAccountPrimaryContactRequest {\n static fromProto(proto) {\n let m = new GetAccountPrimaryContactRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountId !== 'undefined') {\n toReturn['accountId'] = this.accountId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetAccountPrimaryContactResponse {\n static fromProto(proto) {\n let m = new GetAccountPrimaryContactResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n return toReturn;\n }\n}\nclass GetContactByIDRequest {\n static fromProto(proto) {\n let m = new GetContactByIDRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n return toReturn;\n }\n}\nclass GetContactResponse {\n static fromProto(proto) {\n let m = new GetContactResponse();\n m = Object.assign(m, proto);\n if (proto.contact) {\n m.contact = Contact.fromProto(proto.contact);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contact !== 'undefined' && this.contact !== null) {\n toReturn['contact'] = 'toApiJson' in this.contact ? this.contact.toApiJson() : this.contact;\n }\n return toReturn;\n }\n}\nclass GetContactsForAccountsRequest {\n static fromProto(proto) {\n let m = new GetContactsForAccountsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountIds !== 'undefined') {\n toReturn['accountIds'] = this.accountIds;\n }\n return toReturn;\n }\n}\nclass GetContactsForAccountsResponse {\n static fromProto(proto) {\n let m = new GetContactsForAccountsResponse();\n m = Object.assign(m, proto);\n if (proto.contacts) {\n m.contacts = proto.contacts.map(Contact.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contacts !== 'undefined' && this.contacts !== null) {\n toReturn['contacts'] = 'toApiJson' in this.contacts ? this.contacts.toApiJson() : this.contacts;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsRequest {\n static fromProto(proto) {\n let m = new GetMultiCampaignsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.campaignIds !== 'undefined') {\n toReturn['campaignIds'] = this.campaignIds;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsResponse {\n static fromProto(proto) {\n let m = new GetMultiCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.campaigns) {\n m.campaigns = proto.campaigns.map(SalesCampaign.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaigns !== 'undefined' && this.campaigns !== null) {\n toReturn['campaigns'] = 'toApiJson' in this.campaigns ? this.campaigns.toApiJson() : this.campaigns;\n }\n return toReturn;\n }\n}\nclass GetMultiOpportunityEffortsRequest {\n static fromProto(proto) {\n let m = new GetMultiOpportunityEffortsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityIds !== 'undefined') {\n toReturn['opportunityIds'] = this.opportunityIds;\n }\n return toReturn;\n }\n}\nclass GetMultiOpportunityEffortsResponse {\n static fromProto(proto) {\n let m = new GetMultiOpportunityEffortsResponse();\n m = Object.assign(m, proto);\n if (proto.opportunityEfforts) {\n m.opportunityEfforts = Object.keys(proto.opportunityEfforts).reduce((obj, k) => {\n obj[k] = EffortAggregate.fromProto(proto.opportunityEfforts[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.opportunityEfforts !== 'undefined' && this.opportunityEfforts !== null) {\n toReturn['opportunityEfforts'] = 'toApiJson' in this.opportunityEfforts ? this.opportunityEfforts.toApiJson() : this.opportunityEfforts;\n }\n return toReturn;\n }\n}\nclass GetSalesActivityForAccountsRequest {\n static fromProto(proto) {\n let m = new GetSalesActivityForAccountsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountIds !== 'undefined') {\n toReturn['accountIds'] = this.accountIds;\n }\n return toReturn;\n }\n}\nclass GetSalesActivityForAccountsResponse {\n static fromProto(proto) {\n let m = new GetSalesActivityForAccountsResponse();\n m = Object.assign(m, proto);\n if (proto.accountsLatestSalesActivity) {\n m.accountsLatestSalesActivity = proto.accountsLatestSalesActivity.map(AccountLatestSalesActivity.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountsLatestSalesActivity !== 'undefined' && this.accountsLatestSalesActivity !== null) {\n toReturn['accountsLatestSalesActivity'] = 'toApiJson' in this.accountsLatestSalesActivity ? this.accountsLatestSalesActivity.toApiJson() : this.accountsLatestSalesActivity;\n }\n return toReturn;\n }\n}\nclass GetSalespersonByEmailRequest {\n static fromProto(proto) {\n let m = new GetSalespersonByEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass GetSalespersonByEmailResponse {\n static fromProto(proto) {\n let m = new GetSalespersonByEmailResponse();\n m = Object.assign(m, proto);\n if (proto.salesperson) {\n m.salesperson = Salesperson.fromProto(proto.salesperson);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.salesperson !== 'undefined' && this.salesperson !== null) {\n toReturn['salesperson'] = 'toApiJson' in this.salesperson ? this.salesperson.toApiJson() : this.salesperson;\n }\n return toReturn;\n }\n}\nclass IsConfigValidRequest {\n static fromProto(proto) {\n let m = new IsConfigValidRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass IsConfigValidResponse {\n static fromProto(proto) {\n let m = new IsConfigValidResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.isValid !== 'undefined') {\n toReturn['isValid'] = this.isValid;\n }\n return toReturn;\n }\n}\nclass ListActionListsRequest {\n static fromProto(proto) {\n let m = new ListActionListsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PageIndexedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.searchString !== 'undefined') {\n toReturn['searchString'] = this.searchString;\n }\n return toReturn;\n }\n}\nclass ListActionListsResponse {\n static fromProto(proto) {\n let m = new ListActionListsResponse();\n m = Object.assign(m, proto);\n if (proto.actionLists) {\n m.actionLists = proto.actionLists.map(ActionList.fromProto);\n }\n if (proto.nextPage) {\n m.nextPage = parseInt(proto.nextPage, 10);\n }\n if (proto.totalActionListsCount) {\n m.totalActionListsCount = parseInt(proto.totalActionListsCount, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionLists !== 'undefined' && this.actionLists !== null) {\n toReturn['actionLists'] = 'toApiJson' in this.actionLists ? this.actionLists.toApiJson() : this.actionLists;\n }\n if (typeof this.nextPage !== 'undefined') {\n toReturn['nextPage'] = this.nextPage;\n }\n if (typeof this.totalActionListsCount !== 'undefined') {\n toReturn['totalActionListsCount'] = this.totalActionListsCount;\n }\n return toReturn;\n }\n}\nclass ListContactsForBusinessRequest {\n static fromProto(proto) {\n let m = new ListContactsForBusinessRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass ListContactsForBusinessResponse {\n static fromProto(proto) {\n let m = new ListContactsForBusinessResponse();\n m = Object.assign(m, proto);\n if (proto.contacts) {\n m.contacts = proto.contacts.map(Contact.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contacts !== 'undefined' && this.contacts !== null) {\n toReturn['contacts'] = 'toApiJson' in this.contacts ? this.contacts.toApiJson() : this.contacts;\n }\n return toReturn;\n }\n}\nclass ListContactsForEmailRequest {\n static fromProto(proto) {\n let m = new ListContactsForEmailRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.contactEmail !== 'undefined') {\n toReturn['contactEmail'] = this.contactEmail;\n }\n return toReturn;\n }\n}\nclass ListContactsResponse {\n static fromProto(proto) {\n let m = new ListContactsResponse();\n m = Object.assign(m, proto);\n if (proto.contacts) {\n m.contacts = proto.contacts.map(Contact.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.contacts !== 'undefined' && this.contacts !== null) {\n toReturn['contacts'] = 'toApiJson' in this.contacts ? this.contacts.toApiJson() : this.contacts;\n }\n return toReturn;\n }\n}\nclass ListRequest {\n static fromProto(proto) {\n let m = new ListRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass ListResponse {\n static fromProto(proto) {\n let m = new ListResponse();\n m = Object.assign(m, proto);\n if (proto.requests) {\n m.requests = proto.requests.map(CancellationRequest.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.requests !== 'undefined' && this.requests !== null) {\n toReturn['requests'] = 'toApiJson' in this.requests ? this.requests.toApiJson() : this.requests;\n }\n return toReturn;\n }\n}\nclass LookupCampaignsRequest {\n static fromProto(proto) {\n let m = new LookupCampaignsRequest();\n m = Object.assign(m, proto);\n if (proto.offset) {\n m.offset = parseInt(proto.offset, 10);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.offset !== 'undefined') {\n toReturn['offset'] = this.offset;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass LookupCampaignsResponse {\n static fromProto(proto) {\n let m = new LookupCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.campaigns) {\n m.campaigns = proto.campaigns.map(SalesCampaign.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaigns !== 'undefined' && this.campaigns !== null) {\n toReturn['campaigns'] = 'toApiJson' in this.campaigns ? this.campaigns.toApiJson() : this.campaigns;\n }\n return toReturn;\n }\n}\nclass GetMultiOpportunityEffortsResponseOpportunityEffortsEntry {\n static fromProto(proto) {\n let m = new GetMultiOpportunityEffortsResponseOpportunityEffortsEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = EffortAggregate.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass PageIndexedRequestOptions {\n static fromProto(proto) {\n let m = new PageIndexedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.pageIndex) {\n m.pageIndex = parseInt(proto.pageIndex, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.pageIndex !== 'undefined') {\n toReturn['pageIndex'] = this.pageIndex;\n }\n return toReturn;\n }\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass AddContactToCampaignRequestRecipient {\n static fromProto(proto) {\n let m = new AddContactToCampaignRequestRecipient();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.emailAddress !== 'undefined') {\n toReturn['emailAddress'] = this.emailAddress;\n }\n return toReturn;\n }\n}\nclass ResendUserWelcomeEmailRequest {\n static fromProto(proto) {\n let m = new ResendUserWelcomeEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass ResendUserWelcomeEmailResponse {\n static fromProto(proto) {\n let m = new ResendUserWelcomeEmailResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.notificationId !== 'undefined') {\n toReturn['notificationId'] = this.notificationId;\n }\n return toReturn;\n }\n}\nclass SalesCampaign {\n static fromProto(proto) {\n let m = new SalesCampaign();\n m = Object.assign(m, proto);\n if (proto.campaignSchedule) {\n m.campaignSchedule = proto.campaignSchedule.map(ScheduleStep.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.campaignStatus !== 'undefined') {\n toReturn['campaignStatus'] = this.campaignStatus;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignSchedule !== 'undefined' && this.campaignSchedule !== null) {\n toReturn['campaignSchedule'] = 'toApiJson' in this.campaignSchedule ? this.campaignSchedule.toApiJson() : this.campaignSchedule;\n }\n return toReturn;\n }\n}\nclass ScheduleStep {\n static fromProto(proto) {\n let m = new ScheduleStep();\n m = Object.assign(m, proto);\n if (proto.secondsAfterLastEmail) {\n m.secondsAfterLastEmail = parseInt(proto.secondsAfterLastEmail, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stepType !== 'undefined') {\n toReturn['stepType'] = this.stepType;\n }\n if (typeof this.secondsAfterLastEmail !== 'undefined') {\n toReturn['secondsAfterLastEmail'] = this.secondsAfterLastEmail;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass SearchBusinessesByContactEmailRequest {\n static fromProto(proto) {\n let m = new SearchBusinessesByContactEmailRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.contactEmailQuery !== 'undefined') {\n toReturn['contactEmailQuery'] = this.contactEmailQuery;\n }\n if (typeof this.assignedUserId !== 'undefined') {\n toReturn['assignedUserId'] = this.assignedUserId;\n }\n return toReturn;\n }\n}\nclass SearchRequest {\n static fromProto(proto) {\n let m = new SearchRequest();\n m = Object.assign(m, proto);\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass SearchResponse {\n static fromProto(proto) {\n let m = new SearchResponse();\n m = Object.assign(m, proto);\n if (proto.businesses) {\n m.businesses = proto.businesses.map(Business.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.businesses !== 'undefined' && this.businesses !== null) {\n toReturn['businesses'] = 'toApiJson' in this.businesses ? this.businesses.toApiJson() : this.businesses;\n }\n return toReturn;\n }\n}\nclass SendPasswordResetEmailRequest {\n static fromProto(proto) {\n let m = new SendPasswordResetEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.salesPersonId !== 'undefined') {\n toReturn['salesPersonId'] = this.salesPersonId;\n }\n if (typeof this.usePlatformDefaultDomain !== 'undefined') {\n toReturn['usePlatformDefaultDomain'] = this.usePlatformDefaultDomain;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass SetAccountPrimaryContactRequest {\n static fromProto(proto) {\n let m = new SetAccountPrimaryContactRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountId !== 'undefined') {\n toReturn['accountId'] = this.accountId;\n }\n if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n return toReturn;\n }\n}\nclass UpdateContactRequest {\n static fromProto(proto) {\n let m = new UpdateContactRequest();\n m = Object.assign(m, proto);\n if (proto.contact) {\n m.contact = Contact.fromProto(proto.contact);\n }\n if (proto.mutatorMask) {\n m.mutatorMask = FieldMask.fromProto(proto.mutatorMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.contact !== 'undefined' && this.contact !== null) {\n toReturn['contact'] = 'toApiJson' in this.contact ? this.contact.toApiJson() : this.contact;\n }\n if (typeof this.mutatorMask !== 'undefined' && this.mutatorMask !== null) {\n toReturn['mutatorMask'] = 'toApiJson' in this.mutatorMask ? this.mutatorMask.toApiJson() : this.mutatorMask;\n }\n return toReturn;\n }\n}\nclass UpdateStatusRequest {\n static fromProto(proto) {\n let m = new UpdateStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(CancellationRequestStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cancellationRequestId !== 'undefined') {\n toReturn['cancellationRequestId'] = this.cancellationRequestId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': '',\n 'test': '',\n 'demo': 'sales-api-demo.vendasta-internal.com',\n 'prod': 'sales-api-prod.vendasta-internal.com',\n 'production': 'sales-api-prod.vendasta-internal.com'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet ActionListsApiService = /*#__PURE__*/(() => {\n class ActionListsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n listActionLists(r) {\n const request = r.toApiJson ? r : new ListActionListsRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.ActionLists/ListActionLists\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListActionListsResponse.fromProto(resp)));\n }\n addAccountsToActionList(r) {\n const request = r.toApiJson ? r : new AddAccountsToActionListRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.ActionLists/AddAccountsToActionList\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddAccountsToActionListResponse.fromProto(resp)));\n }\n }\n ActionListsApiService.ɵfac = function ActionListsApiService_Factory(t) {\n return new (t || ActionListsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n ActionListsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ActionListsApiService,\n factory: ActionListsApiService.ɵfac,\n providedIn: 'root'\n });\n return ActionListsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet BusinessApiService = /*#__PURE__*/(() => {\n class BusinessApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n search(r) {\n const request = r.toApiJson ? r : new SearchRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.BusinessService/Search\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchResponse.fromProto(resp)));\n }\n searchBusinessesByContactEmail(r) {\n const request = r.toApiJson ? r : new SearchBusinessesByContactEmailRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.BusinessService/SearchBusinessesByContactEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SearchResponse.fromProto(resp)));\n }\n setAccountPrimaryContact(r) {\n const request = r.toApiJson ? r : new SetAccountPrimaryContactRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.BusinessService/SetAccountPrimaryContact\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getAccountPrimaryContact(r) {\n const request = r.toApiJson ? r : new GetAccountPrimaryContactRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.BusinessService/GetAccountPrimaryContact\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAccountPrimaryContactResponse.fromProto(resp)));\n }\n getSalesActivityForAccounts(r) {\n const request = r.toApiJson ? r : new GetSalesActivityForAccountsRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.BusinessService/GetSalesActivityForAccounts\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSalesActivityForAccountsResponse.fromProto(resp)));\n }\n }\n BusinessApiService.ɵfac = function BusinessApiService_Factory(t) {\n return new (t || BusinessApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n BusinessApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BusinessApiService,\n factory: BusinessApiService.ɵfac,\n providedIn: 'root'\n });\n return BusinessApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet CampaignApiService = /*#__PURE__*/(() => {\n class CampaignApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getMultiCampaigns(r) {\n const request = r.toApiJson ? r : new GetMultiCampaignsRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CampaignService/GetMultiCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiCampaignsResponse.fromProto(resp)));\n }\n lookupCampaigns(r) {\n const request = r.toApiJson ? r : new LookupCampaignsRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CampaignService/LookupCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LookupCampaignsResponse.fromProto(resp)));\n }\n addContactToCampaign(r) {\n const request = r.toApiJson ? r : new AddContactToCampaignRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CampaignService/AddContactToCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n CampaignApiService.ɵfac = function CampaignApiService_Factory(t) {\n return new (t || CampaignApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignApiService,\n factory: CampaignApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet CancellationRequestsApiService = /*#__PURE__*/(() => {\n class CancellationRequestsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n list(r) {\n const request = r.toApiJson ? r : new ListRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CancellationRequests/List\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListResponse.fromProto(resp)));\n }\n updateStatus(r) {\n const request = r.toApiJson ? r : new UpdateStatusRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CancellationRequests/UpdateStatus\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CancellationRequests/Create\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n isConfigValid(r) {\n const request = r.toApiJson ? r : new IsConfigValidRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.CancellationRequests/IsConfigValid\", request.toApiJson(), this.apiOptions()).pipe(map(resp => IsConfigValidResponse.fromProto(resp)));\n }\n }\n CancellationRequestsApiService.ɵfac = function CancellationRequestsApiService_Factory(t) {\n return new (t || CancellationRequestsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CancellationRequestsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CancellationRequestsApiService,\n factory: CancellationRequestsApiService.ɵfac,\n providedIn: 'root'\n });\n return CancellationRequestsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet ContactsApiService = /*#__PURE__*/(() => {\n class ContactsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getContactById(r) {\n const request = r.toApiJson ? r : new GetContactByIDRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/GetContactByID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetContactResponse.fromProto(resp)));\n }\n listContactsForEmail(r) {\n const request = r.toApiJson ? r : new ListContactsForEmailRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/ListContactsForEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListContactsResponse.fromProto(resp)));\n }\n listContactsForBusiness(r) {\n const request = r.toApiJson ? r : new ListContactsForBusinessRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/ListContactsForBusiness\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListContactsForBusinessResponse.fromProto(resp)));\n }\n resendUserWelcomeEmail(r) {\n const request = r.toApiJson ? r : new ResendUserWelcomeEmailRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/ResendUserWelcomeEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ResendUserWelcomeEmailResponse.fromProto(resp)));\n }\n getContactsForAccounts(r) {\n const request = r.toApiJson ? r : new GetContactsForAccountsRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/GetContactsForAccounts\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetContactsForAccountsResponse.fromProto(resp)));\n }\n update(r) {\n const request = r.toApiJson ? r : new UpdateContactRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/Update\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n delete(r) {\n const request = r.toApiJson ? r : new DeleteContactRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/Delete\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateContactRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Contacts/Create\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateContactResponse.fromProto(resp)));\n }\n }\n ContactsApiService.ɵfac = function ContactsApiService_Factory(t) {\n return new (t || ContactsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n ContactsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ContactsApiService,\n factory: ContactsApiService.ɵfac,\n providedIn: 'root'\n });\n return ContactsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet SalespeopleApiService = /*#__PURE__*/(() => {\n class SalespeopleApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getSalespersonByEmail(r) {\n const request = r.toApiJson ? r : new GetSalespersonByEmailRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Salespeople/GetSalespersonByEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetSalespersonByEmailResponse.fromProto(resp)));\n }\n createSalespersonForUser(r) {\n const request = r.toApiJson ? r : new CreateSalespersonForUserRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Salespeople/CreateSalespersonForUser\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateSalespersonForUserResponse.fromProto(resp)));\n }\n getMultiOpportunityEfforts(r) {\n const request = r.toApiJson ? r : new GetMultiOpportunityEffortsRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Salespeople/GetMultiOpportunityEfforts\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiOpportunityEffortsResponse.fromProto(resp)));\n }\n sendPasswordResetEmail(r) {\n const request = r.toApiJson ? r : new SendPasswordResetEmailRequest(r);\n return this.http.post(this._host + \"/sales.v2beta1.Salespeople/SendPasswordResetEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n SalespeopleApiService.ɵfac = function SalespeopleApiService_Factory(t) {\n return new (t || SalespeopleApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n SalespeopleApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalespeopleApiService,\n factory: SalespeopleApiService.ɵfac,\n providedIn: 'root'\n });\n return SalespeopleApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet CancellationRequestService = /*#__PURE__*/(() => {\n class CancellationRequestService {\n constructor(svc) {\n this.svc = svc;\n }\n create(accountGroupId, partnerId, lineItemId, requestingUserId, reason, message, status) {\n const req = {\n accountGroupId: accountGroupId,\n partnerId: partnerId,\n lineItemId: lineItemId,\n requestingUserId: requestingUserId,\n status: status,\n reason: reason,\n message: message\n };\n return this.svc.create(req);\n }\n list(partnerId, accountGroupId, marketId) {\n const req = {\n partnerId: partnerId,\n accountGroupId: accountGroupId\n };\n if (!!marketId) {\n req.marketId = marketId;\n }\n return this.svc.list(req).pipe(map(resp => resp?.requests ?? []));\n }\n updateStatus(cancellationRequestId, cancellationRequestStatus, userId) {\n const req = {\n cancellationRequestId: cancellationRequestId,\n status: cancellationRequestStatus,\n userId: userId\n };\n return this.svc.updateStatus(req);\n }\n isConfigValid(partnerId, accountGroupId) {\n const req = {\n partnerId: partnerId,\n accountGroupId: accountGroupId\n };\n return this.svc.isConfigValid(req).pipe(map(resp => resp.isValid));\n }\n }\n CancellationRequestService.ɵfac = function CancellationRequestService_Factory(t) {\n return new (t || CancellationRequestService)(i0.ɵɵinject(CancellationRequestsApiService));\n };\n CancellationRequestService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CancellationRequestService,\n factory: CancellationRequestService.ɵfac,\n providedIn: 'root'\n });\n return CancellationRequestService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nvar Sort = /*#__PURE__*/function (Sort) {\n Sort[Sort[\"Updated\"] = 0] = \"Updated\"; // Only exists to communicate that this is currently the only sort option\n return Sort;\n}(Sort || {});\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"Descending\"] = 0] = \"Descending\"; // Only exists to communicate that this is currently the only sort option\n return SortDirection;\n}(SortDirection || {});\nlet BusinessService = /*#__PURE__*/(() => {\n class BusinessService {\n constructor(svc) {\n this.svc = svc;\n }\n search(partner, market, sort, direction, pageSize = 10) {\n const req = {\n partnerId: partner,\n marketId: market,\n fieldMask: {\n paths: ['external_id', 'updated']\n },\n pagingOptions: {\n pageSize: pageSize\n }\n };\n return this.svc.search(req).pipe(map(resp => this.returnBusinessResult(resp)), catchError(err => throwError(this.returnSearchError(err))));\n }\n searchBusinessesByContactEmail(partner, market, contactEmailQuery, assignedUserId) {\n const req = {\n partnerId: partner,\n marketId: market,\n contactEmailQuery: contactEmailQuery,\n fieldMask: {\n paths: ['external_id', 'updated']\n }\n };\n if (assignedUserId) {\n req.assignedUserId = assignedUserId;\n }\n return this.svc.searchBusinessesByContactEmail(req).pipe(map(resp => this.returnBusinessResult(resp)), catchError(err => throwError(this.returnSearchError(err))));\n }\n getPrimaryContact(accountId, partnerId, marketId) {\n const req = new GetAccountPrimaryContactRequest({\n accountId: accountId,\n partnerId: partnerId,\n marketId: marketId\n });\n return this.svc.getAccountPrimaryContact(req).pipe(map(resp => resp?.contactId));\n }\n setPrimaryContact(contactId, accountId, partnerId, marketId) {\n const req = new SetAccountPrimaryContactRequest({\n contactId: contactId,\n accountId: accountId,\n partnerId: partnerId,\n marketId: marketId\n });\n return this.svc.setAccountPrimaryContact(req).pipe(mapTo(null));\n }\n getLatestSalesActivityForAccounts(partnerId, marketId, accountIds) {\n const req = new GetSalesActivityForAccountsRequest({\n partnerId: partnerId,\n marketId: marketId,\n accountIds: accountIds\n });\n return this.svc.getSalesActivityForAccounts(req).pipe(map(resp => resp?.accountsLatestSalesActivity));\n }\n returnBusinessResult(resp) {\n return resp.businesses.map(b => ({\n accountGroupId: b.accountGroupId,\n updated: b.updated\n }));\n }\n returnSearchError(err) {\n if (err?.status === 404) {\n return of([]);\n }\n return err;\n }\n }\n BusinessService.ɵfac = function BusinessService_Factory(t) {\n return new (t || BusinessService)(i0.ɵɵinject(BusinessApiService));\n };\n BusinessService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: BusinessService,\n factory: BusinessService.ɵfac,\n providedIn: 'root'\n });\n return BusinessService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ActionListsService = /*#__PURE__*/(() => {\n class ActionListsService {\n constructor(svc) {\n this.svc = svc;\n }\n listActionLists(partnerId, marketId, searchString, pageIndex, pageSize) {\n const req = {\n partnerId: partnerId,\n marketId: marketId,\n searchString: searchString,\n pagingOptions: {\n pageIndex: pageIndex,\n pageSize: pageSize\n }\n };\n return this.svc.listActionLists(req).pipe(catchError(err => {\n if (err.status === 404) {\n return of(new ListActionListsResponse());\n }\n throw err;\n }));\n }\n addAccountsToActionList(partnerId, marketId, listName, accountGroupIds) {\n const req = {\n partnerId: partnerId,\n marketId: marketId,\n listName: listName,\n accountGroupIds: accountGroupIds\n };\n return this.svc.addAccountsToActionList(req);\n }\n }\n ActionListsService.ɵfac = function ActionListsService_Factory(t) {\n return new (t || ActionListsService)(i0.ɵɵinject(ActionListsApiService));\n };\n ActionListsService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ActionListsService,\n factory: ActionListsService.ɵfac,\n providedIn: 'root'\n });\n return ActionListsService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ContactsService = /*#__PURE__*/(() => {\n class ContactsService {\n constructor(svc) {\n this.svc = svc;\n }\n resendUserWelcomeEmail(partnerID, subjectID) {\n const resendRequest = {\n partnerId: partnerID,\n subjectId: subjectID\n };\n return this.svc.resendUserWelcomeEmail(resendRequest).pipe(map(response => ({\n success: response.notificationId !== ''\n })));\n }\n getContactsForAccounts(partnerID, marketID, accountIDs) {\n const getContactsRequest = {\n partnerId: partnerID,\n marketId: marketID,\n accountIds: accountIDs\n };\n return this.svc.getContactsForAccounts(getContactsRequest).pipe(map(response => ({\n contacts: response?.contacts || []\n })));\n }\n create(partnerId, marketId, accountGroupIds, contactAttributes) {\n const r = new CreateContactRequest({\n partnerId: partnerId,\n marketId: marketId,\n accountGroupIds: accountGroupIds,\n title: contactAttributes.title,\n firstName: contactAttributes.firstName,\n lastName: contactAttributes.lastName,\n phoneNumber: contactAttributes.phoneNumber,\n phoneNumberCountry: contactAttributes.phoneCountryCode,\n phoneNumberExtension: contactAttributes.phoneExtension,\n email: contactAttributes.email,\n notes: contactAttributes.notes\n });\n return this.svc.create(r).pipe(map(resp => resp.contact));\n }\n update(partnerId, marketId, contact, updatedFields) {\n const updateRequest = new UpdateContactRequest({\n partnerId: partnerId,\n marketId: marketId,\n contact: contact,\n mutatorMask: new FieldMask({\n paths: updatedFields\n })\n });\n return this.svc.update(updateRequest);\n }\n delete(partnerId, marketId, contactId) {\n if (!partnerId || !marketId || !contactId) {\n throw new Error('partnerId, marketId, and contactId required to delete a contact');\n }\n const deleteRequest = new DeleteContactRequest({\n partnerId: partnerId,\n marketId: marketId,\n contactId: contactId\n });\n return this.svc.delete(deleteRequest);\n }\n listContactsForBusiness(businessId, paths) {\n if (!businessId) {\n throw new Error('businessId required to retrieve contacts for a business');\n }\n const listRequest = new ListContactsForBusinessRequest({\n fieldMask: new FieldMask({\n paths: paths\n }),\n pagingOptions: new PagedRequestOptions({\n pageSize: 100\n }),\n accountGroupId: businessId\n });\n return this.svc.listContactsForBusiness(listRequest).pipe(map(res => res.contacts));\n }\n }\n ContactsService.ɵfac = function ContactsService_Factory(t) {\n return new (t || ContactsService)(i0.ɵɵinject(ContactsApiService));\n };\n ContactsService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ContactsService,\n factory: ContactsService.ɵfac,\n providedIn: 'root'\n });\n return ContactsService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet SalespeopleService = /*#__PURE__*/(() => {\n class SalespeopleService {\n constructor(svc) {\n this.svc = svc;\n }\n isPermittedToCreateSalespersonForUser(userID) {\n return this.sendCreateSalespersonForUserRequest(userID, '', false, true).pipe(mapTo(true), catchError(_ => of(false)));\n }\n createSalespersonForUser(userID, marketID, isSalesManager = false) {\n return this.sendCreateSalespersonForUserRequest(userID, marketID, isSalesManager, false);\n }\n // returns salesperson efforts stats mapped to opportunityIds\n getMultiOpportunitySalespersonEfforts(opportunityIds) {\n const req = new GetMultiOpportunityEffortsRequest({\n opportunityIds: opportunityIds\n });\n return this.svc.getMultiOpportunityEfforts(req).pipe(map(resp => resp?.opportunityEfforts));\n }\n sendCreateSalespersonForUserRequest(userID, marketID, isSalesManager = false, authCheckOnly = false) {\n const req = {\n userId: userID,\n marketId: marketID,\n isSalesManager: isSalesManager,\n authCheckOnly: authCheckOnly\n };\n return this.svc.createSalespersonForUser(req);\n }\n sendPasswordResetEmail(partnerId, salesPersonId, usePlatformDefaultDomain) {\n const req = new SendPasswordResetEmailRequest({\n partnerId: partnerId,\n salesPersonId: salesPersonId,\n usePlatformDefaultDomain: usePlatformDefaultDomain\n });\n return this.svc.sendPasswordResetEmail(req);\n }\n }\n SalespeopleService.ɵfac = function SalespeopleService_Factory(t) {\n return new (t || SalespeopleService)(i0.ɵɵinject(SalespeopleApiService));\n };\n SalespeopleService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SalespeopleService,\n factory: SalespeopleService.ɵfac,\n providedIn: 'root'\n });\n return SalespeopleService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CampaignSDKService = /*#__PURE__*/(() => {\n class CampaignSDKService {\n constructor(campaignApiService) {\n this.campaignApiService = campaignApiService;\n }\n getMultiCampaigns(partnerId, marketId, accountGroupId, campaignIds) {\n return this.campaignApiService.getMultiCampaigns({\n partnerId: partnerId,\n marketId: marketId,\n accountGroupId: accountGroupId,\n campaignIds: campaignIds\n }).pipe(map(resp => resp.campaigns));\n }\n lookupCampaigns(partnerId, marketId, searchTerm, options) {\n const request = {\n partnerId: partnerId,\n marketId: marketId\n };\n if (!!searchTerm) {\n request.searchTerm = searchTerm;\n }\n request.offset = options?.offset || request.offset;\n request.pageSize = options?.pageSize || request.pageSize;\n request.focus = options?.filters?.focus || request.focus;\n request.state = options?.filters?.state || request.state;\n request.status = options?.filters?.status || request.status;\n return this.campaignApiService.lookupCampaigns(request).pipe(map(resp => resp.campaigns));\n }\n addContactToCampaign(partnerId, marketId, campaignId, unifiedUserId, contact) {\n const request = {\n partnerId: partnerId,\n marketId: marketId,\n campaignId: campaignId,\n senderUnifiedUserId: unifiedUserId,\n contact: {\n emailAddress: contact.emailAddress,\n accountGroupId: contact.accountGroupId\n }\n };\n return this.campaignApiService.addContactToCampaign(request);\n }\n }\n CampaignSDKService.ɵfac = function CampaignSDKService_Factory(t) {\n return new (t || CampaignSDKService)(i0.ɵɵinject(CampaignApiService));\n };\n CampaignSDKService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignSDKService,\n factory: CampaignSDKService.ɵfac,\n providedIn: 'root'\n });\n return CampaignSDKService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AccountField, AccountLatestSalesActivity, ActionList, ActionListsService, AddAccountsToActionListResponse, BusinessService, CampaignSDKService, CancellationRequest, CancellationRequestReason, CancellationRequestService, CancellationRequestStatus, CancellationRequestsApiService, Contact, ContactsService, CreateSalespersonForUserResponse, EffortAggregate, IsConfigValidRequest, IsConfigValidResponse, SortDirection$1 as ListAccountSortDirection, ListActionListsResponse, PagedRequestOptions, SalespeopleService, Sort, SortDirection };\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuxiliaryFieldSchemaApiService,\n GetAuxiliaryDataFieldSchemaResponseInterface,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface,\n UpdateAuxiliaryDataFieldSchemaRequestInterface,\n} from '@vendasta/account-group';\nimport { ListAuxiliaryDataFieldSchemaResponseInterface } from '@vendasta/account-group/lib/_internal/interfaces/fields.interface';\nimport { Observable } from 'rxjs';\nimport {\n AbstractAuxiliaryDataSchemaService,\n FieldSchema,\n FieldSchemaIdentifier,\n UpdateFieldSchemaRequest,\n UpdateSchemaFieldMask,\n} from './schema-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountGroupSchemaService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly schemaService: AuxiliaryFieldSchemaApiService) {}\n\n listFieldSchemas(\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.schemaService.listAuxiliaryDataFieldSchema({\n partnerId: partnerId,\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize,\n },\n filters: {\n onlyArchived: onlyArchived,\n },\n });\n }\n\n createFieldSchema(schema: FieldSchema): Observable> {\n return this.schemaService.createAuxiliaryDataFieldSchema({ fieldSchema: schema });\n }\n\n updateFieldSchema(\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable> {\n const request: UpdateAuxiliaryDataFieldSchemaRequestInterface = {\n fieldSchema: changes,\n fieldMask: { paths: fieldMask },\n };\n return this.schemaService.updateAuxiliaryDataFieldSchema(request);\n }\n\n getFieldSchema(id: FieldSchemaIdentifier): Observable {\n return this.schemaService.getAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n getMultiFieldSchema(ids: FieldSchemaIdentifier[]): Observable {\n return this.schemaService.getMultiAuxiliaryDataFieldSchema({\n identifiers: ids,\n });\n }\n\n archiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.archiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n unarchiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.unarchiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface,\n ListAuxiliaryDataFieldSchemaResponseInterface,\n ProductAuxiliaryFieldSchemaApiService,\n} from '@galaxy/marketplace-apps';\nimport { Observable } from 'rxjs';\nimport {\n AbstractAuxiliaryDataSchemaService,\n FieldSchema,\n FieldSchemaIdentifier,\n UpdateFieldSchemaRequest,\n UpdateSchemaFieldMask,\n} from './schema-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProductSchemaService implements AbstractAuxiliaryDataSchemaService {\n constructor(private schemaService: ProductAuxiliaryFieldSchemaApiService) {}\n\n listFieldSchemas(\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.schemaService.listAuxiliaryDataFieldSchema({\n partnerId,\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize,\n },\n filters: {\n onlyArchived: onlyArchived,\n },\n });\n }\n\n createFieldSchema(schema: FieldSchema): Observable> {\n return this.schemaService.createAuxiliaryDataFieldSchema({\n fieldSchema: schema,\n });\n }\n\n updateFieldSchema(\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable> {\n return this.schemaService.updateAuxiliaryDataFieldSchema({\n fieldSchema: changes,\n fieldMask: { paths: fieldMask },\n });\n }\n\n getFieldSchema(id: FieldSchemaIdentifier): Observable {\n return this.schemaService.getAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n getMultiFieldSchema(ids: FieldSchemaIdentifier[]): Observable {\n return this.schemaService.getMultiAuxiliaryDataFieldSchema({\n identifiers: ids,\n });\n }\n\n archiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.archiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n unarchiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.unarchiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface,\n ListAuxiliaryDataFieldSchemaResponseInterface,\n SalesOrdersAuxiliaryFieldSchemaApiService,\n UpdateAuxiliaryDataFieldSchemaRequestInterface,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface,\n} from '@vendasta/sales-orders';\nimport { Observable } from 'rxjs';\nimport {\n AbstractAuxiliaryDataSchemaService,\n FieldSchema,\n FieldSchemaIdentifier,\n UpdateFieldSchemaRequest,\n UpdateSchemaFieldMask,\n} from './schema-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SalesOrderSchemaService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly schemaService: SalesOrdersAuxiliaryFieldSchemaApiService) {}\n\n listFieldSchemas(\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.schemaService.listAuxiliaryDataFieldSchema({\n partnerId: partnerId,\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize,\n },\n filters: {\n onlyArchived: onlyArchived,\n },\n });\n }\n\n createFieldSchema(schema: FieldSchema): Observable> {\n return this.schemaService.createAuxiliaryDataFieldSchema({ fieldSchema: schema });\n }\n\n updateFieldSchema(\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable> {\n const request: UpdateAuxiliaryDataFieldSchemaRequestInterface = {\n fieldSchema: changes,\n fieldMask: { paths: fieldMask },\n };\n return this.schemaService.updateAuxiliaryDataFieldSchema(request);\n }\n\n getFieldSchema(id: FieldSchemaIdentifier): Observable {\n return this.schemaService.getAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n getMultiFieldSchema(ids: FieldSchemaIdentifier[]): Observable {\n return this.schemaService.getMultiAuxiliaryDataFieldSchema({\n identifiers: ids,\n });\n }\n\n archiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.archiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n unarchiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.unarchiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n}\n","// noinspection JSAnnotator\n\nimport { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface,\n ListAuxiliaryDataFieldSchemaResponseInterface,\n TaskAuxiliaryFieldSchemaApiService,\n UpdateAuxiliaryDataFieldSchemaRequestInterface,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface,\n} from '@vendasta/task-manager';\nimport { Observable } from 'rxjs';\nimport {\n AbstractAuxiliaryDataSchemaService,\n FieldSchema,\n FieldSchemaIdentifier,\n UpdateFieldSchemaRequest,\n UpdateSchemaFieldMask,\n} from './schema-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TaskSchemaService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly schemaService: TaskAuxiliaryFieldSchemaApiService) {}\n\n listFieldSchemas(\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.schemaService.listAuxiliaryDataFieldSchema({\n partnerId: partnerId,\n pagingOptions: {\n cursor: cursor,\n pageSize: pageSize,\n },\n filters: {\n onlyArchived: onlyArchived,\n },\n });\n }\n\n createFieldSchema(schema: FieldSchema): Observable> {\n return this.schemaService.createAuxiliaryDataFieldSchema({ fieldSchema: schema });\n }\n\n updateFieldSchema(\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable> {\n const request: UpdateAuxiliaryDataFieldSchemaRequestInterface = {\n fieldSchema: changes,\n fieldMask: { paths: fieldMask },\n };\n return this.schemaService.updateAuxiliaryDataFieldSchema(request);\n }\n\n getFieldSchema(id: FieldSchemaIdentifier): Observable {\n return this.schemaService.getAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n getMultiFieldSchema(ids: FieldSchemaIdentifier[]): Observable {\n return this.schemaService.getMultiAuxiliaryDataFieldSchema({\n identifiers: ids,\n });\n }\n\n archiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.archiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n\n unarchiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.unarchiveAuxiliaryDataFieldSchema({ identifier: id });\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { IAMService } from '@vendasta/iamv2';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface,\n ListAuxiliaryDataFieldSchemaResponseInterface,\n} from '@vendasta/iamv2/lib/_internal/interfaces/fields.interface';\nimport { Observable } from 'rxjs';\nimport {\n AbstractAuxiliaryDataSchemaService,\n FieldSchema,\n FieldSchemaIdentifier,\n UpdateFieldSchemaRequest,\n UpdateSchemaFieldMask,\n} from './schema-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class IamSchemaService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly schemaService: IAMService) {}\n\n listFieldSchemas(\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.schemaService.listUserAuxiliaryDataFieldSchema(\n partnerId,\n {\n cursor: cursor,\n pageSize: pageSize,\n },\n {\n onlyArchived: onlyArchived,\n },\n );\n }\n\n createFieldSchema(schema: FieldSchema): Observable> {\n return this.schemaService.createUserAuxiliaryDataFieldSchema(schema);\n }\n\n updateFieldSchema(\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable> {\n return this.schemaService.updateUserAuxiliaryDataFieldSchema(changes, { paths: fieldMask });\n }\n\n getFieldSchema(id: FieldSchemaIdentifier): Observable {\n return this.schemaService.getUserAuxiliaryDataFieldSchema({ fieldId: id.fieldId, partnerId: id.partnerId });\n }\n\n getMultiFieldSchema(ids: FieldSchemaIdentifier[]): Observable {\n return this.schemaService.getMultiUserAuxiliaryDataFieldSchema(ids);\n }\n\n archiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.archiveUserAuxiliaryDataFieldSchema({ fieldId: id.fieldId, partnerId: id.partnerId });\n }\n\n unarchiveFieldSchema(id: FieldSchemaIdentifier): Observable> {\n return this.schemaService.unarchiveUserAuxiliaryDataFieldSchema({ fieldId: id.fieldId, partnerId: id.partnerId });\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AccountGroupSchemaService } from './_account-group-schema.service';\nimport { ProductSchemaService } from './_product-schema.service';\nimport { SalesOrderSchemaService } from './_sales-order-schema.service';\nimport { TaskSchemaService } from './_task-schema.service';\nimport { IamSchemaService } from './_user-schema.service';\nimport {\n AbstractAuxiliaryDataSchemaService,\n FieldSchema,\n FieldSchemaIdentifier,\n GetFieldSchemaResponse,\n GetMultiFieldSchemaResponse,\n ListFieldSchemasResponse,\n ObjectType,\n UpdateFieldSchemaRequest,\n UpdateSchemaFieldMask,\n} from './schema-interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SchemaService {\n constructor(\n private readonly accountGroupSchemaService: AccountGroupSchemaService,\n private readonly usersFieldSchemaService: IamSchemaService,\n private readonly productFieldSchemaService: ProductSchemaService,\n private readonly salesOrderSchemaService: SalesOrderSchemaService,\n private readonly taskSchemaService: TaskSchemaService,\n ) {}\n\n listFieldSchemas(\n objectType: ObjectType,\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable {\n return this.selectService(objectType).listFieldSchemas(partnerId, onlyArchived, cursor, pageSize);\n }\n\n createFieldSchema(objectType: ObjectType, schema: FieldSchema): Observable> {\n return this.selectService(objectType).createFieldSchema(schema);\n }\n\n updateFieldSchema(\n objectType: ObjectType,\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable> {\n return this.selectService(objectType).updateFieldSchema(changes, fieldMask);\n }\n\n getFieldSchema(objectType: ObjectType, id: FieldSchemaIdentifier): Observable {\n return this.selectService(objectType).getFieldSchema(id);\n }\n\n getMultiFieldSchema(objectType: ObjectType, ids: FieldSchemaIdentifier[]): Observable {\n return this.selectService(objectType).getMultiFieldSchema(ids);\n }\n\n archiveFieldSchema(objectType: ObjectType, id: FieldSchemaIdentifier): Observable> {\n return this.selectService(objectType).archiveFieldSchema(id);\n }\n\n unarchiveFieldSchema(objectType: ObjectType, id: FieldSchemaIdentifier): Observable> {\n return this.selectService(objectType).unarchiveFieldSchema(id);\n }\n\n private selectService(objectType: ObjectType): AbstractAuxiliaryDataSchemaService {\n switch (objectType) {\n case 'business':\n return this.accountGroupSchemaService;\n case 'user':\n return this.usersFieldSchemaService;\n case 'product':\n return this.productFieldSchemaService;\n case 'order':\n return this.salesOrderSchemaService;\n case 'task':\n return this.taskSchemaService;\n default:\n throw new Error('Unsupported object type');\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n AuxiliaryFieldDataApiService,\n ListAuxiliaryDataRequestInterface,\n ListAuxiliaryDataResponse,\n SearchByAuxiliaryDataRequestInterface,\n SearchByAuxiliaryDataResponseInterface,\n UpsertAuxiliaryDataRequestInterface,\n} from '@vendasta/account-group';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AbstractAuxiliaryDataSchemaService } from './_abstract.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AccountGroupService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly service: AuxiliaryFieldDataApiService) {}\n\n listData(request: ListAuxiliaryDataRequestInterface): Observable {\n return this.service.listAuxiliaryData(request);\n }\n\n upsertData(request: UpsertAuxiliaryDataRequestInterface): Observable {\n return this.service.upsertAuxiliaryData(request).pipe(map(() => null));\n }\n\n searchByAuxiliaryData(\n request: SearchByAuxiliaryDataRequestInterface,\n ): Observable {\n return this.service.searchByAuxiliaryData(request);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ListAuxiliaryDataRequestInterface, UpsertAuxiliaryDataRequestInterface } from '@vendasta/account-group'; // IAM SDK uses more annoying params\nimport { IAMService, ListAuxiliaryDataResponse } from '@vendasta/iamv2';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AbstractAuxiliaryDataSchemaService } from './_abstract.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly service: IAMService) {}\n\n listData(request: ListAuxiliaryDataRequestInterface): Observable {\n return this.service.listUserAuxiliaryData(request.auxiliaryDataObjectId, request.pagingOptions);\n }\n\n upsertData(request: UpsertAuxiliaryDataRequestInterface): Observable {\n return this.service\n .upsertUserAuxiliaryData(request.auxiliaryDataObjectId, request.fieldDataUpsertOperations)\n .pipe(map(() => null));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ProductAuxiliaryFieldDataApiService,\n ListAuxiliaryDataRequestInterface,\n UpsertAuxiliaryDataRequestInterface,\n ListAuxiliaryDataResponse,\n} from '@vendasta/marketplace-apps';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AbstractAuxiliaryDataSchemaService } from './_abstract.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ProductService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly service: ProductAuxiliaryFieldDataApiService) {}\n\n listData(request: ListAuxiliaryDataRequestInterface): Observable {\n return this.service.listAuxiliaryData(request);\n }\n\n upsertData(request: UpsertAuxiliaryDataRequestInterface): Observable {\n return this.service.upsertAuxiliaryData(request).pipe(map(() => null));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ListAuxiliaryDataRequestInterface,\n ListAuxiliaryDataResponse,\n SalesOrdersAuxiliaryFieldDataApiService,\n UpsertAuxiliaryDataRequestInterface,\n} from '@vendasta/sales-orders';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AbstractAuxiliaryDataSchemaService } from './_abstract.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class OrderService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly service: SalesOrdersAuxiliaryFieldDataApiService) {}\n\n listData(request: ListAuxiliaryDataRequestInterface): Observable {\n return this.service.listAuxiliaryData({\n salesOrderAuxiliaryDataObjectId: {\n businessId: request.auxiliaryDataObjectId.objectId.split('|')[0],\n orderId: request.auxiliaryDataObjectId.objectId.split('|')[1],\n },\n pagingOptions: request.pagingOptions,\n });\n }\n\n upsertData(request: UpsertAuxiliaryDataRequestInterface): Observable {\n return this.service\n .upsertAuxiliaryData({\n salesOrderAuxiliaryDataObjectId: {\n businessId: request.auxiliaryDataObjectId.objectId.split('|')[0],\n orderId: request.auxiliaryDataObjectId.objectId.split('|')[1],\n },\n fieldDataUpsertOperations: request.fieldDataUpsertOperations,\n })\n .pipe(map(() => null));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ListAuxiliaryDataRequestInterface,\n ListAuxiliaryDataResponse,\n TaskAuxiliaryFieldDataApiService,\n UpsertAuxiliaryDataRequestInterface,\n} from '@vendasta/task-manager';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { AbstractAuxiliaryDataSchemaService } from './_abstract.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TaskService implements AbstractAuxiliaryDataSchemaService {\n constructor(private readonly service: TaskAuxiliaryFieldDataApiService) {}\n\n listData(request: ListAuxiliaryDataRequestInterface): Observable {\n return this.service.listAuxiliaryData({\n auxiliaryDataObjectId: {\n partnerId: request.auxiliaryDataObjectId.partnerId,\n objectId: request.auxiliaryDataObjectId.objectId,\n },\n pagingOptions: request.pagingOptions,\n });\n }\n\n upsertData(request: UpsertAuxiliaryDataRequestInterface): Observable {\n return this.service\n .upsertAuxiliaryData({\n auxiliaryDataObjectId: {\n partnerId: request.auxiliaryDataObjectId.partnerId,\n objectId: request.auxiliaryDataObjectId.objectId,\n },\n fieldDataUpsertOperations: request.fieldDataUpsertOperations,\n })\n .pipe(map(() => null));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n FieldDataUpsertOperationInterface,\n ListAuxiliaryDataRequestInterface,\n ListAuxiliaryDataResponseInterface,\n PagedRequestOptionsInterface,\n SearchByAuxiliaryDataResponseInterface,\n UpsertAuxiliaryDataRequestInterface,\n} from '@vendasta/account-group'; // (mostly) identical defs from shared protos, but exported again from each SDK, so some of these are just from the AG SDK\nimport { Observable, of } from 'rxjs';\nimport { AbstractAuxiliaryDataSchemaService } from './_abstract.service';\nimport { AccountGroupService } from './_account-group-data.service';\nimport { UserService } from './_user-data.service';\nimport { ProductService } from './_product-data.service';\nimport { map } from 'rxjs/operators';\nimport { ObjectSchema } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { AuxiliaryDataFilterInterface } from '@vendasta/account-group/lib/_internal/interfaces/api.interface';\nimport { ObjectType } from '../schema-service/schema-interface';\nimport { OrderService } from './_order-data.service';\nimport { TaskService } from './_task-data.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FieldDataService {\n constructor(\n private readonly accountService: AccountGroupService,\n private readonly userService: UserService,\n private readonly productService: ProductService,\n private readonly orderService: OrderService,\n private readonly taskService: TaskService,\n ) {}\n\n listData(\n partnerId: string,\n objectType: ObjectType,\n objectId: string,\n paging: PagedRequestOptionsInterface,\n ): Observable {\n if (!partnerId || !objectType || !objectId) {\n throw new Error(\n `Bad request to list field data. (partner ID: ${partnerId}, object type: ${objectType}, object ID: ${objectId})`,\n );\n }\n const request: ListAuxiliaryDataRequestInterface = {\n auxiliaryDataObjectId: {\n partnerId: partnerId,\n objectId: objectId,\n },\n pagingOptions: paging,\n };\n return this.selectService(objectType).listData(request);\n }\n\n upsertData(\n partnerId: string,\n objectType: ObjectType,\n objectId: string,\n data: FieldDataUpsertOperationInterface[],\n ): Observable {\n const request: UpsertAuxiliaryDataRequestInterface = {\n auxiliaryDataObjectId: {\n partnerId: partnerId,\n objectId: objectId,\n },\n fieldDataUpsertOperations: data,\n };\n return this.selectService(objectType).upsertData(request);\n }\n\n searchByAuxiliaryData(\n partnerId: string,\n objectType: ObjectType,\n filter: AuxiliaryDataFilterInterface,\n pagingOptions: PagedRequestOptionsInterface,\n ): Observable {\n if (!this.selectService(objectType).searchByAuxiliaryData) {\n console.warn('Unsupported object type for search by auxiliary data');\n return of({});\n }\n\n return this.selectService(objectType).searchByAuxiliaryData({\n partnerId,\n filter,\n pagingOptions,\n });\n }\n\n hasCustomFields(partnerId: string, auxiliaryDataObjectType: ObjectType, productId: string): Observable {\n return this.listData(partnerId, auxiliaryDataObjectType, productId, { cursor: '', pageSize: 100 }).pipe(\n map((fields) => {\n const objectSchema = JSON.parse(fields.jsonSchema) as ObjectSchema;\n return Object.keys(objectSchema.properties)?.length > 0;\n }),\n );\n }\n\n private selectService(objectType: ObjectType): AbstractAuxiliaryDataSchemaService {\n switch (objectType) {\n case 'business':\n return this.accountService;\n case 'user':\n return this.userService;\n case 'product':\n return this.productService;\n case 'order':\n return this.orderService;\n case 'task':\n return this.taskService;\n default:\n throw new Error(`Unsupported object type: ${objectType}`);\n }\n }\n}\n","import { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';\nimport { FieldDataUpsertOperationInterface } from '@vendasta/account-group';\nimport { FieldHandler, FieldHandlerValidator } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { Component, NgModule, ViewContainerRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { DigitOnlyModule } from '@uiowa/digit-only';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { ReadOnlyStyles } from './common';\n\nexport class IntegerFieldHandler implements FieldHandler {\n formControl: UntypedFormControl;\n\n constructor(\n public fieldId: string,\n public name: string,\n public label: string,\n public value: number,\n public description: string,\n public validators: FieldHandlerValidator[],\n public readOnly = false,\n ) {\n this.formControl = new UntypedFormControl(value);\n this.formControl.setValidators(validators.map((v) => v.validatorFn));\n }\n\n render(viewContainerRef: ViewContainerRef): void {\n viewContainerRef.clear();\n const component = viewContainerRef.createComponent(IntegerRendererComponent);\n component.instance.control = this.formControl;\n component.instance.label = this.label;\n component.instance.validators = this.validators;\n component.instance.readOnly = this.readOnly;\n }\n\n hasModification(): boolean {\n return this.formControl?.dirty;\n }\n\n upsertOperation(): FieldDataUpsertOperationInterface {\n if (this.formControl.value === null) {\n return {\n fieldDataId: this.fieldId,\n deleteValue: true,\n };\n }\n return {\n fieldDataId: this.fieldId,\n integer: this.formControl.value,\n };\n }\n}\n\n@Component({\n styles: [\n `\n :host,\n mat-form-field,\n input {\n width: 100%;\n }\n\n :host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-flex {\n margin-top: 0;\n }\n\n #integer {\n margin: 0 5px;\n padding: 6px 0 8px;\n }\n #integer ::ng-deep .input-and-hints {\n margin: 0;\n }\n `,\n ...ReadOnlyStyles,\n ],\n template: `\n
\n
\n {{ label }}\n
\n
\n {{ control.value ? control.value : '-' }}\n
\n
\n \n \n {{ label }}\n \n \n \n {{ validator.errorMessage | translate }}\n \n \n \n \n `,\n})\nexport class IntegerRendererComponent {\n control!: UntypedFormControl;\n label!: string;\n validators!: FieldHandlerValidator[];\n readOnly!: boolean;\n}\n\n@NgModule({\n declarations: [IntegerRendererComponent],\n exports: [IntegerRendererComponent],\n imports: [CommonModule, MatInputModule, ReactiveFormsModule, DigitOnlyModule, TranslateModule, GalaxyFormFieldModule],\n})\nexport class IntegerRendererComponentModule {}\n","import { Component, NgModule, ViewContainerRef } from '@angular/core';\nimport { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';\nimport { FieldDataUpsertOperationInterface } from '@vendasta/account-group';\nimport { FieldHandler, FieldHandlerValidator } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { CommonModule } from '@angular/common';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { ReadOnlyStyles } from './common';\n\nexport class TextFieldHandler implements FieldHandler {\n formControl: UntypedFormControl;\n\n constructor(\n public fieldId: string,\n public name: string,\n public label: string,\n public value: string,\n public description: string,\n public validators: FieldHandlerValidator[],\n public readOnly = false,\n ) {\n this.formControl = new UntypedFormControl(this.value);\n this.formControl.setValidators(validators.map((v) => v.validatorFn));\n }\n\n hasModification(): boolean {\n return this.formControl?.dirty;\n }\n\n upsertOperation(): FieldDataUpsertOperationInterface {\n if (this.formControl.value === null) {\n return {\n fieldDataId: this.fieldId,\n deleteValue: true,\n };\n }\n return {\n fieldDataId: this.fieldId,\n string: this.formControl.value,\n };\n }\n\n render(viewContainerRef: ViewContainerRef): void {\n viewContainerRef.clear();\n const component = viewContainerRef.createComponent(TextRendererComponent);\n component.instance.control = this.formControl;\n component.instance.label = this.label;\n component.instance.validators = this.validators;\n component.instance.readOnly = this.readOnly;\n }\n}\n\n@Component({\n styles: [\n `\n :host,\n mat-form-field,\n input {\n width: 100%;\n }\n\n :host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-flex {\n margin-top: 0;\n }\n\n #text {\n margin: 0 5px;\n padding: 6px 0 8px;\n }\n\n #text ::ng-deep .input-and-hints {\n margin: 0;\n }\n\n :host .value {\n white-space: pre-wrap;\n }\n `,\n ...ReadOnlyStyles,\n ],\n template: `\n
\n
\n {{ label }}\n
\n
\n {{ control.value ? control.value : '-' }}\n
\n
\n \n \n {{ label }}\n \n \n {{ 'AUXILIARY_DATA_TABLE.STRING_LIMIT_HINT' | translate: { characters: control?.value?.length || 0 } }}\n \n \n \n {{ validator.errorMessage | translate }}\n \n \n \n \n `,\n})\nexport class TextRendererComponent {\n control!: UntypedFormControl;\n label!: string;\n validators!: FieldHandlerValidator[];\n readOnly!: boolean;\n}\n\n@NgModule({\n declarations: [TextRendererComponent],\n exports: [TextRendererComponent],\n imports: [CommonModule, MatInputModule, ReactiveFormsModule, TranslateModule, GalaxyFormFieldModule],\n})\nexport class TextRendererComponentModule {}\n","import { Component, NgModule, ViewContainerRef } from '@angular/core';\nimport { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';\nimport { FieldDataUpsertOperationInterface } from '@vendasta/account-group';\nimport { FieldHandler, FieldHandlerValidator } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { CommonModule } from '@angular/common';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { ReadOnlyStyles } from './common';\n\nexport class DateFieldHandler implements FieldHandler {\n formControl: UntypedFormControl;\n\n constructor(\n public fieldId: string,\n public name: string,\n public label: string,\n public value: string,\n public description: string,\n public validators: FieldHandlerValidator[],\n public readOnly = false,\n ) {\n this.formControl = new UntypedFormControl(value);\n this.formControl.setValidators(validators.map((v) => v.validatorFn));\n }\n\n render(viewContainerRef: ViewContainerRef): void {\n viewContainerRef.clear();\n const component = viewContainerRef.createComponent(DateRendererComponent);\n component.instance.control = this.formControl;\n component.instance.label = this.label;\n component.instance.validators = this.validators;\n component.instance.readOnly = this.readOnly;\n }\n\n hasModification(): boolean {\n return this.formControl?.dirty;\n }\n\n upsertOperation(): FieldDataUpsertOperationInterface {\n if (this.formControl.value === null) {\n return {\n fieldDataId: this.fieldId,\n deleteValue: true,\n };\n }\n return {\n fieldDataId: this.fieldId,\n date: this.formControl.value,\n };\n }\n}\n\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'YYYY-MM-DD',\n },\n display: {\n dateInput: 'MMM DD, YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'MMMM DD, YYYY',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n styles: [\n ':host, mat-form-field, input {width:100%}',\n ':host #date {margin: 0 5px; padding: 6px 0 8px;}',\n ':host #date ::ng-deep .input-and-hints {margin:0;}',\n ...ReadOnlyStyles,\n ],\n template: `\n
\n
\n {{ label }}\n
\n
\n {{ control.value ? (control.value | date: 'shortDate') : '-' }}\n
\n
\n \n \n {{ label }}\n \n \n \n \n \n {{ validator.errorMessage | translate }}\n \n \n \n \n `,\n providers: [\n //for browsers with a negative GMT, the default datepicker would show the previous day\n { provide: DateAdapter, useClass: MomentDateAdapter },\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n ],\n})\nexport class DateRendererComponent {\n control!: UntypedFormControl;\n label!: string;\n validators!: FieldHandlerValidator[];\n readOnly!: boolean;\n}\n\n@NgModule({\n declarations: [DateRendererComponent],\n exports: [DateRendererComponent],\n imports: [CommonModule, ReactiveFormsModule, MatDatepickerModule, TranslateModule, GalaxyFormFieldModule],\n})\nexport class DateRendererComponentModule {}\n","import {\n DropdownOption,\n FieldHandler,\n FieldHandlerValidator,\n} from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { UntypedFormControl, ReactiveFormsModule } from '@angular/forms';\nimport { FieldDataUpsertOperationInterface } from '@vendasta/account-group';\nimport { OnInit, ViewContainerRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, NgModule } from '@angular/core';\nimport { MatSelectModule } from '@angular/material/select';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport { ReadOnlyStyles } from './common';\n\nexport class DropdownFieldHandler implements FieldHandler {\n description: string;\n formControl: UntypedFormControl;\n\n constructor(\n public fieldId: string,\n public name: string,\n public label: string,\n public value: string,\n private dropdownOptions: DropdownOption[],\n public validators: FieldHandlerValidator[],\n public readOnly = false,\n ) {\n this.formControl = new UntypedFormControl(value);\n this.formControl.setValidators(validators.map((v) => v.validatorFn));\n }\n\n render(viewContainerRef: ViewContainerRef): void {\n viewContainerRef.clear();\n const component = viewContainerRef.createComponent(DropdownRendererComponent);\n component.instance.control = this.formControl;\n component.instance.label = this.label;\n component.instance.dropdownOptions = this.dropdownOptions;\n component.instance.validators = this.validators;\n component.instance.readOnly = this.readOnly;\n }\n\n hasModification(): boolean {\n return this.formControl?.dirty;\n }\n\n upsertOperation(): FieldDataUpsertOperationInterface {\n return {\n fieldDataId: this.fieldId,\n dropdownValue: this.formControl.value,\n };\n }\n}\n\n@Component({\n styles: [\n `\n :host,\n mat-form-field,\n input {\n width: 100%;\n }\n\n :host ::ng-deep .hide-error-padding .mat-form-field-wrapper {\n padding-bottom: 0;\n }\n :host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-flex {\n margin-top: 0;\n }\n #dropdown {\n margin: 0 5px;\n padding: 6px 0 8px;\n }\n #dropdown ::ng-deep .input-and-hints {\n margin: 0;\n }\n `,\n ...ReadOnlyStyles,\n ],\n template: `\n
\n
\n {{ label }}\n
\n
\n {{ dropdownOptionMap.get(control.value) ? dropdownOptionMap.get(control.value) : '-' }}\n
\n
\n \n \n {{ label }}\n \n \n --\n\n \n {{ dropdownOption.label }}\n \n \n \n \n {{ validator.errorMessage | translate }}\n \n \n \n \n `,\n})\nexport class DropdownRendererComponent implements OnInit {\n control!: UntypedFormControl;\n label!: string;\n dropdownOptions!: DropdownOption[];\n validators!: FieldHandlerValidator[];\n readOnly!: boolean;\n\n dropdownOptionMap: Map = new Map();\n invalidOption: DropdownOption;\n\n ngOnInit(): void {\n const currentValue = this.control?.value;\n if (currentValue && !this.dropdownOptions?.map((d) => d.value).includes(currentValue)) {\n this.invalidOption = {\n value: currentValue,\n label: currentValue,\n };\n this.dropdownOptions.push(this.invalidOption);\n }\n this.dropdownOptions.forEach((d) => {\n this.dropdownOptionMap.set(d.value, d.label);\n });\n this.setInvalidOptionValidator();\n }\n\n private setInvalidOptionValidator(): void {\n const invalidOptionValidator = {\n errorCode: 'invalid',\n errorMessage: 'COMMON.INVALID_DROPDOWN_ERROR',\n validatorFn: (control) => {\n if (this.invalidOption?.value === control.value) {\n return { invalid: true };\n }\n return null;\n },\n };\n\n this.validators?.push(invalidOptionValidator);\n this.control.addValidators(invalidOptionValidator.validatorFn);\n }\n}\n\n@NgModule({\n imports: [CommonModule, MatSelectModule, ReactiveFormsModule, TranslateModule, GalaxyFormFieldModule],\n declarations: [DropdownRendererComponent],\n exports: [DropdownRendererComponent],\n})\nexport class DropdownRenderComponentModule {}\n","/*\nThese include 'minor' currency units for applicable currencies.\nFor example:\n- 1 billion _pennies_ not dollars\n- 1 billion Yen (they don't have minor units)\n*/\nexport function calculateCurrencyDisplay(event: any): number {\n let str: string = event.target.value;\n str = str.replace(/[^\\d]/, '');\n let num: number = parseInt(str, 10);\n if (event.key === 'Backspace' && (num === 0 || isNaN(num))) {\n num = null;\n } else {\n if (isNaN(num)) {\n num = 0;\n }\n if (num > maxValue) {\n num = maxValue;\n }\n if (num < minValue) {\n num = minValue;\n }\n }\n return num;\n}\nexport const maxValue = 1000000000;\nexport const minValue = -1000000000;\nexport { galaxyToApi, apiToGalaxy } from './renderers/currency';\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ElementRef,\n NgModule,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { FieldDataUpsertOperationInterface } from '@vendasta/account-group';\nimport { GalaxyFormFieldModule } from '@vendasta/galaxy/form-field';\nimport AutoNumeric from 'autonumeric';\nimport { FieldHandler, FieldHandlerValidator } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { calculateCurrencyDisplay, maxValue, minValue } from '../currency';\nimport { ReadOnlyStyles } from './common';\n\nexport function galaxyToApi(hasDecimals: number): number {\n if (hasDecimals > 0) {\n return Math.floor(hasDecimals * 100);\n }\n return Math.ceil(hasDecimals * 100);\n}\n\nexport function apiToGalaxy(noDecimalsJustPennies: number): number {\n return noDecimalsJustPennies / 100;\n}\n\nexport class CurrencyFieldHandler implements FieldHandler {\n description: string;\n formControl: UntypedFormControl;\n\n constructor(\n public fieldId: string,\n public name: string,\n public label: string,\n public value: string,\n private currencyCode: string,\n public validators: FieldHandlerValidator[],\n public readOnly = false,\n ) {\n this.formControl = new UntypedFormControl(parseInt(value, 10));\n this.formControl.setValidators(validators.map((v) => v.validatorFn));\n }\n\n render(viewContainerRef: ViewContainerRef): void {\n viewContainerRef.clear();\n const component = viewContainerRef.createComponent(CurrencyRendererComponent);\n component.instance.control = this.formControl;\n component.instance.label = this.label;\n component.instance.currencyCode = this.currencyCode;\n component.instance.validators = this.validators;\n component.instance.readOnly = this.readOnly;\n }\n\n hasModification(): boolean {\n return this.formControl?.dirty;\n }\n\n upsertOperation(): FieldDataUpsertOperationInterface {\n if (this.formControl.value === null) {\n return {\n fieldDataId: this.fieldId,\n deleteValue: true,\n };\n }\n\n return {\n fieldDataId: this.fieldId,\n currencyValue: this.formControl.value,\n };\n }\n}\n\n@Component({\n styles: [\n `\n :host,\n mat-form-field,\n input {\n width: 100%;\n }\n #currency {\n margin: 0 5px;\n padding: 6px 0 8px;\n }\n #currency ::ng-deep .input-and-hints {\n margin: 0;\n }\n `,\n ...ReadOnlyStyles,\n ],\n template: `\n
\n
\n {{ label }}\n
\n
\n {{ readOnlyDisplay }}\n
\n
\n \n \n \n \n \n {{ validator.errorMessage | translate }}\n \n \n \n \n `,\n})\nexport class CurrencyRendererComponent implements AfterViewInit, AfterContentInit {\n @ViewChild('input') input: ElementRef;\n\n maxValue = maxValue;\n minValue = minValue;\n\n control!: UntypedFormControl;\n label!: string;\n currencyCode!: string;\n validators!: FieldHandlerValidator[];\n readOnly!: boolean;\n\n readOnlyDisplay: string;\n\n ngAfterViewInit(): void {\n const num: number = this.control.value;\n if ((num || num === 0) && !this.readOnly) {\n this.setInput(num);\n }\n }\n\n ngAfterContentInit(): void {\n const num: number = this.control.value;\n if (this.readOnly) {\n this.readOnlyDisplay = this.getReadOnlyDisplayName(num);\n }\n }\n\n key(event: any): void {\n const num: number = calculateCurrencyDisplay(event);\n if (num) {\n this.input.nativeElement.value = apiToGalaxy(num).toFixed(2);\n } else {\n this.input.nativeElement.value = null;\n }\n this.control.setValue(num);\n this.control.markAsDirty();\n }\n\n clear(): void {\n this.control.setValue(null);\n this.control.markAsDirty();\n this.input.nativeElement.value = null;\n }\n\n private setInput(num: number): void {\n this.input.nativeElement.value = apiToGalaxy(num).toFixed(2);\n }\n\n private getReadOnlyDisplayName(num: number): string {\n if (!num || Number.isNaN(num)) {\n return '-';\n }\n\n const displayValue = (num / 100).toFixed(2);\n const formattedPrice = AutoNumeric.format(displayValue, {\n maximumValue: maxValue.toString(),\n minimumValue: minValue.toString(),\n });\n return `${this.currencyCode} ${formattedPrice}`;\n }\n}\n\n@NgModule({\n declarations: [CurrencyRendererComponent],\n exports: [CurrencyRendererComponent],\n imports: [CommonModule, GalaxyFormFieldModule, MatInputModule, ReactiveFormsModule, TranslateModule],\n})\nexport class CurrencyRendererComponentModule {}\n","export * from './integer';\nexport * from './text';\nexport * from './date';\nexport * from './dropdown';\nexport * from './currency';\n","import {\n FieldHandler,\n FieldHandlerValidator,\n FieldSchema,\n} from './auxiliary-data-table/auxiliary-data-table.interface';\nimport {\n CurrencyFieldHandler,\n DateFieldHandler,\n DropdownFieldHandler,\n IntegerFieldHandler,\n TextFieldHandler,\n} from './renderers';\n\nexport function chooseHandler(\n fieldId: string,\n fieldSchema: FieldSchema,\n fieldData: any,\n showLabel: boolean,\n validators: FieldHandlerValidator[] = [],\n readOnly = false,\n): FieldHandler {\n const type = fieldSchema?.format || fieldSchema?.type;\n const label = showLabel ? fieldSchema?.title : '';\n switch (type) {\n case 'string':\n return new TextFieldHandler(\n fieldId,\n fieldSchema?.title,\n label,\n fieldData,\n fieldSchema?.description,\n validators,\n readOnly,\n );\n case 'integer':\n return new IntegerFieldHandler(\n fieldId,\n fieldSchema.title,\n label,\n fieldData as number,\n fieldSchema.description,\n validators,\n readOnly,\n );\n case 'date':\n return new DateFieldHandler(\n fieldId,\n fieldSchema.title,\n label,\n fieldData,\n fieldSchema.description,\n validators,\n readOnly,\n );\n case 'dropdown':\n return new DropdownFieldHandler(\n fieldId,\n fieldSchema.title,\n label,\n fieldData,\n fieldSchema.dropdownOptions,\n validators,\n readOnly,\n );\n case 'currency':\n return new CurrencyFieldHandler(\n fieldId,\n fieldSchema.title,\n label,\n fieldData,\n fieldSchema.currencyCode,\n validators,\n readOnly,\n );\n default:\n console.warn(`Could not handle type ${type}`);\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, ReplaySubject, combineLatest, of } from 'rxjs';\nimport { catchError, map, shareReplay, switchMap, take, tap } from 'rxjs/operators';\nimport { SchemaService } from '../auxiliary-data/schema-service/schema.service';\nimport { FieldHandler, ObjectData, ObjectSchema } from './auxiliary-data-table/auxiliary-data-table.interface';\nimport { FieldDataService } from './field-data-service/field-data.service';\nimport { chooseHandler } from './renderer-utils';\nimport { ObjectType } from './schema-service/schema-interface';\n\nexport enum LoadingStatus {\n LOADING = 1,\n OK = 2,\n EMPTY = 3,\n ERROR = 4,\n}\n\nexport enum SavingStatus {\n SAVING = 1,\n OK = 2,\n ERROR = 3,\n}\n\n@Injectable()\nexport class AuxiliaryFieldHandlerService {\n LoadingStatus = LoadingStatus;\n\n private partnerId!: string;\n private objectType!: ObjectType;\n private objectId!: string;\n\n private loadingStatus$$ = new ReplaySubject(1);\n loadingStatus$ = this.loadingStatus$$.asObservable();\n\n private savingStatus$$ = new ReplaySubject(1);\n savingStatus$ = this.savingStatus$$.asObservable();\n\n fieldHandlers$!: Observable;\n\n constructor(\n private readonly fieldDataService: FieldDataService,\n private readonly schemaService: SchemaService,\n ) {}\n\n init(partnerId: string, objectType: ObjectType, objectId: string, showLabel: boolean, readOnly = false): void {\n this.partnerId = partnerId;\n this.objectType = objectType;\n this.objectId = objectId;\n\n this.fieldHandlers$ = this.buildFieldData$(showLabel, readOnly).pipe(\n map((handlers) => handlers.filter((h) => h !== null)),\n );\n }\n\n private buildFieldData$(showLabel: boolean, readOnly = false): Observable {\n const listData$ = this.fieldDataService.listData(this.partnerId, this.objectType, this.objectId, { pageSize: 100 });\n const listSchemas$ = this.schemaService.listFieldSchemas(this.objectType, this.partnerId, false, '', 100);\n\n this.loadingStatus$$.next(LoadingStatus.LOADING);\n return combineLatest([listData$, listSchemas$]).pipe(\n take(1),\n catchError((err) => {\n this.loadingStatus$$.next(LoadingStatus.ERROR);\n throw err;\n }),\n map(([fullData, response]) => {\n const objectSchema = JSON.parse(fullData.jsonSchema) as ObjectSchema;\n const objectData = JSON.parse(fullData.jsonData) as ObjectData;\n return (response.fieldSchemas || []).map((fieldSchema) => {\n return chooseHandler(\n fieldSchema.fieldId,\n objectSchema.properties[fieldSchema.fieldId],\n objectData[fieldSchema.fieldId],\n showLabel,\n [],\n readOnly,\n );\n });\n }),\n tap((handlers) => this.loadingStatus$$.next(handlers.length ? LoadingStatus.OK : LoadingStatus.EMPTY)),\n shareReplay({ refCount: true, bufferSize: 1 }),\n );\n }\n\n saveChanges(): Observable {\n return of(null).pipe(\n tap(() => this.savingStatus$$.next(SavingStatus.SAVING)),\n switchMap(() => this.fieldHandlers$),\n map((fieldHandlers) =>\n fieldHandlers.filter((handler) => handler.hasModification()).map((handler) => handler.upsertOperation()),\n ),\n switchMap((fieldDataUpsertOperations) => {\n if (!fieldDataUpsertOperations?.length) {\n return of(false);\n }\n return this.fieldDataService\n .upsertData(this.partnerId, this.objectType, this.objectId, fieldDataUpsertOperations)\n .pipe(map(() => true));\n }),\n catchError((err) => {\n this.savingStatus$$.next(SavingStatus.ERROR);\n throw err;\n }),\n tap(() => this.savingStatus$$.next(SavingStatus.OK)),\n );\n }\n}\n","import { Component, Input, OnChanges, OnInit, ViewContainerRef } from '@angular/core';\nimport { FieldHandler } from './auxiliary-data-table/auxiliary-data-table.interface';\n\n@Component({\n selector: 'aux-renderer-selector',\n template: '',\n})\nexport class RendererSelectorComponent implements OnInit, OnChanges {\n @Input() handler!: FieldHandler;\n\n constructor(private viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n this.handler?.render(this.viewContainerRef);\n }\n\n ngOnChanges(): void {\n this.handler?.render(this.viewContainerRef);\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { tap } from 'rxjs/operators';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { FieldHandler } from './auxiliary-data-table.interface';\nimport { AuxiliaryFieldHandlerService, LoadingStatus } from '../auxiliary-field-handler.service';\nimport { ObjectType } from '../schema-service/schema-interface';\n\nenum Columns {\n Name = 'name',\n Value = 'value',\n Action = 'action',\n}\n\n@Component({\n selector: 'aux-auxiliary-data-table',\n templateUrl: './auxiliary-data-table.component.html',\n styleUrls: ['./auxiliary-data-table.component.scss'],\n})\nexport class AuxiliaryDataTableComponent implements OnInit {\n @Input() partnerId = '';\n @Input() objectType: ObjectType;\n @Input() objectId = '';\n\n @Input() auxiliaryDataAdminURL = '';\n @Input() disableManage = false;\n\n Columns = Columns;\n LoadingStatus = LoadingStatus;\n dataSource$!: Observable;\n displayedColumns: string[] = [Columns.Name, Columns.Value, Columns.Action];\n formGroup = new UntypedFormGroup({});\n\n loadingStatus$ = this.auxiliaryDataService.loadingStatus$;\n savingStatus$ = this.auxiliaryDataService.savingStatus$;\n\n constructor(private readonly auxiliaryDataService: AuxiliaryFieldHandlerService) {}\n\n ngOnInit(): void {\n this.auxiliaryDataService.init(this.partnerId, this.objectType, this.objectId, false);\n this.dataSource$ = this.auxiliaryDataService.fieldHandlers$.pipe(\n tap((handlers) => {\n handlers.forEach((handler) => {\n this.formGroup.setControl(handler.fieldId, handler.formControl);\n });\n }),\n );\n }\n\n saveChanges(): Observable {\n return this.auxiliaryDataService.saveChanges();\n }\n\n trackByFn(_: any, item: FieldHandler): string {\n return item.fieldId;\n }\n\n hasChanges(): boolean {\n return this.formGroup.dirty;\n }\n}\n","\n \n \n \n \n {{ 'AUXILIARY_DATA_TABLE.ATTRIBUTE_COLUMN' | translate }}\n \n \n {{ handler.name }}\n \n info_outline\n \n \n \n \n \n {{ 'AUXILIARY_DATA_TABLE.DATA_COLUMN' | translate }}\n \n \n \n \n \n \n \n \n {{ 'COMMON.MANAGE_ATTRIBUTES' | translate }}\n \n \n \n \n \n \n
\n
\n
\n\n
\n \n
\n
\n\n \n topic\n \n \n {{ 'AUXILIARY_DATA_TABLE.EMPTY.TITLE' | translate }}\n \n

{{ 'AUXILIARY_DATA_TABLE.EMPTY.TEXT' | translate }}

\n \n \n {{ 'AUXILIARY_DATA_TABLE.EMPTY.BUTTON' | translate }}\n \n \n
\n\n \n report_problem\n \n \n {{ 'AUXILIARY_DATA_TABLE.ERROR.TITLE' | translate }}\n \n

{{ 'AUXILIARY_DATA_TABLE.ERROR.TEXT' | translate }}

\n \n
\n","{\n \"COMMON\": {\n \"ACTION_LABELS\": {\n \"SAVE\": \"Save\"\n },\n \"MANAGE_ATTRIBUTES\": \"Manage custom fields\",\n \"INVALID_DROPDOWN_ERROR\": \"Select a valid option\",\n \"ADD_FIELD\": \"Add {{fieldName}}...\"\n },\n \"AUXILIARY_DATA_TABLE\": {\n \"ATTRIBUTE_COLUMN\": \"Custom field\",\n \"DATA_COLUMN\": \"Data on file\",\n \"EMPTY\": {\n \"TITLE\": \"Leverage custom data in your workflow\",\n \"TEXT\": \"Quickly and easily collect data based on custom fields within the system and improve your data collection, storage, and reporting capabilities.\",\n \"BUTTON\": \"Set up custom fields\"\n },\n \"ERROR\": {\n \"TITLE\": \"Something went wrong\",\n \"TEXT\": \"Please wait a few moments and try again. If the problem persists, please contact an administrator\"\n },\n \"STRING_LIMIT_HINT\": \"{{characters}} characters (maximum 4000 characters)\",\n \"DELETED_ACCOUNT\": \"This account was recently deleted, and its custom data is still being processed.\"\n },\n \"AUXILIARY_DATA_CARD\": {\n \"CARD_TITLE\": \"Custom fields\",\n \"SAVE\": {\n \"SUCESS\": \"Custom fields saved successfully\",\n \"ERROR\": \"Something went wrong\"\n },\n \"ERROR\": {\n \"TITLE\": \"Something went wrong\",\n \"TEXT\": \"Please wait a few moments and try again. If the problem persists, please contact an administrator\"\n }\n },\n \"AUXILIARY_DATA_PANEL\": {\n \"PANEL_TITLE\": \"Custom fields\",\n \"PANEL_DESCRIPTION\": \"Custom fields for the account\",\n \"ERROR\": {\n \"TITLE\": \"Something went wrong\",\n \"TEXT\": \"Please wait a few moments and try again. If the problem persists, please contact an administrator\"\n }\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { ProductAnalyticsService } from '@vendasta/product-analytics';\nimport { Observable, Subject } from 'rxjs';\nimport { take, takeUntil, tap } from 'rxjs/operators';\nimport { FieldHandler } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { AuxiliaryFieldHandlerService, LoadingStatus, SavingStatus } from '../auxiliary-field-handler.service';\nimport { ObjectType } from '../schema-service/schema-interface';\n\nconst SNACKBAR_DURATION = 4000;\n\n@Component({\n selector: 'aux-auxiliary-data-card',\n templateUrl: './auxiliary-data-card.component.html',\n styleUrls: ['./auxiliary-data-card.component.scss'],\n})\nexport class AuxiliaryDataCardComponent implements OnInit, OnDestroy {\n @Input() partnerId = '';\n @Input() objectType: ObjectType;\n @Input() objectId = '';\n @Input() auxiliaryDataAdminURL = '';\n\n @Output() pendingCustomFieldsChanges: EventEmitter = new EventEmitter();\n\n formGroup = new UntypedFormGroup({});\n LoadingStatus = LoadingStatus;\n\n loadingStatus$ = this.auxiliaryDataService.loadingStatus$;\n savingStatus$ = this.auxiliaryDataService.savingStatus$;\n\n fieldHandlers$!: Observable;\n\n SavingStatus = SavingStatus;\n\n savedFormValue: object;\n killSubscriptions$$: Subject = new Subject();\n\n constructor(\n private readonly auxiliaryDataService: AuxiliaryFieldHandlerService,\n private snackService: SnackbarService,\n private readonly trackingService: ProductAnalyticsService,\n ) {}\n\n ngOnInit(): void {\n this.auxiliaryDataService.init(this.partnerId, this.objectType, this.objectId, true);\n this.fieldHandlers$ = this.auxiliaryDataService.fieldHandlers$.pipe(\n tap((handlers) => {\n handlers.forEach((handler) => {\n this.formGroup.setControl(handler.fieldId, handler.formControl);\n });\n this.savedFormValue = this.formGroup.getRawValue();\n }),\n );\n\n this.formGroup.valueChanges.pipe(takeUntil(this.killSubscriptions$$)).subscribe((value) => {\n const isEqualToInitial = JSON.stringify(value) === JSON.stringify(this.savedFormValue);\n this.pendingCustomFieldsChanges.emit(!isEqualToInitial && !this.formGroup.pristine);\n });\n }\n\n saveChanges(): void {\n this.posthogTrackCustomFieldEvent('start');\n this.auxiliaryDataService\n .saveChanges()\n .pipe(take(1))\n .subscribe({\n next: (fieldsSaved) => {\n if (fieldsSaved) {\n this.snackService.openSuccessSnack('AUXILIARY_DATA_CARD.SAVE.SUCESS');\n this.posthogTrackCustomFieldEvent('success');\n this.formGroup.markAsPristine();\n this.pendingCustomFieldsChanges.emit(false);\n this.savedFormValue = this.formGroup.getRawValue();\n } else {\n this.savingError();\n }\n },\n error: () => {\n this.savingError();\n },\n });\n }\n\n private savingError() {\n this.snackService.openErrorSnack('AUXILIARY_DATA_CARD.SAVE.ERROR', {\n duration: SNACKBAR_DURATION,\n });\n this.posthogTrackCustomFieldEvent('fail');\n }\n\n private posthogTrackCustomFieldEvent(suffix: string): void {\n this.trackingService.trackEvent(\n `CustomFields:edit-${this.objectType}-custom-field-data-${suffix}`,\n 'CustomFields',\n `edit-${this.objectType}-custom-field-data-${suffix}`,\n );\n }\n\n ngOnDestroy(): void {\n this.killSubscriptions$$.next(true);\n this.killSubscriptions$$.complete();\n }\n}\n","\n \n \n {{ 'AUXILIARY_DATA_CARD.CARD_TITLE' | translate }}\n \n \n \n {{ 'COMMON.MANAGE_ATTRIBUTES' | translate }}\n \n \n \n \n
\n \n \n \n
\n
\n \n \n \n {{ 'COMMON.ACTION_LABELS.SAVE' | translate }}\n \n \n \n
\n\n\n \n
\n \n
\n
\n\n \n \n report_problem\n \n \n {{ 'AUXILIARY_DATA_CARD.ERROR.TITLE' | translate }}\n \n

{{ 'AUXILIARY_DATA_CARD.ERROR.TEXT' | translate }}

\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { FieldHandler } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { AuxiliaryFieldHandlerService, LoadingStatus } from '../auxiliary-field-handler.service';\nimport { ObjectType } from '../schema-service/schema-interface';\n\n@Component({\n selector: 'aux-auxiliary-data-panel',\n templateUrl: './auxiliary-data-panel.component.html',\n styleUrls: ['./auxiliary-data-panel.component.scss'],\n})\nexport class AuxiliaryDataPanelComponent implements OnInit {\n @Input() partnerId = '';\n @Input() objectType: ObjectType;\n @Input() objectId = '';\n\n formGroup = new UntypedFormGroup({});\n LoadingStatus = LoadingStatus;\n\n loadingStatus$ = this.auxiliaryDataService.loadingStatus$;\n savingStatus$ = this.auxiliaryDataService.savingStatus$;\n\n fieldHandlers$!: Observable;\n\n constructor(private readonly auxiliaryDataService: AuxiliaryFieldHandlerService) {}\n\n ngOnInit(): void {\n this.auxiliaryDataService.init(this.partnerId, this.objectType, this.objectId, true);\n this.fieldHandlers$ = this.auxiliaryDataService.fieldHandlers$.pipe(\n tap((handlers) => {\n handlers.forEach((handler) => {\n this.formGroup.setControl(handler.fieldId, handler.formControl);\n });\n }),\n );\n }\n\n saveChanges(): Observable {\n return this.auxiliaryDataService.saveChanges();\n }\n}\n","\n \n \n {{ 'AUXILIARY_DATA_PANEL.PANEL_TITLE' | translate }}\n \n \n {{ 'AUXILIARY_DATA_PANEL.PANEL_DESCRIPTION' | translate }}\n \n \n \n \n \n \n \n \n \n \n \n\n\n\n \n
\n \n
\n
\n\n \n \n report_problem\n \n \n {{ 'AUXILIARY_DATA_PANEL.ERROR.TITLE' | translate }}\n \n

{{ 'AUXILIARY_DATA_PANEL.ERROR.TEXT' | translate }}

\n \n
\n
\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { LexiconModule } from '@galaxy/lexicon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { VaFormsModule } from '@vendasta/forms';\nimport { GalaxyButtonLoadingIndicatorModule } from '@vendasta/galaxy/button-loading-indicator';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { GalaxyWrapModule } from '@vendasta/galaxy/galaxy-wrap';\nimport { GalaxyPageModule } from '@vendasta/galaxy/page';\nimport { VaTableModule } from '@vendasta/uikit';\nimport en from './assets/en_devel.json';\nimport { AuxiliaryDataCardComponent } from './auxiliary-data/auxiliary-data-card/auxiliary-data-card.component';\nimport { AuxiliaryDataPanelComponent } from './auxiliary-data/auxiliary-data-panel/auxiliary-data-panel.component';\nimport { AuxiliaryDataTableComponent } from './auxiliary-data/auxiliary-data-table/auxiliary-data-table.component';\nimport { AuxiliaryFieldHandlerService } from './auxiliary-data/auxiliary-field-handler.service';\nimport { RendererSelectorComponent } from './auxiliary-data/renderer-selector.component';\nimport {\n CurrencyRendererComponentModule,\n DateRendererComponentModule,\n DropdownRenderComponentModule,\n IntegerRendererComponentModule,\n TextRendererComponentModule,\n} from './auxiliary-data/renderers';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n VaFormsModule,\n MatButtonModule,\n MatCardModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule,\n MatTableModule,\n MatSortModule,\n MatDatepickerModule,\n MatTooltipModule,\n MatProgressSpinnerModule,\n VaTableModule,\n TranslateModule,\n GalaxyButtonLoadingIndicatorModule,\n LexiconModule.forChild({\n componentName: 'common/auxiliary-data',\n baseTranslation: en,\n }),\n GalaxyPageModule,\n GalaxyEmptyStateModule,\n MatExpansionModule,\n GalaxyWrapModule,\n DropdownRenderComponentModule,\n CurrencyRendererComponentModule,\n DateRendererComponentModule,\n IntegerRendererComponentModule,\n TextRendererComponentModule,\n ],\n declarations: [\n AuxiliaryDataTableComponent,\n RendererSelectorComponent,\n AuxiliaryDataPanelComponent,\n AuxiliaryDataCardComponent,\n ],\n exports: [\n AuxiliaryDataTableComponent,\n AuxiliaryDataPanelComponent,\n AuxiliaryDataCardComponent,\n RendererSelectorComponent,\n ],\n providers: [AuxiliaryFieldHandlerService],\n})\nexport class AuxiliaryDataModule {}\n","import { Inject, Injectable } from '@angular/core';\nimport { AccountGroupApiService, SearchByAuxiliaryDataResponseInterface } from '@vendasta/account-group';\nimport { AuxiliaryDataFilterInterface } from '@vendasta/account-group/lib/_internal/interfaces/api.interface';\nimport { Contact } from '@vendasta/sales-v2';\nimport { LoadRequest, TableDataService } from '@vendasta/va-filter2-table';\nimport { BehaviorSubject, EMPTY, Observable, combineLatest, of, zip } from 'rxjs';\nimport { expand, map, reduce, shareReplay, switchMap, take, tap } from 'rxjs/operators';\nimport { FieldDataService } from '../field-data-service/field-data.service';\nimport { AccountsCustomFieldsData } from './auxiliary-data-accounts-table.data-model';\n\ninterface ColumnAuxiliaryData {\n accountGroupId: string;\n jsonSchema?: any;\n jsonData?: any;\n}\n\n@Injectable()\nexport class AccountsAuxiliaryDataTableService implements TableDataService {\n private readonly totalResults$$: BehaviorSubject = new BehaviorSubject(0);\n public readonly totalResults$: Observable = this.totalResults$$.asObservable();\n private cursors: { [id: number]: string } = { 0: '' };\n\n constructor(\n @Inject('PARTNER_ID') private readonly partnerId$: Observable,\n private accountGroupService: AccountGroupApiService,\n private fieldDataService: FieldDataService,\n ) {}\n\n private getAuxiliaryDataForIDs(accountGroupIds: string[]): Observable> {\n if (!accountGroupIds) {\n return of(new Map());\n }\n const accountGroupAuxiliaryDataRequests$: Observable[] = [];\n for (const accountGroupId of accountGroupIds) {\n accountGroupAuxiliaryDataRequests$.push(\n this.partnerId$.pipe(\n take(1),\n switchMap((partnerId) => {\n return this.fieldDataService.listData(partnerId, 'business', accountGroupId, { cursor: '', pageSize: 100 });\n }),\n map(({ jsonSchema, jsonData }) => {\n const auxiliaryObjectData: ColumnAuxiliaryData = {\n accountGroupId: accountGroupId,\n };\n try {\n auxiliaryObjectData.jsonSchema = JSON.parse(jsonSchema) as unknown;\n } catch {\n auxiliaryObjectData.jsonSchema = {};\n }\n try {\n auxiliaryObjectData.jsonData = JSON.parse(jsonData) as unknown;\n } catch {\n auxiliaryObjectData.jsonData = {};\n }\n return auxiliaryObjectData;\n }),\n shareReplay({ refCount: true, bufferSize: 1 }),\n ),\n );\n }\n\n return zip(...accountGroupAuxiliaryDataRequests$).pipe(\n map((responses) => {\n const responseMap: Map = new Map();\n for (const response of responses) {\n responseMap.set(response.accountGroupId, response);\n }\n return responseMap;\n }),\n );\n }\n\n load(request: LoadRequest): Observable {\n if (request.pageIndex === 0) {\n this.cursors = { 0: '' };\n }\n const nextCursor = this.cursors[request.pageIndex] || '';\n const filterApplied = request.filters?.fieldFilter ? request.filters?.fieldFilter[0]?.filter : null;\n const searchFilters = [];\n if (filterApplied) {\n searchFilters.push(filterApplied);\n }\n\n const accountGroupIDs$ = this.partnerId$.pipe(\n take(1),\n switchMap((partnerId) => {\n return this.fieldDataService.searchByAuxiliaryData(\n partnerId,\n 'business',\n {\n searchFilters: searchFilters,\n },\n {\n pageSize: request.pageSize,\n cursor: nextCursor,\n },\n );\n }),\n tap((resp) => {\n this.totalResults$$.next(resp.pagingMetadata?.totalResults);\n if (resp.pagingMetadata?.hasMore) {\n this.cursors[request.pageIndex + 1] = resp.pagingMetadata?.nextCursor;\n }\n }),\n map((resp) => resp.accountGroupIds),\n );\n\n const accountGroupAuxDataMap$ = accountGroupIDs$.pipe(\n take(1),\n switchMap((accountGroupIDs) => this.getAuxiliaryDataForIDs(accountGroupIDs)),\n );\n const accountGroups$ = accountGroupIDs$.pipe(\n take(1),\n switchMap((accountgroups) =>\n accountgroups\n ? this.accountGroupService.getMulti({\n accountGroupIds: accountgroups,\n projectionFilter: { richData: true, accounts: true, napData: true, contactDetails: true },\n })\n : of(null),\n ),\n );\n\n return combineLatest([accountGroups$, accountGroupAuxDataMap$]).pipe(\n map(([resp, auxiliaryDataMap]) =>\n (resp?.accountGroups || []).map((item) => ({\n accountGroupId: item.accountGroup?.accountGroupId,\n accountName: item.accountGroup?.napData?.companyName,\n lastUpdateDate: item.accountGroup?.updated,\n address: {\n address: item.accountGroup?.napData?.address,\n address2: item.accountGroup?.napData?.address2,\n city: item.accountGroup?.napData?.city,\n country: item.accountGroup?.napData?.country,\n postalCode: item.accountGroup?.napData?.zip,\n state: item.accountGroup?.napData?.state,\n },\n primaryContact: new Contact({\n contactEmail: item.accountGroup?.contactDetails?.email,\n firstName: item.accountGroup?.contactDetails?.firstName,\n lastName: item.accountGroup?.contactDetails?.lastName,\n }),\n jsonSchema: auxiliaryDataMap.get(item.accountGroup?.accountGroupId)?.jsonSchema,\n jsonData: auxiliaryDataMap.get(item.accountGroup?.accountGroupId)?.jsonData,\n })),\n ),\n );\n }\n\n loadAllRowIDs(request: LoadRequest): Observable {\n const filterApplied = request.filters?.fieldFilter ? request.filters?.fieldFilter[0]?.filter : null;\n const searchFilters = [];\n if (filterApplied) {\n searchFilters.push(filterApplied);\n }\n const filter: AuxiliaryDataFilterInterface = {\n searchFilters,\n };\n\n const getNextPage = (\n lastResponse: SearchByAuxiliaryDataResponseInterface,\n ): Observable => {\n if (!lastResponse.pagingMetadata.hasMore) {\n return EMPTY;\n }\n const nextCursor = lastResponse.pagingMetadata.nextCursor;\n return this.partnerId$.pipe(\n take(1),\n switchMap((partnerId) =>\n this.fieldDataService.searchByAuxiliaryData(partnerId, 'business', filter, {\n pageSize: request.pageSize,\n cursor: nextCursor,\n }),\n ),\n );\n };\n\n return this.partnerId$.pipe(\n take(1),\n switchMap((partnerId) =>\n this.fieldDataService.searchByAuxiliaryData(partnerId, 'business', filter, {\n pageSize: request.pageSize,\n cursor: '',\n }),\n ),\n expand(getNextPage),\n map((resp) => resp?.accountGroupIds || []),\n reduce((acc: string[], cur) => acc.concat(cur), []),\n );\n }\n}\n","import { Contact } from '@vendasta/sales-v2';\n\nexport interface AccountsCustomFieldsData {\n accountGroupId: string;\n accountName: string;\n lastUpdateDate: Date;\n address: any;\n primaryContact: Contact;\n jsonSchema: any;\n jsonData: any;\n}\n\nexport enum AccountsCustomFieldsTableColumns {\n ACCOUNT_NAME = 'accountName',\n CITY = 'city',\n STATE = 'state',\n LAST_UPDATE_DATE = 'lastUpdateDate',\n PRIMARY_CONTACT = 'primaryContact',\n}\n","import { InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\nimport {\n DataSourceSettings,\n TABLE_DEFINITION,\n VaFilteredMatTableService,\n VaTableSortService,\n} from '@vendasta/va-filter2-table';\nimport { AccountsAuxiliaryDataTableService } from './auxiliary-data-accounts-table.service';\nimport { AccountsAuxiliaryDataTableFilterService } from './auxiliary-data-accounts-table-filters.service';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { tableDefinitionFactory } from './auxiliary-data-accounts-table.model';\nimport { AccountsCustomFieldsData } from './auxiliary-data-accounts-table.data-model';\n\nexport interface AuxDataAccountsActionDependencies {\n openAccountListsModal(\n event: DataSourceSettings,\n vaFilteredMatTableService: VaFilteredMatTableService,\n accountsAuxiliaryDataTableService: AccountsAuxiliaryDataTableService,\n ): void;\n}\n\nexport const AuxDataAccountsActionInjectionToken = new InjectionToken(\n 'dependencies for the auxiliary-data account table actions',\n);\n\n@NgModule()\nexport class AuxDataAccountsTableActionModule {\n static forRoot(\n configActions: InjectionToken,\n ): ModuleWithProviders {\n return {\n ngModule: AuxDataAccountsTableActionModule,\n providers: [\n VaTableSortService,\n AccountsAuxiliaryDataTableService,\n VaFilteredMatTableService,\n VaTableSortService,\n AccountsAuxiliaryDataTableFilterService,\n {\n provide: AccountsAuxiliaryDataTableFilterService,\n useClass: AccountsAuxiliaryDataTableFilterService,\n },\n {\n provide: 'fieldSchemas',\n useValue: [],\n },\n {\n provide: TABLE_DEFINITION,\n useFactory: tableDefinitionFactory,\n deps: [AccountsAuxiliaryDataTableFilterService, 'fieldSchemas'],\n },\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: {} },\n {\n provide: AuxDataAccountsActionInjectionToken,\n useExisting: configActions,\n deps: [],\n },\n ],\n };\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { VaIconModule } from '@vendasta/uikit';\nimport { FilterModule } from '@vendasta/va-filter2';\nimport {\n BulkActionClickedEvent,\n Filter2TableModule,\n VaFilteredMatTableService,\n VaTableSortService,\n} from '@vendasta/va-filter2-table';\nimport { AuxiliaryDataModule } from '../../auxiliary-data.module';\nimport { AuxiliaryFieldHandlerService } from '../auxiliary-field-handler.service';\nimport {\n AuxDataAccountsActionDependencies,\n AuxDataAccountsActionInjectionToken,\n} from './auxiliary-data-accounts-table-actions.module';\nimport { AccountsAuxiliaryDataTableFilterService } from './auxiliary-data-accounts-table-filters.service';\nimport { AccountsCustomFieldsData } from './auxiliary-data-accounts-table.data-model';\nimport { AccountsAuxiliaryDataTableService } from './auxiliary-data-accounts-table.service';\nimport { AuxDataAccountsTableColumnsModule } from './column-components/auxiliary-data-accounts-table-column.module';\n\n@Component({\n template: `\n \n `,\n styles: [':host { display: block; }'],\n providers: [\n AccountsAuxiliaryDataTableService,\n VaFilteredMatTableService,\n VaTableSortService,\n AccountsAuxiliaryDataTableFilterService,\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: {} },\n ],\n})\nexport class AuxiliaryDataAccountsTableInternalComponent {\n constructor(\n readonly accountsAuxiliaryDataTableService: AccountsAuxiliaryDataTableService,\n private readonly alertService: SnackbarService,\n private readonly vaFilteredMatTableService: VaFilteredMatTableService,\n @Inject(AuxDataAccountsActionInjectionToken) private readonly configActions: AuxDataAccountsActionDependencies,\n ) {}\n\n openModalForBulkAction(event: BulkActionClickedEvent): void {\n switch (event.bulkActionID) {\n case 'add-accounts-to-list':\n this.configActions.openAccountListsModal(\n event.currentSettings,\n this.vaFilteredMatTableService,\n this.accountsAuxiliaryDataTableService,\n );\n break;\n default:\n console.error(`unknown bulk action ${event.bulkActionID}`);\n this.alertService.openErrorSnack('PROSPECT_COMPONENT.BULK_ACTIONS.ERROR');\n break;\n }\n }\n}\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule.forChild(),\n ReactiveFormsModule,\n AuxiliaryDataModule,\n GalaxyEmptyStateModule,\n MatProgressSpinnerModule,\n MatIconModule,\n VaIconModule,\n Filter2TableModule,\n FilterModule,\n AuxDataAccountsTableColumnsModule,\n ],\n providers: [AuxiliaryFieldHandlerService, AccountsAuxiliaryDataTableService],\n declarations: [AuxiliaryDataAccountsTableInternalComponent],\n exports: [AuxiliaryDataAccountsTableInternalComponent],\n})\nexport class AuxiliaryDataAccountsTableInternalModule {}\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, Injector, Input, OnInit } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { TABLE_DEFINITION } from '@vendasta/va-filter2-table';\nimport { Observable } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport {\n AuxiliaryDataAccountsTableInternalComponent,\n AuxiliaryDataAccountsTableInternalModule,\n} from '../auxiliary-data-accounts-table/auxiliary-data-accounts-table-internal.component';\nimport { SchemaService } from '../schema-service/schema.service';\nimport { AccountsAuxiliaryDataTableFilterService } from './auxiliary-data-accounts-table-filters.service';\nimport { tableDefinitionFactory } from './auxiliary-data-accounts-table.model';\n\n@Component({\n standalone: true,\n imports: [CommonModule, MatCardModule, AuxiliaryDataAccountsTableInternalModule],\n selector: 'aux-auxiliary-data-accounts-table',\n template: `\n \n \n \n \n
\n
\n `,\n styles: [\n `\n .stencil-shimmer {\n height: 200px;\n }\n `,\n ],\n})\nexport class AuxiliaryDataAccountsTableComponent implements OnInit {\n @Input() enableAddToListButton = false;\n injector$: Observable;\n component = AuxiliaryDataAccountsTableInternalComponent;\n\n constructor(\n @Inject('PARTNER_ID') private readonly partnerId$: Observable,\n private readonly schemaService: SchemaService,\n private readonly injector: Injector,\n ) {}\n\n ngOnInit(): void {\n this.injector$ = this.partnerId$.pipe(\n take(1),\n switchMap((partnerId) => this.schemaService.listFieldSchemas('business', partnerId, false, '', 100)),\n map((response) => response.fieldSchemas),\n map((fieldSchemas) => {\n return Injector.create({\n providers: [\n {\n provide: AccountsAuxiliaryDataTableFilterService,\n useClass: AccountsAuxiliaryDataTableFilterService,\n },\n {\n provide: 'fieldSchemas',\n useValue: fieldSchemas,\n },\n {\n provide: 'enableAddToListButton',\n useValue: this.enableAddToListButton,\n },\n {\n provide: TABLE_DEFINITION,\n useFactory: tableDefinitionFactory,\n deps: [AccountsAuxiliaryDataTableFilterService, 'fieldSchemas', 'enableAddToListButton'],\n },\n ],\n parent: this.injector,\n });\n }),\n );\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, inject, OnInit, ViewChild } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialog, MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\nimport { combineLatest } from 'rxjs';\nimport { first, map } from 'rxjs/operators';\nimport { AuxiliaryDataModule } from '../../auxiliary-data.module';\nimport { AuxiliaryDataTableComponent } from '../auxiliary-data-table/auxiliary-data-table.component';\n\n@Component({\n standalone: true,\n imports: [CommonModule, MatDialogModule, AuxiliaryDataModule, MatButtonModule, TranslateModule],\n template: `\n

{{ 'COMMON.AUXILIARY_DATA.COMMON.MANAGE_ATTRIBUTES' | translate }}

\n \n \n \n \n \n \n \n `,\n})\nclass InnerDialogComponent {\n private readonly data = inject(MAT_DIALOG_DATA);\n public readonly partnerId = this.data.partnerId;\n public readonly objectTypeId$ = this.data.objectTypeId$;\n public readonly objectId$ = this.data.objectId$;\n public readonly disableManage$ = this.data.disableManage$;\n private readonly ref = inject(MatDialogRef);\n private readonly snackbar = inject(SnackbarService);\n\n @ViewChild('auxiliarydatatable')\n private auxiliaryDataTable: AuxiliaryDataTableComponent;\n\n onCancel() {\n this.ref.close();\n }\n\n async onSave() {\n try {\n await this.auxiliaryDataTable.saveChanges().toPromise();\n this.ref.close();\n } catch (e) {\n this.snackbar.openErrorSnack('An error occured. Changes were not saved.');\n }\n }\n}\n\n@Component({\n standalone: true,\n template: ``,\n})\nexport class CustomFieldsDialogComponent implements OnInit {\n dialog = inject(MatDialog);\n router = inject(Router);\n route = inject(ActivatedRoute);\n\n ngOnInit() {\n const ref = this.dialog.open(InnerDialogComponent, {\n width: '80%',\n data: {\n partnerId: this.route.snapshot.params.partnerId,\n objectTypeId$: this.route.params.pipe(map((params) => params.objectTypeId)),\n objectId$: this.route.params.pipe(map((params) => params.objectId)),\n disableManage$: this.route.params.pipe(map((params) => params.disableManage === 'true')),\n },\n });\n combineLatest([this.route.queryParams.pipe(first()), ref.afterClosed()]).subscribe(([queryParams]) => {\n this.router.navigate([{ outlets: { action: null } }], { queryParams });\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Input, NgModule, OnDestroy, OnInit } from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GalaxyEmptyStateModule } from '@vendasta/galaxy/empty-state';\nimport { Observable, Subject } from 'rxjs';\nimport { shareReplay, takeUntil } from 'rxjs/operators';\nimport { AuxiliaryDataModule } from '../../auxiliary-data.module';\nimport { FieldHandler } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { AuxiliaryFieldHandlerService, LoadingStatus } from '../auxiliary-field-handler.service';\nimport { ObjectType } from '../schema-service/schema-interface';\n\nexport const SHOW_ALL_FIELDS = 100;\n\n@Component({\n selector: 'aux-auxiliary-fields',\n template: `\n \n
0\" [formGroup]=\"formGroup\">\n \n \n \n \n \n
\n\n \n \n {{ emptyStateIcon }}\n \n \n {{ emptyStateTitle | translate }}\n \n

\n {{ emptyStateText | translate }}\n

\n \n \n {{ 'AUXILIARY_DATA_TABLE.EMPTY.BUTTON' | translate }}\n \n \n
\n
\n \n \n
\n \n
\n
\n\n \n \n report_problem\n \n \n {{ 'AUXILIARY_DATA_CARD.ERROR.TITLE' | translate }}\n \n

{{ 'AUXILIARY_DATA_CARD.ERROR.TEXT' | translate }}

\n \n
\n
\n `,\n styleUrls: ['./auxiliary-data-fields.component.scss'],\n})\nexport class AuxiliaryDataFieldsComponent implements OnInit, OnDestroy {\n @Input() objectId: string;\n @Input() partnerId: string;\n @Input() objectType: ObjectType;\n @Input() numberOfFieldsToShow = SHOW_ALL_FIELDS;\n @Input() auxiliaryDataAdminURL = '';\n @Input() readOnly = false;\n @Input() reload$$: Subject = new Subject();\n @Input() emptyStateIcon = 'topic';\n @Input() emptyStateTitle = 'AUXILIARY_DATA_TABLE.EMPTY.TITLE';\n @Input() emptyStateText = 'AUXILIARY_DATA_TABLE.EMPTY.TEXT';\n\n LoadingStatus = LoadingStatus;\n\n formGroup = new UntypedFormGroup({});\n loadingStatus$ = this.auxiliaryDataService.loadingStatus$;\n destroyed$$ = new Subject();\n\n fieldHandlers$!: Observable;\n\n constructor(private readonly auxiliaryDataService: AuxiliaryFieldHandlerService) {}\n\n ngOnInit(): void {\n this.loadFieldHandlers();\n this.reload$$.pipe(takeUntil(this.destroyed$$)).subscribe(() => this.loadFieldHandlers());\n }\n\n ngOnDestroy(): void {\n this.destroyed$$.next();\n this.destroyed$$.unsubscribe();\n }\n\n private loadFieldHandlers(): void {\n this.auxiliaryDataService.init(this.partnerId, this.objectType, this.objectId, true, this.readOnly);\n this.fieldHandlers$ = this.auxiliaryDataService.fieldHandlers$.pipe(shareReplay({ refCount: true, bufferSize: 1 }));\n this.fieldHandlers$.pipe(takeUntil(this.destroyed$$)).subscribe((handlers) => {\n handlers.forEach((handler) => {\n this.formGroup.setControl(handler.fieldId, handler.formControl);\n });\n });\n }\n}\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule.forChild(),\n ReactiveFormsModule,\n AuxiliaryDataModule,\n GalaxyEmptyStateModule,\n MatProgressSpinnerModule,\n MatIconModule,\n ],\n providers: [AuxiliaryFieldHandlerService],\n // AIM / SCAM patterns - only a single thing!\n declarations: [AuxiliaryDataFieldsComponent],\n exports: [AuxiliaryDataFieldsComponent],\n})\nexport class AuxiliaryDataFieldsModule {}\n","import { HttpResponse } from '@angular/common/http';\nimport {\n AuxiliaryDataFieldType,\n DropdownOptionInterface,\n GetAuxiliaryDataFieldSchemaResponseInterface as GetFieldSchemaAccountResponse,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface as GetMultiFieldSchemaAccountResponse,\n ListAuxiliaryDataFieldSchemaResponseInterface as ListFieldSchemasAccountResponse,\n} from '@vendasta/account-group';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface as GetFieldSchemaUserResponse,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface as GetMultiFieldSchemaUserResponse,\n ListAuxiliaryDataFieldSchemaResponseInterface as ListFieldSchemasUserResponse,\n} from '@vendasta/iamv2/lib/_internal/interfaces/fields.interface';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface as GetFieldSchemaProductResponse,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface as GetMultiFieldSchemaProductResponse,\n ListAuxiliaryDataFieldSchemaResponseInterface as ListFieldSchemasProductResponse,\n} from '@galaxy/marketplace-apps';\nimport {\n GetAuxiliaryDataFieldSchemaResponseInterface as GetFieldSchemaSalesOrderResponse,\n GetMultiAuxiliaryDataFieldSchemaResponseInterface as GetMultiFieldSchemaSalesOrderResponse,\n ListAuxiliaryDataFieldSchemaResponseInterface as ListFieldSchemasSalesOrderResponse,\n} from '@vendasta/sales-orders';\nimport { Observable } from 'rxjs';\n\nexport type ObjectType = 'business' | 'user' | 'product' | 'order' | 'task';\nexport const SupportedObjectTypes = ['business', 'user', 'product', 'order', 'task'];\nexport type ListFieldSchemasResponse =\n | ListFieldSchemasAccountResponse\n | ListFieldSchemasUserResponse\n | ListFieldSchemasProductResponse\n | ListFieldSchemasSalesOrderResponse;\nexport type GetFieldSchemaResponse =\n | GetFieldSchemaAccountResponse\n | GetFieldSchemaUserResponse\n | GetFieldSchemaProductResponse\n | GetFieldSchemaSalesOrderResponse;\nexport type GetMultiFieldSchemaResponse =\n | GetMultiFieldSchemaAccountResponse\n | GetMultiFieldSchemaUserResponse\n | GetMultiFieldSchemaProductResponse\n | GetMultiFieldSchemaSalesOrderResponse;\n\nexport interface FieldSchema {\n partnerId?: string;\n fieldId?: string;\n fieldType?: AuxiliaryDataFieldType; // shared def in protos but re-exported from each SDK separately\n fieldName?: string;\n fieldDescription?: string;\n dropdownOptions?: DropdownOptionInterface[];\n currencyCode?: string;\n externalId?: string;\n created?: Date;\n updated?: Date;\n archived?: Date;\n}\n\nexport interface UpdateFieldSchemaRequest {\n partnerId: string;\n fieldId: string;\n fieldType: AuxiliaryDataFieldType; // FIXME: the SDKs/lib shouldn't require this on updates; it's discarded because we don't allow changing the data-type (which would only make sense for very narrow things like downgrading to a string)\n fieldName?: string;\n fieldDescription?: string;\n dropdownOptions?: DropdownOptionInterface[];\n currencyCode?: string;\n externalId?: string;\n}\n\nexport enum UpdateSchemaFieldMaskOptions {\n name = 'fieldName',\n description = 'fieldDescription',\n dropdownOptions = 'dropdownOptions',\n currencyCode = 'currencyCode',\n externalId = 'externalId',\n}\n\nexport type UpdateSchemaFieldMask = UpdateSchemaFieldMaskOptions[];\n\nexport interface FieldSchemaIdentifier {\n fieldId?: string;\n externalId?: string;\n partnerId: string;\n}\n\nexport interface AbstractAuxiliaryDataSchemaService {\n listFieldSchemas(\n partnerId: string,\n onlyArchived: boolean,\n cursor: string,\n pageSize: number,\n ): Observable;\n\n createFieldSchema(schema: FieldSchema): Observable>;\n\n updateFieldSchema(\n changes: UpdateFieldSchemaRequest,\n fieldMask: UpdateSchemaFieldMask,\n ): Observable>;\n\n getFieldSchema(id: FieldSchemaIdentifier): Observable;\n\n getMultiFieldSchema(ids: FieldSchemaIdentifier[]): Observable;\n\n archiveFieldSchema(id: FieldSchemaIdentifier): Observable>;\n\n unarchiveFieldSchema(id: FieldSchemaIdentifier): Observable>;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { AuxiliaryDataModule } from '../../auxiliary-data.module';\nimport { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { ObjectType } from '../schema-service/schema-interface';\nimport { AuxiliaryFieldHandlerService, LoadingStatus } from '../auxiliary-field-handler.service';\nimport { Observable, Subject, debounceTime, map, shareReplay, switchMap, take, takeUntil } from 'rxjs';\nimport { FieldHandler } from '../auxiliary-data-table/auxiliary-data-table.interface';\nimport { AsyncPipe } from '@angular/common';\nimport { SnackbarService } from '@vendasta/galaxy/snackbar-service';\n\n@Component({\n selector: 'aux-auxiliary-data-fields-responsive',\n standalone: true,\n templateUrl: './auxiliary-data-fields-responsive.component.html',\n styleUrl: './auxiliary-data-fields-responsive.component.scss',\n imports: [AuxiliaryDataModule, ReactiveFormsModule, FormsModule, AsyncPipe],\n})\nexport class AuxiliaryDataFieldsResponsiveComponent implements OnInit, OnDestroy {\n @Input() objectId: string;\n @Input() partnerId: string;\n @Input() objectType: ObjectType;\n @Output() valuesChanged: EventEmitter<{ [key: string]: any }> = new EventEmitter();\n\n formGroup = new UntypedFormGroup({});\n loadingStatus$ = this.auxiliaryDataService.loadingStatus$;\n LoadingStatus = LoadingStatus;\n destroyed$$ = new Subject();\n\n fieldHandlers$!: Observable;\n\n constructor(\n private auxiliaryDataService: AuxiliaryFieldHandlerService,\n private snackbar: SnackbarService,\n ) {}\n\n ngOnInit(): void {\n this.initialize();\n }\n\n private initialize(): void {\n const showLabel = true;\n this.auxiliaryDataService.init(this.partnerId, this.objectType, this.objectId, showLabel);\n this.fieldHandlers$ = this.auxiliaryDataService.fieldHandlers$.pipe(shareReplay({ refCount: true, bufferSize: 1 }));\n this.fieldHandlers$.pipe(takeUntil(this.destroyed$$)).subscribe((handlers) => {\n handlers.forEach((handler) => {\n this.formGroup.setControl(handler.fieldId, handler.formControl, { emitEvent: false });\n });\n });\n this.formGroup.valueChanges\n .pipe(\n debounceTime(500),\n takeUntil(this.destroyed$$),\n switchMap((formValue) =>\n this.auxiliaryDataService.saveChanges().pipe(\n take(1),\n map((madeUpdates) => [madeUpdates, formValue]),\n ),\n ),\n )\n .subscribe({\n next: ([madeUpdates, formValue]) => {\n if (madeUpdates) {\n this.snackbar.openSuccessSnack('AUXILIARY_DATA_CARD.SAVE.SUCESS');\n this.valuesChanged.emit(formValue);\n }\n },\n error: () => this.snackbar.openErrorSnack('AUXILIARY_DATA_CARD.SAVE.ERROR'),\n });\n }\n\n reload(): void {\n this.initialize();\n }\n\n ngOnDestroy(): void {\n this.destroyed$$.next();\n this.destroyed$$.unsubscribe();\n }\n}\n","@switch (loadingStatus$ | async) {\n @case (LoadingStatus.LOADING) {\n
\n
\n
\n
\n
\n }\n @case (LoadingStatus.OK) {\n @if (fieldHandlers$ | async; as fieldHandlers) {\n
\n
\n @for (handler of fieldHandlers; track handler) {\n
\n \n
\n }\n
\n
\n }\n }\n}\n","export * from './lib/auxiliary-data.module';\nexport * from './lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table-actions.module';\nexport * from './lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table-internal.component';\nexport * from './lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table.component';\nexport * from './lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table.data-model';\nexport * from './lib/auxiliary-data/auxiliary-data-accounts-table/auxiliary-data-accounts-table.service';\nexport * from './lib/auxiliary-data/auxiliary-data-card/auxiliary-data-card.component';\nexport * from './lib/auxiliary-data/auxiliary-data-dialog/auxiliary-data-dialog.component';\nexport * from './lib/auxiliary-data/auxiliary-data-fields/auxiliary-data-fields.component';\nexport * from './lib/auxiliary-data/auxiliary-data-panel/auxiliary-data-panel.component';\nexport * from './lib/auxiliary-data/auxiliary-data-table/auxiliary-data-table.component';\nexport {\n DropdownOption,\n FieldHandler,\n FieldHandlerValidator,\n} from './lib/auxiliary-data/auxiliary-data-table/auxiliary-data-table.interface';\nexport * from './lib/auxiliary-data/currency';\nexport * from './lib/auxiliary-data/field-data-service/field-data.service';\nexport { RendererSelectorComponent as RendererSelector } from './lib/auxiliary-data/renderer-selector.component';\nexport { chooseHandler } from './lib/auxiliary-data/renderer-utils';\nexport * from './lib/auxiliary-data/renderers';\nexport * from './lib/auxiliary-data/schema-service/schema-interface';\nexport * from './lib/auxiliary-data/schema-service/schema.service';\nexport * from './lib/auxiliary-data/auxiliary-data-fields-responsive/auxiliary-data-fields-responsive.component';\n"],"mappings":"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","names":["enumStringToValue$1","enumRef","value","enumStringToValue","CancellationRequestReason","CancellationRequestStatus","FieldMask","Contact","Business","CancellationRequest","AccountLatestSalesActivity","CreateContactRequest","CreateContactResponse","CreateRequest","DeleteContactRequest","GetAccountPrimaryContactRequest","GetAccountPrimaryContactResponse","GetContactByIDRequest","GetContactResponse","GetContactsForAccountsRequest","GetContactsForAccountsResponse","GetSalesActivityForAccountsRequest","GetSalesActivityForAccountsResponse","IsConfigValidRequest","IsConfigValidResponse","ListContactsForBusinessRequest","ListContactsForBusinessResponse","ListContactsForEmailRequest","ListContactsResponse","ListRequest","ListResponse","PagedRequestOptions","ResendUserWelcomeEmailRequest","ResendUserWelcomeEmailResponse","SearchBusinessesByContactEmailRequest","SearchRequest","SearchResponse","SetAccountPrimaryContactRequest","UpdateContactRequest","UpdateStatusRequest","environment","hostMap","HostService","BusinessApiService","CancellationRequestsApiService","ContactsApiService","CancellationRequestService","BusinessService","ContactsService","init_vendasta_sales_v2","__esmMin","init_core","init_operators","init_http","init_esm","_FieldMask","proto","m","kwargs","toReturn","_Contact","_Business","_CancellationRequest","_AccountLatestSalesActivity","_CreateContactRequest","_CreateContactResponse","_CreateRequest","_DeleteContactRequest","_GetAccountPrimaryContactRequest","_GetAccountPrimaryContactResponse","_GetContactByIDRequest","_GetContactResponse","_GetContactsForAccountsRequest","_GetContactsForAccountsResponse","_GetSalesActivityForAccountsRequest","_GetSalesActivityForAccountsResponse","_IsConfigValidRequest","_IsConfigValidResponse","_ListContactsForBusinessRequest","_ListContactsForBusinessResponse","_ListContactsForEmailRequest","_ListContactsResponse","_ListRequest","_ListResponse","_PagedRequestOptions","_ResendUserWelcomeEmailRequest","_ResendUserWelcomeEmailResponse","_SearchBusinessesByContactEmailRequest","_SearchRequest","_SearchResponse","_SetAccountPrimaryContactRequest","_UpdateContactRequest","_UpdateStatusRequest","t","ɵɵdefineInjectable","http","hostService","HttpHeaders","r","request","map","resp","__spreadProps","__spreadValues","ɵɵinject","HttpClient","svc","accountGroupId","partnerId","lineItemId","requestingUserId","reason","message","status","req","marketId","cancellationRequestId","cancellationRequestStatus","userId","partner","market","sort","direction","pageSize","catchError","err","throwError","contactEmailQuery","assignedUserId","accountId","contactId","mapTo","accountIds","b","of","partnerID","subjectID","resendRequest","response","marketID","accountIDs","getContactsRequest","accountGroupIds","contactAttributes","contact","updatedFields","updateRequest","deleteRequest","businessId","paths","listRequest","res","AccountGroupSchemaService","init_account_group_schema_service","__esmMin","constructor","schemaService","listFieldSchemas","partnerId","onlyArchived","cursor","pageSize","listAuxiliaryDataFieldSchema","pagingOptions","filters","createFieldSchema","schema","createAuxiliaryDataFieldSchema","fieldSchema","updateFieldSchema","changes","fieldMask","request","paths","updateAuxiliaryDataFieldSchema","getFieldSchema","id","getAuxiliaryDataFieldSchema","identifier","getMultiFieldSchema","ids","getMultiAuxiliaryDataFieldSchema","identifiers","archiveFieldSchema","archiveAuxiliaryDataFieldSchema","unarchiveFieldSchema","unarchiveAuxiliaryDataFieldSchema","ɵɵinject","AuxiliaryFieldSchemaApiService","factory","ɵfac","providedIn","_AccountGroupSchemaService","ProductSchemaService","init_product_schema_service","__esmMin","constructor","schemaService","listFieldSchemas","partnerId","onlyArchived","cursor","pageSize","listAuxiliaryDataFieldSchema","pagingOptions","filters","createFieldSchema","schema","createAuxiliaryDataFieldSchema","fieldSchema","updateFieldSchema","changes","fieldMask","updateAuxiliaryDataFieldSchema","paths","getFieldSchema","id","getAuxiliaryDataFieldSchema","identifier","getMultiFieldSchema","ids","getMultiAuxiliaryDataFieldSchema","identifiers","archiveFieldSchema","archiveAuxiliaryDataFieldSchema","unarchiveFieldSchema","unarchiveAuxiliaryDataFieldSchema","ɵɵinject","ProductAuxiliaryFieldSchemaApiService","factory","ɵfac","providedIn","_ProductSchemaService","SalesOrderSchemaService","init_sales_order_schema_service","__esmMin","constructor","schemaService","listFieldSchemas","partnerId","onlyArchived","cursor","pageSize","listAuxiliaryDataFieldSchema","pagingOptions","filters","createFieldSchema","schema","createAuxiliaryDataFieldSchema","fieldSchema","updateFieldSchema","changes","fieldMask","request","paths","updateAuxiliaryDataFieldSchema","getFieldSchema","id","getAuxiliaryDataFieldSchema","identifier","getMultiFieldSchema","ids","getMultiAuxiliaryDataFieldSchema","identifiers","archiveFieldSchema","archiveAuxiliaryDataFieldSchema","unarchiveFieldSchema","unarchiveAuxiliaryDataFieldSchema","ɵɵinject","SalesOrdersAuxiliaryFieldSchemaApiService","factory","ɵfac","providedIn","_SalesOrderSchemaService","TaskSchemaService","init_task_schema_service","__esmMin","constructor","schemaService","listFieldSchemas","partnerId","onlyArchived","cursor","pageSize","listAuxiliaryDataFieldSchema","pagingOptions","filters","createFieldSchema","schema","createAuxiliaryDataFieldSchema","fieldSchema","updateFieldSchema","changes","fieldMask","request","paths","updateAuxiliaryDataFieldSchema","getFieldSchema","id","getAuxiliaryDataFieldSchema","identifier","getMultiFieldSchema","ids","getMultiAuxiliaryDataFieldSchema","identifiers","archiveFieldSchema","archiveAuxiliaryDataFieldSchema","unarchiveFieldSchema","unarchiveAuxiliaryDataFieldSchema","ɵɵinject","TaskAuxiliaryFieldSchemaApiService","factory","ɵfac","providedIn","_TaskSchemaService","IamSchemaService","init_user_schema_service","__esmMin","constructor","schemaService","listFieldSchemas","partnerId","onlyArchived","cursor","pageSize","listUserAuxiliaryDataFieldSchema","createFieldSchema","schema","createUserAuxiliaryDataFieldSchema","updateFieldSchema","changes","fieldMask","updateUserAuxiliaryDataFieldSchema","paths","getFieldSchema","id","getUserAuxiliaryDataFieldSchema","fieldId","getMultiFieldSchema","ids","getMultiUserAuxiliaryDataFieldSchema","archiveFieldSchema","archiveUserAuxiliaryDataFieldSchema","unarchiveFieldSchema","unarchiveUserAuxiliaryDataFieldSchema","ɵɵinject","IAMService","factory","ɵfac","providedIn","_IamSchemaService","SchemaService","init_schema_service","__esmMin","constructor","accountGroupSchemaService","usersFieldSchemaService","productFieldSchemaService","salesOrderSchemaService","taskSchemaService","listFieldSchemas","objectType","partnerId","onlyArchived","cursor","pageSize","selectService","createFieldSchema","schema","updateFieldSchema","changes","fieldMask","getFieldSchema","id","getMultiFieldSchema","ids","archiveFieldSchema","unarchiveFieldSchema","Error","ɵɵinject","AccountGroupSchemaService","IamSchemaService","ProductSchemaService","SalesOrderSchemaService","TaskSchemaService","factory","ɵfac","providedIn","_SchemaService","AccountGroupService","init_account_group_data_service","__esmMin","init_operators","constructor","service","listData","request","listAuxiliaryData","upsertData","upsertAuxiliaryData","pipe","map","searchByAuxiliaryData","ɵɵinject","AuxiliaryFieldDataApiService","factory","ɵfac","providedIn","_AccountGroupService","UserService","init_user_data_service","__esmMin","init_operators","constructor","service","listData","request","listUserAuxiliaryData","auxiliaryDataObjectId","pagingOptions","upsertData","upsertUserAuxiliaryData","fieldDataUpsertOperations","pipe","map","ɵɵinject","IAMService","factory","ɵfac","providedIn","_UserService","ProductService","init_product_data_service","__esmMin","init_operators","constructor","service","listData","request","listAuxiliaryData","upsertData","upsertAuxiliaryData","pipe","map","ɵɵinject","ProductAuxiliaryFieldDataApiService","factory","ɵfac","providedIn","_ProductService","OrderService","init_order_data_service","__esmMin","init_operators","constructor","service","listData","request","listAuxiliaryData","salesOrderAuxiliaryDataObjectId","businessId","auxiliaryDataObjectId","objectId","split","orderId","pagingOptions","upsertData","upsertAuxiliaryData","fieldDataUpsertOperations","pipe","map","ɵɵinject","SalesOrdersAuxiliaryFieldDataApiService","factory","ɵfac","providedIn","_OrderService","TaskService","init_task_data_service","__esmMin","init_operators","constructor","service","listData","request","listAuxiliaryData","auxiliaryDataObjectId","partnerId","objectId","pagingOptions","upsertData","upsertAuxiliaryData","fieldDataUpsertOperations","pipe","map","ɵɵinject","TaskAuxiliaryFieldDataApiService","factory","ɵfac","providedIn","_TaskService","FieldDataService","init_field_data_service","__esmMin","init_esm","init_operators","constructor","accountService","userService","productService","orderService","taskService","listData","partnerId","objectType","objectId","paging","Error","request","auxiliaryDataObjectId","pagingOptions","selectService","upsertData","data","fieldDataUpsertOperations","searchByAuxiliaryData","filter","console","warn","of","hasCustomFields","auxiliaryDataObjectType","productId","cursor","pageSize","pipe","map","fields","objectSchema","JSON","parse","jsonSchema","Object","keys","properties","length","ɵɵinject","AccountGroupService","UserService","ProductService","OrderService","TaskService","factory","ɵfac","providedIn","_FieldDataService","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","label","control","value","ɵɵtextInterpolate","ɵɵpipeBind1","validator_r2","errorMessage","ɵɵelementContainerStart","ɵɵtemplate","IntegerRendererComponent_ng_template_1_ng_container_4_glxy_error_1_Template","ɵɵproperty","hasError","errorCode","IntegerRendererComponent_ng_template_1_glxy_label_1_Template","ɵɵelement","IntegerRendererComponent_ng_template_1_ng_container_4_Template","ɵɵpipeBind2","ɵɵpureFunction1","_c0","toLowerCase","validators","IntegerFieldHandler","IntegerRendererComponent","IntegerRendererComponentModule","init_integer","__esmMin","init_forms","init_common","init_input","init_uiowa_digit_only","init_ngx_translate_core","init_form_field","constructor","fieldId","name","description","readOnly","formControl","UntypedFormControl","setValidators","map","v","validatorFn","render","viewContainerRef","clear","component","createComponent","instance","hasModification","dirty","upsertOperation","fieldDataId","deleteValue","integer","selectors","decls","vars","consts","template","rf","ctx","IntegerRendererComponent_div_0_Template","IntegerRendererComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","formField_r3","_IntegerRendererComponent","CommonModule","MatInputModule","ReactiveFormsModule","DigitOnlyModule","TranslateModule","GalaxyFormFieldModule","_IntegerRendererComponentModule","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","label","control","value","ɵɵtextInterpolate","ɵɵpipeBind2","ɵɵpureFunction1","_c1","length","ɵɵpipeBind1","validator_r2","errorMessage","ɵɵelementContainerStart","ɵɵtemplate","TextRendererComponent_ng_template_1_ng_container_6_glxy_error_1_Template","ɵɵproperty","hasError","errorCode","TextRendererComponent_ng_template_1_glxy_label_1_Template","ɵɵelement","TextRendererComponent_ng_template_1_glxy_hint_5_Template","TextRendererComponent_ng_template_1_ng_container_6_Template","_c0","toLowerCase","textInput_r3","focused","validators","TextFieldHandler","TextRendererComponent","TextRendererComponentModule","init_text","__esmMin","init_forms","init_common","init_input","init_ngx_translate_core","init_form_field","constructor","fieldId","name","description","readOnly","formControl","UntypedFormControl","setValidators","map","v","validatorFn","hasModification","dirty","upsertOperation","fieldDataId","deleteValue","string","render","viewContainerRef","clear","component","createComponent","instance","selectors","decls","vars","consts","template","rf","ctx","TextRendererComponent_div_0_Template","TextRendererComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","formField_r4","_TextRendererComponent","CommonModule","MatInputModule","ReactiveFormsModule","TranslateModule","GalaxyFormFieldModule","_TextRendererComponentModule","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","label","control","value","ɵɵpipeBind2","ɵɵtextInterpolate","ɵɵpipeBind1","validator_r2","errorMessage","ɵɵelementContainerStart","ɵɵtemplate","DateRendererComponent_ng_template_1_ng_container_7_glxy_error_1_Template","ɵɵproperty","hasError","errorCode","DateRendererComponent_ng_template_1_glxy_label_1_Template","ɵɵelement","DateRendererComponent_ng_template_1_ng_container_7_Template","datepicker_r3","ɵɵpureFunction1","_c0","toLowerCase","validators","DateFieldHandler","MY_FORMATS","DateRendererComponent","DateRendererComponentModule","init_date","__esmMin","init_forms","init_core","init_material_moment_adapter","init_common","init_datepicker","init_ngx_translate_core","init_form_field","constructor","fieldId","name","description","readOnly","formControl","UntypedFormControl","setValidators","map","v","validatorFn","render","viewContainerRef","clear","component","createComponent","instance","hasModification","dirty","upsertOperation","fieldDataId","deleteValue","date","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","selectors","features","ɵɵProvidersFeature","provide","DateAdapter","useClass","MomentDateAdapter","MAT_DATE_FORMATS","useValue","decls","vars","consts","template","rf","ctx","DateRendererComponent_div_0_Template","DateRendererComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","formField_r4","_DateRendererComponent","CommonModule","ReactiveFormsModule","MatDatepickerModule","TranslateModule","GalaxyFormFieldModule","_DateRendererComponentModule","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","label","dropdownOptionMap","get","control","value","ɵɵtextInterpolate","ɵɵproperty","dropdownOption_r3","ɵɵpipeBind1","validator_r4","errorMessage","ɵɵelementContainerStart","ɵɵtemplate","DropdownRendererComponent_ng_template_1_ng_container_6_glxy_error_1_Template","hasError","errorCode","DropdownRendererComponent_ng_template_1_glxy_label_1_Template","ɵɵtwoWayListener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","i0","ɵɵtwoWayBindingSet","ɵɵresetView","DropdownRendererComponent_ng_template_1_mat_option_5_Template","DropdownRendererComponent_ng_template_1_ng_container_6_Template","ɵɵtwoWayProperty","dropdownOptions","validators","DropdownFieldHandler","DropdownRendererComponent","DropdownRenderComponentModule","init_dropdown","__esmMin","init_forms","init_common","init_select","init_ngx_translate_core","init_form_field","constructor","fieldId","name","readOnly","formControl","UntypedFormControl","setValidators","map","v","validatorFn","render","viewContainerRef","clear","component","createComponent","instance","hasModification","dirty","upsertOperation","fieldDataId","dropdownValue","Map","ngOnInit","currentValue","d","includes","invalidOption","push","forEach","set","setInvalidOptionValidator","invalidOptionValidator","invalid","addValidators","selectors","decls","vars","consts","template","rf","ctx","DropdownRendererComponent_div_0_Template","DropdownRendererComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","formField_r5","_DropdownRendererComponent","CommonModule","MatSelectModule","ReactiveFormsModule","TranslateModule","GalaxyFormFieldModule","_DropdownRenderComponentModule","calculateCurrencyDisplay","event","str","target","value","replace","num","parseInt","key","isNaN","maxValue","minValue","init_currency","__esmMin","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx_r0","label","readOnlyDisplay","ɵɵpipeBind1","validator_r3","errorMessage","ɵɵelementContainerStart","ɵɵtemplate","CurrencyRendererComponent_ng_template_1_ng_container_5_glxy_error_1_Template","ɵɵproperty","control","hasError","errorCode","ɵɵlistener","$event","ɵɵrestoreView","_r2","ɵɵnextContext","ɵɵresetView","key","CurrencyRendererComponent_ng_template_1_ng_container_5_Template","currencyCode","ɵɵpipeBind2","ɵɵpureFunction1","_c1","toLowerCase","validators","apiToGalaxy","noDecimalsJustPennies","import_autonumeric","CurrencyFieldHandler","CurrencyRendererComponent","CurrencyRendererComponentModule","init_currency","__esmMin","init_common","init_forms","init_input","init_ngx_translate_core","init_form_field","constructor","fieldId","name","value","readOnly","formControl","UntypedFormControl","parseInt","setValidators","map","v","validatorFn","render","viewContainerRef","clear","component","createComponent","instance","hasModification","dirty","upsertOperation","fieldDataId","deleteValue","currencyValue","maxValue","minValue","ngAfterViewInit","num","setInput","ngAfterContentInit","getReadOnlyDisplayName","event","calculateCurrencyDisplay","input","nativeElement","toFixed","setValue","markAsDirty","Number","isNaN","displayValue","formattedPrice","AutoNumeric","format","maximumValue","toString","minimumValue","selectors","viewQuery","rf","ctx","CurrencyRendererComponent_div_0_Template","CurrencyRendererComponent_ng_template_1_Template","ɵɵtemplateRefExtractor","formField_r4","_CurrencyRendererComponent","CommonModule","GalaxyFormFieldModule","MatInputModule","ReactiveFormsModule","TranslateModule","_CurrencyRendererComponentModule","init_renderers","__esmMin","init_integer","init_text","init_date","init_dropdown","init_currency","chooseHandler","fieldId","fieldSchema","fieldData","showLabel","validators","readOnly","type","format","label","title","TextFieldHandler","description","IntegerFieldHandler","DateFieldHandler","DropdownFieldHandler","dropdownOptions","CurrencyFieldHandler","currencyCode","console","warn","init_renderer_utils","__esmMin","init_renderers","LoadingStatus","SavingStatus","AuxiliaryFieldHandlerService","init_auxiliary_field_handler_service","__esmMin","init_esm","init_operators","init_renderer_utils","constructor","fieldDataService","schemaService","loadingStatus$$","ReplaySubject","loadingStatus$","asObservable","savingStatus$$","savingStatus$","init","partnerId","objectType","objectId","showLabel","readOnly","fieldHandlers$","buildFieldData$","pipe","map","handlers","filter","h","listData$","listData","pageSize","listSchemas$","listFieldSchemas","next","LOADING","combineLatest","take","catchError","err","ERROR","fullData","response","objectSchema","JSON","parse","jsonSchema","objectData","jsonData","fieldSchemas","fieldSchema","chooseHandler","fieldId","properties","tap","length","OK","EMPTY","shareReplay","refCount","bufferSize","saveChanges","of","SAVING","switchMap","fieldHandlers","handler","hasModification","upsertOperation","fieldDataUpsertOperations","upsertData","ɵɵinject","FieldDataService","SchemaService","factory","ɵfac","_AuxiliaryFieldHandlerService","RendererSelectorComponent","init_renderer_selector_component","__esmMin","constructor","viewContainerRef","ngOnInit","handler","render","ngOnChanges","ɵɵdirectiveInject","ViewContainerRef","selectors","inputs","features","ɵɵNgOnChangesFeature","decls","vars","template","rf","ctx","ɵɵelementContainer","_RendererSelectorComponent","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ɵɵpipeBind1","ɵɵlistener","ɵɵrestoreView","_r1","tooltip_r2","ɵɵreference","ɵɵresetView","toggle","ɵɵproperty","handler_r3","description","ɵɵtemplate","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_cell_4_mat_icon_2_Template","name","ɵɵelement","handler_r4","ctx_r4","auxiliaryDataAdminURL","ɵɵsanitizeUrl","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_header_cell_9_a_1_Template","disableManage","ɵɵelementContainerStart","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_header_cell_3_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_cell_4_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_header_cell_6_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_cell_7_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_header_cell_9_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_cell_10_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_header_row_11_Template","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_mat_row_12_Template","fieldHandlers_r6","trackByFn","Columns","Name","Value","Action","displayedColumns","AuxiliaryDataTableComponent_ng_container_0_mat_card_1_Template","loadingStatus$","LoadingStatus","OK","AuxiliaryDataTableComponent_glxy_empty_state_4_a_11_Template","ɵɵtextInterpolate","AuxiliaryDataTableComponent","init_auxiliary_data_table_component","__esmMin","init_operators","init_forms","init_auxiliary_field_handler_service","constructor","auxiliaryDataService","partnerId","objectId","formGroup","UntypedFormGroup","savingStatus$","ngOnInit","init","objectType","dataSource$","fieldHandlers$","pipe","tap","handlers","forEach","handler","setControl","fieldId","formControl","saveChanges","_","item","hasChanges","dirty","ɵɵdirectiveInject","AuxiliaryFieldHandlerService","selectors","inputs","decls","vars","consts","template","rf","ctx","AuxiliaryDataTableComponent_ng_container_0_Template","AuxiliaryDataTableComponent_ng_container_2_Template","AuxiliaryDataTableComponent_glxy_empty_state_4_Template","AuxiliaryDataTableComponent_glxy_empty_state_6_Template","LOADING","EMPTY","ERROR","_AuxiliaryDataTableComponent","en_devel_default","init_en_devel","__esmMin","init_auxiliary_data_card_component","__esmMin","init_auxiliary_data_panel_component","__esmMin","AuxiliaryDataModule","init_auxiliary_data_module","__esmMin","init_common","init_forms","init_button","init_card","init_datepicker","init_expansion","init_form_field","init_icon","init_input","init_progress_spinner","init_sort","init_table","init_tooltip","init_src","init_ngx_translate_core","init_button_loading_indicator","init_empty_state","init_galaxy_wrap","init_page","init_en_devel","init_auxiliary_field_handler_service","init_renderers","AuxiliaryFieldHandlerService","imports","CommonModule","ReactiveFormsModule","VaFormsModule","MatButtonModule","MatCardModule","MatIconModule","MatFormFieldModule","MatInputModule","MatTableModule","MatSortModule","MatDatepickerModule","MatTooltipModule","MatProgressSpinnerModule","VaTableModule","TranslateModule","GalaxyButtonLoadingIndicatorModule","LexiconModule","forChild","componentName","baseTranslation","en","GalaxyPageModule","GalaxyEmptyStateModule","MatExpansionModule","GalaxyWrapModule","DropdownRenderComponentModule","CurrencyRendererComponentModule","DateRendererComponentModule","IntegerRendererComponentModule","TextRendererComponentModule","_AuxiliaryDataModule","init_auxiliary_data_accounts_table_service","__esmMin","init_auxiliary_data_accounts_table_data_model","__esmMin","AuxDataAccountsActionInjectionToken","init_auxiliary_data_accounts_table_actions_module","__esmMin","init_core","InjectionToken","init_auxiliary_data_accounts_table_internal_component","__esmMin","init_auxiliary_data_accounts_table_component","__esmMin","init_auxiliary_data_dialog_component","__esmMin","init_auxiliary_data_fields_component","__esmMin","init_schema_interface","__esmMin","init_auxiliary_data_fields_responsive_component","__esmMin","init_src","__esmMin","init_auxiliary_data_module","init_auxiliary_data_accounts_table_actions_module","init_auxiliary_data_accounts_table_internal_component","init_auxiliary_data_accounts_table_component","init_auxiliary_data_accounts_table_data_model","init_auxiliary_data_accounts_table_service","init_auxiliary_data_card_component","init_auxiliary_data_dialog_component","init_auxiliary_data_fields_component","init_auxiliary_data_panel_component","init_auxiliary_data_table_component","init_currency","init_field_data_service","init_renderer_utils","init_renderers","init_schema_interface","init_schema_service","init_auxiliary_data_fields_responsive_component"],"x_google_ignoreList":[0]}