@posiwise/smart-crm 0.0.74 → 0.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -481,11 +481,11 @@ class SmartCrmCompanyDetailsComponent extends AppBaseComponent {
481
481
  super.ngOnDestroy();
482
482
  }
483
483
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmCompanyDetailsComponent, deps: [{ token: i0.Injector }, { token: i2.SubscriptionService }, { token: i1.CrmService }, { token: i2.CommonService }, { token: i2.GeoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
484
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmCompanyDetailsComponent, isStandalone: false, selector: "pw-company-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.AccountMessage.Account' | transloco }}:\n {{ data?.name ? data?.name : ('Label.AddNew' | transloco) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Name' | transloco\"\n name=\"name\"\n controlId=\"crm-account-name\"\n [errorMsg]=\"'User.Account.Validation.Name' | transloco\">\n <input type=\"text\"\n id=\"crm-account-name\"\n class=\"form-control\"\n formControlName=\"name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-account-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-account-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-account-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-account-details-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-account-tel\"\n [errorMsg]=\"'Crm.AccountMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-account-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\"\n [class.d-none]=\"!hasAccess\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-owner-label\">{{ 'Crm.AccountMessage.Owner' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete formControlName=\"owner_id\"\n [attr.aria-labelledby]=\"'crm-account-details-owner-label'\"\n [suggestions]=\"filteredOwners\"\n (completeMethod)=\"onSearchOwner($event)\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Owner\"\n [dropdown]=\"true\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.CompanyUrl' | transloco\"\n name=\"company_url\"\n controlId=\"crm-account-company_url\">\n <input type=\"url\"\n id=\"crm-account-company_url\"\n class=\"form-control\"\n formControlName=\"company_url\"\n autocomplete=\"url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationTypes$ | async; as types) {\n <pw-input-container [label]=\"'Organization.OrganizationType' | transloco\"\n name=\"organization_type_id\"\n controlId=\"crm-account-organization_type_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_type_id-label'\"\n [options]=\"types['organization_types']\"\n formControlName=\"organization_type_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_type_id'].errors }\"\n [placeholder]=\"'Select Organization Type'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationIndustries$ | async; as industries) {\n <pw-input-container [label]=\"'Organization.OrganizationIndustry' | transloco\"\n name=\"organization_industry_id\"\n controlId=\"crm-account-organization_industry_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_industry_id-label'\"\n [options]=\"industries['organization_industries']\"\n formControlName=\"organization_industry_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_industry_id'].errors }\"\n [placeholder]=\"'Select Organization Industry'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationSizes$ | async; as sizes) {\n <pw-input-container [label]=\"'Crm.AccountMessage.Size' | transloco\"\n name=\"organization_size_id\"\n controlId=\"crm-account-organization_size_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_size_id-label'\"\n [options]=\"sizes['organization_sizes']\"\n formControlName=\"organization_size_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_size_id'].errors }\"\n [placeholder]=\"'Select Organization Size'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Status' | transloco\"\n name=\"status\"\n controlId=\"crm-account-status\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-status-label'\"\n [options]=\"status\"\n formControlName=\"status\"\n [ngClass]=\"{ 'is-invalid': submitted && f['status'].errors }\"\n [placeholder]=\"'Select Status'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Priority' | transloco\"\n name=\"priority\"\n controlId=\"crm-account-priority\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-priority-label'\"\n [options]=\"priority\"\n formControlName=\"priority\"\n [ngClass]=\"{ 'is-invalid': submitted && f['priority'].errors }\"\n [placeholder]=\"'Select Priority'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-account-crm_source_id\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-crm_source_id-label'\"\n [options]=\"source\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-12 mt-2\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-account-description\">\n <textarea rows=\"5\"\n id=\"crm-account-description\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.user-info .label{color:#777;font-size:14px;text-transform:capitalize}.user-info .user-value{border:0;border-bottom:1px solid rgb(119,119,119)}.user-info .user-value:focus{box-shadow:none}.user-info .user-value.is-invalid{border-color:#ff586b}.control-btns{display:none}::ng-deep .p-overlay{width:100%!important;min-width:100%!important;max-width:100%!important;left:0!important}::ng-deep .p-autocomplete-items li{white-space:nowrap!important;overflow:auto!important;text-overflow:ellipsis!important}::ng-deep .p-autocomplete-items li:hover{text-overflow:clip!important}.name-block{width:85%}.comment-field{border:0;border-bottom:1px solid rgb(242,242,242);color:#1769e1;display:none;font-size:15px;min-height:100px;padding:2px 5px!important}.comment-field:focus{border:1px solid rgb(23,105,225)!important;border-bottom:0;box-shadow:none}p{max-width:85%;white-space:pre-wrap}.auto-complete{display:none;margin-top:10px}.show-controls .comment-field,.show-controls .auto-complete,.show-controls .control-btns{display:block}.show-controls p,.show-controls .edit-btn,.show-controls .action-owner{display:none}select{appearance:none}textarea{resize:none}.clear-both{clear:both}.isDisabled input[type=text],.isDisabled input,.isDisabled textarea,.isDisabled p-dropdown,.isDisabled select{pointer-events:none}.isDisabled select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important}.timeline-card.card{min-height:auto}@media(max-width:768px){.completed-toggle{padding-top:10px}}.when-btn:focus{border:0;box-shadow:none}.no-actions{clear:both}.timeline-container{height:700px;overflow-y:scroll}.action-btn.active{color:#fff!important;background-color:var(--first)}.form-action-buttons{margin-bottom:14px;margin-top:15px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
484
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmCompanyDetailsComponent, isStandalone: false, selector: "pw-company-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.AccountMessage.Account' | transloco }}:\n {{ data?.name ? data?.name : ('Label.AddNew' | transloco) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Name' | transloco\"\n name=\"name\"\n controlId=\"crm-account-name\"\n [errorMsg]=\"'User.Account.Validation.Name' | transloco\">\n <input type=\"text\"\n id=\"crm-account-name\"\n class=\"form-control\"\n formControlName=\"name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-account-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-account-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-account-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-account-details-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-account-tel\"\n [errorMsg]=\"'Crm.AccountMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-account-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\"\n [class.d-none]=\"!hasAccess\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-owner-label\">{{ 'Crm.AccountMessage.Owner' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete formControlName=\"owner_id\"\n [attr.aria-labelledby]=\"'crm-account-details-owner-label'\"\n [suggestions]=\"filteredOwners\"\n (completeMethod)=\"onSearchOwner($event)\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Owner\"\n [dropdown]=\"true\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.CompanyUrl' | transloco\"\n name=\"company_url\"\n controlId=\"crm-account-company_url\">\n <input type=\"url\"\n id=\"crm-account-company_url\"\n class=\"form-control\"\n formControlName=\"company_url\"\n autocomplete=\"url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationTypes$ | async; as types) {\n <pw-input-container [label]=\"'Organization.OrganizationType' | transloco\"\n name=\"organization_type_id\"\n controlId=\"crm-account-organization_type_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_type_id-label'\"\n [options]=\"types['organization_types']\"\n formControlName=\"organization_type_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_type_id'].errors }\"\n [placeholder]=\"'Select Organization Type'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationIndustries$ | async; as industries) {\n <pw-input-container [label]=\"'Organization.OrganizationIndustry' | transloco\"\n name=\"organization_industry_id\"\n controlId=\"crm-account-organization_industry_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_industry_id-label'\"\n [options]=\"industries['organization_industries']\"\n formControlName=\"organization_industry_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_industry_id'].errors }\"\n [placeholder]=\"'Select Organization Industry'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationSizes$ | async; as sizes) {\n <pw-input-container [label]=\"'Crm.AccountMessage.Size' | transloco\"\n name=\"organization_size_id\"\n controlId=\"crm-account-organization_size_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_size_id-label'\"\n [options]=\"sizes['organization_sizes']\"\n formControlName=\"organization_size_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_size_id'].errors }\"\n [placeholder]=\"'Select Organization Size'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Status' | transloco\"\n name=\"status\"\n controlId=\"crm-account-status\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-status-label'\"\n [options]=\"status\"\n formControlName=\"status\"\n [ngClass]=\"{ 'is-invalid': submitted && f['status'].errors }\"\n [placeholder]=\"'Select Status'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Priority' | transloco\"\n name=\"priority\"\n controlId=\"crm-account-priority\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-priority-label'\"\n [options]=\"priority\"\n formControlName=\"priority\"\n [ngClass]=\"{ 'is-invalid': submitted && f['priority'].errors }\"\n [placeholder]=\"'Select Priority'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-account-crm_source_id\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-crm_source_id-label'\"\n [options]=\"source\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-12 mt-2\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-account-description\">\n <textarea rows=\"5\"\n id=\"crm-account-description\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.user-info .label{color:#777;font-size:14px;text-transform:capitalize}.user-info .user-value{border:0;border-bottom:1px solid rgb(119,119,119)}.user-info .user-value:focus{box-shadow:none}.user-info .user-value.is-invalid{border-color:#ff586b}.control-btns{display:none}::ng-deep .p-overlay{width:100%!important;min-width:100%!important;max-width:100%!important;left:0!important}::ng-deep .p-autocomplete-items li{white-space:nowrap!important;overflow:auto!important;text-overflow:ellipsis!important}::ng-deep .p-autocomplete-items li:hover{text-overflow:clip!important}.name-block{width:85%}.comment-field{border:0;border-bottom:1px solid rgb(242,242,242);color:#1769e1;display:none;font-size:15px;min-height:100px;padding:2px 5px!important}.comment-field:focus{border:1px solid rgb(23,105,225)!important;border-bottom:0;box-shadow:none}p{max-width:85%;white-space:pre-wrap}.auto-complete{display:none;margin-top:10px}.show-controls .comment-field,.show-controls .auto-complete,.show-controls .control-btns{display:block}.show-controls p,.show-controls .edit-btn,.show-controls .action-owner{display:none}select{appearance:none}textarea{resize:none}.clear-both{clear:both}.isDisabled input[type=text],.isDisabled input,.isDisabled textarea,.isDisabled p-dropdown,.isDisabled select{pointer-events:none}.isDisabled select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important}.timeline-card.card{min-height:auto}@media(max-width:768px){.completed-toggle{padding-top:10px}}.when-btn:focus{border:0;box-shadow:none}.no-actions{clear:both}.timeline-container{height:700px;overflow-y:scroll}.action-btn.active{color:#fff!important;background-color:var(--first)}.form-action-buttons{margin-bottom:14px;margin-top:15px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
485
485
  }
486
486
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmCompanyDetailsComponent, decorators: [{
487
487
  type: Component,
488
- args: [{ selector: 'pw-company-details', standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.AccountMessage.Account' | transloco }}:\n {{ data?.name ? data?.name : ('Label.AddNew' | transloco) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Name' | transloco\"\n name=\"name\"\n controlId=\"crm-account-name\"\n [errorMsg]=\"'User.Account.Validation.Name' | transloco\">\n <input type=\"text\"\n id=\"crm-account-name\"\n class=\"form-control\"\n formControlName=\"name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-account-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-account-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-account-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-account-details-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-account-tel\"\n [errorMsg]=\"'Crm.AccountMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-account-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\"\n [class.d-none]=\"!hasAccess\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-owner-label\">{{ 'Crm.AccountMessage.Owner' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete formControlName=\"owner_id\"\n [attr.aria-labelledby]=\"'crm-account-details-owner-label'\"\n [suggestions]=\"filteredOwners\"\n (completeMethod)=\"onSearchOwner($event)\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Owner\"\n [dropdown]=\"true\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.CompanyUrl' | transloco\"\n name=\"company_url\"\n controlId=\"crm-account-company_url\">\n <input type=\"url\"\n id=\"crm-account-company_url\"\n class=\"form-control\"\n formControlName=\"company_url\"\n autocomplete=\"url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationTypes$ | async; as types) {\n <pw-input-container [label]=\"'Organization.OrganizationType' | transloco\"\n name=\"organization_type_id\"\n controlId=\"crm-account-organization_type_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_type_id-label'\"\n [options]=\"types['organization_types']\"\n formControlName=\"organization_type_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_type_id'].errors }\"\n [placeholder]=\"'Select Organization Type'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationIndustries$ | async; as industries) {\n <pw-input-container [label]=\"'Organization.OrganizationIndustry' | transloco\"\n name=\"organization_industry_id\"\n controlId=\"crm-account-organization_industry_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_industry_id-label'\"\n [options]=\"industries['organization_industries']\"\n formControlName=\"organization_industry_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_industry_id'].errors }\"\n [placeholder]=\"'Select Organization Industry'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationSizes$ | async; as sizes) {\n <pw-input-container [label]=\"'Crm.AccountMessage.Size' | transloco\"\n name=\"organization_size_id\"\n controlId=\"crm-account-organization_size_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_size_id-label'\"\n [options]=\"sizes['organization_sizes']\"\n formControlName=\"organization_size_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_size_id'].errors }\"\n [placeholder]=\"'Select Organization Size'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Status' | transloco\"\n name=\"status\"\n controlId=\"crm-account-status\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-status-label'\"\n [options]=\"status\"\n formControlName=\"status\"\n [ngClass]=\"{ 'is-invalid': submitted && f['status'].errors }\"\n [placeholder]=\"'Select Status'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Priority' | transloco\"\n name=\"priority\"\n controlId=\"crm-account-priority\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-priority-label'\"\n [options]=\"priority\"\n formControlName=\"priority\"\n [ngClass]=\"{ 'is-invalid': submitted && f['priority'].errors }\"\n [placeholder]=\"'Select Priority'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-account-crm_source_id\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-crm_source_id-label'\"\n [options]=\"source\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-12 mt-2\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-account-description\">\n <textarea rows=\"5\"\n id=\"crm-account-description\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.user-info .label{color:#777;font-size:14px;text-transform:capitalize}.user-info .user-value{border:0;border-bottom:1px solid rgb(119,119,119)}.user-info .user-value:focus{box-shadow:none}.user-info .user-value.is-invalid{border-color:#ff586b}.control-btns{display:none}::ng-deep .p-overlay{width:100%!important;min-width:100%!important;max-width:100%!important;left:0!important}::ng-deep .p-autocomplete-items li{white-space:nowrap!important;overflow:auto!important;text-overflow:ellipsis!important}::ng-deep .p-autocomplete-items li:hover{text-overflow:clip!important}.name-block{width:85%}.comment-field{border:0;border-bottom:1px solid rgb(242,242,242);color:#1769e1;display:none;font-size:15px;min-height:100px;padding:2px 5px!important}.comment-field:focus{border:1px solid rgb(23,105,225)!important;border-bottom:0;box-shadow:none}p{max-width:85%;white-space:pre-wrap}.auto-complete{display:none;margin-top:10px}.show-controls .comment-field,.show-controls .auto-complete,.show-controls .control-btns{display:block}.show-controls p,.show-controls .edit-btn,.show-controls .action-owner{display:none}select{appearance:none}textarea{resize:none}.clear-both{clear:both}.isDisabled input[type=text],.isDisabled input,.isDisabled textarea,.isDisabled p-dropdown,.isDisabled select{pointer-events:none}.isDisabled select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important}.timeline-card.card{min-height:auto}@media(max-width:768px){.completed-toggle{padding-top:10px}}.when-btn:focus{border:0;box-shadow:none}.no-actions{clear:both}.timeline-container{height:700px;overflow-y:scroll}.action-btn.active{color:#fff!important;background-color:var(--first)}.form-action-buttons{margin-bottom:14px;margin-top:15px}\n"] }]
488
+ args: [{ selector: 'pw-company-details', standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.AccountMessage.Account' | transloco }}:\n {{ data?.name ? data?.name : ('Label.AddNew' | transloco) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Name' | transloco\"\n name=\"name\"\n controlId=\"crm-account-name\"\n [errorMsg]=\"'User.Account.Validation.Name' | transloco\">\n <input type=\"text\"\n id=\"crm-account-name\"\n class=\"form-control\"\n formControlName=\"name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-account-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-account-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-account-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-account-details-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-account-tel\"\n [errorMsg]=\"'Crm.AccountMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-account-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\"\n [class.d-none]=\"!hasAccess\">\n <span class=\"pw-label-style mb-2\" id=\"crm-account-details-owner-label\">{{ 'Crm.AccountMessage.Owner' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete formControlName=\"owner_id\"\n [attr.aria-labelledby]=\"'crm-account-details-owner-label'\"\n [suggestions]=\"filteredOwners\"\n (completeMethod)=\"onSearchOwner($event)\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Owner\"\n [dropdown]=\"true\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.CompanyUrl' | transloco\"\n name=\"company_url\"\n controlId=\"crm-account-company_url\">\n <input type=\"url\"\n id=\"crm-account-company_url\"\n class=\"form-control\"\n formControlName=\"company_url\"\n autocomplete=\"url\"\n [ngClass]=\"{ 'is-invalid': submitted && f['company_url'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationTypes$ | async; as types) {\n <pw-input-container [label]=\"'Organization.OrganizationType' | transloco\"\n name=\"organization_type_id\"\n controlId=\"crm-account-organization_type_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_type_id-label'\"\n [options]=\"types['organization_types']\"\n formControlName=\"organization_type_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_type_id'].errors }\"\n [placeholder]=\"'Select Organization Type'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationIndustries$ | async; as industries) {\n <pw-input-container [label]=\"'Organization.OrganizationIndustry' | transloco\"\n name=\"organization_industry_id\"\n controlId=\"crm-account-organization_industry_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_industry_id-label'\"\n [options]=\"industries['organization_industries']\"\n formControlName=\"organization_industry_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_industry_id'].errors }\"\n [placeholder]=\"'Select Organization Industry'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (organizationSizes$ | async; as sizes) {\n <pw-input-container [label]=\"'Crm.AccountMessage.Size' | transloco\"\n name=\"organization_size_id\"\n controlId=\"crm-account-organization_size_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-account-organization_size_id-label'\"\n [options]=\"sizes['organization_sizes']\"\n formControlName=\"organization_size_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['organization_size_id'].errors }\"\n [placeholder]=\"'Select Organization Size'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Status' | transloco\"\n name=\"status\"\n controlId=\"crm-account-status\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-status-label'\"\n [options]=\"status\"\n formControlName=\"status\"\n [ngClass]=\"{ 'is-invalid': submitted && f['status'].errors }\"\n [placeholder]=\"'Select Status'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Priority' | transloco\"\n name=\"priority\"\n controlId=\"crm-account-priority\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-priority-label'\"\n [options]=\"priority\"\n formControlName=\"priority\"\n [ngClass]=\"{ 'is-invalid': submitted && f['priority'].errors }\"\n [placeholder]=\"'Select Priority'\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-account-crm_source_id\"\n [useAriaLabelledbyOnly]=\"true\">\n <p-select\n [attr.aria-labelledby]=\"'crm-account-crm_source_id-label'\"\n [options]=\"source\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-12 mt-2\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-account-description\">\n <textarea rows=\"5\"\n id=\"crm-account-description\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.user-info .label{color:#777;font-size:14px;text-transform:capitalize}.user-info .user-value{border:0;border-bottom:1px solid rgb(119,119,119)}.user-info .user-value:focus{box-shadow:none}.user-info .user-value.is-invalid{border-color:#ff586b}.control-btns{display:none}::ng-deep .p-overlay{width:100%!important;min-width:100%!important;max-width:100%!important;left:0!important}::ng-deep .p-autocomplete-items li{white-space:nowrap!important;overflow:auto!important;text-overflow:ellipsis!important}::ng-deep .p-autocomplete-items li:hover{text-overflow:clip!important}.name-block{width:85%}.comment-field{border:0;border-bottom:1px solid rgb(242,242,242);color:#1769e1;display:none;font-size:15px;min-height:100px;padding:2px 5px!important}.comment-field:focus{border:1px solid rgb(23,105,225)!important;border-bottom:0;box-shadow:none}p{max-width:85%;white-space:pre-wrap}.auto-complete{display:none;margin-top:10px}.show-controls .comment-field,.show-controls .auto-complete,.show-controls .control-btns{display:block}.show-controls p,.show-controls .edit-btn,.show-controls .action-owner{display:none}select{appearance:none}textarea{resize:none}.clear-both{clear:both}.isDisabled input[type=text],.isDisabled input,.isDisabled textarea,.isDisabled p-dropdown,.isDisabled select{pointer-events:none}.isDisabled select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important}.timeline-card.card{min-height:auto}@media(max-width:768px){.completed-toggle{padding-top:10px}}.when-btn:focus{border:0;box-shadow:none}.no-actions{clear:both}.timeline-container{height:700px;overflow-y:scroll}.action-btn.active{color:#fff!important;background-color:var(--first)}.form-action-buttons{margin-bottom:14px;margin-top:15px}\n"] }]
489
489
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i2.SubscriptionService }, { type: i1.CrmService }, { type: i2.CommonService }, { type: i2.GeoService }, { type: i0.ChangeDetectorRef }] });
490
490
 
