diff --git a/src/app/core/models/sage300/sage300-configuration/sage300-import-settings.model.ts b/src/app/core/models/sage300/sage300-configuration/sage300-import-settings.model.ts index 8aa2bd63d..2c44e4697 100644 --- a/src/app/core/models/sage300/sage300-configuration/sage300-import-settings.model.ts +++ b/src/app/core/models/sage300/sage300-configuration/sage300-import-settings.model.ts @@ -59,6 +59,7 @@ export class Sage300ImportSettingModel extends ImportSettingsModel { isDependentImportEnabled: new FormControl(importSettings?.dependent_field_settings?.is_import_enabled ? importSettings.dependent_field_settings.is_import_enabled : false), costCodes: new FormControl(importSettings?.dependent_field_settings?.cost_code_field_name ? this.generateDependentFieldValue(importSettings.dependent_field_settings.cost_code_field_name, importSettings.dependent_field_settings.cost_code_placeholder) : null), costCategory: new FormControl(importSettings?.dependent_field_settings?.cost_category_field_name ? this.generateDependentFieldValue(importSettings.dependent_field_settings.cost_category_field_name, importSettings.dependent_field_settings.cost_category_placeholder) : null), + addCommitmentDetails: new FormControl(importSettings?.import_settings?.add_commitment_details ?? false), dependentFieldImportToggle: new FormControl(true) }); } @@ -71,7 +72,7 @@ export class Sage300ImportSettingModel extends ImportSettingsModel { import_settings: { import_categories: importSettingsForm.get('importCategories')?.value, import_vendors_as_merchants: importSettingsForm.get('importVendorAsMerchant')?.value, - add_commitment_details: false + add_commitment_details: importSettingsForm.get('addCommitmentDetails')?.value }, mapping_settings: mappingSettings, dependent_field_settings: importSettingsForm.get('isDependentImportEnabled')?.value ? { diff --git a/src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.scss b/src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.scss index b001daa51..e69de29bb 100644 --- a/src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.scss +++ b/src/app/integrations/business-central/business-central-shared/business-central-export-settings/business-central-export-settings.component.scss @@ -1,3 +0,0 @@ -:host ::ng-deep .remove-padding app-configuration-select-field div { - @apply tw-pt-0 #{!important}; -} \ No newline at end of file diff --git a/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.html b/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.html index 7ff4b22c4..64bc3f949 100644 --- a/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.html +++ b/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-connector/sage300-onboarding-connector.component.html @@ -10,20 +10,20 @@
- +
- +
- +
diff --git a/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-landing/sage300-onboarding-landing.component.html b/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-landing/sage300-onboarding-landing.component.html index cb56b2432..bce80fdcd 100644 --- a/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-landing/sage300-onboarding-landing.component.html +++ b/src/app/integrations/sage300/sage300-onboarding/sage300-onboarding-landing/sage300-onboarding-landing.component.html @@ -3,6 +3,6 @@
- +
diff --git a/src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.html b/src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.html index 7077176b7..795e418e4 100644 --- a/src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.html +++ b/src/app/integrations/sage300/sage300-shared/sage300-import-settings/sage300-import-settings.component.html @@ -41,6 +41,7 @@

[accountingFieldOptions]="sage300Fields" [fyleFieldOptions]="fyleFields" [dependentImportFields]="dependentImportFields" + [redirectLink]="supportArticleLink" [dependentDestinationValue] = "'JOB'" (showWarningForDependentFields)="showWarningForDependentFields()"> diff --git a/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.html b/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.html index 7cec32e4a..1642f1d9c 100644 --- a/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.html +++ b/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.html @@ -1,90 +1,114 @@
-
-
{{appName}} Dimensions
-
{{brandingConfig.brandName}} Fields
-
- Import to {{brandingConfig.brandName}} - - -
-
-
-
-
-
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
-
-
-
- -
-
-

- Import {{ brandingConfig.brandId === 'co' ? (expenseField.value.destination_field | snakeCaseToSpaceCase | titlecase | lowercase) : (expenseField.value.destination_field | snakeCaseToSpaceCase | titlecase) }} from {{ appName }} - -

-
- The imported {{ brandingConfig.brandId === 'co' ? (expenseField.value.destination_field | snakeCaseToSpaceCase | titlecase | lowercase) : (expenseField.value.destination_field | snakeCaseToSpaceCase | titlecase) }} from {{ appName }} will be a selectable field while creating an expense. -
-
+
+
+
+
+
+
+

{{appName}} Dimensions

+
+ +
+
+
+
+
+ +
+
+
+
+

{{brandingConfig.brandName}} Fields

+
+
-
- +
+
+
+ Import to {{brandingConfig.brandName}} + + +
+
+ +
+
-
-
- - -
- {{ option.display_name | snakeCaseToSpaceCase | titlecase }} +
+
+
+
+
+
+
+
+
+
- - -
- - {{ item.display_name | snakeCaseToSpaceCase | titlecase }} - +
+

+ Import {{ expenseField.value.destination_field | snakeCaseToSpaceCase | titlecase }} from {{ appName }} +

+
+ The imported {{ expenseField.value.destination_field | snakeCaseToSpaceCase | titlecase }} from {{ appName }} will be a selectable field while creating an expense. +
- - -

- {{appName}} Fields should be unique -

+
+
+ +
+
-
- +
+
+
+

{{appName}} Dimensions

+
+
+ + +
+ {{ option.display_name | snakeCaseToSpaceCase | titlecase }} +
+
+ +
+ + {{ item.display_name | snakeCaseToSpaceCase | titlecase }} + +
+
+
+

+ {{appName}} Fields should be unique +

+
+
+
+
+

Dimensions

+
+
+ +
-
+
+
+

{{brandingConfig.brandName}} Fields

+
+ optionLabel="display_name" optionValue="attribute_type" [ngClass]="{'selectedItem': expenseField.value.source_field}" [dropdownIcon]="'pi pi-chevron-down ' + brandingConfig.brandId"> -
-
- +
+
+ +
+ {{ option.display_name }}
- {{ option.display_name }} -

@@ -92,59 +116,97 @@

- -

- {{brandingConfig.brandName}} Fields should be unique + +

+ {{brandingConfig.brandName}} Fields should be unique

- -
-
-
- -
-
-
-
- -
+
-

Dependent Field

- -
-
- +
+ Import to {{brandingConfig.brandName}} + + +
+
+ +
-
-

Fyle Field

- - -
-
- +
+
+
+
+ +
+
+
+
+ +
+
+

Dependent Field

+ +
+
+ +
+
+

Fyle Field

+ + +
+
+ +
+ {{ option.display_name }}
- {{ option.display_name }} +
+
+
+
+
+
+
- - +
+
+
+
+
-
-
-
-
- *{{brandingConfig.brandName}} and {{appName}} Fields should be unique. -
-
-
-
- -
+
+
+ *{{brandingConfig.brandName}} and {{appName}} Fields should be unique. +
+
+
+ +
+
\ No newline at end of file diff --git a/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.scss b/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.scss index 6d577f387..79002340c 100644 --- a/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.scss +++ b/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.scss @@ -1,127 +1,134 @@ - :host ::ng-deep .p-button { - @apply tw-w-fit #{!important}; - } - - .save-btn { - @apply tw-border tw-bg-mandatory-field-color tw-rounded-4-px #{!important}; - } - - .cancel-btn { - @apply tw-py-10-px tw-px-16-px tw-border tw-border-box-color tw-bg-white tw-rounded-4-px tw-text-slightly-normal-text-color tw-mr-16-px #{!important}; - } - - :host ::ng-deep .p-dropdown { - // transform: scale(0.9); - } - - .form-input-disabled { - @apply tw-px-12-px tw-pt-0 tw-pb-14-px tw-bg-input-read-only-bg tw-border tw-border-input-read-only-border tw-rounded-8-px ; - } - - .label-content { - @apply tw-bg-input-read-only-bg tw-border tw-border-input-read-only-border tw-rounded-4-px tw-h-100-px ; - } - - .name-text { - @apply tw-pl-12-px tw-pt-0 tw-pr-8-px tw-pb-16-px ; - } - - .form-field { - @apply tw-pl-8-px tw-py-16-px tw-pr-22-px ; - } - - .form-input { - @apply tw-px-12-px tw-pt-0 tw-pb-14-px tw-bg-white tw-border tw-border-box-color tw-rounded-8-px ; - } - - .container { - @apply tw-flex tw-justify-center ; - } - - .sub-text { - @apply tw-rounded-8-px tw-border tw-border-border-tertiary tw-bg-configuration-bg tw-p-24-px tw-items-start tw-flex-col tw-gap-4; - } - - .sub-text-note { - @apply tw-flex tw-bg-info-section tw-p-16-px tw-items-start tw-self-stretch tw-text-14-px tw-font-400 tw-text-text-muted tw-not-italic - } - - .fields-header { - @apply tw-flex ; - } - - .fields-header-text { - @apply tw-font-500 tw-leading-16-px ; - } - - .add-button-container { - @apply tw-flex tw-items-center tw-pt-7 tw-pl-50-px ; - } - - .add-row-text { - @apply tw-cursor-pointer tw-text-mandatory-field-color ; /* Changes the cursor to a hand when hovering */ - } - - .delete-button { - @apply tw-cursor-pointer ; - } - - .custom-option { - @apply tw-flex tw-text-mandatory-field-color ; - } - - .icon-align { - @apply tw-ml-0 tw-mr-6-px tw-align-middle ; - } +:host ::ng-deep .p-button { + @apply tw-w-fit #{!important}; +} + +.save-btn { + @apply tw-border tw-bg-mandatory-field-color tw-rounded-4-px #{!important}; +} + +.cancel-btn { + @apply tw-py-10-px tw-px-16-px tw-border tw-border-box-color tw-bg-white tw-rounded-4-px tw-text-slightly-normal-text-color tw-mr-16-px #{!important}; +} + +:host ::ng-deep .p-dropdown { + transform: scale(0.9); +} + +.form-input-disabled { + @apply tw-px-12-px tw-pt-0 tw-pb-14-px tw-bg-disabled-bg-color tw-border tw-border-box-color tw-rounded-8-px ; +} + +.label-content { + @apply tw-bg-disabled-bg-color tw-border tw-border-box-color tw-rounded-4-px tw-h-100-px ; +} + +.name-text { + @apply tw-pl-12-px tw-pt-0 tw-pr-8-px tw-pb-16-px ; +} + +.form-field { + @apply tw-pl-8-px tw-py-16-px tw-pr-22-px ; +} + +.form-input { + @apply tw-px-12-px tw-pt-0 tw-pb-14-px tw-bg-white tw-border tw-border-box-color tw-rounded-8-px ; +} + +.container { + @apply tw-flex tw-justify-center ; +} + +.sub-text { + @apply tw-rounded-8-px tw-border tw-border-separator tw-bg-configuration-bg tw-p-24-px tw-items-start tw-flex-col tw-gap-4; +} + +.sub-text-note { + @apply tw-flex tw-bg-info-section tw-p-16-px tw-items-start tw-self-stretch tw-text-14-px tw-font-400 tw-text-faded-text-color tw-not-italic +} + +.fields-header { + @apply tw-flex ; +} + +.fields-header-text { + @apply tw-font-500 tw-leading-16-px ; +} - :host ::ng-deep input { - @apply tw-text-14-px #{!important}; - } +:host ::ng-deep .p-inputswitch.p-inputswitch-checked .p-inputswitch-slider::after { + @apply tw-content-yes tw-flex tw-justify-center tw-items-center tw-absolute tw-text-12-px tw-text-white tw-font-500 tw-top-0 tw-left-2 #{!important}; +} + +:host ::ng-deep .p-inputswitch:not(.p-inputswitch-checked) .p-inputswitch-slider::after { + @apply tw-content-no tw-flex tw-justify-center tw-items-center tw-absolute tw-text-12-px tw-text-white tw-font-500 tw-left-6 tw-top-0 #{!important}; +} - :host ::ng-deep .selectedItem .p-dropdown-trigger, :host ::ng-deep .selectedAccItem .p-dropdown-trigger{ - @apply tw-hidden #{!important}; - } +.add-button-container { + @apply tw-flex tw-items-center tw-pt-7 tw-pl-20-px; +} + +.add-row-text { + @apply tw-cursor-pointer tw-text-mandatory-field-color ; /* Changes the cursor to a hand when hovering */ +} + +.delete-button { + @apply tw-cursor-pointer ; +} - :host ::ng-deep .selectedAccItem .p-dropdown.p-disabled { - @apply tw-bg-input-read-only-bg tw-opacity-100 tw-border tw-border-input-read-only-border #{!important} - } +.custom-option { + @apply tw-flex tw-text-mandatory-field-color ; +} - :host ::ng-deep .selectedAccItem .p-dropdown.p-disabled .p-dropdown-label { - @apply tw-text-input-read-only-text #{!important}; - } +.icon-align { + @apply tw-ml-0 tw-mr-6-px tw-align-middle ; +} - .error-box { - @apply tw-bg-alert-toast tw-border tw-border-alert-toast tw-rounded-4-px ; - } +:host ::ng-deep input { + @apply tw-text-14-px #{!important}; +} +:host ::ng-deep .selectedItem .p-dropdown-trigger, :host ::ng-deep .selectedAccItem .p-dropdown-trigger{ + @apply tw-hidden #{!important}; +} + +:host ::ng-deep .selectedAccItem .p-dropdown.p-disabled { + @apply tw-bg-disabled-bg-color tw-border tw-border-box-color #{!important} +} + +.error-box { + @apply tw-bg-alert-toast tw-border tw-border-alert-toast tw-rounded-4-px ; +} + +.inputbox input, :host ::ng-deep .inputbox .p-dropdown { +@apply xl:tw-w-300-px lg:tw-w-220-px #{!important}; +} .container { - @apply tw-relative tw-cursor-pointer tw-select-none tw-block #{!important}; +@apply tw-relative tw-cursor-pointer tw-select-none tw-block #{!important}; } /* Hide the browser's default checkbox */ .container input { - @apply tw-absolute tw-cursor-pointer tw-h-0 tw-w-0 +@apply tw-absolute tw-opacity-0 tw-cursor-pointer tw-h-0 tw-w-0 } .checkmark { - @apply tw-absolute tw-top-0 tw-left-0 tw-h-18-px tw-w-18-px tw-bg-white tw-rounded-md tw-border tw-border-box-color +@apply tw-absolute tw-top-0 tw-left-0 tw-h-18-px tw-w-18-px tw-bg-white tw-rounded-md tw-border tw-border-box-color } .container input:checked ~ .checkmark { - @apply tw-bg-faded-text-color +@apply tw-bg-faded-text-color } /* Create the checkmark/indicator (hidden when not checked) */ .checkmark:after { - @apply tw-content-empty tw-absolute tw-hidden +@apply tw-content-empty tw-absolute tw-hidden } /* Show the checkmark when checked */ .container input:checked ~ .checkmark:after { - @apply tw-block ; +@apply tw-block ; } /* Style the checkmark/indicator */ .container .checkmark:after { - @apply tw-left-[5px] tw-top-0.5 tw-w-6-px tw-h-10-px tw-border-t-0-px tw-border-r-3-px tw-border-b-3-px tw-border-l-0-px tw-border-white tw-rotate-45; +@apply tw-left-[5px] tw-top-0.5 tw-w-6-px tw-h-10-px tw-border-t-0-px tw-border-r-3-px tw-border-b-3-px tw-border-l-0-px tw-border-white tw-rotate-45; } \ No newline at end of file diff --git a/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.ts b/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.ts index 09fa1016c..5f5ced1f8 100644 --- a/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.ts +++ b/src/app/shared/components/configuration/configuration-import-field/configuration-import-field.component.ts @@ -3,10 +3,11 @@ import { AbstractControl, FormArray, FormGroup } from '@angular/forms'; import { brandingConfig, brandingFeatureConfig } from 'src/app/branding/branding-config'; import { ImportDefaultField, ImportSettingMappingRow, ImportSettingsCustomFieldRow, ImportSettingsModel } from 'src/app/core/models/common/import-settings.model'; import { FyleField, IntegrationField } from 'src/app/core/models/db/mapping.model'; -import { MappingSourceField } from 'src/app/core/models/enum/enum.model'; +import { AppName, MappingSourceField } from 'src/app/core/models/enum/enum.model'; import { Sage300DefaultFields, Sage300DependentImportFields, Sage300ImportSettingModel } from 'src/app/core/models/sage300/sage300-configuration/sage300-import-settings.model'; import { MappingSetting } from 'src/app/core/models/intacct/intacct-configuration/import-settings.model'; import { HelperService } from 'src/app/core/services/common/helper.service'; +import { WindowService } from 'src/app/core/services/common/window.service'; @Component({ selector: 'app-configuration-import-field', @@ -37,26 +38,32 @@ export class ConfigurationImportFieldComponent implements OnInit { @Input() isCloneSettingView: boolean; + @Input() redirectLink: string; + @Output() showWarningForDependentFields = new EventEmitter(); showDependentFieldWarning: boolean; showAddButton: any; + AppName = AppName; + readonly brandingConfig = brandingConfig; readonly brandingFeatureConfig = brandingFeatureConfig; readonly isAsterikAllowed: boolean = brandingFeatureConfig.isAsterikAllowed; - constructor() { } + constructor( + public windowService: WindowService + ) { } get expenseFieldsGetter() { return this.form.get('expenseFields') as FormArray; } showOrHideAddButton() { - if (this.form.controls.expenseFields.value.length === this.accountingFieldOptions.length) { + if (this.form.controls.expenseFields.value.length === this.accountingFieldOptions?.length) { return false; } return true; diff --git a/src/app/shared/components/configuration/configuration-select-field/configuration-select-field.component.html b/src/app/shared/components/configuration/configuration-select-field/configuration-select-field.component.html index 1767df138..9d40ac62c 100644 --- a/src/app/shared/components/configuration/configuration-select-field/configuration-select-field.component.html +++ b/src/app/shared/components/configuration/configuration-select-field/configuration-select-field.component.html @@ -142,12 +142,10 @@
-
- - {{ item.value }} - - -
+

+ {{ item.value }} +

+
diff --git a/src/app/shared/components/configuration/configuration-step-footer/configuration-step-footer.component.html b/src/app/shared/components/configuration/configuration-step-footer/configuration-step-footer.component.html index d4b2d1177..c0d25eeab 100644 --- a/src/app/shared/components/configuration/configuration-step-footer/configuration-step-footer.component.html +++ b/src/app/shared/components/configuration/configuration-step-footer/configuration-step-footer.component.html @@ -25,7 +25,7 @@
diff --git a/src/app/shared/components/export-log/export-log-table/export-log-table.component.html b/src/app/shared/components/export-log/export-log-table/export-log-table.component.html index a011694aa..4e4e09bae 100644 --- a/src/app/shared/components/export-log/export-log-table/export-log-table.component.html +++ b/src/app/shared/components/export-log/export-log-table/export-log-table.component.html @@ -6,7 +6,7 @@ {{brandingContent.tableHeaders.expenseType}} Reference ID {{brandingContent.tableHeaders.exportedAs}} - Link to {{appName}} + Link to {{appName}} Link to {{ brandingConfig.brandName }} @@ -40,7 +40,7 @@ {{brandingConfig.brandId === 'co' ? (rowData.exportedAs | snakeCaseToSpaceCase | sentenceCase) : (rowData.exportedAs | snakeCaseToSpaceCase | titlecase)}} - +