491
491
  class SmartCrmCompanyFilesComponent extends AppBaseComponent {
@@ -2838,7 +2838,7 @@ class SmartCrmContactDetailsComponent extends AppBaseComponent {
2838
2838
  super.ngOnDestroy();
2839
2839
  }
2840
2840
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmContactDetailsComponent, deps: [{ token: i2.CommonService }, { token: i1.CrmService }, { token: i0.ChangeDetectorRef }, { token: i2.GeoService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
2841
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmContactDetailsComponent, isStandalone: false, selector: "pw-smart-crm-contact-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.ContactMessage.Contact' | transloco }}:\n {{ isLoading ? '' :\n (data?.first_name\n ? data?.first_name + ' ' + data.last_name\n : ('Label.AddNew' | transloco))\n }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n <div class=\"p-2 mt-3\">\n @if (!isLoading) {\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\"\n name=\"first_name\"\n controlId=\"crm-contact-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-first_name\"\n class=\"form-control\"\n formControlName=\"first_name\"\n autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" name=\"input_first_name_1\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\"\n name=\"last_name\"\n controlId=\"crm-contact-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-last_name\"\n class=\"form-control\"\n formControlName=\"last_name\"\n autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" name=\"input_last_name_2\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-contact-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-contact-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-contact-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete inputId=\"crm-contact-country\"\n formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-contact-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\"\n name=\"headline\"\n controlId=\"crm-contact-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-headline\"\n class=\"form-control\"\n formControlName=\"headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" name=\"input_headline_4\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-contact-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" name=\"input_tel_5\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Email' | transloco\"\n name=\"email\"\n controlId=\"crm-contact-email\"\n errorMsg=\"{{\n f['email']?.errors?.required ? 'Please enter email' : 'Please Enter valid email'\n }}\">\n <input type=\"email\"\n id=\"crm-contact-email\"\n class=\"form-control\"\n formControlName=\"email\"\n autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" name=\"input_email_6\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.EmailVerified' | transloco\"\n class=\"nowrap\"\n name=\"email_verified\"\n controlId=\"crm-contact-email_verified\"\n [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\"\n name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-contact-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\"\n name=\"linkedin_url\"\n controlId=\"crm-contact-linkedin_url\">\n <input type=\"url\"\n id=\"crm-contact-linkedin_url\"\n class=\"form-control\"\n formControlName=\"linkedin_url\"\n autocomplete=\"url\" name=\"input_linkedin_url_7\"/>\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-account-label\">{{ 'Crm.ContactMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-contact-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [multiple]=\"false\"\n autocomplete=\"off\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (departments$ | async; as departments) {\n <pw-input-container [label]=\"'Crm.ContactMessage.Department' | transloco\"\n name=\"department_id\"\n controlId=\"crm-contact-department_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-department_id-label'\"\n [options]=\"departments['organization_departments']\"\n formControlName=\"department_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['department_id'].errors }\"\n [placeholder]=\"'Select Department'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-potential-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Potential' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [placeholder]=\"'Select Potential'\">\n </p-select>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-labels-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Labels' | transloco }} </span>\n <p-multiSelect inputId=\"crm-contact-details-labels\"\n [options]=\"labels\"\n [attr.aria-labelledby]=\"'crm-contact-labels-label'\"\n formControlName=\"labels\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (crmSources$ | async; as source) {\n <div class=\"col-12 col-sm-4 col-lg-4\"\n >\n <span id=\"crm-contact-source-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Source' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-source-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [options]=\"source['crm_sources']\"\n optionLabel=\"label\"\n optionValue=\"value\"\n formControlName=\"crm_source_id\"\n placeholder=\"select crm source\">\n </p-select>\n </div>\n }\n <div class=\"col-12 col-sm-4 col-lg-4 mt-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\"\n name=\"dob\" controlId=\"crm-contact-details-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-contact-details-dob\"\n name=\"dob\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"dob\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n }\n </div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4$2.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i2$2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2841
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmContactDetailsComponent, isStandalone: false, selector: "pw-smart-crm-contact-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.ContactMessage.Contact' | transloco }}:\n {{ isLoading ? '' :\n (data?.first_name\n ? data?.first_name + ' ' + data.last_name\n : ('Label.AddNew' | transloco))\n }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n <div class=\"p-2 mt-3\">\n @if (!isLoading) {\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\"\n name=\"first_name\"\n controlId=\"crm-contact-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-first_name\"\n class=\"form-control\"\n formControlName=\"first_name\"\n autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" name=\"input_first_name_1\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\"\n name=\"last_name\"\n controlId=\"crm-contact-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-last_name\"\n class=\"form-control\"\n formControlName=\"last_name\"\n autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" name=\"input_last_name_2\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-contact-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-contact-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-contact-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete inputId=\"crm-contact-country\"\n formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-contact-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\"\n name=\"headline\"\n controlId=\"crm-contact-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-headline\"\n class=\"form-control\"\n formControlName=\"headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" name=\"input_headline_4\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-contact-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" name=\"input_tel_5\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Email' | transloco\"\n name=\"email\"\n controlId=\"crm-contact-email\"\n errorMsg=\"{{\n f['email']?.errors?.required ? 'Please enter email' : 'Please Enter valid email'\n }}\">\n <input type=\"email\"\n id=\"crm-contact-email\"\n class=\"form-control\"\n formControlName=\"email\"\n autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" name=\"input_email_6\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.EmailVerified' | transloco\"\n class=\"nowrap\"\n name=\"email_verified\"\n controlId=\"crm-contact-email_verified\"\n [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\"\n name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-contact-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\"\n name=\"linkedin_url\"\n controlId=\"crm-contact-linkedin_url\">\n <input type=\"url\"\n id=\"crm-contact-linkedin_url\"\n class=\"form-control\"\n formControlName=\"linkedin_url\"\n autocomplete=\"url\" name=\"input_linkedin_url_7\"/>\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-account-label\">{{ 'Crm.ContactMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-contact-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [multiple]=\"false\"\n autocomplete=\"off\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (departments$ | async; as departments) {\n <pw-input-container [label]=\"'Crm.ContactMessage.Department' | transloco\"\n name=\"department_id\"\n controlId=\"crm-contact-department_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-department_id-label'\"\n [options]=\"departments['organization_departments']\"\n formControlName=\"department_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['department_id'].errors }\"\n [placeholder]=\"'Select Department'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-potential-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Potential' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [placeholder]=\"'Select Potential'\">\n </p-select>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-labels-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Labels' | transloco }} </span>\n <p-multiSelect inputId=\"crm-contact-details-labels\"\n [options]=\"labels\"\n [attr.aria-labelledby]=\"'crm-contact-labels-label'\"\n formControlName=\"labels\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (crmSources$ | async; as source) {\n <div class=\"col-12 col-sm-4 col-lg-4\"\n >\n <span id=\"crm-contact-source-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Source' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-source-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [options]=\"source['crm_sources']\"\n optionLabel=\"label\"\n optionValue=\"value\"\n formControlName=\"crm_source_id\"\n placeholder=\"select crm source\">\n </p-select>\n </div>\n }\n <div class=\"col-12 col-sm-4 col-lg-4 mt-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\"\n name=\"dob\" controlId=\"crm-contact-details-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-contact-details-dob\"\n name=\"dob\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"dob\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n }\n </div>\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4$2.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i2$2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2842
2842
  }
2843
2843
  __decorate([
2844
2844
  ValidateForm('form'),
@@ -2848,7 +2848,7 @@ __decorate([
2848
2848
  ], SmartCrmContactDetailsComponent.prototype, "onSave", null);
2849
2849
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmContactDetailsComponent, decorators: [{
2850
2850
  type: Component,
2851
- args: [{ selector: 'pw-smart-crm-contact-details', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.ContactMessage.Contact' | transloco }}:\n {{ isLoading ? '' :\n (data?.first_name\n ? data?.first_name + ' ' + data.last_name\n : ('Label.AddNew' | transloco))\n }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n <div class=\"p-2 mt-3\">\n @if (!isLoading) {\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\"\n name=\"first_name\"\n controlId=\"crm-contact-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-first_name\"\n class=\"form-control\"\n formControlName=\"first_name\"\n autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" name=\"input_first_name_1\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\"\n name=\"last_name\"\n controlId=\"crm-contact-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-last_name\"\n class=\"form-control\"\n formControlName=\"last_name\"\n autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" name=\"input_last_name_2\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-contact-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-contact-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-contact-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete inputId=\"crm-contact-country\"\n formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-contact-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\"\n name=\"headline\"\n controlId=\"crm-contact-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-headline\"\n class=\"form-control\"\n formControlName=\"headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" name=\"input_headline_4\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-contact-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" name=\"input_tel_5\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Email' | transloco\"\n name=\"email\"\n controlId=\"crm-contact-email\"\n errorMsg=\"{{\n f['email']?.errors?.required ? 'Please enter email' : 'Please Enter valid email'\n }}\">\n <input type=\"email\"\n id=\"crm-contact-email\"\n class=\"form-control\"\n formControlName=\"email\"\n autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" name=\"input_email_6\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.EmailVerified' | transloco\"\n class=\"nowrap\"\n name=\"email_verified\"\n controlId=\"crm-contact-email_verified\"\n [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\"\n name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-contact-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\"\n name=\"linkedin_url\"\n controlId=\"crm-contact-linkedin_url\">\n <input type=\"url\"\n id=\"crm-contact-linkedin_url\"\n class=\"form-control\"\n formControlName=\"linkedin_url\"\n autocomplete=\"url\" name=\"input_linkedin_url_7\"/>\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-account-label\">{{ 'Crm.ContactMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-contact-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [multiple]=\"false\"\n autocomplete=\"off\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (departments$ | async; as departments) {\n <pw-input-container [label]=\"'Crm.ContactMessage.Department' | transloco\"\n name=\"department_id\"\n controlId=\"crm-contact-department_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-department_id-label'\"\n [options]=\"departments['organization_departments']\"\n formControlName=\"department_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['department_id'].errors }\"\n [placeholder]=\"'Select Department'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-potential-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Potential' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [placeholder]=\"'Select Potential'\">\n </p-select>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-labels-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Labels' | transloco }} </span>\n <p-multiSelect inputId=\"crm-contact-details-labels\"\n [options]=\"labels\"\n [attr.aria-labelledby]=\"'crm-contact-labels-label'\"\n formControlName=\"labels\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (crmSources$ | async; as source) {\n <div class=\"col-12 col-sm-4 col-lg-4\"\n >\n <span id=\"crm-contact-source-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Source' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-source-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [options]=\"source['crm_sources']\"\n optionLabel=\"label\"\n optionValue=\"value\"\n formControlName=\"crm_source_id\"\n placeholder=\"select crm source\">\n </p-select>\n </div>\n }\n <div class=\"col-12 col-sm-4 col-lg-4 mt-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\"\n name=\"dob\" controlId=\"crm-contact-details-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-contact-details-dob\"\n name=\"dob\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"dob\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n }\n </div>\n" }]
2851
+ args: [{ selector: 'pw-smart-crm-contact-details', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.ContactMessage.Contact' | transloco }}:\n {{ isLoading ? '' :\n (data?.first_name\n ? data?.first_name + ' ' + data.last_name\n : ('Label.AddNew' | transloco))\n }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n <div class=\"p-2 mt-3\">\n @if (!isLoading) {\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\"\n name=\"first_name\"\n controlId=\"crm-contact-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-first_name\"\n class=\"form-control\"\n formControlName=\"first_name\"\n autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" name=\"input_first_name_1\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\"\n name=\"last_name\"\n controlId=\"crm-contact-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-last_name\"\n class=\"form-control\"\n formControlName=\"last_name\"\n autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" name=\"input_last_name_2\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\"\n controlId=\"crm-contact-location\"\n [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-contact-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-contact-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete inputId=\"crm-contact-country\"\n formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-contact-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\"\n name=\"headline\"\n controlId=\"crm-contact-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-headline\"\n class=\"form-control\"\n formControlName=\"headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" name=\"input_headline_4\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\"\n name=\"tel\"\n controlId=\"crm-contact-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-contact-tel\"\n class=\"form-control\"\n formControlName=\"tel\"\n autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" name=\"input_tel_5\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Email' | transloco\"\n name=\"email\"\n controlId=\"crm-contact-email\"\n errorMsg=\"{{\n f['email']?.errors?.required ? 'Please enter email' : 'Please Enter valid email'\n }}\">\n <input type=\"email\"\n id=\"crm-contact-email\"\n class=\"form-control\"\n formControlName=\"email\"\n autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" name=\"input_email_6\"/>\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.EmailVerified' | transloco\"\n class=\"nowrap\"\n name=\"email_verified\"\n controlId=\"crm-contact-email_verified\"\n [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\"\n name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-contact-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\"\n name=\"linkedin_url\"\n controlId=\"crm-contact-linkedin_url\">\n <input type=\"url\"\n id=\"crm-contact-linkedin_url\"\n class=\"form-control\"\n formControlName=\"linkedin_url\"\n autocomplete=\"url\" name=\"input_linkedin_url_7\"/>\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-contact-account-label\">{{ 'Crm.ContactMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-contact-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [multiple]=\"false\"\n autocomplete=\"off\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n @if (departments$ | async; as departments) {\n <pw-input-container [label]=\"'Crm.ContactMessage.Department' | transloco\"\n name=\"department_id\"\n controlId=\"crm-contact-department_id\"\n [useAriaLabelledbyOnly]=\"true\"\n >\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-department_id-label'\"\n [options]=\"departments['organization_departments']\"\n formControlName=\"department_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['department_id'].errors }\"\n [placeholder]=\"'Select Department'\"\n optionValue=\"id\"\n optionLabel=\"name\">\n </p-select>\n </pw-input-container>\n }\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-potential-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Potential' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [placeholder]=\"'Select Potential'\">\n </p-select>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <span id=\"crm-contact-labels-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Labels' | transloco }} </span>\n <p-multiSelect inputId=\"crm-contact-details-labels\"\n [options]=\"labels\"\n [attr.aria-labelledby]=\"'crm-contact-labels-label'\"\n formControlName=\"labels\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (crmSources$ | async; as source) {\n <div class=\"col-12 col-sm-4 col-lg-4\"\n >\n <span id=\"crm-contact-source-label\" class=\"pw-label-style\">{{ 'Crm.ContactMessage.Source' | transloco }}</span>\n <p-select\n [attr.aria-labelledby]=\"'crm-contact-source-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [options]=\"source['crm_sources']\"\n optionLabel=\"label\"\n optionValue=\"value\"\n formControlName=\"crm_source_id\"\n placeholder=\"select crm source\">\n </p-select>\n </div>\n }\n <div class=\"col-12 col-sm-4 col-lg-4 mt-3\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\"\n name=\"dob\" controlId=\"crm-contact-details-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-contact-details-dob\"\n name=\"dob\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"dob\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n }\n </div>\n" }]
2852
2852
  }], ctorParameters: () => [{ type: i2.CommonService }, { type: i1.CrmService }, { type: i0.ChangeDetectorRef }, { type: i2.GeoService }, { type: i0.Injector }], propDecorators: { onSave: [] } });
2853
2853
 
2854
2854
  class SmartCrmContactInfoComponent extends AppBaseComponent {
@@ -4556,11 +4556,11 @@ class SmartCrmLeadsDetailsComponent extends AppBaseComponent {
4556
4556
  super.ngOnDestroy();
4557
4557
  }
4558
4558
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmLeadsDetailsComponent, deps: [{ token: i0.Injector }, { token: i1.CrmService }, { token: i2.GeoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4559
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmLeadsDetailsComponent, isStandalone: false, selector: "pw-smart-crm-leads-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\" (click)=\"back()\" class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\"\n aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.CrmLeads.Title' | transloco }}: {{ isLoading ? '' : (data?.first_name || data?.last_name ? data?.first_name ||\n data?.last_name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n</div>\n@if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n}\n@if (!isLoading) {\n <div class=\"p-2 mt-3\" >\n <form [formGroup]=\"form\" (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\" name=\"first_name\" controlId=\"crm-leads-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"first_name\" id=\"crm-leads-first_name\" autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\" name=\"last_name\" controlId=\"crm-leads-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"last_name\" id=\"crm-leads-last_name\" autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\" controlId=\"crm-leads-location\" [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-leads-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-leads-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-leads-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-leads-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\" name=\"headline\" controlId=\"crm-leads-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"headline\" id=\"crm-leads-headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\" name=\"tel\" controlId=\"crm-leads-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"tel\" id=\"crm-leads-tel\" autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <label for=\"crm-leads-email\">{{ 'Crm.ContactMessage.Email' | transloco }} <span class=\"text-danger required-icon\">*</span>\n @if (data && data.email_verified) {\n <span class=\"text-success fw-bold\">Verified</span>\n }\n </label>\n <input type=\"email\" id=\"crm-leads-email\" name=\"email\" class=\"form-control\" formControlName=\"email\" autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" />\n <pw-field-error-display [displayError]=\"(submitted || f['email'].touched) && f['email'].errors\" [errorMsg]=\"\n f['email']?.errors?.required\n ? 'Please enter email'\n : 'Please Enter valid email'\n \">\n </pw-field-error-display>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-email_verified-label\">{{ 'Crm.ContactMessage.EmailVerified' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{'Crm.ContactMessage.Tooltip.EmailVerified'| transloco\n }} </span>\n </span>\n <pw-input-container class=\"nowrap\" name=\"email_verified\" controlId=\"crm-leads-email_verified\" [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\" name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-leads-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\" name=\"linkedin_url\" controlId=\"crm-leads-linkedin_url\">\n <input type=\"url\" class=\"form-control\" formControlName=\"linkedin_url\" id=\"crm-leads-linkedin_url\" autocomplete=\"url\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-account-label\">{{ 'Crm.ContactMessage.Account' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.CrmLeads.Tooltip.Account' | transloco }}</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\" formControlName=\"crm_account_id\" dataKey=\"id\"\n [attr.aria-labelledby]=\"'crm-leads-account-label'\"\n autocomplete=\"off\" optionLabel=\"name\" [dropdown]=\"true\" (completeMethod)=\"search($event)\" styleClass=\"w-100\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \" placeholder=\"Search accounts\" [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n @if (source$ | async; as source) {\n <pw-input-container\n [label]=\"'Crm.CrmLeads.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-leads-source\"\n [useAriaLabelledbyOnly]=\"true\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Crm.CrmLeads.Tooltip.Source' | transloco\"\n labelClass=\"pw-label-style\"\n errorMsg=\"source is required\">\n <p-select\n [attr.aria-labelledby]=\"'crm-leads-source-label'\"\n [options]=\"source['crm_sources']\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionLabel=\"label\"\n optionValue=\"value\">\n </p-select>\n </pw-input-container>\n }\n </div>\n<div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\" name=\"dob\" controlId=\"crm-leads-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\" id=\"crm-leads-dob\" name=\"dob\" placeholder=\"dd-mmm-yyyy\" formControlName=\"dob\" ngbDatepicker\n #d=\"ngbDatepicker\" autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\" type=\"button\" aria-label=\"Open date picker\" (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-potential-label\">{{ 'Crm.ContactMessage.Potential' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Potential' | transloco\n }}</span>\n</span>\n<p-select\n [attr.aria-labelledby]=\"'crm-leads-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [ngClass]=\"{ 'is-invalid': submitted && f['potential'].errors }\"\n placeholder=\"Select Potential\">\n</p-select>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-labels-label\">{{ 'Crm.ContactMessage.Labels' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Labels' | transloco }}\n </span>\n</span>\n<p-multiSelect inputId=\"crm-leads-details-labels\" [options]=\"labels\" formControlName=\"labels\" appendTo=\"body\"\n[attr.aria-labelledby]=\"'crm-leads-labels-label'\"></p-multiSelect>\n</div>\n<div class=\"col-12 text-end mt-3\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" (click)=\"back()\"> {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\" [buttonBusy]=\"buttonBusy\" class=\"btn btn-primary\" [disabled]=\"form.invalid\"> {{ 'Button.Submit' | transloco }}\n </button>\n</div>\n</div>\n</form>\n</div>\n}\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4$2.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12$1.FieldErrorDisplayComponent, selector: "pw-field-error-display", inputs: ["errorMsg", "displayError"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i2$2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
4559
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmLeadsDetailsComponent, isStandalone: false, selector: "pw-smart-crm-leads-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\" (click)=\"back()\" class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\"\n aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.CrmLeads.Title' | transloco }}: {{ isLoading ? '' : (data?.first_name || data?.last_name ? data?.first_name ||\n data?.last_name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n</div>\n@if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n}\n@if (!isLoading) {\n <div class=\"p-2 mt-3\" >\n <form [formGroup]=\"form\" (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\" name=\"first_name\" controlId=\"crm-leads-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"first_name\" id=\"crm-leads-first_name\" autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\" name=\"last_name\" controlId=\"crm-leads-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"last_name\" id=\"crm-leads-last_name\" autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\" controlId=\"crm-leads-location\" [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-leads-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-leads-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-leads-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-leads-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\" name=\"headline\" controlId=\"crm-leads-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"headline\" id=\"crm-leads-headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\" name=\"tel\" controlId=\"crm-leads-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"tel\" id=\"crm-leads-tel\" autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <label for=\"crm-leads-email\">{{ 'Crm.ContactMessage.Email' | transloco }} <span class=\"text-danger required-icon\">*</span>\n @if (data && data.email_verified) {\n <span class=\"text-success fw-bold\">Verified</span>\n }\n </label>\n <input type=\"email\" id=\"crm-leads-email\" name=\"email\" class=\"form-control\" formControlName=\"email\" autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" />\n <pw-field-error-display [displayError]=\"(submitted || f['email'].touched) && f['email'].errors\" [errorMsg]=\"\n f['email']?.errors?.required\n ? 'Please enter email'\n : 'Please Enter valid email'\n \">\n </pw-field-error-display>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-email_verified-label\">{{ 'Crm.ContactMessage.EmailVerified' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{'Crm.ContactMessage.Tooltip.EmailVerified'| transloco\n }} </span>\n </span>\n <pw-input-container class=\"nowrap\" name=\"email_verified\" controlId=\"crm-leads-email_verified\" [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\" name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-leads-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\" name=\"linkedin_url\" controlId=\"crm-leads-linkedin_url\">\n <input type=\"url\" class=\"form-control\" formControlName=\"linkedin_url\" id=\"crm-leads-linkedin_url\" autocomplete=\"url\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-account-label\">{{ 'Crm.ContactMessage.Account' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.CrmLeads.Tooltip.Account' | transloco }}</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\" formControlName=\"crm_account_id\" dataKey=\"id\"\n [attr.aria-labelledby]=\"'crm-leads-account-label'\"\n autocomplete=\"off\" optionLabel=\"name\" [dropdown]=\"true\" (completeMethod)=\"search($event)\" styleClass=\"w-100\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \" placeholder=\"Search accounts\" [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n @if (source$ | async; as source) {\n <pw-input-container\n [label]=\"'Crm.CrmLeads.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-leads-source\"\n [useAriaLabelledbyOnly]=\"true\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Crm.CrmLeads.Tooltip.Source' | transloco\"\n labelClass=\"pw-label-style\"\n errorMsg=\"source is required\">\n <p-select\n [attr.aria-labelledby]=\"'crm-leads-source-label'\"\n [options]=\"source['crm_sources']\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionLabel=\"label\"\n optionValue=\"value\">\n </p-select>\n </pw-input-container>\n }\n </div>\n<div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\" name=\"dob\" controlId=\"crm-leads-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\" id=\"crm-leads-dob\" name=\"dob\" placeholder=\"dd-mmm-yyyy\" formControlName=\"dob\" ngbDatepicker\n #d=\"ngbDatepicker\" autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\" type=\"button\" aria-label=\"Open date picker\" (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-potential-label\">{{ 'Crm.ContactMessage.Potential' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Potential' | transloco\n }}</span>\n</span>\n<p-select\n [attr.aria-labelledby]=\"'crm-leads-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [ngClass]=\"{ 'is-invalid': submitted && f['potential'].errors }\"\n placeholder=\"Select Potential\">\n</p-select>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-labels-label\">{{ 'Crm.ContactMessage.Labels' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Labels' | transloco }}\n </span>\n</span>\n<p-multiSelect inputId=\"crm-leads-details-labels\" [options]=\"labels\" formControlName=\"labels\" appendTo=\"body\"\n[attr.aria-labelledby]=\"'crm-leads-labels-label'\"></p-multiSelect>\n</div>\n<div class=\"col-12 text-end mt-3\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" (click)=\"back()\"> {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\" [buttonBusy]=\"buttonBusy\" class=\"btn btn-primary\" [disabled]=\"form.invalid\"> {{ 'Button.Submit' | transloco }}\n </button>\n</div>\n</div>\n</form>\n</div>\n}\n", dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4$2.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.NgxGpAutocompleteDirective, selector: "[ngx-gp-autocomplete]", inputs: ["options"], outputs: ["onAddressChange"], exportAs: ["ngx-places"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12$1.FieldErrorDisplayComponent, selector: "pw-field-error-display", inputs: ["errorMsg", "displayError"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i2$2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
4560
4560
  }
4561
4561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmLeadsDetailsComponent, decorators: [{
4562
4562
  type: Component,
4563
- args: [{ selector: 'pw-smart-crm-leads-details', standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\" (click)=\"back()\" class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\"\n aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.CrmLeads.Title' | transloco }}: {{ isLoading ? '' : (data?.first_name || data?.last_name ? data?.first_name ||\n data?.last_name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n</div>\n@if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n}\n@if (!isLoading) {\n <div class=\"p-2 mt-3\" >\n <form [formGroup]=\"form\" (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\" name=\"first_name\" controlId=\"crm-leads-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"first_name\" id=\"crm-leads-first_name\" autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\" name=\"last_name\" controlId=\"crm-leads-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"last_name\" id=\"crm-leads-last_name\" autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\" controlId=\"crm-leads-location\" [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-leads-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-leads-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-leads-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-leads-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\" name=\"headline\" controlId=\"crm-leads-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"headline\" id=\"crm-leads-headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\" name=\"tel\" controlId=\"crm-leads-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"tel\" id=\"crm-leads-tel\" autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <label for=\"crm-leads-email\">{{ 'Crm.ContactMessage.Email' | transloco }} <span class=\"text-danger required-icon\">*</span>\n @if (data && data.email_verified) {\n <span class=\"text-success fw-bold\">Verified</span>\n }\n </label>\n <input type=\"email\" id=\"crm-leads-email\" name=\"email\" class=\"form-control\" formControlName=\"email\" autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" />\n <pw-field-error-display [displayError]=\"(submitted || f['email'].touched) && f['email'].errors\" [errorMsg]=\"\n f['email']?.errors?.required\n ? 'Please enter email'\n : 'Please Enter valid email'\n \">\n </pw-field-error-display>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-email_verified-label\">{{ 'Crm.ContactMessage.EmailVerified' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{'Crm.ContactMessage.Tooltip.EmailVerified'| transloco\n }} </span>\n </span>\n <pw-input-container class=\"nowrap\" name=\"email_verified\" controlId=\"crm-leads-email_verified\" [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\" name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-leads-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\" name=\"linkedin_url\" controlId=\"crm-leads-linkedin_url\">\n <input type=\"url\" class=\"form-control\" formControlName=\"linkedin_url\" id=\"crm-leads-linkedin_url\" autocomplete=\"url\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-account-label\">{{ 'Crm.ContactMessage.Account' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.CrmLeads.Tooltip.Account' | transloco }}</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\" formControlName=\"crm_account_id\" dataKey=\"id\"\n [attr.aria-labelledby]=\"'crm-leads-account-label'\"\n autocomplete=\"off\" optionLabel=\"name\" [dropdown]=\"true\" (completeMethod)=\"search($event)\" styleClass=\"w-100\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \" placeholder=\"Search accounts\" [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n @if (source$ | async; as source) {\n <pw-input-container\n [label]=\"'Crm.CrmLeads.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-leads-source\"\n [useAriaLabelledbyOnly]=\"true\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Crm.CrmLeads.Tooltip.Source' | transloco\"\n labelClass=\"pw-label-style\"\n errorMsg=\"source is required\">\n <p-select\n [attr.aria-labelledby]=\"'crm-leads-source-label'\"\n [options]=\"source['crm_sources']\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionLabel=\"label\"\n optionValue=\"value\">\n </p-select>\n </pw-input-container>\n }\n </div>\n<div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\" name=\"dob\" controlId=\"crm-leads-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\" id=\"crm-leads-dob\" name=\"dob\" placeholder=\"dd-mmm-yyyy\" formControlName=\"dob\" ngbDatepicker\n #d=\"ngbDatepicker\" autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\" type=\"button\" aria-label=\"Open date picker\" (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-potential-label\">{{ 'Crm.ContactMessage.Potential' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Potential' | transloco\n }}</span>\n</span>\n<p-select\n [attr.aria-labelledby]=\"'crm-leads-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [ngClass]=\"{ 'is-invalid': submitted && f['potential'].errors }\"\n placeholder=\"Select Potential\">\n</p-select>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-labels-label\">{{ 'Crm.ContactMessage.Labels' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Labels' | transloco }}\n </span>\n</span>\n<p-multiSelect inputId=\"crm-leads-details-labels\" [options]=\"labels\" formControlName=\"labels\" appendTo=\"body\"\n[attr.aria-labelledby]=\"'crm-leads-labels-label'\"></p-multiSelect>\n</div>\n<div class=\"col-12 text-end mt-3\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" (click)=\"back()\"> {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\" [buttonBusy]=\"buttonBusy\" class=\"btn btn-primary\" [disabled]=\"form.invalid\"> {{ 'Button.Submit' | transloco }}\n </button>\n</div>\n</div>\n</form>\n</div>\n}\n" }]
4563
+ args: [{ selector: 'pw-smart-crm-leads-details', standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\" (click)=\"back()\" class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\"\n aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.CrmLeads.Title' | transloco }}: {{ isLoading ? '' : (data?.first_name || data?.last_name ? data?.first_name ||\n data?.last_name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n</div>\n@if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n}\n@if (!isLoading) {\n <div class=\"p-2 mt-3\" >\n <form [formGroup]=\"form\" (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.FirstName' | transloco\" name=\"first_name\" controlId=\"crm-leads-first_name\"\n [errorMsg]=\"'Crm.ContactMessage.FirstNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"first_name\" id=\"crm-leads-first_name\" autocomplete=\"given-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['first_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LastName' | transloco\" name=\"last_name\" controlId=\"crm-leads-last_name\"\n [errorMsg]=\"'Crm.ContactMessage.LastNameErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"last_name\" id=\"crm-leads-last_name\" autocomplete=\"family-name\"\n [ngClass]=\"{ 'is-invalid': submitted && f['last_name'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.AccountMessage.Location' | transloco\"\n [errorMsg]=\"'Crm.AccountMessage.LocationErrorMessage' | transloco\"\n name=\"location\" controlId=\"crm-leads-location\" [useAriaLabelledbyOnly]=\"true\">\n <input ngx-gp-autocomplete\n id=\"crm-leads-location\"\n name=\"location\"\n class=\"form-control\"\n #places=\"ngx-places\"\n formControlName=\"location\"\n [attr.aria-labelledby]=\"'crm-leads-location-label'\"\n (onAddressChange)=\"handleAddressChange($event)\"\n [ngClass]=\"{ 'is-invalid': submitted && f['location'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-leads-country-label\">{{ 'Crm.AccountMessage.Country' | transloco }}</span>\n <p-autoComplete formControlName=\"country\"\n [attr.aria-labelledby]=\"'crm-leads-country-label'\"\n [suggestions]=\"filteredCountries\"\n (completeMethod)=\"onSearchCountry($event)\"\n dataKey=\"code\"\n optionLabel=\"name\"\n [multiple]=\"false\"\n styleClass=\"w-100\"\n placeholder=\"Search Country\"\n [dropdown]=\"true\"\n [inputStyle]=\"\n submitted && f['country'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Headline' | transloco\" name=\"headline\" controlId=\"crm-leads-headline\"\n [errorMsg]=\"'Crm.ContactMessage.HeadlineErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"headline\" id=\"crm-leads-headline\"\n [ngClass]=\"{ 'is-invalid': submitted && f['headline'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4 col-lg-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.Tel' | transloco\" name=\"tel\" controlId=\"crm-leads-tel\"\n [errorMsg]=\"'Crm.ContactMessage.TelErrorMessage' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"tel\" id=\"crm-leads-tel\" autocomplete=\"tel\"\n [ngClass]=\"{ 'is-invalid': submitted && f['tel'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <label for=\"crm-leads-email\">{{ 'Crm.ContactMessage.Email' | transloco }} <span class=\"text-danger required-icon\">*</span>\n @if (data && data.email_verified) {\n <span class=\"text-success fw-bold\">Verified</span>\n }\n </label>\n <input type=\"email\" id=\"crm-leads-email\" name=\"email\" class=\"form-control\" formControlName=\"email\" autocomplete=\"email\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email'].errors }\" />\n <pw-field-error-display [displayError]=\"(submitted || f['email'].touched) && f['email'].errors\" [errorMsg]=\"\n f['email']?.errors?.required\n ? 'Please enter email'\n : 'Please Enter valid email'\n \">\n </pw-field-error-display>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-email_verified-label\">{{ 'Crm.ContactMessage.EmailVerified' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{'Crm.ContactMessage.Tooltip.EmailVerified'| transloco\n }} </span>\n </span>\n <pw-input-container class=\"nowrap\" name=\"email_verified\" controlId=\"crm-leads-email_verified\" [useAriaLabelledbyOnly]=\"true\">\n <ui-switch formControlName=\"email_verified\" name=\"email_verified\"\n [attr.aria-labelledby]=\"'crm-leads-email_verified-label'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['email_verified'].errors }\">\n </ui-switch>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.LinkedInUrl' | transloco\" name=\"linkedin_url\" controlId=\"crm-leads-linkedin_url\">\n <input type=\"url\" class=\"form-control\" formControlName=\"linkedin_url\" id=\"crm-leads-linkedin_url\" autocomplete=\"url\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-account-label\">{{ 'Crm.ContactMessage.Account' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.CrmLeads.Tooltip.Account' | transloco }}</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\" formControlName=\"crm_account_id\" dataKey=\"id\"\n [attr.aria-labelledby]=\"'crm-leads-account-label'\"\n autocomplete=\"off\" optionLabel=\"name\" [dropdown]=\"true\" (completeMethod)=\"search($event)\" styleClass=\"w-100\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \" placeholder=\"Search accounts\" [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-sm-4\">\n @if (source$ | async; as source) {\n <pw-input-container\n [label]=\"'Crm.CrmLeads.Source' | transloco\"\n name=\"crm_source_id\"\n controlId=\"crm-leads-source\"\n [useAriaLabelledbyOnly]=\"true\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Crm.CrmLeads.Tooltip.Source' | transloco\"\n labelClass=\"pw-label-style\"\n errorMsg=\"source is required\">\n <p-select\n [attr.aria-labelledby]=\"'crm-leads-source-label'\"\n [options]=\"source['crm_sources']\"\n formControlName=\"crm_source_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_source_id'].errors }\"\n [placeholder]=\"'Select Source'\"\n optionLabel=\"label\"\n optionValue=\"value\">\n </p-select>\n </pw-input-container>\n }\n </div>\n<div class=\"col-12 col-sm-4\">\n <pw-input-container [label]=\"'Crm.ContactMessage.DateOfBirth' | transloco\" name=\"dob\" controlId=\"crm-leads-dob\">\n <div class=\"input-group\">\n <input class=\"form-control\" id=\"crm-leads-dob\" name=\"dob\" placeholder=\"dd-mmm-yyyy\" formControlName=\"dob\" ngbDatepicker\n #d=\"ngbDatepicker\" autocomplete=\"off\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\" type=\"button\" aria-label=\"Open date picker\" (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-potential-label\">{{ 'Crm.ContactMessage.Potential' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Potential' | transloco\n }}</span>\n</span>\n<p-select\n [attr.aria-labelledby]=\"'crm-leads-potential-label'\"\n [options]=\"potentials\"\n formControlName=\"potential\"\n [ngClass]=\"{ 'is-invalid': submitted && f['potential'].errors }\"\n placeholder=\"Select Potential\">\n</p-select>\n</div>\n<div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-leads-labels-label\">{{ 'Crm.ContactMessage.Labels' | transloco }} <span\n class=\"tooltiptext gradient-custom-branding\"> {{ 'Crm.ContactMessage.Tooltip.Labels' | transloco }}\n </span>\n</span>\n<p-multiSelect inputId=\"crm-leads-details-labels\" [options]=\"labels\" formControlName=\"labels\" appendTo=\"body\"\n[attr.aria-labelledby]=\"'crm-leads-labels-label'\"></p-multiSelect>\n</div>\n<div class=\"col-12 text-end mt-3\">\n <button type=\"button\" class=\"btn btn-outline-default me-2\" (click)=\"back()\"> {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\" [buttonBusy]=\"buttonBusy\" class=\"btn btn-primary\" [disabled]=\"form.invalid\"> {{ 'Button.Submit' | transloco }}\n </button>\n</div>\n</div>\n</form>\n</div>\n}\n" }]
4564
4564
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CrmService }, { type: i2.GeoService }, { type: i0.ChangeDetectorRef }] });
4565
4565
 
4566
4566
  class SmartCrmLeadsComponent extends AppBaseComponent {
@@ -5773,11 +5773,11 @@ class SmartCrmOpportunitiesDetailsComponent extends AppBaseComponent {
5773
5773
  super.ngOnDestroy();
5774
5774
  }
5775
5775
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmOpportunitiesDetailsComponent, deps: [{ token: i0.Injector }, { token: i1.CrmService }, { token: i2.ProductService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
5776
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmOpportunitiesDetailsComponent, isStandalone: false, selector: "pw-smart-crm-opportunities-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.OpportunitiesMessage.CrmOpportunity' | transloco }}:\n {{ isLoading ? '': (data?.name ? data?.name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-8\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Title' | transloco\"\n name=\"title\"\n controlId=\"crm-opp-details-title\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TitleErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-title\"\n class=\"form-control\"\n formControlName=\"title\"\n [ngClass]=\"{ 'is-invalid': submitted && f['title'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-account-label\">{{ 'Crm.OpportunitiesMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-opp-details-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"searchAccount($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-contact-label\">{{ 'Crm.OpportunitiesMessage.Contact' | transloco }}</span>\n <p-autoComplete [suggestions]=\"filteredUsers\"\n [attr.aria-labelledby]=\"'crm-opp-details-contact-label'\"\n formControlName=\"crm_contact_id\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search contact\"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"one_time_amount\">{{ 'Crm.OpportunitiesMessage.OneTimeAmount' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.OneTimeAmount' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"one_time_amount\"\n id=\"one_time_amount\"\n name=\"one_time_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['one_time_amount'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"monthly_amount\">{{ 'Crm.OpportunitiesMessage.MRR' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.MRR' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"monthly_amount\"\n id=\"monthly_amount\"\n name=\"monthly_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['monthly_amount'].errors }\" />\n </div>\n </div>\n <!-- Features -->\n <div class=\"mb-3 col-12 col-md-4\" *rbacAllow=\"'Pages.Alpha'\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-features-label\">{{ 'Crm.OpportunitiesMessage.Features' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Feature' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-features\" [options]=\"featureKeys\"\n [attr.aria-labelledby]=\"'crm-opp-details-features-label'\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-win_chances-label\">{{ 'Crm.OpportunitiesMessage.WinChance' | transloco }}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.WinChance' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-win_chances-label'\"\n formControlName=\"win_chances\"\n [options]=\"winChance\"\n [placeholder]=\"'Select Win Chance'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['win_chances'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-currency-label\">{{ 'Crm.OpportunitiesMessage.Currency' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.Currency' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-currency-label'\"\n formControlName=\"currency\"\n [options]=\"currencies\"\n [placeholder]=\"'Select Currency'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['currency'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4 won-control\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"won\">{{ 'Crm.OpportunitiesMessage.Won' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding won-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Won' | transloco }}\n </span>\n </label>\n <input type=\"number\"\n NumberDirective\n class=\"form-control won-title\"\n formControlName=\"won\"\n id=\"won\"\n name=\"won\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-categories-label\">{{ 'Crm.OpportunitiesMessage.Categories' | transloco}}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Category' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-categories\" [options]=\"categories\"\n [attr.aria-labelledby]=\"'crm-opp-details-categories-label'\"\n placeholder=\"Select Categories\"\n (onChange)=\"onCategoryChange($event)\"\n formControlName=\"crm_opportunity_category_ids\"\n optionLabel=\"label\"\n optionValue=\"value\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (TrialStartField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\"\n name=\"trial_start_at\"\n controlId=\"crm-opp-details-trial_start_at\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-trial_start_at\"\n name=\"trial_start_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"trial_start_at\"\n ngbDatepicker\n #c=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"c.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n }\n @if (LostField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\"\n name=\"lost_reason\"\n controlId=\"crm-opp-details-lost_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-lost_reason\"\n class=\"form-control\"\n formControlName=\"lost_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['lost_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n @if (WonField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\"\n name=\"won_reason\"\n controlId=\"crm-opp-details-won_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-won_reason\"\n class=\"form-control\"\n formControlName=\"won_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-stage-label\">{{ 'Crm.OpportunitiesMessage.Stage' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.StageOpportunity' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-stage-label'\"\n [options]=\"stages\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"crm_opportunity_stage_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_opportunity_stage_id'].errors }\"\n placeholder=\"Select Stage\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-starting_at-label\">{{ 'Crm.OpportunitiesMessage.StartingAt' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.StartingAt' | transloco\n }}</span></span>\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-starting_at\"\n name=\"starting_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"starting_at\"\n [attr.aria-labelledby]=\"'crm-opp-details-starting_at-label'\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\"\n [ngClass]=\"{ 'is-invalid': submitted && f['starting_at'].errors }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-opp-details-description\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.DescriptionErrorMessage' | transloco\">\n <textarea rows=\"10\"\n id=\"crm-opp-details-description\"\n type=\"text\"\n class=\"form-control description-field\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [".vertical-bottom{vertical-align:text-bottom}.cancel-button{float:right}.feature-tooltip{margin-right:-15px}.won-title{margin-top:2px}.won-tooltip{left:0}::ng-deep .p-multiselect.p-component{height:33.5px!important}::ng-deep .p-multiselect-label{display:flex;align-items:center;height:100%}.won-control .info-circle .tooltiptext:after{left:25px!important}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i5.NumberDirective, selector: "input[numbersOnly]" }, { kind: "directive", type: i5.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i2$2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
5776
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: SmartCrmOpportunitiesDetailsComponent, isStandalone: false, selector: "pw-smart-crm-opportunities-details", usesInheritance: true, ngImport: i0, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.OpportunitiesMessage.CrmOpportunity' | transloco }}:\n {{ isLoading ? '': (data?.name ? data?.name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-8\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Title' | transloco\"\n name=\"title\"\n controlId=\"crm-opp-details-title\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TitleErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-title\"\n class=\"form-control\"\n formControlName=\"title\"\n [ngClass]=\"{ 'is-invalid': submitted && f['title'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-account-label\">{{ 'Crm.OpportunitiesMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-opp-details-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"searchAccount($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-contact-label\">{{ 'Crm.OpportunitiesMessage.Contact' | transloco }}</span>\n <p-autoComplete [suggestions]=\"filteredUsers\"\n [attr.aria-labelledby]=\"'crm-opp-details-contact-label'\"\n formControlName=\"crm_contact_id\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search contact\"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"one_time_amount\">{{ 'Crm.OpportunitiesMessage.OneTimeAmount' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.OneTimeAmount' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"one_time_amount\"\n id=\"one_time_amount\"\n name=\"one_time_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['one_time_amount'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"monthly_amount\">{{ 'Crm.OpportunitiesMessage.MRR' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.MRR' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"monthly_amount\"\n id=\"monthly_amount\"\n name=\"monthly_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['monthly_amount'].errors }\" />\n </div>\n </div>\n <!-- Features -->\n <div class=\"mb-3 col-12 col-md-4\" *rbacAllow=\"'Pages.Alpha'\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-features-label\">{{ 'Crm.OpportunitiesMessage.Features' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Feature' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-features\" [options]=\"featureKeys\"\n [attr.aria-labelledby]=\"'crm-opp-details-features-label'\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-win_chances-label\">{{ 'Crm.OpportunitiesMessage.WinChance' | transloco }}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.WinChance' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-win_chances-label'\"\n formControlName=\"win_chances\"\n [options]=\"winChance\"\n [placeholder]=\"'Select Win Chance'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['win_chances'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-currency-label\">{{ 'Crm.OpportunitiesMessage.Currency' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.Currency' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-currency-label'\"\n formControlName=\"currency\"\n [options]=\"currencies\"\n [placeholder]=\"'Select Currency'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['currency'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4 won-control\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"won\">{{ 'Crm.OpportunitiesMessage.Won' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding won-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Won' | transloco }}\n </span>\n </label>\n <input type=\"number\"\n NumberDirective\n class=\"form-control won-title\"\n formControlName=\"won\"\n id=\"won\"\n name=\"won\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-categories-label\">{{ 'Crm.OpportunitiesMessage.Categories' | transloco}}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Category' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-categories\" [options]=\"categories\"\n [attr.aria-labelledby]=\"'crm-opp-details-categories-label'\"\n placeholder=\"Select Categories\"\n (onChange)=\"onCategoryChange($event)\"\n formControlName=\"crm_opportunity_category_ids\"\n optionLabel=\"label\"\n optionValue=\"value\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (TrialStartField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\"\n name=\"trial_start_at\"\n controlId=\"crm-opp-details-trial_start_at\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-trial_start_at\"\n name=\"trial_start_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"trial_start_at\"\n ngbDatepicker\n #c=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"c.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n }\n @if (LostField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\"\n name=\"lost_reason\"\n controlId=\"crm-opp-details-lost_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-lost_reason\"\n class=\"form-control\"\n formControlName=\"lost_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['lost_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n @if (WonField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\"\n name=\"won_reason\"\n controlId=\"crm-opp-details-won_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-won_reason\"\n class=\"form-control\"\n formControlName=\"won_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-stage-label\">{{ 'Crm.OpportunitiesMessage.Stage' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.StageOpportunity' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-stage-label'\"\n [options]=\"stages\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"crm_opportunity_stage_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_opportunity_stage_id'].errors }\"\n placeholder=\"Select Stage\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-starting_at-label\">{{ 'Crm.OpportunitiesMessage.StartingAt' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.StartingAt' | transloco\n }}</span></span>\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-starting_at\"\n name=\"starting_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"starting_at\"\n [attr.aria-labelledby]=\"'crm-opp-details-starting_at-label'\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\"\n [ngClass]=\"{ 'is-invalid': submitted && f['starting_at'].errors }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-opp-details-description\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.DescriptionErrorMessage' | transloco\">\n <textarea rows=\"10\"\n id=\"crm-opp-details-description\"\n type=\"text\"\n class=\"form-control description-field\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [".vertical-bottom{vertical-align:text-bottom}.cancel-button{float:right}.feature-tooltip{margin-right:-15px}.won-title{margin-top:2px}.won-tooltip{left:0}::ng-deep .p-multiselect.p-component{height:33.5px!important}::ng-deep .p-multiselect-label{display:flex;align-items:center;height:100%}.won-control .info-circle .tooltiptext:after{left:25px!important}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i5.NumberDirective, selector: "input[numbersOnly]" }, { kind: "directive", type: i5.RbacAllowDirective, selector: "[rbacAllow]", inputs: ["rbacAllow"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i9$1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo", "motionOptions"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i11.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo", "motionOptions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i12.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "controlId", "useAriaLabelledbyOnly", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i2$2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "contentTemplate", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
5777
5777
  }
5778
5778
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SmartCrmOpportunitiesDetailsComponent, decorators: [{
5779
5779
  type: Component,
5780
- args: [{ selector: 'pw-smart-crm-opportunities-details', standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.OpportunitiesMessage.CrmOpportunity' | transloco }}:\n {{ isLoading ? '': (data?.name ? data?.name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-8\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Title' | transloco\"\n name=\"title\"\n controlId=\"crm-opp-details-title\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TitleErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-title\"\n class=\"form-control\"\n formControlName=\"title\"\n [ngClass]=\"{ 'is-invalid': submitted && f['title'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-account-label\">{{ 'Crm.OpportunitiesMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-opp-details-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"searchAccount($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : { border: '1px solid gray' }\n \"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-contact-label\">{{ 'Crm.OpportunitiesMessage.Contact' | transloco }}</span>\n <p-autoComplete [suggestions]=\"filteredUsers\"\n [attr.aria-labelledby]=\"'crm-opp-details-contact-label'\"\n formControlName=\"crm_contact_id\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search contact\"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"one_time_amount\">{{ 'Crm.OpportunitiesMessage.OneTimeAmount' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.OneTimeAmount' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"one_time_amount\"\n id=\"one_time_amount\"\n name=\"one_time_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['one_time_amount'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"monthly_amount\">{{ 'Crm.OpportunitiesMessage.MRR' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.MRR' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"monthly_amount\"\n id=\"monthly_amount\"\n name=\"monthly_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['monthly_amount'].errors }\" />\n </div>\n </div>\n <!-- Features -->\n <div class=\"mb-3 col-12 col-md-4\" *rbacAllow=\"'Pages.Alpha'\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-features-label\">{{ 'Crm.OpportunitiesMessage.Features' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Feature' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-features\" [options]=\"featureKeys\"\n [attr.aria-labelledby]=\"'crm-opp-details-features-label'\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-win_chances-label\">{{ 'Crm.OpportunitiesMessage.WinChance' | transloco }}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.WinChance' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-win_chances-label'\"\n formControlName=\"win_chances\"\n [options]=\"winChance\"\n [placeholder]=\"'Select Win Chance'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['win_chances'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-currency-label\">{{ 'Crm.OpportunitiesMessage.Currency' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.Currency' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-currency-label'\"\n formControlName=\"currency\"\n [options]=\"currencies\"\n [placeholder]=\"'Select Currency'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['currency'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4 won-control\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"won\">{{ 'Crm.OpportunitiesMessage.Won' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding won-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Won' | transloco }}\n </span>\n </label>\n <input type=\"number\"\n NumberDirective\n class=\"form-control won-title\"\n formControlName=\"won\"\n id=\"won\"\n name=\"won\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-categories-label\">{{ 'Crm.OpportunitiesMessage.Categories' | transloco}}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Category' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-categories\" [options]=\"categories\"\n [attr.aria-labelledby]=\"'crm-opp-details-categories-label'\"\n placeholder=\"Select Categories\"\n (onChange)=\"onCategoryChange($event)\"\n formControlName=\"crm_opportunity_category_ids\"\n optionLabel=\"label\"\n optionValue=\"value\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (TrialStartField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\"\n name=\"trial_start_at\"\n controlId=\"crm-opp-details-trial_start_at\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-trial_start_at\"\n name=\"trial_start_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"trial_start_at\"\n ngbDatepicker\n #c=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"c.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n }\n @if (LostField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\"\n name=\"lost_reason\"\n controlId=\"crm-opp-details-lost_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-lost_reason\"\n class=\"form-control\"\n formControlName=\"lost_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['lost_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n @if (WonField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\"\n name=\"won_reason\"\n controlId=\"crm-opp-details-won_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-won_reason\"\n class=\"form-control\"\n formControlName=\"won_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-stage-label\">{{ 'Crm.OpportunitiesMessage.Stage' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.StageOpportunity' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-stage-label'\"\n [options]=\"stages\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"crm_opportunity_stage_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_opportunity_stage_id'].errors }\"\n placeholder=\"Select Stage\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-starting_at-label\">{{ 'Crm.OpportunitiesMessage.StartingAt' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.StartingAt' | transloco\n }}</span></span>\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-starting_at\"\n name=\"starting_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"starting_at\"\n [attr.aria-labelledby]=\"'crm-opp-details-starting_at-label'\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\"\n [ngClass]=\"{ 'is-invalid': submitted && f['starting_at'].errors }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-opp-details-description\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.DescriptionErrorMessage' | transloco\">\n <textarea rows=\"10\"\n id=\"crm-opp-details-description\"\n type=\"text\"\n class=\"form-control description-field\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [".vertical-bottom{vertical-align:text-bottom}.cancel-button{float:right}.feature-tooltip{margin-right:-15px}.won-title{margin-top:2px}.won-tooltip{left:0}::ng-deep .p-multiselect.p-component{height:33.5px!important}::ng-deep .p-multiselect-label{display:flex;align-items:center;height:100%}.won-control .info-circle .tooltiptext:after{left:25px!important}\n"] }]
5780
+ args: [{ selector: 'pw-smart-crm-opportunities-details', standalone: false, template: "<div class=\"me-auto col-xs-6\">\n <a aria-label=\"Navigate to Target\"\n (click)=\"back()\"\n class=\"previous\"><i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i></a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ 'Crm.OpportunitiesMessage.CrmOpportunity' | transloco }}:\n {{ isLoading ? '': (data?.name ? data?.name : ('Label.AddNew' | transloco)) }}</span>\n </h3>\n </div>\n @if (isLoading) {\n <div class=\"w-100 text-center mt-3\"\n >\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n }\n @if (!isLoading) {\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-8\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Title' | transloco\"\n name=\"title\"\n controlId=\"crm-opp-details-title\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TitleErrorMessage' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-title\"\n class=\"form-control\"\n formControlName=\"title\"\n [ngClass]=\"{ 'is-invalid': submitted && f['title'].errors }\" />\n </pw-input-container>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-account-label\">{{ 'Crm.OpportunitiesMessage.Account' | transloco\n }}<span class=\"text-danger required-icon\">*</span></span>\n <p-autoComplete [suggestions]=\"filteredAccounts\"\n [attr.aria-labelledby]=\"'crm-opp-details-account-label'\"\n formControlName=\"crm_account_id\"\n dataKey=\"id\"\n optionLabel=\"name\"\n [dropdown]=\"true\"\n (completeMethod)=\"searchAccount($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search accounts\"\n [inputStyle]=\"\n submitted && f['crm_account_id'].errors\n ? { border: '1px solid #ff586b' }\n : {}\n \"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"ui-fluid skills-modal col-sm-4\">\n <span class=\"pw-label-style mb-2\" id=\"crm-opp-details-contact-label\">{{ 'Crm.OpportunitiesMessage.Contact' | transloco }}</span>\n <p-autoComplete [suggestions]=\"filteredUsers\"\n [attr.aria-labelledby]=\"'crm-opp-details-contact-label'\"\n formControlName=\"crm_contact_id\"\n dataKey=\"id\"\n optionLabel=\"displayName\"\n [dropdown]=\"true\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n placeholder=\"Search contact\"\n [multiple]=\"false\">\n </p-autoComplete>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"one_time_amount\">{{ 'Crm.OpportunitiesMessage.OneTimeAmount' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.OneTimeAmount' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"one_time_amount\"\n id=\"one_time_amount\"\n name=\"one_time_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['one_time_amount'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"monthly_amount\">{{ 'Crm.OpportunitiesMessage.MRR' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.MRR' | transloco\n }}</span></label>\n <input type=\"number\"\n numbersOnly\n class=\"form-control\"\n formControlName=\"monthly_amount\"\n id=\"monthly_amount\"\n name=\"monthly_amount\"\n [ngClass]=\"{ 'is-invalid': submitted && f['monthly_amount'].errors }\" />\n </div>\n </div>\n <!-- Features -->\n <div class=\"mb-3 col-12 col-md-4\" *rbacAllow=\"'Pages.Alpha'\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-features-label\">{{ 'Crm.OpportunitiesMessage.Features' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Feature' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-features\" [options]=\"featureKeys\"\n [attr.aria-labelledby]=\"'crm-opp-details-features-label'\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-win_chances-label\">{{ 'Crm.OpportunitiesMessage.WinChance' | transloco }}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.WinChance' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-win_chances-label'\"\n formControlName=\"win_chances\"\n [options]=\"winChance\"\n [placeholder]=\"'Select Win Chance'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['win_chances'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-currency-label\">{{ 'Crm.OpportunitiesMessage.Currency' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.Currency' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-currency-label'\"\n formControlName=\"currency\"\n [options]=\"currencies\"\n [placeholder]=\"'Select Currency'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['currency'].errors }\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4 won-control\">\n <div class=\"mb-3\">\n <label class=\"info-circle mb-2\" for=\"won\">{{ 'Crm.OpportunitiesMessage.Won' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding won-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Won' | transloco }}\n </span>\n </label>\n <input type=\"number\"\n NumberDirective\n class=\"form-control won-title\"\n formControlName=\"won\"\n id=\"won\"\n name=\"won\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won'].errors }\" />\n </div>\n </div>\n <div class=\"col-12 col-sm-4\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-categories-label\">{{ 'Crm.OpportunitiesMessage.Categories' | transloco}}\n <span class=\"text-danger required-icon\">*</span>\n <span class=\"tooltiptext gradient-custom-branding feature-tooltip\">{{ 'Crm.OpportunitiesMessage.Tooltip.Category' | transloco }}</span>\n </span>\n <p-multiSelect inputId=\"crm-opp-details-categories\" [options]=\"categories\"\n [attr.aria-labelledby]=\"'crm-opp-details-categories-label'\"\n placeholder=\"Select Categories\"\n (onChange)=\"onCategoryChange($event)\"\n formControlName=\"crm_opportunity_category_ids\"\n optionLabel=\"label\"\n optionValue=\"value\"\n appendTo=\"body\"></p-multiSelect>\n </div>\n @if (TrialStartField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\"\n name=\"trial_start_at\"\n controlId=\"crm-opp-details-trial_start_at\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.TrialStartAt' | transloco\">\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-trial_start_at\"\n name=\"trial_start_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"trial_start_at\"\n ngbDatepicker\n #c=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"c.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </pw-input-container>\n </div>\n }\n @if (LostField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\"\n name=\"lost_reason\"\n controlId=\"crm-opp-details-lost_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.LostReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-lost_reason\"\n class=\"form-control\"\n formControlName=\"lost_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['lost_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n @if (WonField) {\n <div class=\"col-12 col-sm-4\"\n >\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\"\n name=\"won_reason\"\n controlId=\"crm-opp-details-won_reason\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.WonReason' | transloco\">\n <input type=\"text\"\n id=\"crm-opp-details-won_reason\"\n class=\"form-control\"\n formControlName=\"won_reason\"\n [ngClass]=\"{ 'is-invalid': submitted && f['won_reason'].errors }\" />\n </pw-input-container>\n </div>\n }\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-stage-label\">{{ 'Crm.OpportunitiesMessage.Stage' | transloco }}\n <span class=\"tooltiptext gradient-custom-branding\">{{ 'Crm.OpportunitiesMessage.Tooltip.StageOpportunity' | transloco }}\n </span>\n </span>\n <p-select\n [attr.aria-labelledby]=\"'crm-opp-details-stage-label'\"\n [options]=\"stages\"\n optionLabel=\"name\"\n optionValue=\"id\"\n formControlName=\"crm_opportunity_stage_id\"\n [ngClass]=\"{ 'is-invalid': submitted && f['crm_opportunity_stage_id'].errors }\"\n placeholder=\"Select Stage\">\n </p-select>\n </div>\n </div>\n <div class=\"col-12 col-md-4\">\n <div class=\"mb-3\">\n <span class=\"pw-label-style info-circle mb-2\" id=\"crm-opp-details-starting_at-label\">{{ 'Crm.OpportunitiesMessage.StartingAt' | transloco\n }}<span class=\"text-danger required-icon\">*</span><span class=\"tooltiptext gradient-custom-branding\">{{\n 'Crm.OpportunitiesMessage.Tooltip.StartingAt' | transloco\n }}</span></span>\n <div class=\"input-group\">\n <input class=\"form-control\"\n id=\"crm-opp-details-starting_at\"\n name=\"starting_at\"\n placeholder=\"dd-mmm-yyyy\"\n formControlName=\"starting_at\"\n [attr.aria-labelledby]=\"'crm-opp-details-starting_at-label'\"\n ngbDatepicker\n #d=\"ngbDatepicker\"\n [minDate]=\"{ day: 1, month: 1, year: 1950 }\"\n [maxDate]=\"{ day: 31, month: 12, year: 2050 }\"\n [ngClass]=\"{ 'is-invalid': submitted && f['starting_at'].errors }\" />\n <div class=\"input-group-append\">\n <button class=\"btn btn-primary\"\n type=\"button\"\n aria-label=\"Open date picker\"\n (click)=\"d.toggle()\">\n <i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [label]=\"'Crm.OpportunitiesMessage.Description' | transloco\"\n name=\"description\"\n controlId=\"crm-opp-details-description\"\n [errorMsg]=\"'Crm.OpportunitiesMessage.DescriptionErrorMessage' | transloco\">\n <textarea rows=\"10\"\n id=\"crm-opp-details-description\"\n type=\"text\"\n class=\"form-control description-field\"\n formControlName=\"description\"\n [ngClass]=\"{ 'is-invalid': submitted && f['description'].errors }\"></textarea>\n </pw-input-container>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\"\n [disabled]=\"form.invalid\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </div>\n </form>\n </div>\n }\n", styles: [".vertical-bottom{vertical-align:text-bottom}.cancel-button{float:right}.feature-tooltip{margin-right:-15px}.won-title{margin-top:2px}.won-tooltip{left:0}::ng-deep .p-multiselect.p-component{height:33.5px!important}::ng-deep .p-multiselect-label{display:flex;align-items:center;height:100%}.won-control .info-circle .tooltiptext:after{left:25px!important}\n"] }]
5781
5781
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CrmService }, { type: i2.ProductService }, { type: i0.ChangeDetectorRef }] });
5782
5782
 
5783
5783
  class SmartCrmOpportunitiesInfoComponent extends AppBaseComponent {