{"version":3,"file":"fts-system-library.mjs","sources":["../../../projects/fts-system-library/src/lib/dynamic-apps/core/environment.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/core/common-interface-enum-classes-functions.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/loader.service.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/core/global.service.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-apps.service.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/core/translate.pipe.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/core/handlebar-helper-register.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/grid.service.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/delete/delete.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/delete/delete.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/grid-datatype/grid-datatype.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/grid-filetype/grid-filetype.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/pagination/pagination.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/pagination/pagination.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/inner-grid/inner-grid.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/inner-grid/inner-grid.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/multiple-value-search/multiple-value-search.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/multiple-value-search/multiple-value-search.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/image-type/image-type.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/image-type/image-type.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/tree-grid-view/tree-grid-view.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/tree-grid-view/tree-grid-view.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/grid.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/grid/grid.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/attachmentsetup/attach-list/attach-list.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/attachmentsetup/attach-list/attach-list.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/attachmentsetup/attach-popup/attach-popup.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/attachmentsetup/attach-popup/attach-popup.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/card-line/card-line.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/card-line/card-line.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/custom-templete/custom-templete.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/custom-templete/custom-templete.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/new-chart/new-chart.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/new-chart/new-chart.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/report/report.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/report/report.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-dynamic-field/validation-error.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/core/allpipe.pipe.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dropdown-field/dropdown-field.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dropdown-field/dropdown-field.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-dynamic-field/entity-dynamic-field.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-dynamic-field/entity-dynamic-field.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-dynamic-view/entity-dynamic-view.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-dynamic-view/entity-dynamic-view.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/ticket-create/ticket-create.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/ticket-create/ticket-create.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-entity-create/dynamic-entity-create.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-entity-create/dynamic-entity-create.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-details-view/dynamic-details-view.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-details-view/dynamic-details-view.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/activities-view/activities-view.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/activities-view/activities-view.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/workflow-dynamic-popup/workflow-dynamic-popup.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/workflow-dynamic-popup/workflow-dynamic-popup.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-assignment/entity-assignment.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/entity-assignment/entity-assignment.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-dynamic-entity-details/detail-dynamic-entity-details.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-dynamic-entity-details/detail-dynamic-entity-details.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-profile/dynamic-profile.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-profile/dynamic-profile.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-dynamic-page/detail-dynamic-page.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-dynamic-page/detail-dynamic-page.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-dynamic-list/detail-dynamic-list.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-dynamic-list/detail-dynamic-list.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/page-entity/page-entity.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/page-entity/page-entity.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/page-tab/page-tab.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/page-tab/page-tab.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/progress-bar/progress-bar.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/progress-bar/progress-bar.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/page-controller/page-controller.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/page-controller/page-controller.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-entity-details/dynamic-entity-details.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-entity-details/dynamic-entity-details.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-page/dynamic-page.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-page/dynamic-page.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-list/dynamic-list.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-list/dynamic-list.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/index/index.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/index/index.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-apps-routing.module.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/json-preview/json-preview.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/Templates/json-preview/json-preview.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-tool-tip-details/dynamic-tool-tip-details.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/entity-type-setup/dynamic-tool-tip-details/dynamic-tool-tip-details.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-page-entity/detail-page-entity.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-page-entity/detail-page-entity.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-page-tab/detail-page-tab.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-page-tab/detail-page-tab.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-progress-bar/detail-progress-bar.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-progress-bar/detail-progress-bar.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-page-controller/detail-page-controller.component.ts","../../../projects/fts-system-library/src/lib/dynamic-apps/duplicate-components-for-cd-error/detail-page-controller/detail-page-controller.component.html","../../../projects/fts-system-library/src/lib/dynamic-apps/dynamic-apps.module.ts","../../../projects/fts-system-library/src/fts-system-library.ts"],"sourcesContent":["export const environment = {\r\n  production: false,\r\n  ServerUrl: \"\",\r\n  indBaseServerUrl: \"\",\r\n  bizBaseUrl: \"\",\r\n};","import { FormArray, FormControl, FormGroup } from \"@angular/forms\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\n\r\nexport interface ISortingField {\r\n    field: string | null;\r\n    direction: any | null;\r\n  }\r\n  export interface IFilterValues {\r\n    Field: string | null;\r\n    TableAlias: string | null;\r\n    Operator: string | null;\r\n    Value: string | null;\r\n  }\r\n  export interface ISearchCriteria {\r\n    Pagging: {\r\n      PageNo: any | null;\r\n      PageSize: any | null;\r\n    };\r\n    Where: any | null;\r\n    SortOrder: any | null;\r\n    ConditionOperator?: E_operator | null;\r\n  }\r\n  \r\n  export interface FieldFiles {\r\n    FieldName: string | null;\r\n    File: File[] | null;\r\n  }\r\n  \r\n  export interface IColumnDef {\r\n    Field: any | null;\r\n    Name: any | null;\r\n    DataType?: E_DataType | null;\r\n    FormStatus?: E_FormStatus | null;\r\n    IsHeader?: boolean | null;\r\n    IsVisible?: boolean | null;\r\n    showLabel?: boolean | null;\r\n    showData?: boolean | null;\r\n    IsFilter?: boolean | null;\r\n    IsEditable?: boolean | null;\r\n    IsMandatory?: boolean | null;\r\n    Order?: number | null;\r\n    method?: any | null;\r\n    FieldType?: E_FieldType | null;\r\n    CardViewType?:E_CardViewType| null;\r\n    MobileFieldtype?:E_MobileListFieldType| null;\r\n    MobileIcontype?:any| null;\r\n    MobileIcon?:any| null;\r\n    LabelPostion?: E_LabelPostion | null;\r\n    FieldValue?: any | null;\r\n    MultiFieldValue?: any[] | [];\r\n    target?: any | null;\r\n    UrlType?: E_UrlType | null;\r\n    Url?: any | null;\r\n    InputEventType?: E_InputEvent | null;\r\n    ClassName?: any | null;\r\n    IconName?: any | null;\r\n    IsImageField?: any | null;\r\n    IsSerachField?: boolean | null;\r\n    Width?: any | null;\r\n    IsTDWidth?: boolean | null;\r\n    IsTitle?: boolean | null;\r\n  \r\n    Textcolor?: any | null;\r\n    bgcolor?: any | null;\r\n    FieldClass?: any | null;\r\n    FieldCondition?:FieldCondition | null;\r\n  \r\n    ResponseView?:any | null;\r\n  \r\n    ButtonType?:E_ButtonType | null;\r\n    ButtonEvent?:any| null;\r\n  \r\n    Condition?:any| null;\r\n  \r\n  \r\n    PageType?: any | null;\r\n    PageViewType?: any | null;\r\n    PageRecId?: any | null;\r\n    PagePrimaryField?:any| null;\r\n    PageFormRecId?: any | null;\r\n    PageParam?:any | null;\r\n  \r\n    IsExpanded?: boolean | null;\r\n    FormName?:any | null;\r\n  \r\n    showmore?: boolean | null;\r\n  \r\n    FormulaData?:any | null;\r\n    Base64Property?:any;\r\n    FileNameField?:any;\r\n    \r\n    ImagePathType?: any | null;\r\n  \r\n  \r\n  }\r\n  \r\n  export interface IActionDef {\r\n    Id: any | null;\r\n    SubId?:any | null;\r\n    Name: any | null;\r\n    methodName?: any | null;\r\n    needGridData?: boolean;\r\n    MethodType?: E_ActionType | null;\r\n    selectMode?: E_SelectMode | null;\r\n  }\r\n  \r\n  export interface ISelectOptions {\r\n    Id: number | null;\r\n    Name: string | null;\r\n  }\r\n  export interface IDropDown {\r\n    Id: number | any | null;\r\n    Description: any | null;\r\n    DescriptionAr?: any | null;\r\n  }\r\n  \r\n  export interface IRestConfig {\r\n    // EventType:string,\r\n    textField?: string|null;\r\n    valueField?: string|null;\r\n    Column?:IColumnDef[];\r\n    URL: string|null;\r\n    Method: string|null;\r\n    Headers: INameTypeVal[];\r\n    QueryStrings: INameTypeVal[];\r\n    Files?: INameTypeVal[];\r\n    Body: any;\r\n    BodyType?:any;\r\n    Path: any;\r\n    Havecriteria?:boolean;\r\n    HasServerSideSearch?:boolean;\r\n    ClientSideSearch?:boolean;\r\n    IsMultipleSelect?:boolean;\r\n    IsCheckList?:boolean;\r\n    TextboxShowData?:any[];\r\n  \r\n    ResponseView?:any;\r\n    DeserializeResponse?:boolean;\r\n    AllowFile?:boolean;\r\n    FileObjectName?:string|null;\r\n    FieldList?:any[];\r\n  \r\n    DataSourceType?:any;\r\n    DataSourceId?:any;\r\n    QueryParameter?:any;\r\n  \r\n    TreeView?:TreeViewConfig;\r\n  \r\n    DataSource?:string | any;\r\n    Type?:string|null;\r\n    ObjectName?:string|null;\r\n  \r\n    RestApiMethod?:any;\r\n    ApiName?:string | any;\r\n  \r\n    IsFileDownload?:boolean;\r\n    SuccessFormat?:any;\r\n    SuccessMessage?:string|any;\r\n    ErrorMessage?:string|any;\r\n    ResponseDataFilterCondition?:string|any;\r\n  }\r\n  \r\n  export interface TreeViewConfig {\r\n    ChildKey: string|null;\r\n    ParentKey: string|null;\r\n    ExpandedKey: string|null;\r\n  }\r\n  \r\nexport interface IUploadFile {\r\n  lastModified: number;\r\n  lastModifiedDate: Date;\r\n  name: string;\r\n  size: number;\r\n  type: string;\r\n  webkitRelativePath: any;\r\n}\r\n  export interface INameVal {\r\n    Name:string |null;\r\n    Value:string |null;\r\n  }\r\n  export interface INameTypeVal {\r\n    Name: string|null;\r\n    Type?:string |null;\r\n    Value: string|null;\r\n    IsNullable?:boolean;\r\n    IsCriteriaField?:boolean;\r\n    IsMandatory?:boolean;\r\n  }\r\n  export interface IGridExport{\r\n    ColumnDef:IColumnDef[];\r\n    Url:string;\r\n    QueryParams:INameVal[];\r\n    FileName:string;\r\n    IsTemplate?: boolean;\r\n    whereCondition?:string;\r\n    GridResponsePath?:string;\r\n  }\r\n  export interface IsHideButton{\r\n    Delete:boolean;\r\n    Edit:boolean;\r\n    Both:boolean;\r\n    Assign?:boolean;\r\n  }\r\n  export class AppConfig {\r\n    DefaultHomePage:string |null = null;\r\n    DefaultHeader:string |null = null;\r\n    DefaultFooter:string |null = null;\r\n  \r\n    HideTopNav: boolean = false;\r\n    HideMenu: boolean = false;\r\n    HideRightBar: boolean = false;\r\n    RecentMenu: boolean = false;\r\n    FavouriteMenu: boolean = false;\r\n    IsDefaultSearch: boolean = false;\r\n    GridFilterFormId: number |null = null;\r\n    Theme: string |null = null;\r\n    MenuType:number |null = null;\r\n    MenuPosition:number |null = null;\r\n    \r\n    FileDirectoryPath: string |null = null;\r\n  \r\n  \r\n    IsNavBarSearch: boolean = false;\r\n    NavBarSearchFormId: number |null = null;\r\n    NavBarSearchTitle: string |null = null;\r\n    NavBarSearchDataHideField: string |null = null;\r\n  \r\n    ShowOtherApps:boolean = false;\r\n    UpdatePassword:boolean = false;\r\n    IsAppMaintenance: boolean = false;\r\n    LoginType: string |null = null;\r\n    AzureLoginClientId: string |null = null;\r\n    AzureLoginAuthority: string |null = null;\r\n    AzureLoginRedirectUri: string |null = null;\r\n    TwoStepVerification: boolean = false;\r\n    TwoStepVerificationType: string |null = null;\r\n  \r\n  }\r\n  \r\n  export class FormConfig {\r\n   \r\n    IsExport:boolean = true;\r\n    IsCreate:boolean = true;\r\n    CreateType:number = 1;\r\n    IsEdit:boolean = true;\r\n    IsDelete:boolean = true;\r\n    IsMultipleFilter:boolean = false;\r\n    IsMultipleSearch:boolean = false;\r\n    IsAttach:boolean = false;\r\n    ExportURL:string |null = null;\r\n    IsImport:boolean = false;\r\n    ImportURL:string |null = null;\r\n    IsExportTemplate:boolean = false;\r\n    IsBack:boolean = false;\r\n    BackURL:string |null = null;\r\n    IsAssign:boolean = false;\r\n    IsPermission:boolean = false;\r\n    IsDuplicate:boolean = false;\r\n    IsAction:boolean = false;\r\n    ActionVisible:boolean = false;\r\n    AllowMultipleAction:boolean = false;\r\n    IsExcelImport:boolean = false;\r\n    IsShowAllPendingBar:boolean = false;\r\n  \r\n    IsLoadFile:boolean = false;\r\n    IsHideWorkflowBar:boolean = false;\r\n    IsHideSearch:boolean = false;\r\n  \r\n    IsClientPagination:boolean = false;\r\n   \r\n    CreateCondition: {\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n  \r\n    EditCondition:{\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n    AttachCondition:{\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n    DeleteCondition:{\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n    AssignCondition: {\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n    ActionCondition: {\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n  \r\n    IsDetails:boolean = false;\r\n    DetailsTarget:string |null = null;\r\n    DetailsPageType:number = 0;\r\n    DetailsPageRecId:number = 0;\r\n    DetailsPageFormRecId:number = 0;\r\n    DetailsPageParam:any[] =[];\r\n    DetailsUrl:any = null;\r\n    DetailsPagePrimaryField:any = null;\r\n  \r\n    PaginationType:string |null = null;\r\n  \r\n    ActionList:any =null;\r\n  \r\n  }\r\n  \r\n  export class Validation {\r\n    Required:boolean = false;\r\n    MinLength: number |null = null;\r\n    MaxLength: number |null = null;\r\n  \r\n    MinValue: number |null = null;\r\n    MaxValue: number |null = null;\r\n  \r\n    Pattern: string |null = null;\r\n  }\r\n  \r\n  export interface IEmpProfileFilterVM {\r\n    EmployeeType:string |null; \r\n    Gender: number;           \r\n    LodgeId:string |null;          \r\n    JobSpecification:string |null; \r\n    EmployeeId:string |null;       \r\n    IsSpeakArabic: boolean;   \r\n    IsSpeakEnglish: boolean;  \r\n    CleaningHouses: boolean;  \r\n    OldAgeCare: boolean;      \r\n    ChildCare: boolean;       \r\n    Cooking: boolean;         \r\n    Religion:string |null;   \r\n    GCCExperienceMin :  number;          \r\n    GCCExperienceMax:  number;          \r\n    ArcoExperienceMin :  number;          \r\n    ArcoExperienceMax:  number;          \r\n    TotalExperienceMin:  number;          \r\n    TotalExperienceMax:  number;        \r\n    ArcoExperienceMonthMin: null,\r\n    ArcoExperienceMonthMax: null,            \r\n  }\r\n  \r\n  export interface IEmpProfileSearchVM {\r\n    AgeMin: number;     \r\n    AgeMax: number;     \r\n    Available: boolean;     \r\n    Booked: boolean;     \r\n    Nationality:string |null;     \r\n    VisaProfession: any; \r\n    EmployeeStatus:number;    \r\n    PageType:number;    \r\n  }\r\n  export class entityTypeTemplateActivitiesCVM {\r\n    CaseTypeId:number |null = null;\r\n    TemplateId:string |null = null;\r\n    MappingField:string |null = null;\r\n    StageId:string |null = null;\r\n    Name:string |null = null;\r\n    AllowMultiple:boolean |null = null;\r\n    Condition:string |null = null;\r\n  }\r\n  export class entityTypeTemplateActivitiesUVM extends entityTypeTemplateActivitiesCVM {\r\n    RecId: number |null = null;\r\n  }\r\n  \r\n  export class FieldCondition {\r\n    Type: string |null = null;\r\n    Child: FieldCondition[] = [];\r\n    Condtion: any[] = [];\r\n    CondtionOperator: number |null = null;\r\n    Action: any[] = [];\r\n    constructor(Type: string) {\r\n      this.Type = Type;\r\n    }\r\n  }\r\n  \r\n  export interface Gallery_Image_view {\r\n    Path?:string |null;\r\n    Url?:string |null;\r\n    Title?:string;\r\n    Name?:string;\r\n    IsDirectory?:boolean;\r\n    type?:any;\r\n    Ext?:any;\r\n  }\r\n  \r\n  export interface checkList {\r\n    isCheck:boolean;\r\n    isCheckValue:string;\r\n  }\r\n  \r\n  export enum E_SelectMode {\r\n    None = 1,\r\n    Sigle = 2,\r\n    Multi = 3,\r\n  }\r\n  \r\n  export enum E_DataType {\r\n    string = 1,\r\n    int = 2,\r\n    date = 3,\r\n    dateTime = 4,\r\n    decimal = 5,\r\n    timespan = 6,\r\n    image = 7,\r\n    dropdown = 8,\r\n    Relation = 88,\r\n    bool = 9,\r\n    textarea = 10,\r\n    file = 11,\r\n    LookUp = 12,\r\n    Long = 13,\r\n    ByteOfArray = 14,\r\n    Int64 = 15,\r\n    Real = 16,\r\n    Time = 17,\r\n    Enumerations = 18,\r\n    HtmlEditor = 19,\r\n    isIcon = 20,\r\n    Placeholder = 21,\r\n  \r\n    IsOnOff = 30,\r\n    Header = 31,\r\n    Text = 32,\r\n    Tag =33,\r\n    QRcode =34,\r\n    List= 40,\r\n    Array = 41,\r\n    Object = 42,\r\n    JSONString = 43,\r\n    button = 50,\r\n    buttonGroup = 51,\r\n    TableView = 60,\r\n    Label = 70,\r\n    LongText = 101,\r\n    ImageByte = 102,\r\n    FileByte = 103,\r\n    Code = 104,\r\n    CheckList = 105,\r\n  }\r\n  \r\n  \r\n  export enum E_SureyDataType {\r\n    ShortAnswer = 1,\r\n    Number = 2,\r\n    Date = 3,\r\n    Decimal = 5,\r\n    Time = 17,\r\n    Dropdown = 8,\r\n    MultipleChoice = 80,\r\n    Checkboxes = 81,\r\n  \r\n    Paragraph = 10,\r\n    FileUpload = 11,\r\n    Label = 70,\r\n    LinearScale = 102,\r\n    MultipleChoiceGrid = 103,\r\n    CheckboxesGrid = 104,\r\n    Stars = 105,\r\n    Smiley = 106,\r\n    Thumsup = 107,\r\n  \r\n  \r\n  }\r\n  \r\n  \r\n  export enum E_FieldType {\r\n    details = 1,\r\n    anchor = 2,\r\n    button = 3,\r\n    text = 4,\r\n    icon = 5,\r\n    onOff = 6,\r\n    copyText = 7,\r\n    JSONString = 8,\r\n    FileTypeIcon = 9,\r\n    Formula  = 10,\r\n  }\r\n  \r\n  export enum E_CardViewType {\r\n    Title = 1,\r\n    SubTitle = 2,\r\n    BottomView=3\r\n  }\r\n  \r\n  export enum E_Gender {\r\n    Male = 1,\r\n    Female = 2,\r\n  }\r\n  \r\n  export enum E_WidjetType {\r\n    details = 1,\r\n    list = 2,\r\n  }\r\n  export enum E_WidjetMode {\r\n    View = 1,\r\n    Edit = 2,\r\n  }\r\n  \r\n  export enum E_ActionType {\r\n    Create = 1,\r\n    Update = 2,\r\n    Delete = 3,\r\n    Print = 4,\r\n    View = 5,\r\n  }\r\n  \r\n  export enum E_AnchorTarget {\r\n    _blank = 1,\r\n    _self = 2,\r\n    _parent = 3,\r\n    _top = 4,\r\n  }\r\n  export enum E_UrlType {\r\n    None = 1,\r\n    SingleField = 2,\r\n    MultiField = 3,\r\n  }\r\n  \r\n  export enum E_ViewType {\r\n    List = 1,\r\n    Card = 2,\r\n    ListWithImg = 3,\r\n  }\r\n  export enum E_InputEvent {\r\n    OnChange = 1,\r\n    OnFocusIn = 2,\r\n    OnFocusout = 3,\r\n  }\r\n  export enum E_GridSearchType {\r\n    None = 1,\r\n    AzureTable = 2,\r\n  }\r\n  \r\n  export enum E_ViewPopUpSize {\r\n    Small = 1,\r\n    Medium = 2,\r\n    Large = 3,\r\n  }\r\n  \r\n  export enum eFieldValidatorType {\r\n    MIN_MAX = 1,\r\n    REQUIRED = 2,\r\n    MAX_LENGTH = 3,\r\n    MIN_LENGTH = 4,\r\n    PATTERN = 5,\r\n  }\r\n  \r\n  export enum E_SysMethods {\r\n    GET = 1,\r\n    PUT = 2,\r\n    POST = 3,\r\n    DELETE = 4,\r\n    //    HEAD=5,\r\n    // FIREBASE =10\r\n  }\r\n  \r\n  export enum E_MenuShowType {\r\n        CaseOnly = 1,\r\n      TaskOnly = 2,\r\n      ProductivityOnly = 3,\r\n      CaseAndProductivity= 4,\r\n      TaskAndProductivity= 5,\r\n      All= 6,\r\n      SupportRequestOnly = 7,\r\n      SupportRequestAndProductivity = 8, \r\n      System=9,\r\n      EntityOnly=10\r\n    //    HEAD=5,\r\n  }\r\n  \r\n  export enum E_MenuShowTypeNew {\r\n    All = 100,\r\n    Platform = 10,\r\n    Organization = 11,\r\n    Productivity = 20\r\n  }\r\n  \r\n  \r\n  \r\n  export enum E_FormStatus {\r\n    Draft = 1,\r\n    Active = 2,\r\n    InActive = 3,\r\n  }\r\n  \r\n  export enum E_FormType {\r\n    //new\r\n    Table = 1,\r\n    Details = 2,\r\n    List = 3,\r\n    Card = 4,\r\n    Columns = 5,\r\n    Gallery = 6,\r\n    Chart = 7,\r\n    Report = 8,\r\n    CustomTemplate =9,\r\n    EntityPage = 10,\r\n    Page = 11,\r\n    Profile =12,\r\n    Preview =13,\r\n  \r\n    MobileList =14,\r\n    MobileDetails =15,\r\n    MobileCreate =16,\r\n  \r\n    DataSource = 30,\r\n    Workflow = 40,\r\n    Assignment = 60,\r\n    Create = 70,\r\n    Update = 80,\r\n    Delete = 90,\r\n    Entity = 100,\r\n    FieldGroup = 101,\r\n    Action = 110,\r\n    Remote = 150,\r\n    Survey =180,\r\n  \r\n    Query=190,\r\n    Function = 195,\r\n  \r\n    // old\r\n    // List = 1,\r\n    // Details = 2,\r\n    // Datasource = 3,\r\n    // WorkflowForm = 4,\r\n  \r\n  }\r\n  \r\n  export enum E_Language {\r\n    DefaultValue = \"English\",\r\n    English = 'English',\r\n    Arabic = 'Arabic',\r\n  }\r\n  \r\n  export enum E_ActivityActionType {\r\n    Sms = 1,\r\n    Email = 2,\r\n    Api = 3,\r\n    DocTypeTemplate = 6,\r\n    Entity = 100,\r\n    WorkItem = 250,\r\n    Function = 195\r\n    // Others = 4,\r\n    // Comments = 5,\r\n  }\r\n  \r\n  \r\n  export enum E_ButtonType {\r\n    \r\n    None = 1,\r\n    Import = 2,\r\n    Export = 3,\r\n    ImportProcess = 4,\r\n    Submit=5,\r\n    Approve =6,\r\n    Details =7,\r\n    Activity=8,\r\n    CallGETMethod=9,\r\n    CallRestAPI=10,\r\n    Navigate = 11,\r\n    openAction = 12,  \r\n    \r\n  }\r\n  export enum E_operator{\r\n    AND = 1,\r\n    OR = 2\r\n  }\r\n  \r\n  export enum E_ButtonActionType{\r\n    Navigation = 1,\r\n    RestApi = 2,\r\n    Form = 3\r\n  }\r\n  \r\n  export enum E_GalaryViewFieldType {\r\n    Image = 1,\r\n    Header = 2,\r\n    Price = 3,\r\n    Description = 4,\r\n    Discount = 5,\r\n    Diagonal = 6,\r\n    Tag= 7,\r\n    Button= 8\r\n  }\r\n  \r\n  export enum E_ControllerType {\r\n    Tab = 1,\r\n    Section = 2,\r\n    Entity = 3,\r\n    WorkFlow = 4,\r\n    Chart = 5,\r\n    Report = 6,\r\n    CustomTemplate = 7,\r\n    Iframe =8,\r\n    UiComponent = 9,\r\n    ProgressBar = 10,\r\n    None = 0\r\n  }\r\n  \r\n  export enum E_EntityType {\r\n    Case = 10,\r\n    Task = 20,\r\n    Entity = 100,\r\n    Collection = 110,\r\n    DataBase = 120,\r\n    Remote = 150,\r\n    API = 151,\r\n    WorkItem = 250,\r\n    Survey = 300,\r\n  }\r\n  \r\n  \r\n  export enum E_MenuType{\r\n    App = 1,\r\n    Module = 2\r\n  }\r\n  \r\n  export enum E_DatasourceType {\r\n    RestApi = 1,\r\n    Connector = 2,\r\n    Query = 3,\r\n    Entity = 4,\r\n    RestAPIConnector = 5,\r\n    SQLConnector = 6,\r\n  \r\n  }\r\n  \r\n  export enum E_LabelPostion {\r\n    Left = 1,\r\n    Top = 2,\r\n    Float = 3,\r\n  }\r\n  \r\n  export enum E_TableJoinType {\r\n    LEFT = 1,\r\n    INNER = 2,\r\n    RIGHT = 3,\r\n    FULL = 4,\r\n  }\r\n  \r\n  export enum E_ConditionType {\r\n    Condition = 1,\r\n    Group =2\r\n  }\r\n  \r\n  export enum E_Operators {\r\n    Equal = 1,\r\n    NotEqual =2,\r\n    LessThen =3,\r\n    LessThenEqual =4,\r\n    GreaterThen =5,\r\n    GreaterThenEqual =6,\r\n    IsNull =7,\r\n    IsNotNull =8,\r\n    IsEmpty =9,\r\n    IsNotEmpty =10,\r\n    Length =11,\r\n    Contains =12,\r\n    NotContains =13,\r\n    StartsWith =14,\r\n    EndsWith =15,\r\n  }\r\n  \r\n  export enum E_CriteriaFormat {\r\n    equal = 'eq',\r\n    notEqual = 'ne',\r\n    greaterThen = 'gt',\r\n    greaterThenEqual = 'ge',\r\n    lessThen = 'lt',\r\n    lessThenEqual = 'le',\r\n    startWith = 'sw',\r\n    endWith = 'ew',\r\n    like = 'li',\r\n    notLike = 'nl',\r\n  }\r\n  \r\n  export enum StageType {\r\n    Task = 1,\r\n    Approval = 2,\r\n    Decision = 3,\r\n    Auto = 4,\r\n  }\r\n  \r\n  \r\n  export enum E_ChartType {\r\n    column = 1,\r\n    area = 2,\r\n    spline = 3,\r\n    pie = 4,\r\n    bar = 5,\r\n    line = 6,\r\n    funnel= 7,\r\n    doughnut= 8,\r\n    pyramid=9,\r\n    stackedColumn = 10,\r\n    stackedBar = 11,\r\n  }\r\n  \r\n  \r\n  export enum E_FieldGroupType {\r\n    Primary = 1,\r\n    List = 2,\r\n    Relation = 3,\r\n    LookUp = 4,\r\n    Report = 5,\r\n  }\r\n  \r\n  export enum E_FieldGroupTypeNew {\r\n    NonPrimary = 0,\r\n    Primary = 1,\r\n  }\r\n  \r\n  export enum Tab_view {\r\n    Field = 1,\r\n    Forms = 2,\r\n    WorkFlow = 3,\r\n    Assignment = 4,\r\n    Events = 6,\r\n    Sla = 7,\r\n    Attachment = 8,\r\n    WorkflowRules = 9,\r\n    Table = 13,\r\n    Query = 14,\r\n    Function = 15,\r\n    DataBase = 20,\r\n    EntityRules = 22,\r\n    View = 23,\r\n    StoreProcedure = 24,\r\n    D_Fields = 25,\r\n    D_Forms = 26,\r\n    ViewModel = 27,\r\n    Method = 28,\r\n    FieldGroup = 30,\r\n    Bulkcreate = 31,\r\n    SwaggerJson = 32,\r\n    Validation = 33,\r\n    RelationEntity = 34,\r\n    Security = 35,\r\n  }\r\n  \r\n  \r\n  export enum E_PermissionDataType {\r\n    Data = \"Data\",\r\n    Entity = \"Entity\",\r\n    Field = \"Field\",\r\n    Form = \"Form\",\r\n    Module = \"Module\",\r\n    ActivityTemplate = \"ActivityTemplate\"\r\n  }\r\n  export enum AttributeValues {\r\n    _blank = \"_blank\",\r\n    _self = \"_self\",\r\n  }\r\n  export enum SplitterValues {\r\n    NewLine = '\\n',\r\n    Colon = ':',\r\n    Semicolon = ';',  \r\n    Comma = ',',\r\n    Hash = '#',\r\n    DollarSign = '$',\r\n    Percent = '%',\r\n    Ampersand = '&',\r\n    Asterisk = '*',\r\n    AtSign = '@',\r\n    Underscore = '_',\r\n    QuestionMark = '?'\r\n  }\r\n  \r\n  \r\n  export enum E_MobileListFieldType {\r\n    Title = 1,\r\n    SubTitle = 2,\r\n    Image = 3,\r\n    Tag = 4,\r\n    Button = 5,\r\n    Action = 6,\r\n  }\r\n  \r\n  export enum E_ConnectorType {\r\n    RestApi = \"RestApi\",\r\n    Query = \"Query\",\r\n    Entity = \"Entity\",\r\n    RestAPIConnector = \"RestAPIConnector\",\r\n    SQLConnector = \"SQLConnector\",\r\n  \r\n  }\r\n  export enum E_FileExtension{\r\n    jpeg = \"jpeg\", \r\n    jpg= \"jpg\",   \r\n    png=\"png\",   \r\n    svg=\"svg\",   \r\n    gif=\"gif\",   \r\n    txt=\"txt\",   \r\n    doc=\"doc\",   \r\n    docx=\"docx\",   \r\n    odp=\"odp\",   \r\n    ods=\"ods\",   \r\n    odt=\"odt\",   \r\n    pdf=\"pdf\",   \r\n    ppt=\"ppt\",   \r\n    rtf=\"rtf\",\r\n    xls=\"xls\",   \r\n    csv=\"csv\",   \r\n    json=\"json\",   \r\n    xlsx=\"xlsx\",   \r\n    zip=\"zip\",\r\n  }\r\n  export enum E_FileFormat{\r\n    jpeg = \"image/jpeg\", \r\n    jpg= \"image/jpeg\",   \r\n    png=\"image/png\",   \r\n    svg=\"image/svg+xml\",   \r\n    gif=\"gif\",   \r\n    txt=\"txt\",\r\n    doc=\"doc\",   \r\n    docx=\"docx\",   \r\n    odp=\"odp\",   \r\n    ods=\"ods\",   \r\n    odt=\"odt\",   \r\n    pdf=\"pdf\",   \r\n    ppt=\"ppt\",   \r\n    rtf=\"rtf\",\r\n    xls=\"xls\",   \r\n    csv=\"csv\",   \r\n    json=\"json\",   \r\n    xlsx=\"xlsx\",   \r\n    zip=\"zip\",\r\n  }\r\n  \r\n  export enum E_CodeMode {\r\n    CSS =  \"text/css\",\r\n    Javascript = \"text/javascript\",\r\n    HTML = \"text/html\",\r\n    JSON = \"application/ld+json\"\r\n  }\r\n  export enum E_FormFieldType {\r\n   Response = \"Response\",\r\n   Identity = \"Identity\"\r\n  }\r\n\r\n  \r\nexport class PageDetailsRow {\r\n    ID: string = \"1\";\r\n    Groups: PageGroup[] = [];\r\n    Width: number = 100;\r\n    Height: number = 100;\r\n  }\r\n  \r\n  export class PageGroup {\r\n    ID: string = \"1\";\r\n    Width: number = 33;\r\n    Height: number = 100;\r\n    Class: string = \"\";\r\n    Name: string = \"\"\r\n    ViewType: ePageViewType = ePageViewType.View;\r\n    Direction: string=\"\";\r\n    Alignment: string=\"\";\r\n    Position: string=\"\";\r\n    Fields: EntityTypeFieldVM[] = [];\r\n    Groups: PageGroup[] = []; // need to remove group it is worngin implementaion ag\r\n  \r\n    showGroupConfig?:boolean = false;\r\n  \r\n  }\r\n  \r\n  \r\n  export enum ePageViewType {\r\n    View = 1,\r\n    Edit = 2,\r\n    ViewAndEdit = 3,\r\n    FieldGroup = 4,\r\n  }\r\n  \r\n  export enum ePageDetailAlignment {\r\n    left = 1,\r\n    center = 2,\r\n    right = 3,\r\n  }\r\n  \r\n  export enum ePageDetailDirection {\r\n    Vertical = 1,\r\n    Horizontal = 2,\r\n  }\r\n  \r\n  \r\n  export class PageContentsRow {\r\n    ID: string = \"1\";\r\n    Groups: PageContentGroup[] = [];\r\n    Width: number = 100;\r\n    Height: number = 100;\r\n    Parameter:any = null\r\n  }\r\n  \r\n  export class PageContentGroup {\r\n    constructor(id: string) {\r\n      this.ID = id;\r\n      this.ControlData = new ControlData(this.ID);\r\n    }\r\n  \r\n    ID: string|null = null;\r\n    ControlData: ControlData;\r\n    Width: number = 33;\r\n    Height: number = 100;\r\n    Class: string = \"\";\r\n    Name: string = \"\";\r\n    IsDefault: boolean = false;\r\n    ControlType: E_ControllerType = E_ControllerType.None;\r\n    ViewType: ePageViewType = ePageViewType.View;\r\n    Direction: ePageDetailDirection = ePageDetailDirection.Vertical;\r\n    Alignment: ePageDetailAlignment = ePageDetailAlignment.left;\r\n    Fields: EntityTypeFieldVM[] = [];\r\n    Groups: PageContentGroup[] = []; // need to remove group it is worngin implementaion ag\r\n    Tabs: any[] = [];\r\n    Section: any[] = [];\r\n  \r\n    PageEntity: PageEntity = new PageEntity();\r\n  \r\n    HTML: string = \"\";\r\n    Script: string = \"\";\r\n    Css: string = \"\";\r\n    JsonData: string = \"\";\r\n    Chart: ChartControl = new ChartControl();\r\n    UiComponent:CanvasInterface[] = [];\r\n  \r\n    UIGroup:UIGroup = new UIGroup();\r\n  \r\n    Iframe:Iframe = new Iframe();\r\n    Condition: {\r\n      Condtion: any[],\r\n      CondtionOperator: number\r\n    } = {Condtion:[],CondtionOperator:0};\r\n  \r\n    Timer: number |null= null;\r\n    isLoadTab: boolean = false;\r\n  }\r\n  \r\n  export class Iframe {\r\n    Title: string |null= null;\r\n    URL: string |null = null;\r\n    width: string = \"100%\";\r\n    height: string = \"100%\";\r\n    minheight: string = \"500px\";\r\n  }\r\n  \r\n  export class PageEntity {\r\n    Name: string = \"\";\r\n    Type: E_EntityType |null = null;\r\n    EntityTypeId: any  = null;\r\n    EntityTypeName: any = null;\r\n    EntityFormId: any = null;\r\n    EntityFormName: any = null;\r\n    EntityFormType:E_FormType  |null= null;\r\n  \r\n    FormViewType: any = null;\r\n    FormDataGetType: any =null;\r\n    FormDataGetController: any =null;\r\n    FormDataGetMethod: any =null;\r\n    FormDataId: any =null;\r\n    FormDataParams: any = null;\r\n    FormDetailsData: any = null;\r\n  \r\n    HideListHeader:boolean |null= null;\r\n    HidePagination:boolean |null= null;\r\n    HideAction:boolean |null= null;\r\n  }\r\n  \r\n  export class ControlData {\r\n    constructor(id: string) {\r\n      this.ID = id;\r\n    }\r\n    ID: string;\r\n    GridSelectedData: any = null;\r\n    FormData: any = null\r\n  \r\n  \r\n  }\r\n  \r\n  \r\n  export class DesignFormConfig {\r\n    constructor(RecId: number) {\r\n      this.Id = RecId;\r\n    }\r\n    Id: number;\r\n    PopupSize: string |null=null;\r\n    ClassName: string |null=null;\r\n    \r\n  }\r\n  \r\n  export class ChartControl {\r\n    typeName: string  |null= null;\r\n  \r\n    titleText: string |null = null;\r\n    subTitleText: string  |null= null;\r\n    Suffix: string |null = null;\r\n    chartName: string  |null= null;\r\n    Groupby: string  |null= null;\r\n  \r\n    theme: string = \"light1\";\r\n     animation: boolean = true;\r\n    dataSourceType: eDATA_SOURCE_TYPE | number |null = null;\r\n    dataSourceRecId: string | number |null = null;\r\n    dataSourceConnector: number |null = null;\r\n   \r\n    DataPoints:ChartDataPoints[]=[];\r\n    labelKey: string |null = null;\r\n    yKey: string |null = null;\r\n  \r\n  }\r\n  \r\n  export class ChartDataPoints {\r\n    type: eChartControlType |null = null;\r\n    labelKey: string  |null= null;\r\n    yKey: string  |null= null;\r\n  \r\n  }\r\n  \r\n  export class CanvasJSChart {\r\n    theme: \"light1\" | \"light2\" | \"dark1\" | \"dark2\" = \"light2\";\r\n    animationEnabled: boolean = true;\r\n    title: {\r\n      text: string;\r\n    } = { text: \"Chart\" };\r\n    colorSet: string[]=[];\r\n    toolTip = {\r\n          shared: true\r\n      };\r\n      legend = new CanvasJSChartlegend();\r\n    data: CanvasJSChartDataPoints[] = [];\r\n  \r\n    exportEnabled:boolean = true;\r\n  \r\n  }\r\n  export class CanvasJSChartlegend {\r\n    cursor=\"pointer\";\r\n    itemclick:any=null \r\n  }\r\n  \r\n  export class CanvasJSChartDataPoints {\r\n    type: string = \"column\";\r\n    indexLabelOrientation:string= \"horizontal\";\r\n    indexLabelFontColor:string=  \"purple\";\r\n    yValueFormatString = \"\";\r\n    // indexLabel = \"{name}: {y}\";\r\n    indexLabel = \"\";\r\n    dataPoints: CanvasJSChartDataPointsData[] = [];\r\n  \r\n    showInLegend:boolean = false;\r\n    legendText: string  |null= null;\r\n    name: string |null = null;\r\n  }\r\n  \r\n  export interface CanvasJSChartDataPointsData {\r\n    label?: string;\r\n    name?: string;\r\n    y: number;\r\n  }\r\n  \r\n  export enum eChartControlType {\r\n    column = 1,\r\n    area = 2,\r\n    spline = 3,\r\n    pie = 4,\r\n    bar = 5,\r\n  }\r\n  export enum eDATA_SOURCE_TYPE {\r\n    TABLE = 1,\r\n    QUERY = 2,\r\n    API = 3,\r\n    Value = 4,\r\n  }\r\n  \r\n  export const cChartThemes = [\"light1\", \"light2\", \"dark1\", \"dark2\"];\r\n  \r\n  export class HighChartClass {\r\n    chart: {\r\n      type: string;\r\n    } = { type: \"pie\" };\r\n    title: {\r\n      text: string |null;\r\n    } = { text: \"Chart\" };\r\n    subtitle: {\r\n      text: string;\r\n    } = { text: \"Chart\" };\r\n  \r\n    tooltip: {\r\n      valueSuffix: string,\r\n      headerFormat: string,\r\n      pointFormat: string\r\n    } = {\r\n        valueSuffix: 'nos', headerFormat: '<span style=\"font-size:11px\">{series.name}</span><br>',\r\n        pointFormat: '<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:.2f}</b><br/>'\r\n      };\r\n  \r\n    xAxis: {\r\n      type: string\r\n    } = { type: 'category', };\r\n  \r\n    yAxis: {\r\n      title: string\r\n    } = { title: 'values' };\r\n  \r\n    accessibility: {\r\n      point: {\r\n        valueSuffix: string |null\r\n      }\r\n    }={point:{valueSuffix:null}};\r\n  \r\n  \r\n  \r\n    series: HighChartSeries[] = [];\r\n  \r\n  }\r\n  \r\n  export class HighChartSeries {\r\n    name: string |null=null;\r\n    colorByPoint: boolean = true;\r\n    data: HighChartData[] = [];\r\n  }\r\n  \r\n  export interface HighChartData {\r\n    name: string;\r\n    y: number;\r\n    sliced?: boolean;\r\n    selected?: boolean;\r\n  }\r\n  \r\n  export class ProfileView {\r\n    Filter: any[]=[];\r\n    ProfileImageView : PageDetailsRow[]=[];\r\n    ProfileMainview: PageDetailsRow[]=[];\r\n    Config:ProfileViewConfig = new ProfileViewConfig();\r\n  }\r\n  \r\n  \r\n  export class ProfileViewConfig {\r\n    isHideFilter: boolean = false;\r\n    FilterPosition: string = \"Left\";\r\n  }\r\n  \r\n  export class ToolTip {\r\n    Fields:EntityTypeFieldVM[]=[];\r\n    Config:ToolTipConfig = new ToolTipConfig();\r\n  }\r\n  export class ToolTipConfig {\r\n    Width: number = 300;\r\n    Height: number = 300;\r\n    Class: string = \"\";\r\n  }\r\n  \r\n  \r\n  export class UIGroup {\r\n  \r\n    Id: string = \"\";\r\n    Name: string = \"\";\r\n    Layout: string |null = null;\r\n    Config: UIGroupConfig = new UIGroupConfig();\r\n    Component: CanvasInterface[] = [];\r\n    LeftComponent: CanvasInterface[] = [];\r\n    LeftComponentConfig: UIGroupConfig = new UIGroupConfig();\r\n    RightComponent: CanvasInterface[] = [];\r\n    RightComponentConfig: UIGroupConfig = new UIGroupConfig();\r\n  }\r\n  \r\n  export class UIGroupConfig {\r\n    Class: string |null = null;\r\n    width: string |null = null;\r\n    height: string |null= null;\r\n    bgcolor: string |null = null;\r\n    txtcolor: string |null = null;\r\n  }\r\n  \r\nexport interface CanvasInterface {\r\n    name: string,\r\n    type: IControlType,\r\n    TopNav?: TopNavSection,\r\n    headings?: IHeadingAdd,\r\n    banner?:BannerSection,\r\n    testimonial?:ITestimonial,\r\n    breadcrumbs?:IBreadcrumbs,\r\n    sectionTitle?:ISectinTitle,\r\n    aboutUs?:IAboutAs,\r\n    footer?:IFooter,\r\n    ourClients?:IOurClients,\r\n    images?:IImages\r\n    Config?: UIGroupConfig;\r\n    rawHtml?:string;\r\n}\r\n\r\n\r\nexport enum IControlType {\r\n    header = 1,\r\n    Banner = 2,\r\n    Testimonial = 3,\r\n    Statistics = 4,\r\n    beadCrumb = 5,\r\n    SectionTitle = 6,\r\n    aboutAs = 7,\r\n    footer = 8,\r\n    clients = 9,\r\n    images = 10,\r\n    headings = 11,\r\n\r\n}\r\n\r\nexport enum E_TopNavType {\r\n    MenuRight = 1,\r\n    MenuCenter = 2,\r\n    MenuLeft = 3,\r\n    MenuOnly = 4,\r\n    LogoOnly = 5,\r\n}\r\nexport class TopNavSection {\r\n\r\n    CompanyName:string|null = null;\r\n    Logo:string|null = null;\r\n    Menu:ButtonComponent[]=[];\r\n    Type:E_TopNavType;\r\n    BgColor:string|null = null;\r\n    constructor(Type?:any,CompanyName?:any,Logo?:any) {\r\n        this.Type =Type?Type: E_TopNavType.MenuRight;\r\n        this.CompanyName = CompanyName;\r\n        this.Logo = Logo;\r\n    }\r\n\r\n\r\n}\r\nexport interface IMenu {\r\n    navBg:string,\r\n    menuTextColor:string,\r\n    siteNameColor:string,\r\n    siteName?: string,\r\n    siteLogo?: string,\r\n    templateType: number,\r\n    templateContent?:ITemplateContent,\r\n    noOfMenus?: IMenuItems[],\r\n}\r\nexport interface ITemplateContent {\r\n    rightText?: string;\r\n    phoneNumber?: string;\r\n    mailId?: string;\r\n    twitterLink?: string;\r\n    facebookLink?: string;\r\n    instaLink?: string;\r\n    inLink?: string;\r\n    pinLink?: string;\r\n\r\n}\r\nexport interface IMenuItems {\r\n    id: number;\r\n    menuName: string;\r\n    menuLink: string;\r\n}\r\nexport interface IHeadingAdd {\r\n    headingText:string,\r\n    headingBg:string,\r\n    headingTextColor:string,\r\n    hradingFontsize?:string\r\n}\r\nexport interface IBanner {\r\n    bannerImgUrl?: string,\r\n    bannerBg?: string,\r\n    bannerHead:string;\r\n    bannerText:string;\r\n    bannerButton:string;\r\n    bannerButton2?:string;\r\n    templateType: number,\r\n    headingColor: string,\r\n    textColor: string,\r\n    buttonBg:string,\r\n    button2Bg?:string,\r\n    buttonColor: string,\r\n    button2Color?: string,\r\n    templateContent?:IBannerTemplateContent,\r\n}\r\n\r\n\r\nexport class TextComponent {\r\n    Text: string |null= null;\r\n    Color: string |null= null;\r\n    Class: string |null= null;\r\n    BgColor: string |null= null;\r\n    Fontsize: string |null= null;\r\n    Style: string |null= null;\r\n    constructor(text?:any,Color?:any) {\r\n        this.Text = text;\r\n        this.Color=Color;\r\n    }\r\n}\r\n\r\n\r\nexport enum E_BannerType {\r\n    FullImage = 1,\r\n    WithoutImage = 2,\r\n    ContainerImage = 3,\r\n}\r\n\r\n\r\nexport enum E_ButtonType {\r\n    button = 1,\r\n    Link = 2,\r\n    buttonOutline= 3,\r\n}\r\n\r\nexport class ButtonComponent {\r\n    Text: string|null = null;\r\n    Color: string |null= null;\r\n    Class: string|null = null;\r\n    BgColor: string|null = null;\r\n    Href: string |null= null;\r\n    Type: E_ButtonType;\r\n    Child: ButtonComponent[] = [];\r\n    Icon: string |null= null;\r\n    constructor(Type?:any, Text?:any, BgColor?:any, Color?:any) {\r\n        this.Type = Type ? Type : E_ButtonType.button;\r\n        this.Text = Text;\r\n        this.BgColor = BgColor\r\n        this.Color = Color\r\n    }\r\n}\r\nexport class BannerSection {\r\n\r\n    Type:E_BannerType = 1;\r\n    Header:TextComponent=new TextComponent();\r\n    Description:TextComponent=new TextComponent();\r\n    Image:string|null= null;\r\n    BgColor:string|null= null;\r\n    Button:ButtonComponent[]=[];\r\n    constructor(Type?:any) {\r\n        this.Type =Type?Type: E_BannerType.FullImage;\r\n    }\r\n}\r\n\r\n\r\nexport interface IBannerTemplateContent {\r\n\r\n}\r\nexport interface ITestimonial {\r\n    templateType: number,\r\n    bgColor:string,\r\n    quoteColor:string,\r\n    nameColor:string,\r\n    items:ITestimonialItems[]\r\n    \r\n}\r\nexport interface ITestimonialItems {\r\n    id: number;\r\n    testimonialTexts: string;\r\n    testimonialName: string;\r\n    testimonialJob: string;\r\n}\r\nexport interface IBreadcrumbs {\r\n    breadcrumbsTitle: string,\r\n    bgColor:string,\r\n    headingColor:string,\r\n    linkColor:string,\r\n    templateType: number,\r\n    noOFBreadcrumbs:INoOFBreadcrumbs[],\r\n}\r\nexport interface INoOFBreadcrumbs {\r\n    id:number,\r\n    breadcrumbsText: string,\r\n}\r\nexport interface ISectinTitle {\r\n    templateType: number,\r\n    bgColor:string,\r\n    headingColor:string,\r\n    textColor:string,\r\n    sectionTitleHead: string,\r\n    sectionTitlePara: string,\r\n}\r\nexport interface IAboutAs {\r\n    templateType: number,\r\n    bgColor: string,\r\n    headingColor:string,\r\n    aboutLineColor: string,\r\n    aboutContentColor: string,\r\n    aboutHead:string,\r\n    aboutImageUrl:string,\r\n    aboutLine:string,\r\n    aboutContent: string\r\n}\r\nexport interface IFooter {\r\n    templateType: number,\r\n    bgColor:string,\r\n    websiteColor: string,\r\n    linkHeadingColor?:string,\r\n    linkColor?:string,\r\n    footerSiteName?: string,\r\n    footerBottomText?: string,\r\n    noOfFooterLinks?:IFooterLinks[]\r\n}\r\n\r\nexport interface IFooterLinks{\r\n    linkHead: string,\r\n    linkList:ILinkList[]\r\n}\r\nexport interface ILinkList {\r\n    id:number,\r\n    linkText: string,\r\n    linkUrl: string\r\n}\r\nexport interface IOurClients {\r\n    templateType: number,\r\n    headingText: string,\r\n    bgColor: string,\r\n    headingColor:string,\r\n    noOfClients:InoOfClients[]\r\n}\r\nexport interface InoOfClients {\r\n    imgUrl: string;\r\n}\r\nexport interface IImages {\r\n    templateType: number,\r\n    headingText: string,\r\n    headingColor: string,\r\n    paraText: string,\r\n    paraColor: string,\r\n    imgUrl: string,\r\n    bgColor: string,\r\n}    \r\n\r\nexport interface ISettingList {\r\n    icon: string;\r\n    type: number;\r\n    name: string;\r\n    template:number;\r\n}\r\nexport interface IHeaderTemplate {\r\n    imageUrl: string;\r\n    template: number\r\n}\r\nexport interface IColors {\r\n    color: string;\r\n    code: string;\r\n}\r\n\r\nexport interface Color {\r\n    hex: string;\r\n    oldHue: number;\r\n    source: string;\r\n}\r\n\r\nexport interface EntityTypeSetUpCVM {\r\n    EntityType: number;\r\n    Label?:string;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n    DataBaseId?: string;\r\n    IsActive: boolean;\r\n    IsTemplate?: boolean;\r\n    TemplateId?: number;\r\n    CategoryId?: string;\r\n    TableName?: string;\r\n    AppModuleId?: string;\r\n    ReferenceEntityTypeId?:string;\r\n    EnvironmentId?: string;\r\n    DataAreaId?: string;\r\n  \r\n    ActionType: string;\r\n    ImageUrl?: string;\r\n    Version?: number;\r\n    Prefix?: string;\r\n    IsWorkFlow?:boolean;\r\n  }\r\n  \r\n  export interface EntityTypeSetUpUVM extends EntityTypeSetUpCVM {\r\n    RecId: number;\r\n  }\r\n  export interface CommentsCVM {\r\n    EntityType: number;\r\n    RefRecId: number;\r\n    Comments: string;\r\n    IsRead: boolean;\r\n  }\r\n  \r\n  export interface CommentsVM extends CommentsCVM {}\r\n  \r\n  export interface CommentsUVM extends CommentsCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface WfProcessStageStatusFieldCVM {\r\n    ActionRecId: number;\r\n    FieldName: string;\r\n    DisplayLabel: string;\r\n    Datatype: number;\r\n    IsMandatory: boolean;\r\n    IsVisible: boolean;\r\n    DisplayOrder: number;\r\n    FieldOptions: string;\r\n  }\r\n  \r\n  export interface WfProcessStageStatusFieldUVM\r\n    extends WfProcessStageStatusFieldCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface WfProcessStageStatusFieldVM\r\n    extends WfProcessStageStatusFieldUVM {}\r\n  export interface EntityTypeSetUpCVM {\r\n  \r\n    EntityType: number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n    DataBaseId?: string;\r\n    IsActive: boolean;\r\n    IsTemplate?: boolean;\r\n    TemplateId?: number;\r\n    CategoryId?: string;\r\n    TableName?: string;\r\n    AppModuleId?: string;\r\n    ReferenceEntityTypeId?:string;\r\n    EnvironmentId?: string;\r\n    DataAreaId?: string;\r\n    IsPhysicalTable?:boolean;\r\n  \r\n  \r\n    ActionType: string;\r\n  \r\n    ImageUrl?: string;\r\n    Version?: number;\r\n    Prefix?: string;\r\n  \r\n    IsWorkFlow?:boolean;\r\n    IsNotSequence?:boolean;\r\n  \r\n    Rules?:string;\r\n  \r\n  }\r\n  export interface EntityTypeSetUpUVM extends EntityTypeSetUpCVM {\r\n    RecId: number;\r\n  }\r\n  export interface EntityTypeSetUpVM extends EntityTypeSetUpUVM {\r\n    CategoryEn: string;\r\n    TemplateIdEn?: string;\r\n    ActivityTemplateList?:any[];\r\n  }\r\n  \r\n  \r\n  export interface EntityTypeSetUpActionVM extends EntityTypeSetUpVM {\r\n  \r\n    IsExpand?:boolean;\r\n    initLoad:boolean;\r\n    DependedValue:any;\r\n  \r\n  }\r\n  \r\n  export interface EntityDetailsPageVM extends EntityTypeSetUpVM {\r\n    Name?: string;\r\n    URL?: string;\r\n    Type?: string;\r\n    Generated?: string;\r\n    RemoteEntityTypeId?: string;\r\n  \r\n    ConnectionId?: string;\r\n    ConnectionString?: string;\r\n  }\r\n  \r\n  export interface EntityTypeFieldCVM {\r\n    EntityTypeId?: number;\r\n    EntityTypeRecId?: number;\r\n    Label: string;\r\n    LabelAr?: string;\r\n    Description: string;\r\n    DataType: number|any;\r\n    FieldData?: string;\r\n    FieldTypeId?: number;\r\n    LookupData?: string;\r\n    RulesData?: string;\r\n    MobileRules?: string;\r\n  \r\n    IsVisible?: boolean;\r\n    IsHide?: boolean;\r\n    IsCheckList?: boolean;\r\n    IsReadonly?: boolean;\r\n    IsMandatory?: boolean;\r\n    IsUiField?: boolean;\r\n    IsTableField?: boolean;\r\n    showDetilsForm?: boolean;\r\n    IsIdentity?:boolean;\r\n  \r\n    IsPrimarykey?:boolean;\r\n    IsSequence?:boolean;\r\n    SequencePrefix?:string\r\n    IsDefault?:boolean;\r\n    DefaultValue?:string\r\n    IsTemplateField?: boolean\r\n    DataBaseId?:any;\r\n    AppModuleId?: any,\r\n    EnvironmentId?: any,\r\n  \r\n    IsClientFields?:boolean;\r\n    ClientGUID?: string;\r\n    OrderId?: number;\r\n  \r\n    DependentLookupField?:string,\r\n  \r\n    RelationEntity?: number;\r\n    RelationEntityAlias?:string;\r\n    RelationEntityField?: string;\r\n    RelationEntityDisplayField?: string;\r\n    RelationEntityListFieldGroup?: any;\r\n    RelationEntityLookupFieldGroup?: any;\r\n    RelationEntityCondition?: any;\r\n  \r\n    FieldType_RelationEntity?: number;\r\n    FieldType_RelationEntityAlias?:string;\r\n    FieldType_RelationEntityField?: string;\r\n    FieldType_RelationEntityListFieldGroup?: any;\r\n    FieldType_RelationEntityLookupFieldGroup?: any;\r\n  \r\n    Validation?:any;\r\n    ResponseView?:string;\r\n  \r\n    codeOption?:any;\r\n    FormFieldType?:string;\r\n  \r\n  }\r\n  export interface EntityTypeFieldUVM extends EntityTypeFieldCVM {\r\n    RecId: number;\r\n  }\r\n  export interface EntityTypeFieldVM extends EntityTypeFieldUVM {\r\n    FieldRecId?: number;\r\n  \r\n    showTable?: boolean;\r\n    IsInactive?: boolean;\r\n    AutoSearchText?: any;\r\n    AutoSearchTextBox?: any;\r\n    showSelectedValues?: any;\r\n    showSearchBox?: boolean;\r\n    showActionBox?: boolean;\r\n  \r\n    ResponseView?:any | null;\r\n  \r\n    ValidationMessage?: any[];\r\n  \r\n    CurrentValues?:any;\r\n    OldValues?:any;\r\n    CurrentValuesSendGrid?:any;\r\n    OldValuesSendGrid?:any;\r\n  \r\n    DataValues?:any;\r\n    DataValuesSendGrid?:any;\r\n  \r\n    TableId?:any;\r\n    DescriptionText?:any;\r\n    DescriptionValue?:any;\r\n  \r\n    OrderId?: any;\r\n    IsExpand?: boolean;\r\n  \r\n  \r\n    FieldName?:any;\r\n  \r\n    dropdownOption?:any[]\r\n    Scale?:any\r\n    gridOption?:any\r\n    Val_IsEdit?:boolean;\r\n    Config?:Field_config;\r\n    showFieldConfig?:boolean;\r\n  }\r\n  \r\n  export class Field_config {\r\n    Type = E_GalaryViewFieldType.Description;\r\n    Position = \"\";\r\n    top =\"auto\";\r\n    left =\"auto\";\r\n    right =\"auto\";\r\n    bottom =\"auto\";\r\n    bgcolor =null;\r\n    textcolor =null;\r\n    hidelabel?:boolean = false;\r\n  \r\n    LabelPosition?= null;\r\n    Width?:number|null= null;\r\n    Height?:number|null= null;\r\n    WidthUnit?:string|null= null;\r\n    HeightUnit?:string|null= null;\r\n    Direction?:string|null= null;\r\n    Alignment?:string|null= null;\r\n    Class?:string|null= null;\r\n    Style?:string|null= null;\r\n  \r\n  }\r\n  \r\n  export interface EntityTypeFormCVM {\r\n    EntityTypeId?: number;\r\n    EntityTypeRecId?: number;\r\n    FieldId?: number;\r\n    FieldControlType?: number;\r\n    DataSourceLink?: string;\r\n    CascadeFieldId?: number;\r\n    IsVisible?: boolean;\r\n    OrderId?: number;\r\n    FormData?: string;\r\n    RulesData?: string;\r\n    DetailsViewData?: string;\r\n    FormType: number;\r\n    Version?: number;\r\n    Placeholder?: string;\r\n  \r\n    Status?: number;\r\n    StatusEn?: string;\r\n    Sorting?:string;\r\n    Filter?:string;\r\n    Actions?:string;\r\n    FormName?: string;\r\n  \r\n    AllowCreate?:boolean;\r\n    AllowEdit?:boolean;\r\n    IsAdvanceGrid?:boolean;\r\n  \r\n    CategoryParams?:any;\r\n  \r\n    DataSource?:string;\r\n    DataSourceType?:any;\r\n    DataSourceId?: any;\r\n  \r\n    ReferenceEntityTypeId?: number;\r\n  \r\n    Image?:any;\r\n  \r\n  \r\n    OnSaveDSData?:string;\r\n    OnSaveDSType?:any;\r\n    OnSaveDSId?: any;\r\n  \r\n    Configure?:string;\r\n  \r\n  }\r\n  \r\n  export interface EntityTypeFormUVM extends EntityTypeFormCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface EntityTypeFormVM extends EntityTypeFormUVM {\r\n    FormTypeEn?: string;\r\n    EntityType?: number;\r\n    EntityTypeEn?: string;\r\n    EntityTypeDescription?: string;\r\n    IsEdit?: boolean;\r\n  }\r\n  \r\n  export interface EntityTypeFormVer {\r\n    EntityTypeId?: number;\r\n    EntityTypeRecId?: number;\r\n    FormType: number;\r\n    Version?: number;\r\n  }\r\n  \r\n  export interface EnumDropDownVM {\r\n    Id: string | number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n  }\r\n  \r\n  export interface eventActionsVm {\r\n    id: number;\r\n    name: string;\r\n    description: string;\r\n  }\r\n  \r\n  export interface DynamicTaskVm {\r\n    AssignedTo: string;\r\n    AssignedToEn: string;\r\n    CreatedBy: string;\r\n    CreatedDateTime: Date;\r\n    DataAreaId: string;\r\n    Description: string;\r\n    EndDate: Date;\r\n    CreatedDatetime: Date;\r\n    EntityTypeId: number;\r\n    ForwardDate: Date;\r\n    ForwardedBy: Date;\r\n    IsDone: number;\r\n    IsDoneEn: string;\r\n    ModifiedBy: string;\r\n    ModifiedDateTime: Date;\r\n    ProcessStage: number;\r\n    RecId: number;\r\n    RecVersion: string;\r\n    SourceEn: string;\r\n    StartDate: Date;\r\n    StatusNameEn: string;\r\n    EnqFiles: any;\r\n    Subject: string;\r\n    TargetDate: Date;\r\n    TaskClosedDate: Date;\r\n    Title: string;\r\n    WFInsComments: string;\r\n    WFInsRecId: number;\r\n    WFInsRefRecId: number;\r\n    WFInsReferenceFields: any;\r\n    uploadFiles: any;\r\n    TaskId:string;\r\n  }\r\n  \r\n  export interface DynamicTicketVm {\r\n    AssignedTo: string;\r\n    CreatedBy: string;\r\n    CreatedDatetime: Date;\r\n    DataAreaId: string;\r\n    Description: string;\r\n    EndDate: Date;\r\n    EnqFiles: any;\r\n    uploadFiles?: any[];\r\n    EnquieryDate: Date | string;\r\n    EnquiryId: number;\r\n    EntityTypeId: number;\r\n    IpAddress: string;\r\n    IsEnding: boolean;\r\n    ModifiedBy: string;\r\n    ModifiedDatetime: Date;\r\n    PriorityID: number;\r\n    PriorityIDEn: string;\r\n    PriorityOrder: number;\r\n    ProcessStage: number;\r\n    RecId: number;\r\n    RecVersion: string;\r\n    StartDate: Date;\r\n    StatusId: number;\r\n    StatusNameEn: string;\r\n    Subject: string;\r\n    TicketChannelId: number;\r\n    TicketChannelIdEn: string;\r\n    TicketCreater: string;\r\n    TicketCreaterEn: string;\r\n    TicketTypeID: number;\r\n    TicketTypeIDEn: string;\r\n    WFInsComments: string;\r\n    WFInsRecId: number;\r\n    WFInsRefRecId: number;\r\n    WFInsReferenceFields: any;\r\n    // StatusId_Desc:string;\r\n    Priority_Desc: string;\r\n    AssignedTo_Desc: string;\r\n    TicketChannelId_Desc: string;\r\n    StatusIdEn: string;\r\n  \r\n    Channel:number;\r\n    Channel_Desc:string;\r\n    CaseId:string;\r\n  \r\n  }\r\n  \r\n  export interface MyAssignedCasesVM {\r\n    AssignTo: string;\r\n    CreatedBy: string;\r\n    CreatedDatetime: Date;\r\n    DataAreaId: string;\r\n    Description: string;\r\n    EndDate: Date;\r\n    dueDate: Date;\r\n    EnqFiles: any;\r\n    EnquieryDate: Date | string;\r\n    EnquiryId: number;\r\n    EntityTypeId: number;\r\n    IpAddress: string;\r\n    IsEnding: boolean;\r\n    ModifiedBy: string;\r\n    ModifiedDatetime: Date;\r\n    PriorityID: number;\r\n    PriorityIDEn: string;\r\n    PriorityOrder: number;\r\n    ProcessStage: number;\r\n    RecId: number;\r\n    RecVersion: string;\r\n    StartDate: Date;\r\n    StatusId: number;\r\n    StatusNameEn: string;\r\n    PriorityEn: string;\r\n    AssignedTo: string;\r\n    Subject: string;\r\n    CaseStageEn: string;\r\n    TicketChannelId: number;\r\n    TicketChannelIdEn: string;\r\n    TicketCreater: string;\r\n    TicketCreaterEn: string;\r\n    TicketTypeID: number;\r\n    TicketTypeIDEn: string;\r\n    Priority_PriorityName: string;\r\n    WFInsComments: string;\r\n    WFInsRecId: number;\r\n    WFInsRefRecId: number;\r\n    WFInsReferenceFields: any;\r\n  \r\n    CaseType: any;\r\n    CaseStage: any;\r\n    AssignedDate: Date;\r\n    DeadLineDateTime: Date;\r\n    GoalDueDate: any;\r\n    DeadlineDate: any;\r\n    SLAStatus: any;\r\n    Priority: any;\r\n    SLAStatusEn: any;\r\n    CaseTypeId: any;\r\n    StatusIdEn:any;\r\n    RefRecId:any;\r\n    CaseId:string;\r\n    MobileNumber?:any;\r\n  }\r\n  \r\n  export interface DynamicWfActionDataVm {\r\n    Action: number;\r\n    ActionComplete: number;\r\n    ActionDescription: string;\r\n    ActionRecId: number;\r\n    ProcessId: number;\r\n    StageDescription: string;\r\n    StageId: number;\r\n    StageRecId: number;\r\n    StageTypeId: number;\r\n    WorkFlowForm:number;\r\n  \r\n  \r\n  }\r\n  \r\n  export interface IEntityWFstageCVM {\r\n    EntityTypeRecId?: number;\r\n    EntityTypeId?: number;\r\n    StageId: number;\r\n    StageDescription: string;\r\n    StageDescriptionAr?: string;\r\n    IsStarting?: boolean;\r\n    IsEnding?: boolean;\r\n    OrderId: number;\r\n    RecordsStatus?: number;\r\n    StageType?: number;\r\n    IsActive?: boolean;\r\n    StageIcon?:string;\r\n    ViewConfig?:string;\r\n  }\r\n  \r\n  export interface IEntityWFstageUVM extends IEntityWFstageCVM {\r\n    RecId: number;\r\n  }\r\n  export interface IEntityWFstageVM extends IEntityWFstageUVM {\r\n    RecordsStatusEn?: string;\r\n  }\r\n  export interface IEntityTypeWFProcessStageAssignmentCVM {\r\n    StageRecId: number;\r\n    AssignedtoType: number;\r\n    Assignedto: string;\r\n  }\r\n  \r\n  export interface IEntityWFStatusVM {\r\n    Id: number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n  }\r\n  \r\n  export interface IWorkFlowsVM {\r\n    Stages: IWorkFlowStageVM[];\r\n    Id: number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n  }\r\n  \r\n  export interface IWorkFlowStageVM {\r\n    CreatedBy?: string;\r\n    CreatedDatetime?: Date;\r\n    DataAreaId?: string;\r\n    EntityTypeDescription?: string;\r\n    EntityTypeRecId?: number;\r\n    IsActive?: boolean;\r\n    IsEnding?: boolean;\r\n    IsStarting?: boolean;\r\n    ModifiedBy?: string;\r\n    ModifiedDatetime?: Date;\r\n    OrderId?: number;\r\n    RecId?: number;\r\n    RecVersion?: string;\r\n    RecordsStatus?: number;\r\n    RecordsStatusEn?: string;\r\n    StageDescription?: string;\r\n    StageDescriptionAr?: string;\r\n    StageId?: number;\r\n    StageType?: number;\r\n    StageProcess?: IProcessVM[];\r\n  }\r\n  export interface IProcessVM {\r\n    Action: number;\r\n    ActionDescription: string;\r\n    CreatedBy: string;\r\n    CreatedDatetime: Date;\r\n    DataAreaId: string;\r\n    ModifiedBy: string;\r\n    ModifiedDatetime: Date;\r\n    NextStageRecId: number;\r\n    RecId: number;\r\n    RecordStatus: number;\r\n    StageRecId: number;\r\n  }\r\n  export interface IEntityTypeWFProcessStageAssignmentUVM\r\n    extends IEntityTypeWFProcessStageAssignmentCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface IEntityTypeWFProcessStageAssignmentVM\r\n    extends IEntityTypeWFProcessStageAssignmentUVM {}\r\n  \r\n  export interface IEntityTypeWFProcessStageStatusCVM {\r\n    StageRecId: number;\r\n    NextStageRecId: number;\r\n    Action?: number;\r\n    ActionDescription?: string;\r\n    RecordStatus?: number;\r\n    WorkFlowForm?: any;\r\n  }\r\n  \r\n  export interface IEventConditionCVM {\r\n    RecId?: number;\r\n    RefRecId: number;\r\n    ConditionData: any;\r\n  }\r\n  \r\n  export interface EntityTypeFieldEventVM {\r\n    CreatedBy: string;\r\n    CreatedDatetime: Date;\r\n    DataAreaId: string;\r\n    EntityTypeDescription: string;\r\n    EntityTypeRecId: number;\r\n    EventName: string;\r\n    IsActive: true;\r\n    ModifiedBy: null;\r\n    ModifiedDatetime: null;\r\n    PersistenceType: number;\r\n    RecId: number;\r\n    RecVersion: string;\r\n    SourceEn: string;\r\n    StartDate: Date;\r\n    StatusNameEn: string;\r\n    EnqFiles: any;\r\n    Subject: string;\r\n    TargetDate: Date;\r\n    TaskClosedDate: Date;\r\n    Title: string;\r\n    WFInsComments: string;\r\n    WFInsRecId: number;\r\n    WFInsRefRecId: number;\r\n    WFInsReferenceFields: any;\r\n    uploadFiles: any;\r\n  }\r\n  \r\n  export interface DynamicTicketVm {\r\n    AssignedTo: string;\r\n    CreatedBy: string;\r\n    CreatedDatetime: Date;\r\n    DataAreaId: string;\r\n    Description: string;\r\n    EndDate: Date;\r\n    EnqFiles: any;\r\n    EnquieryDate: Date | string;\r\n    EnquiryId: number;\r\n    EntityTypeId: number;\r\n    IpAddress: string;\r\n    IsEnding: boolean;\r\n    ModifiedBy: string;\r\n    ModifiedDatetime: Date;\r\n    PriorityID: number;\r\n    PriorityName?: string;\r\n    PriorityIDEn: string;\r\n    PriorityOrder: number;\r\n    ProcessStage: number;\r\n    RecId: number;\r\n    RecVersion: string;\r\n    StartDate: Date;\r\n    StatusId: number;\r\n    StatusNameEn: string;\r\n    Subject: string;\r\n    TicketChannelId: number;\r\n    TicketChannelIdEn: string;\r\n    TicketCreater: string;\r\n    TicketCreaterEn: string;\r\n    TicketTypeID: number;\r\n    TicketTypeIDEn: string;\r\n    WFInsComments: string;\r\n    WFInsRecId: number;\r\n    WFInsRefRecId: number;\r\n    WFInsReferenceFields: any;\r\n  \r\n    TicketTypeDetails?: string;\r\n    TicketChannelDetails?: string;\r\n  }\r\n  \r\n  export interface DynamicWfActionDataVm {\r\n    Action: number;\r\n    ActionComplete: number;\r\n    ActionDescription: string;\r\n    ActionRecId: number;\r\n    ProcessId: number;\r\n    StageDescription: string;\r\n    StageId: number;\r\n    StageRecId: number;\r\n    StageTypeId: number;\r\n    MultipleDenied? : boolean;\r\n    ActionRules?:string;\r\n  \r\n  }\r\n  \r\n  export interface IEntityWFstageCVM {\r\n    EntityTypeRecId?: number;\r\n    EntityTypeId?: number;\r\n    StageId: number;\r\n    StageDescription: string;\r\n    IsStarting?: boolean;\r\n    IsEnding?: boolean;\r\n    OrderId: number;\r\n    RecordsStatus?: number;\r\n    StageType?: number;\r\n    IsActive?: boolean;\r\n  }\r\n  \r\n  export interface IEntityWFstageUVM extends IEntityWFstageCVM {\r\n    RecId: number;\r\n  }\r\n  export interface IEntityWFstageVM extends IEntityWFstageUVM {}\r\n  export interface IEntityTypeWFProcessStageAssignmentCVM {\r\n    StageRecId: number;\r\n    AssignedtoType: number;\r\n    Assignedto: string;\r\n  }\r\n  \r\n  export interface IEntityWFStatusVM {\r\n    Id: number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n  }\r\n  \r\n  export interface IEntityTypeWFProcessStageAssignmentUVM\r\n    extends IEntityTypeWFProcessStageAssignmentCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface IEntityTypeWFProcessStageAssignmentVM\r\n    extends IEntityTypeWFProcessStageAssignmentUVM {}\r\n  \r\n  export interface IEntityTypeWFProcessStageStatusCVM {\r\n    StageRecId: number;\r\n    NextStageRecId: number;\r\n    Action?: number;\r\n    ActionDescription?: string;\r\n    RecordStatus?: number;\r\n    MultipleDenied?: boolean;\r\n    IsSystemAction?: boolean;\r\n  }\r\n  \r\n  export interface IEventCVM {\r\n    RecId?: number;\r\n    EntityTypeRecId: number;\r\n    EventName: string;\r\n    PersistenceType: number;\r\n    eventCondition?: any;\r\n    Field: number;\r\n    RecordStatus: string;\r\n    NodeType: string;\r\n    CaseTypeId: number;\r\n    StageId: number;\r\n    TimerEventType: string;\r\n    Condition?: string | any;\r\n    Comments: string;\r\n  }\r\n  \r\n  export interface IActionCVM {\r\n    RecId?: number;\r\n    Name: number;\r\n    Config: string;\r\n    EventVersion: number;\r\n    ActionType?: any;\r\n    EventName: number;\r\n    EventRecId: string;\r\n    ConditionRecId: string;\r\n    ActivityTemplateRecId: number;\r\n    Language: number;\r\n    ActivityFormData?:any;\r\n    IsTemplate?:boolean;\r\n    IsActive?:boolean;\r\n  \r\n    EntityTypeId?: number;\r\n    EntityActionType?: string;\r\n    EntityFormType?: number;\r\n    EntityObjectId?: number;\r\n    MappingConfig? :string;\r\n  }\r\n  \r\n  export interface IPlaceHolders {\r\n    PlaceHolders: any;\r\n    currentValue: any;\r\n    assignedto: any;\r\n    sourceId?: any;\r\n    sourceValue?: any;\r\n    ShowCardView?: boolean;\r\n  }\r\n  \r\n  export interface IEventConditionCVM {\r\n    RefRecId: number;\r\n    Condition?: string | any;\r\n  }\r\n  \r\n  export interface ISlaCVM {\r\n    RecId?: number;\r\n    SLAId?: number;\r\n    CaseTypeId: number;\r\n    Description: string;\r\n    Condition?: string;\r\n    ApplyOrder: number;\r\n  }\r\n  \r\n  export interface ISlaVM {\r\n    RecId?: number;\r\n    SLAId?: number;\r\n    CaseTypeId: number;\r\n    Description: string;\r\n    Condition?: string | any;\r\n    ApplyOrder: number;\r\n    show?: boolean;\r\n    showCommentsGrid?: boolean;\r\n    IsActive?: boolean;\r\n  }\r\n  \r\n  export interface ISlaLineCVM {\r\n    RecId?: number;\r\n    SLARecId: number;\r\n    NodeType: number;\r\n    CaseTypeId: number;\r\n    StageId: number;\r\n    Goal: any;\r\n    DeaLine: any;\r\n  }\r\n  \r\n  export interface IEntityTypeWFProcessStageStatusUVM\r\n    extends IEntityTypeWFProcessStageStatusCVM {\r\n    RecId: number;\r\n    ActionRules?:string;\r\n  }\r\n  \r\n  export interface IEntityTypeWFProcessStageStatusVM\r\n    extends IEntityTypeWFProcessStageStatusUVM {}\r\n  \r\n  export interface wfStageVM {\r\n    CreatedBy: string;\r\n    CreatedDatetime: Date;\r\n    DataAreaId: string;\r\n    EntityTypeDescription: string;\r\n    EntityTypeRecId: number;\r\n    IsActive: boolean;\r\n    IsEnding: boolean;\r\n    IsStarting: boolean;\r\n    ModifiedBy: string;\r\n    ModifiedDatetime: Date;\r\n    OrderId: number;\r\n    RecId: number;\r\n    RecVersion: string;\r\n    RecordsStatus: number;\r\n    RecordsStatusEn: string;\r\n    StageDescription: string;\r\n    StageDescriptionAr: string;\r\n    StageId: number;\r\n    StageType: number;\r\n  }\r\n  \r\n  export interface EnumDropDownRecordVM {\r\n    Id: string;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n  }\r\n  \r\n  export interface EnumDropDownNextStageDropDownVM {\r\n    RecId: number;\r\n    StageDescription: string;\r\n    StageDescriptionAr: string;\r\n  }\r\n  \r\n  export interface EnumDropDownActionVM {\r\n    RecId?: number;\r\n    Id: number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n  }\r\n  \r\n  export interface AssignmentUserRoleCVM {\r\n    URIds: number;\r\n    IsUser: number;\r\n    Name: string;\r\n    AssingnmentRecId: number;\r\n  }\r\n  export interface AssignmentUserRoleUVM extends AssignmentUserRoleCVM {\r\n    RecId: number;\r\n  }\r\n  export interface  AssignmentUserRoleVM extends AssignmentUserRoleUVM {\r\n    IsSelected?: boolean;\r\n  }\r\n  \r\n  export interface UserPermissionCVM{\r\n    RoleDescription_EN?:string;\r\n    RoleDescription_AR?:string;\r\n    UserName?:string;\r\n  }\r\n  \r\n  export interface UserPermissionUVM extends UserPermissionCVM{\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface UserPermissionVM extends UserPermissionUVM{\r\n    IsSelected?: boolean;\r\n    RoleID?: number;\r\n  }\r\n  export interface RoleUserAssignmentListVM {\r\n    URIds: number[];\r\n    StageRecId: number;\r\n  }\r\n  \r\n  export interface RoleUserwiseCVM {\r\n    RoleID: string;\r\n    RoleDescription_EN: string;\r\n    RoleDescription_AR: string;\r\n  }\r\n  \r\n  export interface RoleUserwiseUVM extends RoleUserwiseCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface RoleUserwiseVM extends RoleUserwiseUVM {}\r\n  \r\n  export interface IRoleuserVM {\r\n    StageId: number;\r\n    StageRecId: number;\r\n    StageName: string;\r\n    IsStatus: number;\r\n    AssingnmentRecId: number;\r\n    IsSelected?: boolean;\r\n  }\r\n  \r\n  export interface IRolesuserUVM extends IRoleuserVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface IRoleuserwiselist extends IRolesuserUVM {}\r\n  \r\n  export interface RoleUserwiseListVM {\r\n    StageRecId: number[];\r\n    URIds: string;\r\n  }\r\n  \r\n  export interface UserLoginCVM {\r\n    EmployeeId: string;\r\n    Name: string;\r\n    UserName: string;\r\n    Password: string;\r\n    Email: string;\r\n    MobileNumber: string;\r\n    Branch: string;\r\n  }\r\n  export interface UserLoginUVM extends UserLoginCVM {\r\n    RecId: number;\r\n  }\r\n  export interface UserLoginVM extends UserLoginUVM {\r\n    UserType?: number;\r\n    CustomerId: string;\r\n    LodgeId: string;\r\n    Device: string;\r\n    IsSelected?: boolean;\r\n  }\r\n  \r\n  export class WorkflowCommands {\r\n    private _dynamicWorkflowPopup: BehaviorSubject<{\r\n      open: boolean;\r\n      processId: string|any;\r\n      recId: string | number|any;\r\n    }>|any = new BehaviorSubject({ open: false, processId: null, recId: null });\r\n    get dynamicWorkflow() {\r\n      return this._dynamicWorkflowPopup;\r\n    }\r\n    open(processId: string, recId: string | number) {\r\n      this._dynamicWorkflowPopup.next({\r\n        open: true,\r\n        processId: processId,\r\n        recId: recId,\r\n      });\r\n    }\r\n    close() {\r\n      this._dynamicWorkflowPopup.next({\r\n        open: false,\r\n        processId: null,\r\n        recId: null,\r\n      });\r\n    }\r\n  }\r\n  \r\n  export class WorkflowStageCompletePopup {\r\n    private _stageCompletePopup: BehaviorSubject<{\r\n      isUpdateField: boolean;\r\n      showWorkflowPopup: boolean;\r\n      fieldConfig: any[];\r\n      isFileAttach?: boolean;\r\n      MenuRecId?: number;\r\n      GridRecId?: number;\r\n    }>|any = new BehaviorSubject({\r\n      isUpdateField: false,\r\n      showWorkflowPopup: false,\r\n      fieldConfig: [],\r\n      isFileAttach: false,\r\n      MenuRecId:0,\r\n      GridRecId:0\r\n    });\r\n    get stageCompletePopup() {\r\n      return this._stageCompletePopup;\r\n    }\r\n    open(isUpdateFields: boolean, showPopup: boolean, fields: any[]) {\r\n      this._stageCompletePopup.next({\r\n        isUpdateField: isUpdateFields,\r\n        showWorkflowPopup: showPopup,\r\n        fieldConfig: fields,\r\n      });\r\n    }\r\n    close() {\r\n      this._stageCompletePopup.next({\r\n        isUpdateField: false,\r\n        showWorkflowPopup: false,\r\n        fieldConfig: [],\r\n      });\r\n    }\r\n  }\r\n  \r\n  export interface EntityTypeTicketCVM {\r\n    EntityTypeId: number;\r\n    AssignedTo: string;\r\n    TicketChannelId: number;\r\n    TicketTypeID: number;\r\n    PriorityID: number;\r\n    Description: string;\r\n    Subject: string;\r\n  }\r\n  export interface EntityTypeTicketUVM extends EntityTypeTicketCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface EntityTypeTicketVM extends EntityTypeTicketUVM {}\r\n  \r\n  export interface IEntityTyeId {\r\n    RecId: number;\r\n    EntityTypeEn: string;\r\n  }\r\n  \r\n  export interface ILookUpJsonFieldData {\r\n    LookupTable: string;\r\n    LookupCondition: string;\r\n    IdField: string;\r\n    IdDescription: string;\r\n    LookupTableAlias?:string;\r\n    IdDescriptionAr?:string;\r\n  }\r\n  \r\n  export interface IEntityCategoryVM {\r\n    CategoryId?: number;\r\n    Type?: number;\r\n    Description: string;\r\n    DescriptionAr: string;\r\n    RequesterType: string;\r\n    RecId?: number;\r\n    ImageUrl?: string;\r\n    IssueType?:any;\r\n    TypeOfCategory?:any;\r\n    DataBaseId?:any;\r\n    AppModuleId?: any,\r\n    EnvironmentId?: any,\r\n    ReferenceEntityTypeId?:any,\r\n    CreatedBy?:any,\r\n    CreatedDatetime?:any,\r\n    TableName?:any\r\n  }\r\n  \r\n  export interface CategoryTypeCVM {\r\n    CategoryId: string;\r\n    RelationType: number;\r\n    RelationId: string;\r\n  }\r\n  export interface CategoryTypeUVM extends CategoryTypeCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface CategoryTypeVM extends CategoryTypeUVM {\r\n    RelationIdEn: string;\r\n    CategoryDescription: string;\r\n    RelationTypeEn: string;\r\n  }\r\n  \r\n  export interface CategoryTypeActivitiesCVM {\r\n    CategoryId: string;\r\n    ActivityId: string;\r\n    IsActive: boolean;\r\n  }\r\n  export interface CategoryTypeActivitiesUVM extends CategoryTypeActivitiesCVM {\r\n    RecId: number;\r\n  }\r\n  \r\n  export interface CategoryTypeActivitiesVM extends CategoryTypeActivitiesUVM {\r\n    CategoryDescription: string;\r\n    ActivityDescription: string;\r\n  }\r\n  export interface CategoryTypeAssignmentList {\r\n    RelationIds: number;\r\n    IsRelation: number;\r\n    Name: string;\r\n    AssingnmentRecId: number;\r\n    IsSelected?: boolean;\r\n  }\r\n  export interface CategoryTypeAssignment {\r\n    CategoryId: string;\r\n    RelationIds: string[];\r\n  }\r\n  \r\n  export interface CategoryTypeActivitiesAssignmentVM {\r\n    Activitys: number;\r\n    IsActivity: number;\r\n    Name: string;\r\n    AssingnmentRecId: number;\r\n    IsSelected?: boolean;\r\n  }\r\n  \r\n  export interface CategoryTypeActivitiesAssignment {\r\n    CategoryId: string;\r\n    Activitys: string[];\r\n  }\r\n  \r\n  export interface ActivityTemplateVM {\r\n    ActivityTypeId: any;\r\n    RulesData: string;\r\n    PlaceHolderData: string;\r\n    FormData: string;\r\n    RecId?: number;\r\n    TemplateName?: string;\r\n    ActivityTypeIdEn?: string;\r\n  \r\n  \r\n    EntityTypeId?: number;\r\n    EntityActionType?: string;\r\n    EntityFormType?: number;\r\n    EntityFormTypeEn?:string;\r\n    EntityObjectId?: number;\r\n  }\r\n  \r\n  export interface ActivityTemplateCVM {\r\n    ActivityTypeId: string;\r\n    RulesData: string;\r\n    PlaceHolderData: string;\r\n    TemplateName: string;\r\n  \r\n  \r\n    EntityTypeId?: number;\r\n    EntityActionType?: string;\r\n    EntityFormType?: number;\r\n    EntityObjectId?: number;\r\n  }\r\n  export interface ActivityTemplateUVM extends ActivityTemplateCVM {\r\n    RecId: number;\r\n  }\r\n  export interface ActivityTemplateUVM extends ActivityTemplateCVM {\r\n    RecId: number;\r\n  }\r\n  export interface SubGroupAssignentsVM {\r\n    CaseTypeId: number;\r\n    IsSubGroup: number;\r\n    CaseTypeIdEn: string;\r\n    AssingnmentRecId: number;\r\n    IsSelected?: boolean;\r\n  }\r\n  export interface SubGroupAssignmentsCVM {\r\n    SubGroupId: string;\r\n    CaseTypeIds: number[];\r\n  }\r\n  export interface InstructionCVM {\r\n    Question: string;\r\n    Answer: string;\r\n    QuestionAr: string;\r\n    AnswerAr: string;\r\n  }\r\n  export interface InstructionUVM extends InstructionCVM {\r\n    RecId: number;\r\n  }\r\n  export interface InstructionVM extends InstructionUVM {}\r\n  export interface InstructionAssignentsVM {\r\n    SubGroupID: number;\r\n    IsSubGroup: number;\r\n    AssingnmentRecId: number;\r\n    SubGroupNameEn: string;\r\n    IsSelected?: boolean;\r\n  }\r\n  export interface InstructionAssignmentsCVM {\r\n    InstructionRecId: number;\r\n    SubGroupIds: number[];\r\n  }\r\n  \r\n  export interface InstructionAssignmentsBySubGroupIdVM {\r\n    IsAssignment: number;\r\n    Question: string;\r\n    QuestionAr: string;\r\n    AnswerAr: string;\r\n    AssingnmentRecId: number;\r\n    Answer: string;\r\n    RecId: number;\r\n    IsSelected?: boolean;\r\n  }\r\n  export interface InstructionAssignmentsBySubGroupIdCVM {\r\n    SubGroupId: string;\r\n    InstructionRecId: number[];\r\n  }\r\n  \r\n  export interface FieldValidators {\r\n    Field: any;\r\n    Validators: any[];\r\n  }\r\n  \r\n  export interface CannedResponseCVM {\r\n    ShortCode: string;\r\n    ShortCodeAr: string;\r\n    Message: string;\r\n    MessageAr: string;\r\n  }\r\n  export interface CannedResponseUVM extends CannedResponseCVM {\r\n    RecId: number;\r\n  }\r\n  export interface CannedResponseVM extends CannedResponseUVM {\r\n    showTableKey?: boolean;\r\n    AutoSearchTextKey?: any;\r\n    showSelectedKeyValues?: any;\r\n    showSearchBoxKey?: boolean;\r\n    ValidationKeyMessage?: any[];\r\n  }\r\n  \r\n  export interface IssueAssignCVM {\r\n    CaseTypeId: string;\r\n    RequesterType: string;\r\n    IssueId: string;\r\n    IsActive: boolean;\r\n  }\r\n  export interface IssueAssignUVM extends IssueAssignCVM {\r\n    RecId: number;\r\n  }\r\n  export interface IssueAssignVM extends IssueAssignUVM {}\r\n  \r\n  \r\n  export interface CategoryAssignment {\r\n    RelationId: string;\r\n    CategoryIds: string[];\r\n  }\r\n  \r\n  export interface IssueGroupAssignmentRequestertype{\r\n    TicketGroupID:number;\r\n    IsTicketGroup:number;\r\n    TicketGroupNameEN:string;\r\n    TicketGroupNameAr:string;\r\n    AssingnmentRecId:number;\r\n    IsSelected?:boolean;\r\n  }\r\n  \r\n  export interface IssueGroupAssignmentCVM{\r\n    RequesterType:string;\r\n    IssueGroupIds:string[];\r\n  }\r\n  \r\n  export interface TicketTypeAssignmentCVM{\r\n    RequesterType:string;\r\n    IssueGroupIds:string[];\r\n  }\r\n  export interface TicketTypeAssignment{\r\n    TicketGroupID:number;\r\n    IsTicketGroup:number;\r\n    TicketGroupNameEN:string;\r\n    TicketGroupNameAr:string;\r\n    AssingnmentRecId:number;\r\n    IsSelected?:boolean;\r\n  }\r\n  \r\n  \r\n  export interface ActionGroupActionVM{\r\n    RecId: number,\r\n    Name: string,\r\n    CaseType?: any,\r\n    Config: any,\r\n    EventVersion:number,\r\n    ActionType: number|string,\r\n    EventName: string,\r\n    EventRecId: number|string,\r\n    ConditionRecId: number,\r\n    ActivityTemplateRecId: number|string,\r\n    Language: string,\r\n    IsTemplate:boolean,\r\n    ActivityFormData:ActivityFormData,\r\n  }\r\n  \r\n  export interface ActionGroupVM{\r\n        RecId:number,\r\n        RefRecId:number,\r\n        Type:string,\r\n        ActionGroupName:string,\r\n        CaseType:number,\r\n        ConditionData:any,\r\n        action: ActionGroupActionVM[],\r\n        show: boolean,\r\n        ModuleId?:any,\r\n  }\r\n  \r\n  export interface ActivityFormData{\r\n        PageGroup: [],\r\n        defaultPageGroups: [],\r\n        PageGroupValues: any,\r\n        EntityFormId:number,\r\n  }\r\n  \r\n  export interface ActionVM{\r\n    Name:string |null,\r\n    EntityTypeId?:number |null,\r\n    EntityFormId?:number |null,\r\n    EntityFormType?:number,\r\n    PageId?:any,\r\n    Visible:boolean,\r\n    IsDefault:boolean,\r\n  }\r\n  \r\n  export interface TemplateDocumentCVM{\r\n    DocTypeId:number;\r\n    TemplateId:number;\r\n    TemplateName:string;\r\n    TemplateNameAr:string;\r\n    Version:number;\r\n  }\r\n  \r\n  export interface TemplateDocumentUVM extends TemplateDocumentCVM {\r\n    RecId: number;\r\n  }\r\n  export interface TemplateDocumentVM extends TemplateDocumentUVM {}\r\n  \r\n  export interface MappingPlaceHolder {\r\n    PlaceHolder: string;\r\n    Source: string;\r\n    Values: string;\r\n    SourceId: string;\r\n    SourceValue: string;\r\n    ShowCardView? : boolean;\r\n    IsExpression?: boolean;\r\n    Expressions?: any;\r\n    ShowExpressionCardView?: boolean;\r\n  }\r\n  \r\n  export interface ApiMethodCreate {\r\n    ApiId ?: number;\r\n    Consumes : string;\r\n    CreatedBy ?:string;\r\n    CreatedDatetime ?:string;\r\n    DataAreaId ?:string;\r\n    ModifiedBy ?:string;\r\n    ModifiedDatetime ?:string;\r\n    OperationId :string;\r\n    Parameters :ApiMethodCreate_Parameters[];\r\n    Path :string;\r\n    Produces :string;\r\n    RecId ?:number;\r\n    RecVersion ?:string;\r\n    Responses :ApiMethodCreate_Responses[];\r\n    Root :string;\r\n    Tags ?:any[];\r\n    Verb :string;\r\n  \r\n    MethodName?: string;\r\n    Type?: string;\r\n    ParentId?: number;\r\n    Child?:ApiMethodCreate[];\r\n  \r\n  \r\n    Body?:ApiMethodCreate_Parameters;\r\n    Headers?: any[];\r\n    QueryStrings?: any[];\r\n    Functions?:ApiMethodCreate_Functions;\r\n    FunctionData?:string;\r\n  }\r\n  \r\n  export interface ApiMethodCreate_Functions {\r\n    FunctionSchema:[],\r\n    FunctionScope:Functions_Scope,\r\n  }\r\n  \r\n  export interface ApiMethodCreate_Body {\r\n      name: string;\r\n      Value: any;\r\n      type: any;\r\n      viewModelName: any;\r\n  }\r\n  \r\n  export interface Functions_Scope {\r\n    Variable?: any[],\r\n    Params?: any[],\r\n    Headers?: any[],\r\n    Body?: ApiMethodCreate_Parameters,\r\n    Steps?: any[],\r\n  }\r\n  \r\n  export interface ApiMethodCreate_Parameters {\r\n    in: string,\r\n    name: string,\r\n    required?: boolean,\r\n    type: any,\r\n    format?: any,\r\n    viewModelName?: string,\r\n    viewModeJson?: any,\r\n    Value: any,\r\n  \r\n  }\r\n  \r\n  export interface ApiMethodCreate_Responses {\r\n    responseCode: null,\r\n    description: null,\r\n    viewModelName: null,\r\n    type: null,\r\n    viewModeJson: null,\r\n  }\r\n  export interface ApiMethodCreate_Tags {\r\n  \r\n  }\r\n  \r\n  export interface ApiViewModelCVM{\r\n    ApiId: number,\r\n    Name: string,\r\n    Description: string,\r\n    ViewModelJson: string,\r\n    PageType:string,\r\n  }\r\n  export interface ApiViewModelUVM extends ApiViewModelCVM{\r\n    RecId:number\r\n  }\r\n  export interface ApiViewModelCreate {\r\n  ApiId :number|any,\r\n  Name :string,\r\n  Description :string,\r\n  ViewModelJson : Properties[],\r\n  RecId?:number\r\n  }\r\n  \r\n  export interface Properties {\r\n    Field: string,\r\n    type:E_DataType,\r\n    required:boolean|any\r\n  }\r\n  export interface IDocumentType {\r\n    DocumentName: string;\r\n    Version: number;\r\n    RecId: number;\r\n    DisplayName?: string;\r\n    IsValid?: boolean;\r\n    IsMandatory?: boolean;\r\n  }\r\n  \r\n  export interface IDocumentTypeFile {\r\n    DocumentName: string;\r\n    Version?: number;\r\n    RecId: number;\r\n    DisplayName?: string;\r\n    IsValid?: boolean;\r\n    IsManatory?: boolean;\r\n    FileName: any;\r\n    File: any;\r\n    FileList?:any[];\r\n    IsShowForm?: boolean;\r\n  }\r\n  \r\n  export interface ISysMenuItemsMap {\r\n    Key: number;\r\n    title: string;\r\n    ParentKey: number;\r\n    ModuleID: string;\r\n    Authenticate: number;\r\n    Alignment: number;\r\n    order: number;\r\n    area?: string;\r\n    imageUrl?: string;\r\n    controller?: string;\r\n    action?: string;\r\n    description?: string;\r\n    RecId: number;\r\n    DetailsController: string;\r\n    ReftableName: string;\r\n    DetailsAction: string;\r\n  }\r\n  \r\n  export interface AssignmentData {\r\n    DocumentTypeRecId: number[];\r\n    MenuOrEntityRecId: number;\r\n  }\r\n  \r\n  export interface AssignmentRequesterCVM {\r\n    RelationIds: string;\r\n    IsRelation: number;\r\n    Name: string;\r\n    AssingnmentRecId: number;\r\n  }\r\n  export interface AssignmentRequesterUVM extends AssignmentRequesterCVM {\r\n    RecId: number;\r\n  }\r\n  export interface AssignmentRequesterVM extends AssignmentRequesterUVM {\r\n    IsSelected?: boolean;\r\n  }\r\n  \r\n  export interface AssignmentRequester {\r\n    RelationIds: string[];\r\n    CategoryId: string;\r\n  }\r\n  \r\n  export interface AssignmentIssueGroupCVM {\r\n    RequesterTypeId: string;\r\n    IsRequesterType: number;\r\n    RequesterTypeEn: string;\r\n    AssingnmentRecId: number;\r\n  }\r\n  export interface AssignmentIssueGroupUVM extends AssignmentIssueGroupCVM {\r\n    RecId: number;\r\n  }\r\n  export interface AssignmentIssueGroupVM extends AssignmentIssueGroupUVM {\r\n    IsSelected?: boolean;\r\n  }\r\n  \r\n  export interface AssignmentIssueGroup {\r\n    RequesterTypes: string[];\r\n    IssueGroupId: string;\r\n  }\r\n  \r\n  export interface MenuItemsCVM {\r\n    Alignment: number;\r\n    title: string;\r\n    ModuleID?: string;\r\n    imageUrl: string;\r\n    url: string;\r\n    Key: string;\r\n    ParentKey: any;\r\n    CanonicalUrl?: string;\r\n    Visiblity?: string;\r\n    Roles?: string;\r\n    description?: string;\r\n    MenuType?: number;\r\n    Authenticate?: any;\r\n    area?:any\r\n    action?: any;\r\n    titleAr?:string;\r\n  \r\n    ReftableName?:string\r\n    IsParent?:boolean,\r\n  \r\n    FormData?: any;\r\n    queryParams?: any;\r\n  \r\n    CollectionParentId?: any;\r\n    CollectionChildId?: any;\r\n    CollectionItemsType?: any;\r\n  \r\n  }\r\n  \r\n  export interface MenuItemsVM extends MenuItemsCVM {\r\n    RecId: number;\r\n    EntityType?: any;\r\n    ParentId?:any;\r\n  }\r\n  export interface RoleAssignmentCVM {\r\n    RoleIds:number[],\r\n    MenuId:number\r\n  }\r\n  \r\n  export interface RoleAssignmentVM{\r\n    RoleID:number;\r\n    IsRole:number;\r\n    Name:string;\r\n    AssingnmentRecId:number;\r\n    IsSelected?:boolean;\r\n  }\r\n\r\n  \r\nexport class Condition {\r\n  Child: Condition[] = [];\r\n  ConditionOperator: number = 1;\r\n  ConditionType: E_ConditionType = E_ConditionType.Condition;\r\n\r\n  FieldType:string|null= null;\r\n  Field:string|null= null;\r\n  AliasFieldName:string|null= null;\r\n  Type:string|null= null;\r\n  Value:string|null= null;\r\n  ValueTwo:string|null= null;\r\n  AliasValueTwo:string|null= null;\r\n\r\n  FieldTableId:string|null= null;\r\n  ValueTwoTableId:string|null= null;\r\n\r\n}\r\n\r\n\r\nexport class QueryJson {\r\n\r\n  QueryTable: QueryJsonTable |null = null;\r\n  QueryField: QueryJsonField[] = [];\r\n  QueryWhere:Condition = new Condition();\r\n  QueryGroupBy: QueryJsonGroupBy[] = [];\r\n  QueryOrderBy: QueryJsonOrderBy[] = [];\r\n  QueryHaving: QueryJsonHaving[] = [];\r\n  QueryScript:string = '';\r\n\r\n}\r\n\r\nexport class QueryJsonTable {\r\n  Id: string = generateId();\r\n  TableId: number |null= null;\r\n  TableName: string |null= null;\r\n  Alias: string |null= null;\r\n  JoinType: number |null= null;\r\n  JoinCondition: Condition = new Condition();\r\n  Child: QueryJsonTable[] = [];\r\n}\r\n\r\n\r\nexport class QueryJsonField {\r\n  TableId: string |null= null;\r\n  TableRecId: number |null= null;\r\n  FieldName: string |null= null;\r\n  AliasFieldName: string |null= null;\r\n  FieldRecId: number |null= null;\r\n  Alias: string |null= null;\r\n  AggFunction: E_QueryAggregateFunction |null= null;\r\n}\r\n\r\nexport class QueryJsonWhere {\r\n  TableId: string |null= null;\r\n  TableRecId: number |null= null;\r\n  Field: string |null= null;\r\n  Operator: number |null= null;\r\n  Value: string |null= null;\r\n  Status: number |null= null;\r\n}\r\n\r\nexport class QueryJsonOrderBy {\r\n  TableId: number |null= null;\r\n  TableRecId: number |null= null;\r\n  FieldName: string |null= null;\r\n  FieldRecId: number |null= null;\r\n  Direction: number |null= null;\r\n  SortOrder: number |null= null;\r\n}\r\nexport class QueryJsonGroupBy {\r\n  TableId: number |null= null;\r\n  TableRecId: number |null= null;\r\n  FieldName: string |null= null;\r\n  FieldRecId: number |null= null;\r\n}\r\n\r\nexport class QueryJsonHaving {\r\n  TableId: number |null= null;\r\n  TableRecId: number |null= null;\r\n  FieldName: string |null= null;\r\n  FieldRecId: number |null= null;\r\n\r\n  AggFunction: number |null= null;\r\n  Operator: number |null= null;\r\n  Value: string |null= null;\r\n\r\n  Status: number |null= null;\r\n  FieldParam: any = null;\r\n}\r\n\r\nexport interface QueryParameter {\r\n  Name: string;\r\n  DataType: E_DataType;\r\n}\r\n\r\nexport enum E_QueryAggregateFunction {\r\n  AVG = 1,\r\n  COUNT = 2,\r\n  MIN = 3,\r\n  MAX = 4,\r\n  SUM = 5,\r\n  DISTINCT = 6\r\n}\r\n\r\n\r\n\r\nfunction gen() {\r\n\tlet text = \"\";\r\n\tlet possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n\r\n\tfor (var i = 0; i < 6; i++)\r\n\t\ttext += possible.charAt(Math.floor(Math.random() * possible.length));\r\n\r\n    return text;\r\n    // return text + (Math.round(Math.random() * 1000)).toString();\r\n  }\r\n\r\nexport function generateId(dash: number = 1): string {\r\n\tlet id = '';\r\n\tfor (let index = 0; index < dash; index++) {\r\n\t\tid += gen() + (dash == index + 1 ? '' : '-')\r\n\t}\r\n\r\n\treturn id || '';\r\n}\r\n  \r\nexport function CriteriaBuilder(criteria?: ISearchCriteria|null) {\r\n  let queries:any = {};\r\n  if (!criteria) return queries;\r\n\r\n  if (criteria.Pagging && criteria.Pagging.PageNo != null) {\r\n    queries[\"$page\"] = criteria.Pagging.PageNo;\r\n  }\r\n  if (criteria.Pagging && criteria.Pagging.PageSize != null) {\r\n    queries[\"$size\"] = criteria.Pagging.PageSize;\r\n  }\r\n\r\n  if (criteria.SortOrder && criteria.SortOrder.field != null) {\r\n    queries[\"$orderby\"] = criteria.SortOrder.field;\r\n  }\r\n  if (criteria.SortOrder && criteria.SortOrder.direction != null) {\r\n    queries[\"$orderbydirection\"] = criteria.SortOrder.direction;\r\n  }\r\n  if (\r\n    criteria.Where &&\r\n    Array.isArray(criteria.Where) &&\r\n    criteria.Where.length > 0\r\n  ) {\r\n    for (const iterator of criteria.Where) {\r\n      if (iterator.Field && iterator.Value){\r\n        let letter = iterator.Value.toString();\r\n        let word;\r\n        let oneLetterCheck = letter.slice(0,1);\r\n        let twoLetterCheck = letter.slice(0,2);\r\n        let symbol;\r\n        let checkLetter = letter.slice(1,2);\r\n\r\n        if(checkLetter == \"=\" || checkLetter == \"%\"){\r\n          if(twoLetterCheck == \">=\"){\r\n            symbol = E_CriteriaFormat.greaterThenEqual;\r\n          }\r\n          else if(twoLetterCheck == \"<=\"){\r\n            symbol = E_CriteriaFormat.lessThenEqual;\r\n          }\r\n          else if(twoLetterCheck == \"!%\"){\r\n            symbol = E_CriteriaFormat.notLike;\r\n          }\r\n          word = letter.substr(2);\r\n        }\r\n        else if(oneLetterCheck == \"=\" || oneLetterCheck == \"!\" || oneLetterCheck == \">\"\r\n        || oneLetterCheck == \"<\" || oneLetterCheck == \"*\" || oneLetterCheck == \"%\")\r\n        {\r\n          if(oneLetterCheck == \"=\"){\r\n            symbol = E_CriteriaFormat.equal;\r\n          }\r\n          else if(oneLetterCheck == \"!\"){\r\n            symbol = E_CriteriaFormat.notEqual;\r\n          }\r\n          else if(oneLetterCheck == \">\"){\r\n            symbol = E_CriteriaFormat.greaterThen;\r\n          }\r\n          else if(oneLetterCheck == \"<\"){\r\n            symbol = E_CriteriaFormat.lessThen;\r\n          }\r\n          else if(oneLetterCheck == \"*\"){\r\n            symbol = E_CriteriaFormat.startWith;\r\n          }\r\n          else if(oneLetterCheck == \"%\"){\r\n            symbol = E_CriteriaFormat.like;\r\n          }\r\n          word = letter.substr(1);\r\n        }\r\n        else{\r\n          symbol = E_CriteriaFormat.like;\r\n          word = letter;\r\n        }\r\n        if(letter.endsWith(\"*\")){\r\n          symbol = E_CriteriaFormat.endWith;\r\n          word = letter.substr(0,letter.length -1);\r\n        }\r\n\r\n        let fullFormat;\r\n\r\n        if(symbol){\r\n          fullFormat = symbol + \":\" + word;\r\n        }\r\n\r\n        queries[\"$filter:\" + iterator.Field] = fullFormat;\r\n      }\r\n    }\r\n  }\r\n  return queries;\r\n}\r\n\r\n\r\nexport function QueryParameterBuilder(Parameter: any) {\r\n  let params:any = {};\r\n  if (!Parameter) return params;\r\n\r\n  for (const iterator of Parameter) {\r\n    if (iterator.Field && iterator.Value)\r\n    params[iterator.Field] = iterator.Value;\r\n  }\r\n\r\n  return params;\r\n}\r\n\r\n\r\nexport function GenerateCriteriaForExport(criteria: ISearchCriteria){\r\n  let _criteria = CriteriaBuilder(criteria);\r\n  let temparr:INameVal[]=[];\r\n  if(_criteria){\r\n    Object.keys(_criteria).forEach((key) => {\r\n      if(key){\r\n        let temp:INameVal = {Name:key,Value:_criteria[key].toString()};\r\n        temparr.push(temp);\r\n      }\r\n    });\r\n  }\r\n  return temparr\r\n\r\n}\r\n\r\nexport function  GetFormattedDate(_date:any){\r\n  if(_date){\r\n    var todayTime = new Date(_date);\r\n    var month = todayTime.getMonth() + 1;\r\n    var day = todayTime.getDate();\r\n    var year = todayTime.getFullYear();\r\n    return year + '-' + month + '-' + day;\r\n  }else{\r\n    return _date;\r\n  }\r\n\r\n}\r\n\r\nexport function GetFormattedDateWithTime(_date:any) {\r\n  var todayTime = new Date(_date);\r\n  let month: any = (todayTime.getMonth() + 1);\r\n  month = month > 9 ? month : \"0\" + month;\r\n  var day = todayTime.getDate() > 9 ? todayTime.getDate() : \"0\" + todayTime.getDate();\r\n  var year = todayTime.getFullYear();\r\n\r\n  var Hours = todayTime.getHours() > 9 ? todayTime.getHours() : \"0\" + todayTime.getHours();\r\n  var min = todayTime.getMinutes() > 9 ? todayTime.getMinutes() : \"0\" + todayTime.getMinutes();\r\n  var sec = todayTime.getSeconds() > 9 ? todayTime.getSeconds() : \"0\" + todayTime.getSeconds();\r\n\r\n  return year + '-' + month + '-' + day + \"T\" + Hours + \":\" + min + \":\" + sec + \".000Z\";\r\n  // \"2022-01-23T09:04:45.904Z\"\r\n}\r\n\r\nexport function errorMessageType(error: any) {\r\n  try {\r\n    if (\r\n      error &&\r\n      error.error &&\r\n      error.error.Errors &&\r\n      error.error.Errors.length > 0\r\n    )\r\n      return error.error.Errors.map((x: any) => x.ErrorMessage).join('\\n');\r\n    else if (error && error.error && error.error.Message)\r\n      return error.error.Message;\r\n    else if (typeof error.error == 'string') return error.error;\r\n    else if (error.error?.status == false) {\r\n      try {\r\n        let msg = JSON.parse(error.error?.msg);\r\n        if (msg && msg.msg) {\r\n          msg = msg.msg;\r\n        } else {\r\n          msg = error.error?.msg;\r\n        }\r\n        return msg;\r\n      } catch (err) {\r\n        let msg = error.error?.msg;\r\n        if (msg && msg.msg) {\r\n          msg = msg.msg;\r\n        } else {\r\n          msg = error.error?.msg;\r\n        }\r\n        return msg;\r\n      }\r\n    } else if (typeof error.error == 'object') {\r\n      return JSON.stringify(error.error);\r\n    } else if (error.message) return error.message;\r\n    else {\r\n      console.log(error);\r\n    }\r\n  } catch (err) {\r\n    return 'Error,Contact system admin';\r\n  }\r\n}\r\n\r\nexport function moveItem(data: any[], from: number, to: number) {\r\n  let f = data.splice(from, 1)[0];\r\n  data.splice(to, 0, f);\r\n  return data;\r\n}\r\nexport function slide(direction: any,Id: any){\r\n  let container: any = document.getElementById(Id);\r\n  let scrollCompleted = 0;\r\n  let slideVar = setInterval(function(){\r\n      if(direction == 'left'){\r\n          container.scrollLeft -= 50;\r\n      } else {\r\n          container.scrollLeft += 50;\r\n      }\r\n      scrollCompleted += 10;\r\n      if(scrollCompleted >= 50){\r\n          window.clearInterval(slideVar);\r\n      }\r\n  }, 50);\r\n}\r\n\r\nexport function isNotNullNotUndefined(value:any) {\r\n  if (value === null || value === undefined)\r\n      return false\r\n  else return true\r\n}\r\n\r\nexport class PageForm {\r\n  constructor(form: FormGroup) {\r\n    this.form = form;\r\n  }\r\n  form: FormGroup;\r\n  submitted = false;\r\n  value() {\r\n    return this.form.value;\r\n  }\r\n  getRawValue() {\r\n    return this.form.getRawValue();\r\n  }\r\n\r\n  setFormValues(values: object) {\r\n    this.__setFormValues(this.form, values);\r\n  }\r\n\r\n  setInitialValues() {\r\n    this.form.reset();\r\n  }\r\n\r\n  reset() {\r\n    this.form.reset();\r\n  }\r\n\r\n  private __setFormValues(form: FormGroup|any, values: object|any) {\r\n    if (!form && !values) return;\r\n\r\n    const keys = Object.keys(values);\r\n    for (const iterator of keys) {\r\n      if (\r\n        isNotNullNotUndefined(values[iterator]) &&\r\n        typeof values[iterator] == \"object\"\r\n      ) {\r\n        if (\r\n          Object.keys(values[iterator]).length > 0 &&\r\n          !Array.isArray(values[iterator])\r\n        ) {\r\n          const nestedValue = values[iterator];\r\n          const group = form.get(iterator) as FormGroup;\r\n          if (group && nestedValue) this.__setFormValues(group, nestedValue);\r\n        } else if (Array.isArray(values[iterator])) {\r\n          const nestedValue = values[iterator];\r\n          if (\r\n            isNotNullNotUndefined(form.get(iterator)) &&\r\n            Object.keys(form.get(iterator)).length > 0 &&\r\n            form.get(iterator) instanceof FormArray\r\n          ) {\r\n            const formArray = form.get(iterator)[\"controls\"] as FormGroup[];\r\n            for (let index = 0; index < nestedValue.length; index++) {\r\n              if (isNotNullNotUndefined(formArray[index]) && isNotNullNotUndefined(nestedValue[index]))\r\n                this.__setFormValues(formArray[index], nestedValue[index]);\r\n            }\r\n          }\r\n        }\r\n      } else if (isNotNullNotUndefined(values[iterator])) {\r\n        let formControl = form.get(iterator);\r\n        if (formControl && formControl instanceof FormControl)\r\n          formControl.setValue(values[iterator]);\r\n      } else {\r\n      }\r\n    }\r\n  }\r\n}\r\nexport interface LinkCondition {\r\n  Name: string;\r\n  CheckWith: string;\r\n  Value: string;\r\n}\r\nexport interface ConditionsDetailsData {\r\n  CondtionOperator: string;\r\n  ConditionList: LinkCondition[];\r\n}\r\nexport interface Links {\r\n  href: string;\r\n  rel: string;\r\n  CheckCondition: boolean;\r\n  ConditionsDetailsData: ConditionsDetailsData|null;\r\n}","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class LoaderService {\n\n  constructor() { }\n  public ShowLoader: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n  loaderState$ = this.ShowLoader.asObservable();\n\n  showLoading() {\n    this.ShowLoader.next(true);\n  }\n\n  hideLoading() {\n    this.ShowLoader.next(false);\n  }\n}\n","import { Injectable } from '@angular/core';\r\nimport { environment } from './environment';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { CriteriaBuilder, IDropDown, ISearchCriteria, PageContentsRow } from './common-interface-enum-classes-functions';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { LoaderService } from '../loader.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class GlobalService {\r\n  constructor(\r\n    private http: HttpClient,\r\n    private loaderService:LoaderService) {}\r\n\r\n  devMode: boolean = false;\r\n  IsDefaultSearch: boolean = false;\r\n\r\n  onControllerTrigger: BehaviorSubject<{ ControllerId: any; Type: any }> =\r\n    new BehaviorSubject<{ ControllerId: any; Type: any }>({\r\n      ControllerId: null,\r\n      Type: null,\r\n    });\r\n\r\n  public systemConfig: any = null;\r\n  AllControlList: IDropDown[] = [];\r\n  pageScema: PageContentsRow[] = [];\r\n  PageAllData: any[] = [];\r\n  public showBackIcon: boolean = false;\r\n\r\n  public UserType: number = 0;\r\n  public CustomerId: string | null = null;\r\n  public CreatedSource: string = \"\";\r\n  public ClientSecretId: string = \"\";\r\n  public ClientUserId: string = \"\";\r\n\r\n  getAllPageData() {\r\n    let _pagedata: any[] = [];\r\n    this.pageScema.forEach((page) => {\r\n      page.Groups.forEach((group: any) => {\r\n        if (group.ControlData) {\r\n          _pagedata.push(group.ControlData);\r\n        }\r\n      });\r\n    });\r\n    this.PageAllData = _pagedata;\r\n  }\r\n\r\n  AppDetails: any = null;\r\n  AppModuleId: any = null;\r\n  AppEntityTypeId: any = null;\r\n  AppRecId: any = null;\r\n  AppName: any = null;\r\n  AppTitle: any = null;\r\n  AppModuleName: any = null;\r\n  AppPartyType: any = null;\r\n\r\n  LabelList: any[] = [];\r\n  CurrentLanguage: any = 'English';\r\n  CurrentLanguageDirection: any = 'LTR';\r\n\r\n  EnvironmentId: string = 'Live';\r\n  ServerUrl: string = '';\r\n  ManpowerServerUrl: any = null;\r\n  ServerHost: string | null = '';\r\n  BaseApiUrl: string = '/SystemApi/api/v1/';\r\n  rootUrl:string = \"\";\r\n  public commonHeaders:HttpHeaders=new HttpHeaders();\r\n  setEnvironmentUrl(url: string) {\r\n    if (url.endsWith('/')) {\r\n      url = url.substring(0, url.length - 1);\r\n    }\r\n    environment.ServerUrl = (url + this.BaseApiUrl);\r\n    this.rootUrl = (url + \"/SystemApi/\");\r\n  }\r\n\r\n  setServerHost(url: string) {\r\n    this.ServerHost = url;\r\n  }\r\n\r\n  getSystemConfigJSON(url: string) {\r\n    if (url.endsWith('/')) {\r\n      url = url.substring(0, url.length - 1);\r\n    }\r\n    this.systemConfig = {\r\n      ERPUrl: `${url}/`,\r\n      FTSClearanceUrl: `${url}/SystemApi/`,\r\n      ClearanceUrl: `${url}/SystemApi/`,\r\n      FrameworkUrl: `${url}/SystemApi/`,\r\n      ProducivityUrl: `${url}/productivity/`,\r\n      ManpowerUrl: \"https://manpowertest.azurewebsites.net/\",\r\n      BusinessUrl: `${url}:220/`,\r\n      FinanceUrl: `${url}:520/`,\r\n      HourlyUrl: `${url}:620/`,\r\n      UIUrl: `${url}/System`,\r\n      SharedEnvironment: 'HRMTEST',\r\n      DataBaseId: 5,\r\n      ClientSecretId:\"E4A793E4-DC3E-46AB-A01E-AD12BADCA5BD\",\r\n      ClientUserId:\"System\",\r\n      EntityTypeId: {\r\n        VacationClearance: 1,\r\n        EOSClearance: 2,\r\n        EndContractClearance: 3,\r\n        Formula: 14,\r\n        Factors: 15,\r\n        ComponentAssignment: 17,\r\n        Equation: 18,\r\n        ClearanceType: 19,\r\n        ClearanceComponents: 20,\r\n        ClearanceCalculation: 21,\r\n      },\r\n      EntityId: {\r\n        WorkspaceId: 182,\r\n        AppId: 22,\r\n        MenuId: 23,\r\n        ModuleId: 24,\r\n        PageId: 25,\r\n        SolutionId: 26,\r\n        ConnectorId: 28,\r\n        DataBaseId: 29,\r\n        ApiId: 10485,\r\n        EnvironmentId: 30,\r\n        OrganizationId: 31,\r\n        LanguageId: 39,\r\n        LabelId: 40,\r\n        QueryId: 45,\r\n        FunctionId: 66,\r\n        CustomerId: 81,\r\n        UserLoginId: 82,\r\n        CompanyId: 83,\r\n        CustomerUserMapId: 84,\r\n        EnvironmentUserMapId: 85,\r\n        CompanyUserMapId: 86,\r\n        QuestionBankId: 111,\r\n        TestQuestionsQueryId: 135,\r\n        CandidatesDetailsQueryId: 117,\r\n        AgentsDetailsQueryId: 90,\r\n        TestResultEntityId: 112,\r\n        TestScheduleParticipantsEntityId: 135,\r\n        TestAnswerId: 138,\r\n        HandlebarHelperMethods: 10515,\r\n      },\r\n      LookUpId: {\r\n        SystemFields: '3008',\r\n      },\r\n      PrimaryEnvironmentCode: 'Live',\r\n      PrimaryCompanyCode: 'FTS',\r\n      AppIds: {\r\n        Agent: 'App0000003',\r\n        InternalSystem: 'App0000001',\r\n        Candidate: 'App0000005',\r\n        CorporateCustomer: 'App0000006',\r\n        Employee: 'App0000007',\r\n      },\r\n      AppRecId: {\r\n        Agent: 53,\r\n        InternalSystem: 54,\r\n        Candidate: 55,\r\n        CorporateCustomer: 56,\r\n        Employee: 57,\r\n      },\r\n    };\r\n    this.ClientSecretId = this.systemConfig.ClientSecretId;\r\n    this.ClientUserId = this.systemConfig.ClientUserId;\r\n    this.commonHeaders = new HttpHeaders();\r\n    this.commonHeaders = this.commonHeaders.set(\"ClientSecretId\",this.ClientSecretId).set(\"ClientUserId\",this.ClientUserId);\r\n    \r\n    let path: string = '/Fts_System_Library/assets/json/systemConfig.json';\r\n    let fileUrl: string = (url+path);\r\n    this.loaderService.showLoading();\r\n    this.http.get(fileUrl).subscribe(\r\n      (response: any) => {\r\n        this.systemConfig = response;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(\"Error downloading the systemConfig.json file :- \",error);\r\n      }\r\n    );\r\n  }\r\n\r\n  getLableList() {\r\n    let Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [{ Field: 'EnvironmentId',Operator: '=',TableAlias: '',Value: this.EnvironmentId }],\r\n      SortOrder: {},\r\n    };\r\n\r\n    let url = `${environment.ServerUrl}entitytype/dynamic/get/?entityTypeRecId=${this.systemConfig.EntityId.LabelId}`;\r\n    var _Environmentlist = this.http.get(url, {  headers: this.commonHeaders, params: CriteriaBuilder(Searchcriteria) });\r\n    this.loaderService.showLoading();\r\n    _Environmentlist.subscribe(\r\n      (res: any) => {\r\n        this.LabelList = res.Data ? res.Data : res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {        \r\n        console.log(error);\r\n        this.loaderService.hideLoading();\r\n      }\r\n    )\r\n\r\n  }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from './core/environment';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { GlobalService } from './core/global.service';\r\nimport Swal from 'sweetalert2';\r\nimport { CriteriaBuilder, EntityTypeFieldCVM, EntityTypeFieldUVM, EntityTypeFormUVM, GetFormattedDateWithTime, IEntityWFstageVM, INameTypeVal, INameVal, IRestConfig, ISearchCriteria, QueryParameterBuilder } from './core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from './loader.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DynamicAppsService {\r\n\r\n  constructor(\r\n    private http: HttpClient,\r\n    private globalService:GlobalService,\r\n    private loaderService:LoaderService) { }\r\n  getAppbyName(name: any) {\r\n    debugger;\r\n    let url = publicAPI.getAppbyName(name);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  public serverURL: string = '';\r\n  private v1: string = '';\r\n  public showpopup: Subject<any> = new Subject();\r\n  onPlaceHolderSelect: BehaviorSubject<{ placeholder: any; Type: any }> =\r\n    new BehaviorSubject<{\r\n      placeholder: any;\r\n      Type: any;\r\n    }>({ placeholder: null, Type: null });\r\n  onshowWorkflowPopup: BehaviorSubject<{\r\n    showWorkflowPopup?: boolean;\r\n    fieldConfig?: any[];\r\n    isUpdateField?: boolean;\r\n    ActionCondition?: any;\r\n    isFileAttach?: boolean;\r\n    GridRecId?: number;\r\n    MenuRecId?: number;\r\n    ProcessId?: string | null;\r\n    CurrentStage?: any;\r\n    Items?: any;\r\n  }> = new BehaviorSubject<{\r\n    showWorkflowPopup?: boolean;\r\n    fieldConfig?: any[];\r\n    isUpdateField?: boolean;\r\n    ActionCondition?: any;\r\n    isFileAttach?: boolean;\r\n    GridRecId?: number;\r\n    MenuRecId?: number;\r\n    ProcessId?: string | null;\r\n    CurrentStage?: any;\r\n    Items?: any;\r\n  }>({\r\n    showWorkflowPopup: false,\r\n    fieldConfig: [],\r\n    isUpdateField: false,\r\n    ActionCondition: null,\r\n    isFileAttach: false,\r\n    GridRecId: 0,\r\n    MenuRecId: 0,\r\n    ProcessId: null,\r\n    CurrentStage: null,\r\n    Items: null,\r\n  });\r\n\r\n  getExportAllGridDataLatest(\r\n    Url: string,\r\n    columnDef: string,\r\n    filename: string,\r\n    QueryString: string,\r\n    isTemplate: boolean,\r\n    whereCondition?: string,\r\n    ResponsePath?: string\r\n  ) {\r\n    let url = ExportGrid.getExportAllGridDataLatest();\r\n\r\n    if (whereCondition) {\r\n      let _wherequery = { Name: 'whereCondition', Value: whereCondition };\r\n      if (QueryString) {\r\n        let _QueryString = JSON.parse(QueryString);\r\n        if (!_QueryString) {\r\n          _QueryString = [];\r\n        }\r\n        _QueryString.push(_wherequery);\r\n        QueryString = JSON.stringify(_QueryString);\r\n      }\r\n    }\r\n\r\n    let data: any = {\r\n      apiUrl: Url,\r\n      columnDef: columnDef,\r\n      filename: filename,\r\n      QueryString: QueryString,\r\n      isTemplate: isTemplate,\r\n      ResponsePath: ResponsePath ? ResponsePath : null,\r\n    };\r\n\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, data, { headers: this.globalService.commonHeaders, responseType: 'blob' });\r\n  }\r\n\r\n  getAllEntityTypeSetup(\r\n    criteriastr: ISearchCriteria,\r\n    EntityType?: any,\r\n    SolutionId?: any\r\n  ) {\r\n    let url = EntityTypeSetUp.getAllEntityTypeSetup();\r\n    if (EntityType)\r\n      url = EntityTypeSetUp.getAllEntityTypeSetupByEntityType(EntityType);\r\n\r\n    if (\r\n      (EntityType == 40 ||\r\n        EntityType == 100 ||\r\n        EntityType == 110 ||\r\n        EntityType == 120 ||\r\n        EntityType == 150) &&\r\n      this.globalService.EnvironmentId != 'Meta'\r\n    ) {\r\n      let filterobj = {\r\n        Field: 'EnvironmentId',\r\n        Operator: '=',\r\n        TableAlias: '',\r\n        Value: this.globalService.EnvironmentId,\r\n      };\r\n      criteriastr.Where.push(filterobj);\r\n    }\r\n    if (SolutionId) {\r\n      url += `?SolutionId=${SolutionId}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n\r\n  putEntityTypeForm(data: EntityTypeFormUVM) {\r\n    const url = EntityTypeForm.putEntityTypeForm();\r\n    this.loaderService.showLoading();\r\n    return this.http.put(url, data, { headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllEntityTypeField(\r\n    criteriastr: ISearchCriteria | null,\r\n    EntityTypeId: number\r\n  ) {\r\n    const url = EntityTypeField.getAllEntityTypeField(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getDependedOnEntity(criteriastr: ISearchCriteria | null, EntityTypeId: any) {\r\n    const url = EntityTypeSetUp.getDependedOnEntity(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getEntityAllSetupData(\r\n    EntityTypeId?: any,\r\n    FromRecId?: number|null,\r\n    showallpending?: boolean\r\n  ) {\r\n    let url = EntityTypeSetUp.getEntityAllSetupData();\r\n    if (EntityTypeId) {\r\n      url = url + '?entitytyperecId=' + EntityTypeId;\r\n      if (FromRecId) {\r\n        url = url + '&formrecId=' + FromRecId;\r\n      }\r\n    } else if (FromRecId) {\r\n      url = url + '?formrecId=' + FromRecId;\r\n    }\r\n    if (showallpending) {\r\n      url = url + '&showallpending=' + showallpending;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  getDynamicAll(\r\n    criteriastr: ISearchCriteria,\r\n    entityTypeRecId: any,\r\n    processStageId?: any,\r\n    EntityPageViewType?: any,\r\n    FormRecId?: any,\r\n    Condition?: any,\r\n    multiSearchfield?: string,\r\n    multiSearchValue?: string,\r\n    isNeedPermission?: boolean\r\n  ) {\r\n    let url = dynamic.getDynamicAll(entityTypeRecId);\r\n    if (processStageId) {\r\n      url = url + '&processStageId=' + processStageId;\r\n    }\r\n    if (FormRecId) {\r\n      url = url + '&formRecId=' + FormRecId;\r\n    }\r\n    if (Condition) {\r\n      url = url + '&whereCondition=' + Condition;\r\n    }\r\n\r\n    if (EntityPageViewType == 'All') {\r\n      url = dynamic.getDynamicAllbyViewTypeAll();\r\n      if (processStageId) {\r\n        url = url + '?processStageId=' + processStageId;\r\n      }\r\n    }\r\n\r\n    if (\r\n      this.globalService.systemConfig &&\r\n      this.globalService.systemConfig.EntityId &&\r\n      this.globalService.systemConfig.EntityId.EnvironmentId !=\r\n        entityTypeRecId &&\r\n      this.globalService.EnvironmentId != 'Meta'\r\n    ) {\r\n      let filterobj = {\r\n        Field: 'EnvironmentId',\r\n        Operator: '=',\r\n        TableAlias: '',\r\n        Value: this.globalService.EnvironmentId,\r\n      };\r\n      criteriastr.Where.push(filterobj);\r\n    }\r\n\r\n    if (multiSearchfield && multiSearchValue) {\r\n      url = url + multiSearchfield + multiSearchValue;\r\n    }\r\n\r\n    if (isNeedPermission) {\r\n      url = url + '&isNeedPermission=' + isNeedPermission;\r\n    }\r\n\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n\r\n  getDyamicQueryData(\r\n    QueryId: any,\r\n    FormRecId?: any,\r\n    criteriastr?: any,\r\n    Parameter?: any,\r\n    Condition?: any\r\n  ) {\r\n    let _url = `${environment.ServerUrl}/entitytype/dynamic/queryexecute?queryRecId=${QueryId}&formRecId=${FormRecId}`;\r\n    if (Condition) {\r\n      _url = _url + '&whereCondition=' + Condition;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(_url, {\r\n      params: {\r\n        ...QueryParameterBuilder(Parameter),\r\n        ...CriteriaBuilder(criteriastr),\r\n      },\r\n    });\r\n  }\r\n\r\n  getSQLExecute(\r\n    criteriastr: ISearchCriteria | null,\r\n    recId: number,\r\n    object_Type: string,\r\n    objectName: string,\r\n    Condition?: any\r\n  ) {\r\n    let url = `${environment.ServerUrl}/platform/sql/sysobjectexecute?recId=${recId}&object_Type=${object_Type}`;\r\n    if (objectName) {\r\n      url += `&objectName=${objectName}`;\r\n    }\r\n    if (Condition) {\r\n      url = url + '&whereCondition=' + Condition;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getSingleFieldTypebyFieldTypeId(FieldTypeId: string) {\r\n    const url = environment.ServerUrl + 'fieldtypebyid/' + FieldTypeId;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getShortKeyCannedResponse(searchterm?: string) {\r\n    const url = ShortKeyCannedResponse.getShortCannedRespones(searchterm);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getDyamicUrl(url: any) {\r\n    let _url = `${environment.ServerUrl}/${url}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(_url);\r\n  }\r\n\r\n  dynamicAPi(\r\n    restData: IRestConfig,\r\n    FormValues?: any,\r\n    searchCriteria?: ISearchCriteria | null,\r\n    SearchText?: any,\r\n    isHavecriteria?: boolean,\r\n    formData?: any\r\n  ) {\r\n    let params = this.setparameter(\r\n      restData.QueryStrings,\r\n      FormValues,\r\n      SearchText,\r\n      isHavecriteria\r\n    );\r\n    let parameter = this.getArraycolumn(params);\r\n    let headers = this.setHeaders(\r\n      restData.Headers,\r\n      FormValues\r\n    );\r\n\r\n    let _url = restData.URL + parameter;\r\n    let responcetype: any = restData.IsFileDownload ? 'blob' : 'json';\r\n    switch (restData.Method) {\r\n      case 'GET': {\r\n        this.loaderService.showLoading();\r\n        return this.http.get<any>(_url, {\r\n          params: CriteriaBuilder(searchCriteria),\r\n          responseType: responcetype,\r\n          headers: headers,\r\n        });\r\n        break;\r\n      }\r\n      case 'POST': {\r\n        let _body = formData ? formData : restData.Body;\r\n        this.loaderService.showLoading();\r\n        return this.http.post<any>(_url, _body, { headers: headers });\r\n        break;\r\n      }\r\n      case 'PUT': {\r\n        let _body = formData ? formData : restData.Body;\r\n        this.loaderService.showLoading();\r\n        return this.http.put<any>(_url, _body, { headers: headers });\r\n        break;\r\n      }\r\n      case 'DELETE': {\r\n        this.loaderService.showLoading();\r\n        return this.http.delete<any>(_url, { headers: headers });\r\n        break;\r\n      }\r\n      default: {\r\n        this.loaderService.showLoading();\r\n        return this.http.get<any>(_url, { headers: headers });\r\n      }\r\n    }\r\n  }\r\n  setparameter(\r\n    parameters: INameTypeVal[],\r\n    FormValues:any,\r\n    SearchText?:any,\r\n    isHavecriteria?: boolean\r\n  ) {\r\n\r\n    let params: INameVal[] = [];\r\n\r\n    parameters.forEach((element:any) => {\r\n      if (element.Type == 'FieldValue') {\r\n        let temp: INameVal = {\r\n          Name: element.Name,\r\n          Value: FormValues[element.Value],\r\n        };\r\n        // if(!element.IsCriteriaField)\r\n        params.push(temp);\r\n      }\r\n\r\n      else if (element.Type == 'SearchValue') {\r\n        if (SearchText && !isHavecriteria) {\r\n          let temp: INameVal = {\r\n            Name: element.Name,\r\n            Value: SearchText,\r\n          };\r\n          params.push(temp);\r\n        }\r\n      }\r\n      else {\r\n        let temp: INameVal = { Name: element.Name, Value: element.Value };\r\n        params.push(temp);\r\n      }\r\n\r\n    });\r\n\r\n\r\n    this.loaderService.showLoading();\r\n    return params;\r\n  }\r\n\r\n  setHeaders(header: INameTypeVal[],FormValues:any) {\r\n    let headers = new HttpHeaders();\r\n    header.forEach((element:any) => {\r\n      headers = headers.set(element.Name,\r\n        element.Type == 'FieldValue' ? FormValues[element.Value]:element.Value); \r\n    });\r\n    this.globalService.commonHeaders.keys().forEach((key:any) => {\r\n      const value = this.globalService.commonHeaders.get(key);\r\n      if (value !== null) {\r\n        headers = headers.set(key,value)\r\n      }\r\n    });\r\n    this.loaderService.showLoading();\r\n    return headers\r\n  }\r\n  \r\n  getArraycolumn(column: INameVal[] = []) {\r\n    if (Array.isArray(column) && column.length > 0) {\r\n      let str = '';\r\n      let i = 0;\r\n      column.forEach((x) => {\r\n\r\n        if (i == 0) str += `?${x.Name}=${x.Value ? x.Value : ''}`;\r\n        else str += `&${x.Name}=${x.Value ? x.Value : ''}`;\r\n        i++;\r\n      });\r\n      this.loaderService.showLoading();\r\n    return str;\r\n    } else this.loaderService.showLoading();\r\n    return '';\r\n  }\r\n  DynamicSubmitinstancetemplate(\r\n    data: any,\r\n    baseentitytypeId: any,\r\n    templateId: any,\r\n    fileObj?: any[],\r\n    FormFieldFile?: any[]\r\n  ) {\r\n    let formData: FormData = new FormData();\r\n    if (fileObj && fileObj.length > 0) {\r\n      for (let i = 0; i < fileObj.length; i++) {\r\n        formData.append('Files', fileObj[i].File, fileObj[i].File.name);\r\n      }\r\n    }\r\n\r\n    formData.append('EntityData', data);\r\n\r\n    let url = dynamic.insertDynamicsubmitinstancetemplate();\r\n    url = `${url}?baseentitytypeId=${baseentitytypeId}&templateId=${templateId}`;\r\n\r\n    if (fileObj && fileObj.length > 0) {\r\n      const DoctypeRecIds = fileObj\r\n        .map((x) => 'DoctypeRecIds=' + x.DoctypeRecId)\r\n        .join('&');\r\n      url = `${url}&${DoctypeRecIds}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, formData,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  createDynamic(data: any, fileObj?: any[], FormFieldFile?: any[]) {\r\n    let formData: FormData = new FormData();\r\n    if (fileObj && fileObj.length > 0) {\r\n      for (let i = 0; i < fileObj.length; i++) {\r\n        formData.append('Files', fileObj[i].File, fileObj[i].File.name);\r\n      }\r\n    }\r\n    formData.append('EntityData', data);\r\n    let url = dynamic.insertDynamic();\r\n    if (fileObj && fileObj.length > 0) {\r\n      const DoctypeRecIds = fileObj\r\n        .map((x) => 'DoctypeRecIds=' + x.DoctypeRecId)\r\n        .join('&');\r\n      url = `${url}?${DoctypeRecIds}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, formData,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  updateDynamic(_data: any) {\r\n    const formData = new FormData();\r\n    let data = encodeURIComponent(_data);\r\n    formData.append('EntityData', _data);\r\n\r\n    const url = dynamic.updateDynamic();\r\n    this.loaderService.showLoading();\r\n    return this.http.put(url, formData, { headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  getDynamicById(\r\n    entityTypeRecId: number,\r\n    RecId: number,\r\n    isskipworkflow?: any,\r\n    PrimaryKey?: any,\r\n    PrimaryKeyValue?: any,\r\n    loadfiles?: boolean\r\n  ) {\r\n    let url = dynamic.getDynamicById(entityTypeRecId, RecId);\r\n    if (isskipworkflow) url = url + '?isworkflow=false';\r\n    if (PrimaryKey && PrimaryKeyValue) {\r\n      url = dynamic.getDynamicByPrimaryKey(\r\n        entityTypeRecId,\r\n        PrimaryKey,\r\n        PrimaryKeyValue\r\n      );\r\n      if (isskipworkflow) url = url + '&isworkflow=false';\r\n    }\r\n    if (loadfiles) {\r\n      if (!isskipworkflow && !PrimaryKey && !PrimaryKeyValue) {\r\n        url = url + '?currentuploadfiles=' + loadfiles;\r\n      } else url = url + '&currentuploadfiles=' + loadfiles;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  DelteDynamicById(entityTypeRecId: number, RecID: number) {\r\n    const Url = dynamic.deleteDynamicById(entityTypeRecId, RecID);\r\n    this.loaderService.showLoading();\r\n    return this.http.delete(Url, { headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  getAllRulesWithTemplateData(EntityTypeId: number) {\r\n    const url = EntityTypeSetUp.getAllRulesWithTemplateData(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  addEntityTypeFormData(data: any) {\r\n    const url = EntityTypeForm.addEntityTypeFormData(data);\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, data,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getActiveEntityFormByDetails(EntityTypeRecId: any) {\r\n    const url = EntityTypeSetUp.getActiveEntityFormbyDetails(EntityTypeRecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllEntityTypeForm(\r\n    criteriastr: ISearchCriteria | null,\r\n    EntityTypeId: number\r\n  ) {\r\n    const url = EntityTypeForm.getAllEntityTypeForm(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getcategoryrequestertype(criteriastr?: ISearchCriteria) {\r\n    let url = environment.ServerUrl + 'categoryrequestertype';\r\n    this.loaderService.showLoading();\r\n    return this.http.get<any[]>(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n\r\n  importEntityTypeField(file: any, RecId: number) {\r\n    const url = EntityTypeField.importEntityTypeField(RecId);\r\n    let formData: FormData = new FormData();\r\n    let _file: File = file[0];\r\n    formData.append('Files', _file, file.name);\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, formData,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getDynamicExport(ExportURL: any) {\r\n    let url = 'recruitment/candidate/export'; // default call candidate export\r\n    if (ExportURL) url = ExportURL;\r\n\r\n    let _url = `${environment.ServerUrl}${url}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(_url, { headers: this.globalService.commonHeaders, responseType: 'blob' });\r\n  }\r\n  getAllEntityTypeActionForm(\r\n    criteriastr: ISearchCriteria,\r\n    EntityTypeId: number\r\n  ) {\r\n    const url = EntityTypeForm.getAllEntityTypeActionForm(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getSingleEntityTypeSetupById(RecId: number) {\r\n    const url = EntityTypeSetUp.getSingleEntityTypeSetupById(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getSingleEntityTypeFormById(RecId: number): any {\r\n    const url = EntityTypeForm.getSingleEntityTypeFormById(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  importProcessEntityTypeFieldData(RecId: number) {\r\n    const url = EntityTypeField.getImportProcessEntityTypeFieldData(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  mappingImportProcessEntityTypeField(mappingList: any, RecId: number) {\r\n    const url = EntityTypeField.mappingImportProcessEntityTypeField(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, mappingList,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  submitImportProcessEntityTypeFieldData(RecId: number) {\r\n    const url = EntityTypeField.submitImportProcessEntityTypeFieldData(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  UpdateFormAction(EntityRecId: any, EntityFormRecId: any, Actions: any) {\r\n    let url = `${environment.ServerUrl}entitytype/form/actions?recId=${EntityFormRecId}&actions=${Actions}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  urlGetWfStageAction(EntityTypeId: number, StageId: number) {\r\n    this.loaderService.showLoading();\r\n    return this.http.get<any>(\r\n      EntityTypeDynamic.getWfStageAction(EntityTypeId, StageId)\r\n      ,{ headers: this.globalService.commonHeaders }\r\n    );\r\n  }\r\n  urlPostTicketWfActionMultiple(\r\n    RecIds: number[],\r\n    stageId: any,\r\n    action: any,\r\n    comments: any,\r\n    updateFileds: any,\r\n    updateFieldsObject: any,\r\n    EntityTypeId: any\r\n  ) {\r\n    for (let key in updateFieldsObject) {\r\n      if (\r\n        Object.prototype.toString.call(updateFieldsObject[key]) ===\r\n        '[object Date]'\r\n      ) {\r\n        updateFieldsObject[key] =\r\n          GetFormattedDateWithTime(\r\n            updateFieldsObject[key]\r\n          );\r\n      }\r\n    }\r\n    let updateFiledsString = JSON.stringify(updateFieldsObject);\r\n\r\n    let obj: any = {\r\n      RecIds: RecIds,\r\n      RecId: 0,\r\n      StageId: stageId,\r\n      Action: action,\r\n      Comments: comments,\r\n      RefFields: updateFiledsString,\r\n      RecordStatus: 0,\r\n    };\r\n    let url_ =\r\n      environment.ServerUrl +\r\n      'entitytype/ticket/wfAction?entitytyperecid=' +\r\n      EntityTypeId;\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url_, obj,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  DynamicImport(ImportURL: any, formDatas: any) {\r\n    let url = 'recruitment/candidate/import'; // default call candidate export\r\n    if (ImportURL) url = ImportURL;\r\n\r\n    let _url = `${environment.ServerUrl}${url}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.post(_url, formDatas,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  getpermissiontemplateactivitybycaseid(EntityRecId: number, criteriastr: any) {\r\n    const url =\r\n      DocumentTemplate.getpermissiontemplateactivitybycaseid(EntityRecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n\r\n  downloadDocumentTemplate(\r\n    entityTypeRecId: number,\r\n    refRecid: number,\r\n    activityRecId: number\r\n  ) {\r\n    let url = DocumentTemplate.downloadDocumentTemplate(\r\n      entityTypeRecId,\r\n      refRecid,\r\n      activityRecId\r\n    );\r\n    if (this.globalService.AppName == 'Recruitment') {\r\n      url = DocumentTemplate.downloadDocumentTemplateRecPortal(\r\n        entityTypeRecId,\r\n        refRecid,\r\n        activityRecId\r\n      );\r\n    } else {\r\n      url = DocumentTemplate.downloadDocumentTemplateCommon(\r\n        entityTypeRecId,\r\n        refRecid,\r\n        activityRecId\r\n      );\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, { headers: this.globalService.commonHeaders, responseType: 'blob', observe: 'response' });\r\n  }\r\n\r\n  getActiveEntityForm(EntityTypeRecId: number) {\r\n    const url = EntityTypeSetUp.getActiveEntityForm(EntityTypeRecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  getAllEntityTypeFieldWithDynamic(\r\n    criteriastr: ISearchCriteria,\r\n    EntityTypeId: number\r\n  ) {\r\n    const url = EntityTypeField.getAllEntityTypeFieldWithDynamic(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getLookupValuseByLookupId(LookupTypeId: number | string): any {\r\n    const url = EntityTypeSetUp.getLookupValuseByLookupId(LookupTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getEntityTypeForm(\r\n    criteriastr: ISearchCriteria | null,\r\n    EntityTypeId: number,\r\n    FormType: number,\r\n    SolutionId?: any\r\n  ) {\r\n    let url = EntityTypeForm.getEntityTypeForm(EntityTypeId, FormType);\r\n    if (SolutionId) {\r\n      url += `&SolutionId=${SolutionId}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getAllEntityTypeFormByEntityTypeIdORAll(\r\n    criteriastr: ISearchCriteria,\r\n    EntityType?: number,\r\n    EntityTypeId?: number\r\n  ) {\r\n    if (EntityTypeId) {\r\n      this.loaderService.showLoading();\r\n    return this.getAllEntityTypeForm(criteriastr, EntityTypeId);\r\n    } else {\r\n      this.loaderService.showLoading();\r\n    return this.getAllEntityTypeFormByEnvironmentid(criteriastr, EntityType);\r\n    }\r\n  }\r\n  getAllEntityTypeFormByEnvironmentid(\r\n    criteriastr: ISearchCriteria,\r\n    EntityType?: number\r\n  ) {\r\n    let url = EntityTypeForm.getAllEntityTypeFormByEnvironmentid();\r\n\r\n    if (this.globalService.EnvironmentId != 'Meta') {\r\n      url = url + '?EnvironmentId=' + this.globalService.EnvironmentId;\r\n      if (EntityType) {\r\n        url = url + '&entityType=' + EntityType;\r\n      }\r\n    } else {\r\n      if (EntityType) {\r\n        url = url + '?entityType=' + EntityType;\r\n      }\r\n    }\r\n\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  GetMenuByAction(urlText: any, ModuleId?: any, ispermission?: any): any {\r\n    let _url = dynamic.GetMenuByAction(urlText);\r\n    if (ModuleId) _url = _url + '&ModuleId=' + ModuleId;\r\n    if (ispermission) _url = _url + '&ispermission=' + ispermission;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(_url, { headers: this.globalService.commonHeaders });\r\n  }\r\n  getDynamicByEntityRefrecid(\r\n    entityTypeRecId: number,\r\n    RefTypeId: number,\r\n    criteriastr: any,\r\n    ActionType?: number\r\n  ) {\r\n    let url = dynamic.getDynamicRefRecidEntity(entityTypeRecId, RefTypeId);\r\n    if (ActionType) {\r\n      url = url + '&ActionType=' + ActionType;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getAllAssinedActivites(criteriastr: ISearchCriteria, EntityTypeId: any) {\r\n    const url = EntityTypeSetUp.getAllAssinedActivites(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getActivityUploadFile(\r\n    RefRecId: number,\r\n    EntityTypeId: number,\r\n    ActivityTypeId: number\r\n  ) {\r\n    const url = dynamic.getActivityUploadFile(\r\n      RefRecId,\r\n      EntityTypeId,\r\n      ActivityTypeId\r\n    );\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, { headers: this.globalService.commonHeaders });\r\n  }\r\n  urlPostTicketWfAction(\r\n    RecIds: number,\r\n    stageId: any,\r\n    action: any,\r\n    comments: any,\r\n    updateFileds: any,\r\n    updateFieldsObject: any,\r\n    EntityTypeId: any\r\n  ) {\r\n    for (let key in updateFieldsObject) {\r\n      if (\r\n        Object.prototype.toString.call(updateFieldsObject[key]) ===\r\n        '[object Date]'\r\n      ) {\r\n        updateFieldsObject[key] =\r\n          GetFormattedDateWithTime(\r\n            updateFieldsObject[key]\r\n          );\r\n      }\r\n    }\r\n    let updateFiledsString = JSON.stringify(updateFieldsObject);\r\n\r\n    let obj: any = {\r\n      RecIds: [RecIds],\r\n      RecId: 0,\r\n      StageId: stageId,\r\n      Action: action,\r\n      Comments: comments,\r\n      RefFields: updateFiledsString,\r\n      RecordStatus: 0,\r\n    };\r\n\r\n    let url_ =\r\n      environment.ServerUrl +\r\n      'entitytype/ticket/wfAction?entitytyperecid=' +\r\n      EntityTypeId;\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url_, obj,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getWfInsProcessStageComments(\r\n    criteriastr: ISearchCriteria,\r\n    EntityTypeId: any,\r\n    refRecId: any\r\n  ): Observable<IEntityWFstageVM[]> {\r\n    const wfStagelist = EntityTypeDynamic.Getwfinsprocessstagecomments(\r\n      EntityTypeId,\r\n      refRecId\r\n    );\r\n    this.loaderService.showLoading();\r\n    return this.http.get<IEntityWFstageVM[]>(wfStagelist, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n\r\n  urlGetTicketUpdateByRecId(ticketId: any) {\r\n    this.loaderService.showLoading();\r\n    return this.http.get<any>(ticketAPIs.getTicketUpdateByRecId(ticketId), { headers: this.globalService.commonHeaders });\r\n  }\r\n  getDynamicAllActivity(\r\n    criteriastr: ISearchCriteria,\r\n    entityTypeRecId: any,\r\n    ActivityTypeId: number\r\n  ) {\r\n    const url = dynamic.getDynamicAllActivity(entityTypeRecId, ActivityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  postTicketComments(file: any, values: any) {\r\n    let Url = `${environment.ServerUrl}entitytype/ticket/comments/create?RefRecId=${values.refRecId}&comments=${values.comments}&refernceFields=${values.refernceFields}`;\r\n\r\n    if (file && file.length > 0) {\r\n      let formData: FormData = new FormData();\r\n      let _file: File = file[0];\r\n      formData.append('Files', _file, file.name);\r\n      this.loaderService.showLoading();\r\n    return this.http.post(Url, formData,{ headers: this.globalService.commonHeaders });\r\n    }\r\n\r\n    this.loaderService.showLoading();\r\n    return this.http.post(Url, null,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getManPowerAttachList(SourceId: any, EntityTypeId: any, TableName: any) {\r\n    if (!this.globalService.ManpowerServerUrl) {\r\n      Swal.fire('Manpower Server', 'Manpower server url notfound', 'warning');\r\n    }\r\n    const url = `${this.globalService.ManpowerServerUrl}api/uploadfilelistReferenceId?SourceId=${SourceId}\r\n                 &EntityTypeId=${EntityTypeId}&TableName=${TableName}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getlistview(EntityTypeId: number) {\r\n    const url = EntityTypeSetUp.getlistview(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getSingleRules(EntityTypeId: number, FormRecId: number) {\r\n    const url = EntityTypeSetUp.getSinglelRules(EntityTypeId, FormRecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getSingleEntityTypeFieldById(RecId: number) {\r\n    const url = EntityTypeField.getSingleEntityTypeFieldById(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  putEntityTypeField(data: EntityTypeFieldUVM) {\r\n    const url = EntityTypeField.putEntityTypeField();\r\n    this.loaderService.showLoading();\r\n    return this.http.put(url, data, { headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllWfStage(\r\n    criteriastr: ISearchCriteria | null,\r\n    EntityTypeId: any,\r\n    showallpending?: any\r\n  ): Observable<IEntityWFstageVM[]> {\r\n    if (!showallpending) showallpending = false;\r\n    const wfStagelist = EntityWfStage.Getwfstage(EntityTypeId, showallpending);\r\n    this.loaderService.showLoading();\r\n    return this.http.get<IEntityWFstageVM[]>(wfStagelist, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getConncetorAPIMethod(apirecId: any) {\r\n    const url = `${environment.ServerUrl}/platform/apimethod/get?apirecId=${apirecId}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllQueryField(QueryId: any) {\r\n    const url = `${environment.ServerUrl}entitytype/getqueryfields?RecId=${QueryId}`;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllFieldByTableName(\r\n    criteriastr: ISearchCriteria,\r\n    recId: number,\r\n    objectName: string,\r\n    fieldName?: string\r\n  ) {\r\n    let url = `${environment.ServerUrl}/platform/sql/columnbyobject?recId=${recId}&pageNo=${criteriastr.Pagging.PageNo}&pageSize=${criteriastr.Pagging.PageSize}&objectName=${objectName}`;\r\n    if (fieldName) {\r\n      url += `&fieldName=${fieldName}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getTableViewSp(\r\n    criteriastr: ISearchCriteria,\r\n    recId: number,\r\n    object_Type: string,\r\n    objectName?: string\r\n  ) {\r\n    let url = `${environment.ServerUrl}/platform/sql/sysobjects?recId=${recId}&pageNo=${criteriastr.Pagging.PageNo}&pageSize=${criteriastr.Pagging.PageSize}&object_Type=${object_Type}`;\r\n    if (objectName) {\r\n      url += `&objectName=${objectName}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getDbMethodData(\r\n    criteriastr: ISearchCriteria,\r\n    apirecId: number,\r\n    verb?: string,\r\n    path?: string\r\n  ) {\r\n    let url = `${environment.ServerUrl}/platform/apimethod/get?apirecId=${apirecId}`;\r\n    if (verb) {\r\n      url += `&verb=${verb}`;\r\n    }\r\n    if (path) {\r\n      url += `&path=${path}`;\r\n    }\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n      headers: this.globalService.commonHeaders,\r\n      params: CriteriaBuilder(criteriastr),\r\n    });\r\n  }\r\n  getAllFieldType(criteriastr?: ISearchCriteria | null) {\r\n    const url = environment.ServerUrl + 'fieldtype';\r\n    if (criteriastr == null) {\r\n      this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n    } else {\r\n      this.loaderService.showLoading();\r\n    return this.http.get(url, {\r\n        headers: this.globalService.commonHeaders,\r\n        params: CriteriaBuilder(criteriastr),\r\n      });\r\n    }\r\n  }\r\n  getSingleFieldType(RecId: number) {\r\n    const url = environment.ServerUrl + 'fieldtype/' + RecId;\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  postEntityTypeField(data: EntityTypeFieldCVM) {\r\n    const url = EntityTypeField.postEntityTypeField();\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, data,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllEntityTypeFieldWithDynamicWithoutCriteria(EntityTypeId: number) {\r\n    const url = EntityTypeField.getAllEntityTypeFieldWithDynamic(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getAllEntityTypeFieldWithoutCriteria(EntityTypeId: number) {\r\n    const url = EntityTypeField.getAllEntityTypeField(EntityTypeId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getMethod(url: any) {\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  uploadFiles(\r\n    files: any,\r\n    obj: { docType: string; docName: string; recId: number | string }\r\n  ) {\r\n    let url_ =\r\n      this.serverURL +\r\n      this.v1 +\r\n      `/common/documenttype/uploadfile?DocumentType=${obj.docType}&FileName=${obj.docName}&RecId=${obj.recId}`;\r\n    url_ = url_.replace(/[?&]$/, '');\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url_, files,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  getAttachmentList(MenuOrEntityRecId: number, attachmentType: number) {\r\n    const url = Common.getAttachmentByMenuRecId(\r\n      MenuOrEntityRecId,\r\n      attachmentType\r\n    );\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  getUploadFileList(DoctypeRecId: number, RefRecId: number) {\r\n    const url = Common.getUploadFileList(DoctypeRecId, RefRecId);\r\n    let obj = {\r\n      DoctypeRecId: DoctypeRecId,\r\n      RefRecId: RefRecId,\r\n    };\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url, {  headers: this.globalService.commonHeaders, observe: 'response' }); //obj,\r\n  }\r\n  ActivateUplaodFile(RecId: number) {\r\n    const url = Common.activateUploadFile(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n\r\n  InActivateUplaodFile(RecId: number) {\r\n    const url = Common.inActivateUploadFile(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url,{ headers: this.globalService.commonHeaders });\r\n  }\r\n  uploadFilesDownload(RecId:number){\r\n    let url = Common.uploadFilesDownload(RecId);\r\n    this.loaderService.showLoading();\r\n    return this.http.get(url , { headers: this.globalService.commonHeaders, responseType : \"blob\"});\r\n  }\r\n  uploadAttachFile(obj:any, files:any) {\r\n    const url = Common.uploadAttachFile();\r\n    let data = {\r\n      refRecId: obj.refRecId,\r\n      DocumentType: obj.DocumentType,\r\n      DocumentVersion: obj.DocumentVersion,\r\n      Title: obj.Title,\r\n      RefTableName:obj.RefTableName,\r\n      FileName: obj.FileName,\r\n    };\r\n    this.loaderService.showLoading();\r\n    return this.http.post(url, files, { headers: this.globalService.commonHeaders, params: data });\r\n  }\r\n  \r\n}\r\n// \r\n//   API DEFINITION\r\n//\r\nexport const publicAPI = {\r\n  getAppbyName: (name:any) =>\r\n    `${environment.ServerUrl}public/getappbyname?name=${name}`\r\n};\r\n\r\n\r\nexport const Common = {\r\n  uploadAttachFile: () =>\r\n  `${environment.ServerUrl}security/documenttype/uploadfile`,\r\n  uploadFilesDownload:(RecId : number) =>\r\n  `${environment.ServerUrl}ticketmaster/uploadFilesBy/downloadbyrefrecid?RecId=${RecId}`,\r\n  inActivateUploadFile: (RecId: number) =>\r\n  `${environment.ServerUrl}security/documenttype/inactivefile?RecId=${RecId}`,\r\n  activateUploadFile: (RecId: number) =>\r\n  `${environment.ServerUrl}security/documenttype/activefile?RecId=${RecId}`,\r\n  getUploadFileList: (DoctypeRecId: number, RefRecId: number) =>\r\n  `${environment.ServerUrl}security/documenttype/uploadfilelist/${DoctypeRecId}/${RefRecId}`,\r\n  getAttachmentByMenuRecId: (\r\n    MenuOrEntityRecId: number,\r\n    attachmentType: number\r\n  ) =>\r\n    `${environment.ServerUrl}security/documenttype/showattachement?MenuOrEntityRecId=${MenuOrEntityRecId}&attachmentType=${attachmentType}`,\r\n\r\n};\r\n\r\nexport const dynamic = {\r\n  getDynamicAll: (entityTypeRecId: number, FormRecId?: any) =>\r\n    `${environment.ServerUrl}entitytype/dynamic/get/?entityTypeRecId=${entityTypeRecId}`,\r\n  getDynamicAllbyViewTypeAll: () =>\r\n    `${environment.ServerUrl}clearance/dynamic/get/`,\r\n  deleteDynamicById: (entityTypeRecid: number, RecId: number) =>\r\n    `${environment.ServerUrl}entitytype/dynamic/delete?entityTypeRecid=${entityTypeRecid}&recId=${RecId}`,\r\n  getDynamicById: (entityTypeRecId: number, RecId: number) =>\r\n    `${environment.ServerUrl}/entitytype/dynamic/${RecId}/${entityTypeRecId}`,\r\n  getDynamicByPrimaryKey: (\r\n    entityTypeRecId: number,\r\n    PrimaryKey: number,\r\n    PrimaryKeyValue: any\r\n  ) =>\r\n    `${environment.ServerUrl}/entitytype/dynamicgetbyprimarykey?entityTypeRecId=${entityTypeRecId}&primarykey=${PrimaryKeyValue}`,\r\n  insertDynamic: () => `${environment.ServerUrl}entitytype/dynamic/insert`,\r\n  insertDynamicsubmitinstancetemplate: () =>\r\n    `${environment.ServerUrl}entitytype/submitinstancetemplate`,\r\n  updateDynamic: () => `${environment.ServerUrl}entitytype/dynamic/update`,\r\n  GetMenuByAction: (url: any) =>\r\n    `${environment.ServerUrl}security/menuitemsmapbyaction?action=${url}`,\r\n  getDynamicRefRecidEntity: (entityTypeRecId: number, RefTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/dynamic/activity/get?entityTypeRecId=${entityTypeRecId}&RefTypeId=${RefTypeId}`,\r\n  getActivityUploadFile: (\r\n    RefRecId: number,\r\n    EntityTypeId: number,\r\n    ActivityTypeId: number\r\n  ) =>\r\n    `${environment.ServerUrl}/getuploadfilesbyreferanceparams?RefRecId=${RefRecId}&EntityTypeId=${EntityTypeId}&ActivityTypeId=${ActivityTypeId}`,\r\n  getDynamicAllActivity: (entityTypeRecId: number, ActivityTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/dynamic/get/?entityTypeRecId=${entityTypeRecId}&ActivityTypeId=${ActivityTypeId}`,\r\n};\r\nexport const ExportGrid = {\r\n  getExportAllGridData: (\r\n    Url: string,\r\n    columnDef: string,\r\n    filename: string,\r\n    QueryString: string\r\n  ) =>\r\n    `${environment.ServerUrl}exportdatabyrestapicall?apiUrl=${Url}&columnDef=${columnDef}&filename=${filename}&QueryString=${QueryString}`,\r\n  getExportAllGridDataLatest: () =>\r\n    `${environment.ServerUrl}exportformdatabyrestapicall`,\r\n};\r\nexport const EntityTypeSetUp = {\r\n  getAllEntityTypeSetup: () => `${environment.ServerUrl}entitytype/setup`,\r\n  getAllEntityTypeSetupByEntityType: (EntityType: any) =>\r\n    `${environment.ServerUrl}entitytype/setup/type?entityType=${EntityType}`,\r\n  getEntityAllSetupData: () =>\r\n    `${environment.ServerUrl}entitytype/setup/details`,\r\n  getDependedOnEntity: (EntityTypeId: any) =>\r\n    `${environment.ServerUrl}entitytype/relationentitydependenton?RelationEntity=${EntityTypeId}`,\r\n  getSingleEntityTypeSetupById: (RecId: number) =>\r\n    `${environment.ServerUrl}entitytype/setup/${RecId}`,\r\n  getActiveEntityFormbyDetails: (EntityTypeRecId: any) =>\r\n    `${environment.ServerUrl}entitytype/form/activationrecorddetails/${EntityTypeRecId}`,\r\n  getAllRulesWithTemplateData: (EntityTypeId: number) =>\r\n    `${environment.ServerUrl}/entitytype/ruleswithtemplatedata/${EntityTypeId}`,\r\n  getActiveEntityForm: (EntityTypeRecId: number) =>\r\n    `${environment.ServerUrl}entitytype/form/activationrecord/${EntityTypeRecId}`,\r\n  getLookupValuseByLookupId: (LookupTypeId: number | string) =>\r\n    `${environment.ServerUrl}lookupvalues/GetAllByLookTypeId/${LookupTypeId}`,\r\n  getAllAssinedActivites: (EntityTypeId: any) =>\r\n    `${environment.ServerUrl}entitytype/setup/assined/activites?EntityTypeRecId=${EntityTypeId}`,\r\n  getlistview: (EntityTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/field/listview?EntityTypeId=${EntityTypeId}`,\r\n  getSinglelRules: (EntityTypeId: number, FormRecId: number) =>\r\n    `${environment.ServerUrl}entitytype/rulesdata/byformrecid?EntityTypeRecId=${EntityTypeId}&FormRecId=${FormRecId}`,\r\n};\r\nexport const EntityTypeForm = {\r\n  putEntityTypeForm: () => `${environment.ServerUrl}entitytype/form/update`,\r\n  addEntityTypeFormData: (data: any) =>\r\n    `${environment.ServerUrl}entitytype/form/addnew?EntityTypeRecId=${data.EntityTypeRecId}&FormType=${data.FormType}&FormName=${data.FormName}&ImageUrl=${data.Image}`,\r\n  getAllEntityTypeActionForm: (EntityTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/formbyentitytypeid?EntityTypeId=${EntityTypeId}`,\r\n  getAllEntityTypeForm: (EntityTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/form?EntityTypeId=${EntityTypeId}`,\r\n  getSingleEntityTypeFormById: (RecId: number) =>\r\n    `${environment.ServerUrl}entitytype/form/${RecId}`,\r\n  getEntityTypeForm: (EntityTypeId: number, FormType: number) =>\r\n    `${environment.ServerUrl}entitytype/form?EntityTypeId=${EntityTypeId}&FormType=${FormType}`,\r\n  getAllEntityTypeFormByEnvironmentid: () =>\r\n    `${environment.ServerUrl}entitytype/formbyenvironmentid`,\r\n};\r\nexport const EntityTypeField = {\r\n  getAllEntityTypeField: (EntityTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/field?EntityTypeId=${EntityTypeId}`,\r\n  importEntityTypeField: (RecIds: number) =>\r\n    `${environment.ServerUrl}csvimportprocess/uploadfile?refRecId=${RecIds}`,\r\n  getImportProcessEntityTypeFieldData: (RecId: number) =>\r\n    `${environment.ServerUrl}csvimportprocess/${RecId}`,\r\n  mappingImportProcessEntityTypeField: (RecId: number) =>\r\n    `${environment.ServerUrl}csvimportprocess/mappingfield/add?recId=${RecId}`,\r\n  submitImportProcessEntityTypeFieldData: (RecId: number) =>\r\n    `${environment.ServerUrl}csvimportprocess/start/${RecId}`,\r\n  getAllEntityTypeFieldWithDynamic: (EntityTypeId: number) =>\r\n    `${environment.ServerUrl}entitytype/field/eventlistview?EntityTypeId=${EntityTypeId}`,\r\n  getSingleEntityTypeFieldById: (RecId: number) =>\r\n    `${environment.ServerUrl}entitytype/field/${RecId}`,\r\n  putEntityTypeField: () => `${environment.ServerUrl}entitytype/field/update`,\r\n  postEntityTypeField: () => `${environment.ServerUrl}entitytype/field/add`,\r\n};\r\nexport const EntityTypeDynamic = {\r\n  getWfStageAction: (EntityTypeId: number, StageId: number) =>\r\n    `${environment.ServerUrl}entitytype/wfstageaction?EntityTypeId=${EntityTypeId}&StageId=${StageId}`,\r\n  Getwfinsprocessstagecomments: (entitytyperecid: number, refrecid: number) =>\r\n    `${environment.ServerUrl}entitytype/wfinsprocessstagecomments?entitytyperecid=${entitytyperecid}&refrecid=${refrecid}`,\r\n};\r\nexport const DocumentTemplate = {\r\n  getpermissiontemplateactivitybycaseid: (CasetypeId: number) =>\r\n    `${environment.ServerUrl}getpermissiontemplateactivitybycaseid?CasetypeId=${CasetypeId}`,\r\n  downloadDocumentTemplate: (\r\n    entityTypeRecId: number,\r\n    refRecid: number,\r\n    activityRecId: number\r\n  ) =>\r\n    `${environment.ServerUrl}entitytype/activitytemplate/downloadfiles?entityTypeRecId=${entityTypeRecId}&refRecid=${refRecid}&activityRecId=${activityRecId}`,\r\n  downloadDocumentTemplateRecPortal: (\r\n    entityTypeRecId: number,\r\n    refRecid: number,\r\n    activityRecId: number\r\n  ) =>\r\n    `${environment.ServerUrl}recruitment/activitytemplate/downloadfiles?entityTypeRecId=${entityTypeRecId}&refRecid=${refRecid}&activityRecId=${activityRecId}`,\r\n  downloadDocumentTemplateCommon: (\r\n    entityTypeRecId: number,\r\n    refRecid: number,\r\n    activityRecId: number\r\n  ) =>\r\n    `${environment.ServerUrl}doctemplatedownload/activitytemplate/downloadfiles?entityTypeRecId=${entityTypeRecId}&refRecid=${refRecid}&activityRecId=${activityRecId}`,\r\n};\r\nexport const ShortKeyCannedResponse = {\r\n  getShortCannedRespones: (searchterm?: string) =>\r\n    `${environment.ServerUrl}entitytype/cannedresponsebyshortcode?searchterm=${searchterm}`,\r\n};\r\nexport const ticketAPIs = {\r\n  getTicketUpdateByRecId: (ticId: any) =>\r\n    `${environment.ServerUrl}ticket/comments/byrefrecid?refRecId=${ticId}`,\r\n};\r\nexport const EntityWfStage = {\r\n  Getwfstage: (EntityTypeId: number, showallpending: boolean) =>\r\n    `${environment.ServerUrl}entitytype/wfstage?EntityTypeId=${EntityTypeId}&showallpending=${showallpending}`,\r\n};\r\nexport const DirectoryBrowsing = {\r\n  UploadFiles: (directoryName: number) =>\r\n    `${environment.ServerUrl}DirectoryBrowsing/UploadFiles?directoryName=${directoryName}`,\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { GlobalService } from '../core/global.service';\r\n\r\n@Pipe({\r\n  name: 'translate',\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n  constructor(private globalService: GlobalService) {}\r\n  transform(value: any): any {\r\n    if (!value && value != 0) return '';\r\n\r\n    try {\r\n      if (value.substring(0, 3) == 'LBL') {\r\n        let _label = this.globalService.LabelList.filter(\r\n          (x: any) => x.CaseId == value\r\n        )[0];\r\n        if (_label) {\r\n          let _ret = value;\r\n          if (_label[this.globalService.CurrentLanguage]) {\r\n            _ret = _label[this.globalService.CurrentLanguage];\r\n          } else if (_label.DefaultValue) {\r\n            _ret = _label.DefaultValue;\r\n          }\r\n          return _ret;\r\n        } else return value;\r\n      } else {\r\n        let _value = value.toLowerCase().trim();\r\n        let _label = this.globalService.LabelList.filter(\r\n          (x: any) => x.DefaultValue.toLowerCase().trim() == _value\r\n        )[0];\r\n        if (_label) {\r\n          return _label[this.globalService.CurrentLanguage]\r\n            ? _label[this.globalService.CurrentLanguage]\r\n            : value;\r\n        } else return value;\r\n      }\r\n    } catch (error) {\r\n      return value;\r\n    }\r\n  }\r\n}\r\n","import * as handlebars from \"handlebars\";\r\n\r\nexport function registerHandlebarHelperMethods() {\r\n\r\n\r\n    handlebars.registerHelper('ifCond', function(this:any,v1:any, v2:any, options:any) {\r\n        if(v1 === v2) {\r\n          return options.fn(this);\r\n        }\r\n        return options.inverse(this);\r\n      });\r\n\r\n    handlebars.registerHelper('ifCondition', function (this:any,v1:any, v2:any, condition:any, options:any) {\r\n\r\n        let _ret = \"\";\r\n        switch (condition) {\r\n            case \"=\": {\r\n                if (v1 == v2) {\r\n                    _ret = options.fn(this);\r\n                }\r\n                else {\r\n                    _ret = options.inverse(this);\r\n                }\r\n                break;\r\n            }\r\n            case \"!\": {\r\n                if (v1 != v2) {\r\n                    _ret = options.fn(this);\r\n                }\r\n                else {\r\n                    _ret = options.inverse(this);\r\n                }\r\n                break;\r\n            }\r\n            case \">\": {\r\n                if (v1 > v2) {\r\n                    _ret = options.fn(this);\r\n                }\r\n                else {\r\n                    _ret = options.inverse(this);\r\n                }\r\n                break;\r\n            }\r\n            case \"<\": {\r\n                if (v1 < v2) {\r\n                    _ret = options.fn(this);\r\n                }\r\n                else {\r\n                    _ret = options.inverse(this);\r\n                }\r\n                break;\r\n            }\r\n            case \"%\": {\r\n                if (v1.includes(v2)) {\r\n                    _ret = options.fn(this);\r\n                }\r\n                else {\r\n                    _ret = options.inverse(this);\r\n                }\r\n                break;\r\n            }\r\n\r\n            default: {\r\n                if (v1 == v2) {\r\n                    _ret = options.fn(this);\r\n                }\r\n                else {\r\n                    _ret = options.inverse(this);\r\n                };\r\n            }\r\n        }\r\n\r\n        return _ret;\r\n\r\n\r\n    });\r\n\r\n\r\n\r\n    handlebars.registerHelper('isNotNullAndNotUndefined', function (value) {\r\n        if (value == null || value == undefined) return false\r\n        else return true\r\n    })\r\n\r\n    handlebars.registerHelper('MoneyPipe', function (value, prefix = '$', count = 2) {\r\n        if (isNaN(parseFloat(value))) {\r\n            return null\r\n        } else\r\n            return `${prefix}${parseFloat(value).toFixed(count)}`; // $2312.00\r\n    })\r\n\r\n    handlebars.registerHelper('BoolPile', function (value) {\r\n        return value == true ? \"YES\" : \"NO\"\r\n    })\r\n\r\n    handlebars.registerHelper('NillPipe', function (value, cond) {\r\n        if (value) {\r\n            return value\r\n        }\r\n        else {\r\n            if (cond == \"0\") {\r\n                return \"0\"\r\n            }\r\n            else \r\n             return \"NIL\"\r\n        }\r\n    })\r\n\r\n\r\n    /* #region  Date */\r\n\r\n    handlebars.registerHelper('TodayDatePipe', function (formate) {\r\n        let date = new Date();\r\n\r\n        switch (formate) {\r\n            case \"DATE\":\r\n                return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n            case \"DATE_TIME\":\r\n                return new Date(date).toLocaleString('en'); // \"11/3/2020, 11:09:23 AM\"\r\n            case \"DATE_TIME_FULL\":\r\n                return new Date(date).toString(); // \"Tue Nov 03 2020 11:09:10 GMT+0530 (India Standard Time)\"\r\n            case \"TIME\":\r\n                return new Date(date).toLocaleTimeString('en'); // \"11:15:39 AM\"\r\n            case \"TIME_FULL\":\r\n                return new Date(date).toTimeString(); // \"11:15:26 GMT+0530 (India Standard Time)\"\r\n            default:\r\n                return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n        }\r\n\r\n    })\r\n\r\n    handlebars.registerHelper('TodayDateToStringPipe', function (formate) {\r\n        let _date = new Date();\r\n        let _day = _date.getDate() < 10 ? (\"0\" + _date.getDate()) : _date.getDate();\r\n        let _mon = _date.getMonth() + 1;\r\n        let _month = _mon < 10 ? (\"0\" + _mon) : _mon;\r\n        let _year = _date.getFullYear();\r\n        switch (formate) {\r\n            case \"dd/mm/yyyy\":\r\n                return [_day, _month, _year].join('/');\r\n            case \"dd-mm-yyyy\":\r\n                return [_day, _month, _year].join('-');\r\n            case \"mm/dd/yyyy\":\r\n                return [_month, _day, _year].join('/');\r\n            case \"mm-dd-yyyy\":\r\n                return [_month, _day, _year].join('-');\r\n            case \"yyyy/mm/dd\":\r\n                return [_year, _month, _day].join('/');\r\n            case \"yyyy-mm-dd\":\r\n                return [_year, _month, _day].join('-');\r\n            default:\r\n                return [_month, _day, _year].join('/'); // \"mm/dd/yyyy\"\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('DatePipe', function (date, formate) {\r\n        if (date) {\r\n            switch (formate) {\r\n                case \"DATE\":\r\n                    return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                case \"DATE_TIME\":\r\n                    return new Date(date).toLocaleString('en'); // \"11/3/2020, 11:09:23 AM\"\r\n                case \"DATE_TIME_FULL\":\r\n                    return new Date(date).toString(); // \"Tue Nov 03 2020 11:09:10 GMT+0530 (India Standard Time)\"\r\n                case \"TIME\":\r\n                    return new Date(date).toLocaleTimeString('en'); // \"11:15:39 AM\"\r\n                case \"TIME_FULL\":\r\n                    return new Date(date).toTimeString(); // \"11:15:26 GMT+0530 (India Standard Time)\"\r\n                default:\r\n                    return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n            }\r\n        }\r\n        else {\r\n            return date\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('AddtionalDatePipe', function (curdate, day, formate) {\r\n        var date = new Date(curdate);\r\n\r\n        if (curdate && day) {\r\n            date.setDate(date.getDate() + parseInt(day));\r\n            if (formate) {\r\n\r\n                switch (formate) {\r\n                    case \"DATE\":\r\n                        return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                    case \"DATE_TIME\":\r\n                        return new Date(date).toLocaleString('en'); // \"11/3/2020, 11:09:23 AM\"\r\n                    case \"DATE_TIME_FULL\":\r\n                        return new Date(date).toString(); // \"Tue Nov 03 2020 11:09:10 GMT+0530 (India Standard Time)\"\r\n                    case \"TIME\":\r\n                        return new Date(date).toLocaleTimeString('en'); // \"11:15:39 AM\"\r\n                    case \"TIME_FULL\":\r\n                        return new Date(date).toTimeString(); // \"11:15:26 GMT+0530 (India Standard Time)\"\r\n                    default:\r\n                        return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                }\r\n            }\r\n            else {\r\n                return date\r\n            }\r\n        }\r\n        else {\r\n            return date\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('SubDatePipe', function (curdate, day, formate) {\r\n\r\n        var date = new Date(curdate);\r\n        if (curdate && day) {\r\n            date.setDate(date.getDate() -  parseInt(day));\r\n            if (formate) {\r\n\r\n                switch (formate) {\r\n                    case \"DATE\":\r\n                        return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                    case \"DATE_TIME\":\r\n                        return new Date(date).toLocaleString('en'); // \"11/3/2020, 11:09:23 AM\"\r\n                    case \"DATE_TIME_FULL\":\r\n                        return new Date(date).toString(); // \"Tue Nov 03 2020 11:09:10 GMT+0530 (India Standard Time)\"\r\n                    case \"TIME\":\r\n                        return new Date(date).toLocaleTimeString('en'); // \"11:15:39 AM\"\r\n                    case \"TIME_FULL\":\r\n                        return new Date(date).toTimeString(); // \"11:15:26 GMT+0530 (India Standard Time)\"\r\n                    default:\r\n                        return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                }\r\n            }\r\n            else {\r\n                return date\r\n            }\r\n        }\r\n        else {\r\n            return date\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('DateToStringPipe', function (date, formate) {\r\n        if (date) { debugger;\r\n            let _date = new Date(date);\r\n            let _day = _date.getDate() < 10 ? (\"0\" + _date.getDate()) : _date.getDate();\r\n            let _mon = _date.getMonth()+1;\r\n            let _month = _mon < 10  ? (\"0\" + _mon) : _mon;\r\n            let _year = _date.getFullYear();\r\n            switch (formate) {\r\n                case \"dd/mm/yyyy\":\r\n                    return [_day, _month, _year].join('/');\r\n                case \"dd-mm-yyyy\":\r\n                    return [_day, _month, _year].join('-');\r\n                case \"mm/dd/yyyy\":\r\n                    return [_month, _day, _year].join('/');\r\n                case \"mm-dd-yyyy\":\r\n                    return [_month, _day, _year].join('-');\r\n                case \"yyyy/mm/dd\":\r\n                    return [_year, _month, _day].join('/');\r\n                case \"yyyy-mm-dd\":\r\n                    return [_year, _month, _day].join('-');\r\n                default:\r\n                    return [_month, _day, _year].join('/'); // \"mm/dd/yyyy\"\r\n            }\r\n        }\r\n        else {\r\n            return date;\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('BetweenDatePipe', function (date1, date2) {\r\n        let day = 0;\r\n        if (date1 && date2) {\r\n            const _date1 = new Date(date1);\r\n            const _date2 = new Date(date2);\r\n            const diffTime = _date2.getTime() - _date1.getTime();\r\n            day = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) +1;\r\n        }\r\n        return day;\r\n    })\r\n\r\n\r\n    /* #endregion */\r\n\r\n    /* #region  Arithmetic */\r\n\r\n    handlebars.registerHelper('Addition', function (value, value2) {\r\n        let val = value + value2;\r\n        if (!isNaN(value) && !isNaN(value2)) \r\n            val = Number(value) + Number(value2);\r\n        return val\r\n    })\r\n\r\n    handlebars.registerHelper('Subtraction', function (value, value2) {\r\n        let val = value - value2;\r\n        if (!isNaN(value) && !isNaN(value2)) \r\n         val = Number(value) - Number(value2);\r\n        return val\r\n    })\r\n    handlebars.registerHelper('Multiplication', function (value, value2, value3?) {\r\n\r\n        if (!isNaN(value) && !isNaN(value2)) {\r\n            let val = Number(value) * Number(value2);\r\n            if (!isNaN(value3))\r\n                val = Number(value) * Number(value2) * Number(value3);\r\n            return val\r\n        }\r\n        else {\r\n            return \"\";\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('Division', function (value, value2,fixednum?) {\r\n\r\n        if (!isNaN(value) && !isNaN(value2)) {\r\n            let val:any = Number(value) / Number(value2);\r\n            if (fixednum >= 0) {\r\n                val = val.toFixed(fixednum);\r\n            }\r\n            return val\r\n        }\r\n        else {\r\n            return \"\";\r\n        }\r\n    })\r\n\r\n    handlebars.registerHelper('Remainder', function (value, value2) {\r\n\r\n        if (isNaN(value) && isNaN(value2)) {\r\n            let val = value % value2;\r\n            return val\r\n        }\r\n        else {\r\n            return \"\";\r\n        }\r\n    })\r\n\r\n\r\n    handlebars.registerHelper('lengthGreaterThen0', function (value: any[]) {\r\n        if (value && Array.isArray(value) && value.length > 0)\r\n            return true\r\n        else return false\r\n    })\r\n    handlebars.registerHelper('arrayLength', function (value: any[]) {\r\n        if (value && Array.isArray(value)) return value.length;\r\n        else return 0;\r\n    });\r\n\r\n    handlebars.registerHelper('isNullOrUndefined', function (value: any[]) {\r\n        if (value == null || value == undefined) return true\r\n        else return false\r\n    })\r\n\r\n    handlebars.registerHelper('isEqual', function (value, value2) {\r\n        return value == value2 ? true : false\r\n    })\r\n\r\n\r\n    handlebars.registerHelper('SumOf', function (ele, field) {\r\n        let val: number = 0;\r\n        ele.forEach((x:any) => {\r\n            if (x[field] && !isNaN(parseFloat(x[field])))\r\n                val = val + parseFloat(x[field]);\r\n        });\r\n        return val\r\n    })\r\n\r\n    handlebars.registerHelper('SumOfWithPrefix', function (ele, field, prefix) {\r\n        let ret: any = \"\";\r\n        let val: number = 0;\r\n\r\n        ele.forEach((x:any) => {\r\n            if (x[field] && !isNaN(parseFloat(x[field])))\r\n                val = val + parseFloat(x[field]);\r\n        });\r\n\r\n        ret = val;\r\n        if (prefix) {\r\n            ret = prefix + ret\r\n        }\r\n        return ret\r\n    })\r\n\r\n    handlebars.registerHelper('SumOfWithSuffix', function (ele, field, suffix?) {\r\n\r\n        let ret: any = \"\";\r\n        let val: number = 0;\r\n\r\n        ele.forEach((x:any) => {\r\n            if (x[field] && !isNaN(parseFloat(x[field])))\r\n                val = val + parseFloat(x[field]);\r\n        });\r\n        ret = val;\r\n        if (suffix) {\r\n            ret = ret + suffix\r\n        }\r\n        return ret\r\n    })\r\n\r\n\r\n    /* #endregion */\r\n\r\n    handlebars.registerHelper('trim', function (count, value,removespace?) {\r\n        debugger;\r\n        let ret = value;\r\n        if (value && count) {\r\n            if (removespace && removespace=='true')\r\n                ret = value.replace(/\\s/g, '').substring(0, count);\r\n            else\r\n                ret = value.substring(0, count);\r\n        }\r\n        return ret\r\n    })\r\n\r\n\r\n    handlebars.registerHelper('SetFieldByLang', function (Lang,value, value2,) {\r\n        debugger;\r\n        return Lang == \"Ar\" ? value2 : value\r\n    })\r\n\r\n    handlebars.registerHelper('List', (QueryParamName,Values)=> { debugger\r\n        let ParamLength:number = QueryParamName.length+1;\r\n        let SplittedValue:any[] = Values.split(\",\");\r\n        let ListOfQueryStrings:string = SplittedValue.map((x) => (QueryParamName+'=') + x).join('&');\r\n        return new handlebars.SafeString(ListOfQueryStrings.slice(ParamLength));\r\n    });\r\n    \r\n    handlebars.registerHelper('SafeString', (Values)=> { debugger\r\n        let x= JSON.parse(Values);\r\n        let yx= JSON.stringify(x);\r\n\r\n    let z = new handlebars.SafeString(yx);\r\n        return z\r\n    });\r\n\r\n\r\n    handlebars.registerHelper('ListFieldsQueryParam', function (ele,field,queryParam,splitWord) { debugger\r\n        let val:any = \"\";\r\n        if(ele && ele.length>0) {\r\n            for (let index = 0; index < ele.length; index++) {\r\n                let element = ele[index];\r\n                if(index == 0) {\r\n                    val = element[field]+\"&\";\r\n                }\r\n                else {\r\n                    if (element[field])  {\r\n                    val = val + queryParam+\"=\" +element[field]+splitWord;\r\n                }\r\n            }\r\n            }\r\n        }\r\n        return  new handlebars.SafeString(val)\r\n    });\r\n\r\n    handlebars.registerHelper('checkKeyGetValue', function (value, data) {\r\n        // data ={1:\"Ind\",2:\"Biz\",3:\"Hour\"} sample\r\n\r\n        // data = [\r\n        //     {\"key\":1,\"value\":\"Ind\"},\r\n        //     {\"key\":2,\"value\":\"biz\"},\r\n        //     {\"key\":3,\"value\":\"hour\"}\r\n        // ]\r\n\r\n        let val = \"\";\r\n        if (data) {\r\n            let _data = data;\r\n            if (typeof data == \"string\")\r\n                _data = JSON.parse(data);\r\n\r\n            if (Array.isArray(_data)) {\r\n                _data.forEach(x => {\r\n                    if (x.key == value) {\r\n                        val = x.value\r\n                    }\r\n                });\r\n            }\r\n            else {\r\n                Object.keys(_data).forEach(x => {\r\n                    if (x == value) {\r\n                        val = _data[value]\r\n                    }\r\n                });\r\n            }\r\n        }\r\n        return val\r\n    });\r\n\r\n    handlebars.registerHelper('checkGreaterThenValue', function (value, value1, value2) {\r\n        let val = value;\r\n        if (value >= value1) {\r\n            val = value;\r\n        }\r\n        else {\r\n            val = value2;\r\n        }\r\n        return val\r\n    });\r\n\r\n    handlebars.registerHelper('checkLessThenValue', function (value, value1, value2) {\r\n        let val = value;\r\n        if (value < value1) {\r\n            val = value;\r\n        }\r\n        else {\r\n            val = value2;\r\n        }\r\n        return val\r\n    });\r\n    \r\n    handlebars.registerHelper('checkLessThenValuePlus', function (value, value1, value2) {\r\n        let val = value;\r\n        if (value < value1) {\r\n            val = value;\r\n        }\r\n        else {\r\n            val = value2;\r\n        }\r\n        if(val <0)\r\n         val = -1 *val;\r\n        return val\r\n    });\r\n\r\n    handlebars.registerHelper(\"ReturnStringOfArray\",function (value){ debugger    \r\n        const ArrayValue:string[] = Array.from(value.split(','));\r\n        let ArrayStructure:string = ArrayValue.map((x) => {\r\n            return '\"'+x+'\"';\r\n        }).toString();\r\n        return new handlebars.SafeString('['+ArrayStructure+']');\r\n        });   \r\n\r\n    \r\n    \r\n        handlebars.registerHelper('CurrentAdditionalDatePipe', function (curdate, day, formate,subDay) {\r\n            debugger;\r\n            var date = new Date(curdate);\r\n            if (curdate && day) {    \r\n                if(!subDay){\r\n                    subDay = 1;\r\n                }\r\n                date.setDate(date.getDate() + (parseInt(day) - (subDay)));\r\n                if (formate) {\r\n    \r\n                    switch (formate) {\r\n                        case \"DATE\":\r\n                            return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                        case \"DATE_TIME\":\r\n                            return new Date(date).toLocaleString('en'); // \"11/3/2020, 11:09:23 AM\"\r\n                        case \"DATE_TIME_FULL\":\r\n                            return new Date(date).toString(); // \"Tue Nov 03 2020 11:09:10 GMT+0530 (India Standard Time)\"\r\n                        case \"TIME\":\r\n                            return new Date(date).toLocaleTimeString('en'); // \"11:15:39 AM\"\r\n                        case \"TIME_FULL\":\r\n                            return new Date(date).toTimeString(); // \"11:15:26 GMT+0530 (India Standard Time)\"\r\n                        default:\r\n                            return new Date(date).toLocaleDateString('en'); // \"11/3/2020\"\r\n                    }\r\n                }\r\n                else {\r\n                    return date\r\n                }\r\n            }\r\n            else {\r\n                return date\r\n            }\r\n        });\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { E_FieldType, IGridExport } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class GridService {\r\n  constructor(private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService) {}\r\n\r\n  onGridRefresh: BehaviorSubject<{\r\n    isTrue: boolean;\r\n    list: any[];\r\n    count: number;\r\n    grid?: number | string | null;\r\n    totalRecordCount?: number;\r\n  }> = new BehaviorSubject<{\r\n    isTrue: boolean;\r\n    list: any[];\r\n    count: number;\r\n    grid?: number | string | null;\r\n    totalRecordCount?: number;\r\n  }>({ isTrue: false, list: [], count: 0, grid: 1, totalRecordCount: 0 });\r\n  onattachShow: BehaviorSubject<{ attach: boolean }> = new BehaviorSubject<{ attach: boolean }>({ attach: false });\r\n\r\n\r\n  ExportGrid(GridDynamicExportData: IGridExport) {\r\n    debugger;\r\n    let GridColumnDef: string;\r\n    let GridUrl: string;\r\n    let GridFileName: string = 'ExportTemplate';\r\n    let GridQueryString: string = '';\r\n    let GridWhereCondition: any = null;\r\n    let GridResponsePath: any = null;\r\n\r\n    if (\r\n      GridDynamicExportData &&\r\n      GridDynamicExportData.Url &&\r\n      GridDynamicExportData.ColumnDef &&\r\n      GridDynamicExportData.FileName\r\n    ) {\r\n      let tempgridcol = GridDynamicExportData.ColumnDef.filter(\r\n        (x:any) =>\r\n          x.FieldType == null ||\r\n          x.FieldType == E_FieldType.details ||\r\n          x.FieldType == E_FieldType.anchor\r\n      );\r\n      GridColumnDef = JSON.stringify(tempgridcol);\r\n      GridUrl = GridDynamicExportData.Url;\r\n      GridFileName = GridDynamicExportData.FileName + 'Export';\r\n      if (GridDynamicExportData.QueryParams) {\r\n        GridQueryString = JSON.stringify(GridDynamicExportData.QueryParams);\r\n      }\r\n      GridWhereCondition = GridDynamicExportData.whereCondition;\r\n      GridResponsePath = GridDynamicExportData.GridResponsePath\r\n        ? GridDynamicExportData.GridResponsePath\r\n        : null;\r\n    } else {\r\n      return;\r\n    }\r\n\r\n    if (GridUrl && GridColumnDef && GridFileName) {\r\n      let isTemplate: boolean = false;\r\n      if (GridDynamicExportData.IsTemplate) {\r\n        isTemplate = GridDynamicExportData.IsTemplate;\r\n      }\r\n\r\n      this.dynamicAppsService\r\n        .getExportAllGridDataLatest(\r\n          GridUrl,\r\n          GridColumnDef,\r\n          GridFileName,\r\n          GridQueryString,\r\n          isTemplate,\r\n          GridWhereCondition,\r\n          GridResponsePath\r\n        )\r\n        .subscribe((res: any) => {\r\n          this.downloadFile(\r\n            res,\r\n            'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n            GridFileName\r\n          );\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n        }\r\n        );\r\n    }\r\n  }\r\n\r\n downloadFile(blob: any, type: string = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\", filename: string) {\r\n  const binaryData = [blob];\r\n  const url = window.URL.createObjectURL(new Blob(binaryData, { type: type }));\r\n\r\n  const extension = this.getFileExtension(type);\r\n  const downloadableFilename = filename.includes('.') ? filename : `${filename}${extension}`;\r\n\r\n  this.downloadFromUrl(url, downloadableFilename);\r\n}\r\n getFileExtension(mimeType: string): string {\r\n    const extensionMap: { [key: string]: string } = {\r\n      'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n        '.xlsx',\r\n      'application/vnd.ms-excel': '.xls',\r\n      'application/vnd.ms-powerpoint': '.ppt',\r\n      'application/xml': '.xml',\r\n      'application/zip': '.zip',\r\n      'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n        '.docx',\r\n      'application/pdf': '.pdf',\r\n      'text/plain': '.txt',\r\n      'image/jpeg': '.jpg',\r\n      'image/png': '.png',\r\n      'image/gif': '.gif',\r\n      'image/svg+xml': '.svg',\r\n      'text/csv': '.csv',\r\n      'application/javascript': '.js',\r\n      'application/json': '.json',\r\n      'application/vnd.ms-word': '.doc',\r\n      // Add more mappings as needed\r\n    };\r\n    return extensionMap[mimeType] || \"\";\r\n}\r\ndownloadFromUrl(url: string, filename: string): void {\r\n  const a = document.createElement('a');\r\n  a.setAttribute('style', 'display:none;');\r\n  document.body.appendChild(a);\r\n\r\n  a.href = url;\r\n  a.download = filename;\r\n  a.click();\r\n  window.URL.revokeObjectURL(url); // Clean up the URL to prevent memory leaks\r\n}\r\n  ExportTemplate(ExportURL:any, FileName:any) {\r\n    this.dynamicAppsService.getDynamicExport(ExportURL).subscribe(\r\n        (res: any) => {\r\n          this.downloadFile(res, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\", FileName);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n        }\r\n      );\r\n\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'common-delete',\r\n  templateUrl: './delete.component.html',\r\n  styleUrls: ['./delete.component.scss']\r\n})\r\nexport class DeleteComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n  @Input() nowDelete: boolean = false;\r\n  @Input() commonClass: any;\r\n  @Input() deleteClass: any;\r\n  @Input() cancelClass: any;\r\n  @Input() successClass: any;\r\n  @Input() item: any;\r\n  @Output() deleteMethod = new EventEmitter<{ data: any }>();\r\n\r\n \r\n  checkDelete() { \r\n    this.nowDelete = true;\r\n  }\r\n\r\n  _deleteMethod(item:any) { \r\n    this.nowDelete = false;\r\n    this.deleteMethod.emit({data:item})\r\n  }\r\n}\r\n","<div class=\"\" style=\"display: inline-block;\" [ngClass]=\"commonClass\">\r\n\t<span *ngIf=\"!nowDelete\" (click)=\"checkDelete()\" [ngClass]=\"deleteClass\" class=\"delete-action delete-trash\" style=\"cursor: pointer;\">\r\n\t  <i class=\"la la-trash-o delete\" ></i>\r\n\t</span>\r\n\t<span *ngIf=\"nowDelete\" class=\"expandicons\">\r\n\t  <i class=\"themecolor la la-times delete-action delete-cancel \" [ngClass]=\"cancelClass\" (click)=\"nowDelete=false\"></i>\r\n\t  <i class=\"themecolor la la-check delete-action delete-success\" [ngClass]=\"successClass\" (click)=\"_deleteMethod(item)\"></i>\r\n\t</span>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport * as Handlebars from 'handlebars';\r\nimport { GlobalService } from '../../../core/global.service';\r\nimport { registerHandlebarHelperMethods } from '../../../core/handlebar-helper-register';\r\nimport { E_DataType, E_FieldType, E_FormStatus, FieldCondition, IColumnDef } from '../../../core/common-interface-enum-classes-functions';\r\n\r\n\r\n@Component({\r\n  selector: '[app-grid-datatype]',\r\n  template: `\r\n    <ng-container *ngIf=\"col && list\" [ngSwitch]=\"col.DataType\">\r\n      <span *ngSwitchCase=\"columnDataType.date\" class=\"tooltiptexts {{getFieldClass}}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i *ngIf=\"col.IconName\"  class=\"mx-1\" style=\"color: inherit !important;\" [ngClass]=\"col.IconName\"></i> \r\n        {{ getdatainResponseView(list,col)  | date: 'dd/MM/yyyy' }}\r\n      </span>\r\n      <span *ngSwitchCase=\"columnDataType.dateTime\" class=\"tooltiptexts {{getFieldClass}}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i *ngIf=\"col.IconName\" class=\"mx-1\" style=\"color: inherit !important;\" [ngClass]=\"col.IconName\"></i> \r\n        {{ getdatainResponseView(list,col) | date: 'dd/MM/yyyy h:mm a' }}\r\n      </span>\r\n      <span *ngSwitchCase=\"columnDataType.Time\" class=\"tooltiptexts {{getFieldClass}}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i *ngIf=\"col.IconName\"  class=\"mx-1\" style=\"color: inherit !important;\"  [ngClass]=\"col.IconName\"></i> \r\n        {{ getdatainResponseView(list,col) | date: 'h:mm a' }}\r\n      </span>\r\n      <span class=\"{{getFieldClass}}\" *ngSwitchCase=\"columnDataType.bool\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i *ngIf=\"col.IconName\"  class=\"mx-1\" style=\"color: inherit !important;\" [ngClass]=\"col.IconName\"></i> \r\n        {{ (getdatainResponseView(list,col) == true ? 'Yes' : 'No')  | translate }}\r\n      </span>\r\n      <span class=\"{{getFieldClass}}\" *ngSwitchCase=\"columnDataType.isIcon\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n        <i [ngClass]=\"getdatainResponseView(list,col)\" style=\"font-size: 20px;\"></i>\r\n      </span>\r\n      <span class=\"{{getFieldClass}}\" *ngSwitchCase=\"columnDataType.HtmlEditor\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n        <span [innerHTML]=\"getdatainResponseView(list,col)\"></span>\r\n      </span>\r\n      \r\n      <span class=\"grid-field-tag {{getFieldClass}}\" *ngSwitchCase=\"columnDataType.Tag\" title=\"{{ getdatainResponseView(list,col) }}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i *ngIf=\"col.IconName\"  class=\"mx-1\" style=\"color: inherit !important;\" [ngClass]=\"col.IconName\"></i> \r\n       {{ getdatainResponseView(list,col) | translate}}\r\n      </span>\r\n\r\n      <span class=\"grid-field-button cursor-pointer btn btn-theme  p-t-0 p-b-0 {{getFieldClass}}\" *ngSwitchCase=\"columnDataType.button\" title=\"{{col.Name|translate}}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i [ngClass]=\"col.IconName\"></i> {{col.Name|translate}}\r\n      </span>\r\n\r\n      <span class=\"grid-qrcode {{getFieldClass}}\" *ngSwitchCase=\"columnDataType.QRcode\" title=\"{{ getdatainResponseView(list,col) }}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <!-- <qrcode [qrdata]=\"getdatainResponseView(list,col)\"></qrcode> -->\r\n      </span>\r\n\r\n      <span class=\"{{getFieldClass}}\" *ngSwitchDefault title=\"{{ getdatainResponseView(list,col) }}\" [style.color]=\"gettextcolor\" [style.background]=\"getbgcolor\">\r\n      <i *ngIf=\"col.IconName\" class=\"mx-1\" style=\"color: inherit !important;\" [ngClass]=\"col.IconName\"></i> \r\n        {{ getdatainResponseView(list,col) | translate}}</span>\r\n    </ng-container>\r\n  `,\r\n  styles: [],\r\n})\r\nexport class GridDatatypeComponent implements OnInit {\r\n  constructor(\r\n    public globalService: GlobalService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.fieldAction = null;\r\n    registerHandlebarHelperMethods();\r\n    this.checkFieldCondition()\r\n  }\r\n\r\n  @Input() list: any;\r\n  @Input() col: any;\r\n\r\n  fieldAction: any = null;\r\n  @Input() WorkflowStageId:number = 0;\r\n\r\n  columnDataType = E_DataType;\r\n  columnFieldType = E_FieldType;\r\n  columnFormStatus = E_FormStatus;\r\n\r\n  getdatainResponseView(item:any, col:IColumnDef) {\r\n    let _ret = null;\r\n    if (col.ResponseView) {\r\n      let _rview = col.ResponseView.split(\".\");\r\n      _rview.forEach((x:any) => {\r\n        if (item) {\r\n          item = item[x];\r\n          _ret = item;\r\n        }\r\n        else\r\n        _ret = \"\";\r\n      });\r\n    }\r\n    else {\r\n      _ret =item[col?.Field];\r\n    }\r\n    return _ret\r\n  }\r\n\r\n  get getFieldClass(){\r\n    let ret = this.col.FieldClass;\r\n    if(this.fieldAction  && this.fieldAction.FieldClass){\r\n      ret =  this.fieldAction.FieldClass;\r\n    }\r\n    return ret\r\n  }\r\n  get getbgcolor(){\r\n    let ret = this.col.bgcolor;\r\n    if(this.fieldAction  && this.fieldAction.bgcolor){\r\n      ret =  this.fieldAction.bgcolor;\r\n    }\r\n    return ret\r\n  }\r\n  get gettextcolor(){\r\n    let ret = this.col.Textcolor;\r\n    if(this.fieldAction  && this.fieldAction.Textcolor){\r\n      ret =  this.fieldAction.Textcolor;\r\n    }\r\n    return ret\r\n  }\r\n\r\n  checkFieldCondition() {\r\n\r\n    if(!this.col.FieldCondition) {\r\n      return\r\n    }\r\ndebugger;\r\n    let _condition = this.onRulesConditionCheck(this.col.FieldCondition, this.list);\r\n\r\n    if (_condition) {\r\n      this.OnRulesApply(this.col.FieldCondition, this.list)\r\n    }\r\n    else {\r\n      if (this.col.FieldCondition.Child && this.col.FieldCondition.Child.length > 0) {\r\n        let _elseIfRulescondition = false;\r\n        let _elseIfRules = this.col.FieldCondition.Child.filter((x:any) => x.Type == \"OnElseIf\");\r\n\r\n        for (let index = 0; index < _elseIfRules.length; index++) {\r\n          _elseIfRulescondition = this.onRulesConditionCheck(_elseIfRules[index], this.list)\r\n          if (_elseIfRulescondition) {\r\n            this.OnRulesApply(_elseIfRules[index], this.list)\r\n            break;\r\n          }\r\n        }\r\n        if (!_elseIfRulescondition) {\r\n          let _elseRules = this.col.FieldCondition.Child.filter((x:any) => x.Type == \"OnElse\");\r\n          if (_elseRules && _elseRules.length > 0) {\r\n            this.OnRulesApply(_elseRules[0], this.list)\r\n          }\r\n        }\r\n\r\n      }\r\n    }\r\n  }\r\n\r\n  onRulesConditionCheck(rulesData:any,CurrentRow:any,CurrentRowIndex?:any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage; \r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n      \r\n      let _con = rulesData.Condtion[index];\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n        if(_con.FieldType == \"CurrentStageId\"){\r\n          _fieldValue = this.WorkflowStageId\r\n        }\r\n        else if(_con.FieldType == \"WorkflowStage\"){\r\n          _fieldValue = _con.Field\r\n        }\r\n        else if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n        \r\n      }\r\n\r\n      let value = CurrentRow[_con.ValueTwo];\r\n      //  value = (_con.Value == \"FieldValue\" ? CurrentRow[_con.ValueTwo] : _con.ValueTwo)\r\n\r\n      if(_con.Value) {\r\n        if(_con.Value == \"CurrentStageId\"){\r\n          value = this.WorkflowStageId\r\n        }\r\n        else if(_con.Value == \"WorkflowStage\"){\r\n          value = _con.ValueTwo\r\n        }\r\n        else if( _con.Value == \"Value\") {       \r\n          value = this.hanbleBarData(_con.ValueTwo, _handleData)\r\n        }\r\n        \r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data \r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains \r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains \r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n    \r\n  }\r\n\r\n\r\n  OnRulesApply(rulesData:FieldCondition,CurrentRow:any) {\r\n    let rulesList = [];\r\n    if (rulesData.Action)\r\n      rulesList = rulesData.Action;\r\n\r\n    for (let index = 0; index < rulesList.length; index++) {\r\n\r\n      let rules = rulesList[index];\r\n      \r\n      if (!this.fieldAction)\r\n        this.fieldAction = {}\r\n\r\n      if (rules.Action == 'Class') {\r\n        this.fieldAction.FieldClass = rules.Value;\r\n      }\r\n      else if (rules.Action == 'Bgcolor') {\r\n        this.fieldAction.bgcolor = rules.Value;\r\n      }\r\n      else if (rules.Action == 'Textcolor') {\r\n        this.fieldAction.Textcolor = rules.Value;\r\n      }\r\n      \r\n\r\n    }\r\n  }\r\n\r\n\r\n\r\n  hanbleBarData(_code:any, data?:any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n\r\n    data.Local = localStorage;\r\n    data.Cookies = this.Cookies;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie:any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { E_DataType, E_FieldType, E_FormStatus } from '../../../core/common-interface-enum-classes-functions';\r\nimport { GlobalService } from '../../../core/global.service';\r\nimport Swal from 'sweetalert2';\r\nimport { GridService } from '../grid.service';\r\nimport { DynamicAppsService } from '../../../dynamic-apps.service';\r\nimport { LoaderService } from '../../../loader.service';\r\n\r\n@Component({\r\n  selector: '[app-grid-filetype]',\r\n  template: `\r\n\r\n    <ng-container *ngIf=\"col && list\" [ngSwitch]=\"list[col?.Field]\">\r\n\r\n    <span class=\"ext-image\">\r\n\r\n    <ng-container  class=\"ext-image\" *ngSwitchCase=\"'.pdf'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/pdf.png\" title=\"{{list[col?.Field]}}\" />\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.txt'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/txt.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.doc'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/doc.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.docx'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/docx.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.xls'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/xls.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.xlsx'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/xlsx.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.png'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/png.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.jpg'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/jpg.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.gif'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/gif.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.jpeg'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/jpeg.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.csv'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/csv.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.xlsm'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/xlsm.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.ppt'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/ppt.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.pptx'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/pptx.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.rtf'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/rtf.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.js'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/js.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.css'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/css.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.ts'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/ts.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.html'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/html.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.folder'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/folder.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.department'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/department.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.json'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/json.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'.zip'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/zip.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'Done'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/tick.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'Todo'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/todo.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchCase=\"'Draft'\">\r\n    <img class=\"grid-ext-image\" src=\"{{globalService.ServerHost}}System/assets/images/draft.png\" title=\"{{list[col?.Field]}}\"/>\r\n    </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchDefault >\r\n    <img class=\"grid-ext-image\" *ngIf=\"list[col?.Field]\" src=\"{{globalService.ServerHost}}System/assets/images/FileExtension/file.png\" />\r\n    </ng-container>\r\n\r\n    </span>\r\n\r\n    </ng-container>\r\n  `,\r\n  styles: [],\r\n})\r\nexport class GridFiletypeComponent implements OnInit {\r\n  constructor(public globalService:GlobalService,\r\n    private gridService: GridService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService) { }\r\n\r\n  ngOnInit(): void {\r\n\r\n  }\r\n\r\n  @Input() list: any;\r\n  @Input() col: any;\r\n\r\n  columnDataType = E_DataType;\r\n  columnFormStatus = E_FormStatus;\r\n  columnFieldType = E_FieldType;\r\n  fileDownload(List:any,Col:any){ debugger\r\n    \r\n    if(List.WorkItemType == \"PassPortFile\"){\r\n      this.dynamicAppsService.uploadFilesDownload(List.FileRecId).subscribe(\r\n        (res: Blob) => {\r\n          debugger;\r\n          this.gridService.downloadFile(res, res.type, List?.FileName);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n          this.loaderService.hideLoading();\r\n        }\r\n      );\r\n    }\r\n  }\r\n  \r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { E_GridSearchType } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'app-pagination',\r\n  templateUrl: './pagination.component.html',\r\n  styleUrls: ['./pagination.component.scss']\r\n})\r\nexport class PaginationComponent implements OnInit {\r\n\r\n  constructor() { }\r\n  @Input() Type:string|null = null;\r\n  @Input() currentPage: number=0;\r\n  @Input() changeCount: number=0;\r\n  @Input() totalCount: number=0;\r\n  @Input() pageCount: number=0;\r\n  @Input() pageSize: number=0;\r\n  @Input() gridSearchType: E_GridSearchType = E_GridSearchType.None;\r\n  @Output() getPaginationListData = new EventEmitter<{ pageCount: number,pageSize: number }>()\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  ngOnChanges(changes: any) {\r\n\r\n    if(changes && changes.changeCount) {\r\n\r\n    }\r\n   \r\n  }\r\n\r\n  _getPaginationListData(_pageCount: number) {debugger\r\n    this.getPaginationListData.emit({ pageCount: _pageCount,pageSize: this.pageSize });\r\n  }\r\n\r\n}\r\n","<ul class=\"pagination\">\r\n<div class=\"pull-left items-per-page\">\r\n\r\n  <li class=\"paging pagingAr\">\r\n    <p class=\"\"><span class=\"\">{{'Items per page'|translate}} : </span></p>\r\n  </li>\r\n  <li class=\"form-group\">\r\n    <select [disabled]=\"gridSearchType == 2 && (currentPage === pageCount  || currentPage > pageCount)\"\r\n      [(ngModel)]=\"pageSize\"\r\n      (change)=\"_getPaginationListData(1)\" class=\"form-control\">\r\n      <option value=\"10\">10</option>\r\n      <option value=\"25\">25</option>\r\n      <option value=\"50\">50</option>\r\n      <option value=\"100\">100</option>\r\n      <option value=\"500\">500</option>\r\n    </select>\r\n</li>\r\n</div>\r\n\r\n<div class=\"pull-right\">\r\n    <li class=\"paging\">\r\n      <a (click)=\"_getPaginationListData(1)\"\r\n        [ngClass]=\"{'inactiveLink':currentPage === 1}\"\r\n        >\r\n        <i class=\"fa fa-step-backward iconbtn\"></i>\r\n      </a>\r\n    </li>\r\n    <li class=\"paging\">\r\n      <a (click)=\"_getPaginationListData(currentPage - 1)\"\r\n        [ngClass]=\"{'inactiveLink':currentPage === 1}\">\r\n        <i class=\"fa fa-chevron-left iconbtn\"></i>\r\n      </a>\r\n    </li>\r\n    <li *ngIf=\"gridSearchType == 1\"\r\n     class=\"pagetext paging\">\r\n      <span>\r\n        <em class=\"\"> {{'Page'|translate }}</em>\r\n\r\n        <ng-container *ngIf=\"Type=='Next';else defultpage\">\r\n          <label class=\"formcontrol p-1\">{{currentPage}}</label>\r\n        </ng-container>\r\n\r\n        <ng-template #defultpage>\r\n          <input type=\"number\"\r\n          min=\"1\"\r\n          max=\"{{pageCount}}\"\r\n          class=\"txtPage\"\r\n          name=\"currentPage\"\r\n          [(ngModel)]=\"currentPage\"\r\n          (change)=\"_getPaginationListData(currentPage)\"\r\n          [ngClass]=\"{'inactiveLink':currentPage > pageCount  || pageCount==0}\">\r\n        <em class=\"\">{{'of'|translate}}</em> <span class=\"endpage themeprimary \">{{pageCount}}</span>\r\n        </ng-template>\r\n\r\n        \r\n\r\n        \r\n        \r\n      </span>\r\n    </li>\r\n    <li class=\"paging\">\r\n      <a (click)=\"_getPaginationListData(currentPage + 1)\"\r\n        [ngClass]=\"{'inactiveLink':(currentPage === pageCount || currentPage > pageCount) && Type !='Next' }\">\r\n        <i class=\"fa fa-chevron-right iconbtn\"></i>\r\n      </a>\r\n    </li>\r\n    <li *ngIf=\"gridSearchType == 1&& Type !='Next'\"\r\n    class=\"paging\">\r\n      <a (click)=\"_getPaginationListData(pageCount)\"\r\n        [ngClass]=\"{'inactiveLink':currentPage === pageCount  || currentPage > pageCount}\"\r\n        style=\"padding-left:0 \"><i class=\"fa fa-step-forward iconbtn\"></i></a>\r\n    </li>\r\n  </div>\r\n    \r\n  \r\n    <li *ngIf=\"gridSearchType == 1 && Type !='Next'\" class=\"Total_rec\">\r\n      <p class=\"\"><i class=\"\">{{'Total Records'|translate}}: {{totalCount}}</i></p>\r\n    </li>\r\n  </ul>","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { GlobalService } from '../../../core/global.service';\r\nimport { GridService } from '../grid.service';\r\nimport { E_ActionType, E_DataType, E_FieldType, E_GridSearchType, E_SelectMode, IActionDef, IColumnDef, ISearchCriteria, ISelectOptions, ISortingField } from '../../../core/common-interface-enum-classes-functions';\r\nimport { TranslatePipe } from '../../../core/translate.pipe';\r\n\r\n@Component({\r\n  selector: 'app-inner-grid',\r\n  templateUrl: './inner-grid.component.html',\r\n  styleUrls: ['./inner-grid.component.scss']\r\n})\r\nexport class InnerGridComponent implements OnInit {\r\n\r\n  constructor(\r\n    public globalService: GlobalService,\r\n    private gridService: GridService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n\r\n  ngOnInit(): void {\r\n    this._getPageList();\r\n\r\n    this.gridService.onGridRefresh.subscribe((x:any) => {\r\n      //debugger;\r\n      if (x) {\r\n        if (Object.keys(x).includes('grid')) {\r\n          // debugger;\r\n          if (x.grid === this.grid) {\r\n            this.gridData = x.list;\r\n            this.totalCount = x.count;\r\n            this.totalRecordCount = x.totalRecordCount;\r\n            this.insertSelectField(false);\r\n            this.getCheckboxChecked();\r\n            this.getPageCount();\r\n          } else return;\r\n        } else {\r\n          this.gridData = x.list;\r\n          this.totalCount = x.count;\r\n          this.totalRecordCount = x.totalRecordCount;\r\n          this.insertSelectField(false);\r\n          this.getCheckboxChecked();\r\n          this.getPageCount();\r\n        }\r\n      }\r\n    });\r\n  }\r\n  @Input() grid: number | string = 1;\r\n\r\n  @Input() GridTitle: string = 'Title';\r\n  @Input() InnerGridTitle: string = 'Title';\r\n  @Input() GridDescription: string = 'Description';\r\n  @Input() selectMode: E_SelectMode = E_SelectMode.Multi;\r\n\r\n  @Input() gridSelectOptions: ISelectOptions[] = [];\r\n  @Input() gridActionList: IActionDef[] = [];\r\n  @Input() gridActionStatus: IActionDef[] = [];\r\n  @Input() gridCurrentStatus: number = 0;\r\n  @Input() IsGridActionList: boolean = false;\r\n  @Input() IsGridActionForm: boolean = false;\r\n\r\n  @Output() getGridAction = new EventEmitter<{ item: any; gridData: any }>();\r\n  @Output() getGridStatusAction = new EventEmitter<{\r\n    item: any;\r\n  }>();\r\n  @Output() getGridCheckedData = new EventEmitter<{ gridData: any }>();\r\n\r\n  @Input() columnDefs: IColumnDef[] = [];\r\n  @Input() InnerColumnDefs: IColumnDef[] = [];\r\n\r\n  @Input() gridSelectOption: boolean = false;\r\n  @Input() IsCreate: boolean = false;\r\n  @Input() IsEdit: boolean = false;\r\n  @Input() IsDelete: boolean = false;\r\n  @Input() IsActive: boolean = false;\r\n  @Input() IsDuplicate: boolean = false;\r\n  @Input() RowInsideGrid: boolean = false;\r\n  @Input() IsDetails: boolean = false;\r\n  @Input() IsBack: boolean = false;\r\n  @Input() IsAttach: boolean = false;\r\n  @Input() IsDynamicListpage: boolean = false;\r\n  @Input() IsAssign: boolean = false;\r\n  @Input() IsInnerGrid: boolean = false;\r\n  @Input() IsShowDetailsGo: boolean = false;\r\n  @Input() IsExport: boolean = false;\r\n  @Input() IsTicketGroupAssign: boolean = false;\r\n  @Input() GridSearchType: E_GridSearchType = E_GridSearchType.None;\r\n  @Input() IsClientPagination: boolean = false;\r\n  @Input() IsCategorySetupView: boolean = false;\r\n\r\n\r\n  @Input() IsInnerGridCreate: boolean = false;\r\n  @Input() IsInnerGridEdit: boolean = false;\r\n  @Input() IsInnerGridDelete: boolean = false;\r\n\r\n\r\n  columnDataType = E_DataType;\r\n  columnFieldType = E_FieldType;\r\n\r\n  // ListData: any[] = [];\r\n  @Input() gridData: any[] = [];\r\n  tempgridData: any[] = [];\r\n  //totalCount: number = 0;\r\n\r\n  @Output() openCreatePopup = new EventEmitter<{ type: any }>();\r\n  @Output() getPageList = new EventEmitter<{ Criteria: any }>();\r\n  @Output() getInnerPageList = new EventEmitter<{ Criteria: any, data:any }>();\r\n  @Output() goToDetails = new EventEmitter<{ data: any }>();\r\n  @Output() goToAction = new EventEmitter<{ data: any }>();\r\n  @Output() callButtonEvent = new EventEmitter<{\r\n    data: any;\r\n    col: IColumnDef;\r\n  }>();\r\n  @Output() callIconEvent = new EventEmitter<{ data: any; col: IColumnDef }>();\r\n  @Output() callOnOffEvent = new EventEmitter<{ data: any; col: IColumnDef }>();\r\n  @Output() gridSelectOptionsData = new EventEmitter<{ data: any }>();\r\n  @Output() assignmentMethod = new EventEmitter<{ data: any }>();\r\n  @Output() ticketGroupAssignmentMethod = new EventEmitter<{ data: any }>();\r\n  @Output() attachMethod = new EventEmitter<{ data: any }>();\r\n  @Output() gotoBackToList = new EventEmitter<{ data: any }>();\r\n  @Output() editMethod = new EventEmitter<{ data: any }>();\r\n  @Output() ActiveMethod = new EventEmitter<{ data: any }>();\r\n  @Output() DuplicateMethod = new EventEmitter<{ data: any }>();\r\n  @Output() rowInsideMethod = new EventEmitter<{ data: any }>();\r\n  @Output() deleteMethod = new EventEmitter<{ data: any }>();\r\n  @Output() multipleDeleteMethod = new EventEmitter<{ gridData: any }>();\r\n  @Output() GetDetailsList = new EventEmitter<{ Criteria: any }>();\r\n  @Output() GetListView = new EventEmitter<{ data: any }>();\r\n  @Output() categorySetupView = new EventEmitter<{ data: any }>();\r\n\r\n\r\n\r\n  @Output() openCreatePopupInnerGrid = new EventEmitter<{ type: any }>();\r\n  @Output() editMethodInnerGrid = new EventEmitter<{ data: any }>();\r\n  @Output() deleteMethodInnerGrid = new EventEmitter<{ data: any }>();\r\n\r\n  GridCheckedData: any = [];\r\n  _getGridAction(item: IActionDef) {\r\n    // page leval\r\n    if (\r\n      item.needGridData &&\r\n      this.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire({ title: 'alert!', text: 'please select a single row' });\r\n      return;\r\n    }\r\n    if (item.needGridData && this.GridCheckedData.length < 1) {\r\n      Swal.fire({ title: 'alert!', text: 'please select atleast one row' });\r\n      return;\r\n    }\r\n    // action leval\r\n    if (\r\n      item.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire({ title: 'alert!', text: 'please select a single row' });\r\n      return;\r\n    }\r\n    if (item.MethodType == E_ActionType.Delete) {\r\n      Swal.fire({\r\n        title: 'Are you sure to delete?',\r\n        showCancelButton: true,\r\n        confirmButtonColor: '#3085d6',\r\n        cancelButtonColor: '#d33',\r\n        cancelButtonText: 'Cancel',\r\n        confirmButtonText: 'Yes, delete it!',\r\n      }).then((result) => {\r\n        if (result.value) {\r\n          this.getGridAction.emit({\r\n            item: item,\r\n            gridData: this.GridCheckedData,\r\n          });\r\n        }\r\n      });\r\n    } else {\r\n      this.getGridAction.emit({ item: item, gridData: this.GridCheckedData });\r\n    }\r\n  }\r\n\r\n  GridFormData: any = [];\r\n  _getGridActionForm(item: IActionDef) {\r\n    this.getGridStatusAction.emit({ item: item });\r\n  }\r\n\r\n  GridCheckAll: boolean = false;\r\n  getCheckboxChecked(event?: any, index?: number) {\r\n    this.GridCheckedData = [];\r\n    for (var i = 0; i < this.gridData.length; i++) {\r\n      if (this.gridData[i].isGridSelect)\r\n        this.GridCheckedData.push(this.gridData[i]);\r\n    }\r\n    if (this.GridCheckedData.length == this.gridData.length)\r\n      this.GridCheckAll = true;\r\n    else this.GridCheckAll = false;\r\n\r\n    this._getGridCheckedData();\r\n  }\r\n\r\n  getGridCheckAll(event: any) {\r\n    if (event.target.checked) {\r\n      this.GridCheckedData = this.gridData;\r\n      this.insertSelectField(true);\r\n    } else {\r\n      this.GridCheckedData = [];\r\n      this.insertSelectField(false);\r\n    }\r\n\r\n    this._getGridCheckedData();\r\n  }\r\n  insertSelectField(value: boolean) {\r\n    this.gridData = this.gridData.map((x) => {\r\n      x.isGridSelect = value;\r\n      return x;\r\n    });\r\n  }\r\n\r\n  _getGridCheckedData() {\r\n    this.getGridCheckedData.emit({ gridData: this.GridCheckedData });\r\n  }\r\n\r\n  _openCreatePopup() {\r\n    this.openCreatePopup.emit({ type: 'Create' });\r\n  }\r\n  _openCreatePopupInnerGrid() {\r\n    this.openCreatePopupInnerGrid.emit({ type: 'Create' });\r\n  }\r\n\r\n  _gridEditmethod() {\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    this._editmethod(this.GridCheckedData[0]);\r\n  }\r\n\r\n  _gridDeleteMethod() {\r\n    this.translatePipe.transform('alert!');\r\n\r\n    if (this.GridCheckedData.length < 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select atleast one row')\r\n      );\r\n      return;\r\n    }\r\n\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    if (\r\n      this.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    try {\r\n      if (this.GridCheckedData.length == 1)\r\n        this._deleteMethod(this.GridCheckedData[0]);\r\n      else if (this.GridCheckedData.length > 1)\r\n        this.multipleDeleteMethod.emit({ gridData: this.GridCheckedData });\r\n    } catch (Exception:any) {\r\n      Swal.fire(this.translatePipe.transform(Exception.message));\r\n    }\r\n  }\r\n\r\n  _innerGridEditmethod() {\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    this._innerGrideditmethod(this.GridCheckedData[0]);\r\n  }\r\n\r\n  _innerGridDeleteMethod() {\r\n    this.translatePipe.transform('alert!');\r\n\r\n    if (this.GridCheckedData.length < 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select atleast one row')\r\n      );\r\n      return;\r\n    }\r\n\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    if (\r\n      this.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    try {\r\n      if (this.GridCheckedData.length == 1)\r\n        this._innerGriddeleteMethod(this.GridCheckedData[0]);\r\n      else if (this.GridCheckedData.length > 1)\r\n        this.multipleDeleteMethod.emit({ gridData: this.GridCheckedData });\r\n    } catch (Exception:any) {\r\n      Swal.fire(this.translatePipe.transform(Exception.message));\r\n    }\r\n  }\r\n\r\n  _gotoBackToList(item: any) {\r\n    this.gotoBackToList.emit({ data: item });\r\n  }\r\n\r\n  _gridSelectOptions(item?: any) {\r\n    // alert(\"zz\");\r\n    let value = item.target.value;\r\n    // console.log(item.target.value)\r\n    debugger;\r\n    this.gridSelectOptionsData.emit({ data: value });\r\n  }\r\n\r\n  _goToDetails(item: any) {\r\n    this.goToDetails.emit({ data: item });\r\n  }\r\n\r\n  _goToAction(item: any) {\r\n    this.goToAction.emit({ data: item });\r\n  }\r\n\r\n  _callButtonEvent(item: any, col: IColumnDef) {\r\n    this.callButtonEvent.emit({ data: item, col: col });\r\n  }\r\n  _callIconEvent(item: any, col: IColumnDef) {\r\n    this.callIconEvent.emit({ data: item, col: col });\r\n  }\r\n\r\n  _callOnOffEvent(item: any, col: IColumnDef) {\r\n    this.callOnOffEvent.emit({ data: item, col: col });\r\n  }\r\n\r\n  _assignmentMethod(item: any) {\r\n    this.assignmentMethod.emit({ data: item });\r\n  }\r\n  _listpage(item: any) {\r\n    this.GetListView.emit({ data: item });\r\n  }\r\n  _ticketGroupAssignmentMethod(item: any) {\r\n    this.ticketGroupAssignmentMethod.emit({ data: item });\r\n  }\r\n\r\n  _rowInsideMethod(item: any) {\r\n    this.rowInsideMethod.emit({ data: item });\r\n  }\r\n  _Activemethod(item: any) {\r\n    this.ActiveMethod.emit({ data: item });\r\n  }\r\n\r\n  _DuplicateMethod(item: any) {\r\n    this.DuplicateMethod.emit({ data: item });\r\n  }\r\n  _editmethod(item: any) {\r\n    this.editMethod.emit({ data: item });\r\n  }\r\n  _deleteMethod(item: any) {\r\n    Swal.fire({\r\n      title: this.translatePipe.transform('Are you sure to delete?'),\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#3085d6',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: this.translatePipe.transform('Cancel'),\r\n      confirmButtonText: this.translatePipe.transform('Yes, delete it!'),\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.deleteMethod.emit({ data: item });\r\n        // Swal.fire('Deleted!', 'Your file has been deleted.', 'success');\r\n      }\r\n    });\r\n  }\r\n  InnerGridEditData:any;\r\n  _innerGrideditmethod(item: any) {\r\n    debugger\r\n    this.InnerGridEditData =item,\r\n    console.log(this.InnerGridEditData)\r\n    this.editMethodInnerGrid.emit({ data: item });\r\n  }\r\n  _innerGriddeleteMethod(item: any) {\r\n    Swal.fire({\r\n      title: this.translatePipe.transform('Are you sure to delete?'),\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#3085d6',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: this.translatePipe.transform('Cancel'),\r\n      confirmButtonText: this.translatePipe.transform('Yes, delete it!'),\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.deleteMethodInnerGrid.emit({ data: item });\r\n        // Swal.fire('Deleted!', 'Your file has been deleted.', 'success');\r\n      }\r\n    });\r\n  }\r\n  _attachmentMethod(item: any) {\r\n    debugger;\r\n\r\n    this.attachMethod.emit({ data: item });\r\n  }\r\n  _categorySetupView(item: any) {\r\n    this.categorySetupView.emit({ data: item });\r\n  }\r\n  totalCount: number = 0;\r\n  totalRecordCount: number = 0;\r\n  pageCount: number = 0;\r\n  pageNo: number = 1;\r\n  pageSize: number = 10;\r\n  SortingField: ISortingField = { field: null, direction: null } as any;\r\n  Searchcriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: this.pageNo,\r\n      PageSize: this.pageSize,\r\n    },\r\n    Where: [],\r\n    SortOrder: this.SortingField,\r\n  };\r\n\r\n  GridSort: any;\r\n  GridFilter: any = {};\r\n  GridCondition: any = {};\r\n  IsFilter = false;\r\n\r\n  toggleFilter() {\r\n    this.tempgridData = this.gridData;\r\n    let searchCol = this.Searchcriteria.Where.length;\r\n    this.Searchcriteria.Where = [];\r\n    this.GridFilter = {};\r\n    this.GridCondition = {};\r\n    this.IsFilter = !this.IsFilter;\r\n    if (!this.IsFilter && searchCol > 0) {\r\n      this._getPageList();\r\n    }\r\n  }\r\n\r\n  getGridSearch(event:any) {\r\n    if (!this.IsClientPagination) {\r\n      if (event.keyCode == 13) {\r\n        this.setSearchData();\r\n        this._getPageList();\r\n      }\r\n    }\r\n  }\r\n  getGridSearchTextChange(event:any) {\r\n    if (this.IsClientPagination) {\r\n      this.setSearchData();\r\n      this.gridData = this.tempgridData;\r\n      for (let key in this.GridFilter) {\r\n        this.gridData = this.gridData.filter((x) => {\r\n          if (x[key] && x[key].indexOf(this.GridFilter[key]) > -1) {\r\n            return x;\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n  setSearchData() {\r\n    this.pageNo = 1;\r\n    this.Searchcriteria.Pagging.PageNo = this.pageNo;\r\n\r\n    let filtervals = [];\r\n    for (let key in this.GridFilter) {\r\n      if (this.GridSearchType == E_GridSearchType.None)\r\n        filtervals.push({\r\n          Field: key,\r\n          TableAlias: '',\r\n          Operator: 'Contains',\r\n          Value: this.GridFilter[key],\r\n        });\r\n      else if (this.GridSearchType == E_GridSearchType.AzureTable) {\r\n        filtervals.push({\r\n          Field: key,\r\n          TableAlias: '',\r\n          Operator: this.GridCondition[key] || 'eq',\r\n          Value: this.GridFilter[key],\r\n        });\r\n      } else {\r\n      }\r\n    }\r\n    this.Searchcriteria.Where = filtervals;\r\n  }\r\n\r\n  getGridsorting(event:any) {debugger\r\n    if (event == this.SortingField.field) {\r\n      if (this.SortingField.direction == '0') this.SortingField.direction = '1';\r\n      else this.SortingField.direction = '0';\r\n    } else {\r\n      this.SortingField.direction = '0';\r\n    }\r\n    this.SortingField.field = event;\r\n    if (this.IsFilter) this.setSearchData();\r\n    this._getPageList();\r\n  }\r\n\r\n  removeGridSorting() {\r\n    this.SortingField.field = null;\r\n    this.SortingField.direction = null;\r\n    if (this.IsFilter) this.setSearchData();\r\n    this._getPageList();\r\n  }\r\n\r\n  _goDetailsPage() {\r\n    //debugger;\r\n    //let criteriastr = JSON.stringify(this.Searchcriteria);\r\n    // this.getPageList.emit({ Criteria: this.Searchcriteria });\r\n\r\n    this.openCreatePopup.emit({ type: 'Create' });\r\n\r\n  }\r\n\r\n  _getPageList() {\r\n    //debugger;\r\n    //let criteriastr = JSON.stringify(this.Searchcriteria);\r\n    this.getPageList.emit({ Criteria: this.Searchcriteria });\r\n  }\r\n\r\n  _getInnerPageList() {\r\n    //debugger;\r\n    //let criteriastr = JSON.stringify(this.Searchcriteria);\r\n    this.getInnerPageList.emit({ Criteria: this.Searchcriteria, data: this.gridSelectedValue });\r\n  }\r\n\r\n  getPaginationListData(pageNo:number, pageSize?:number) {\r\n    this.pageNo = pageNo;\r\n    if (pageSize) this.pageSize = pageSize;\r\n    this.Searchcriteria.Pagging.PageNo = this.pageNo;\r\n    this.Searchcriteria.Pagging.PageSize = this.pageSize;\r\n    this._getPageList();\r\n  }\r\n\r\n  getPageCount() {\r\n    debugger;\r\n    this.pageCount = Math.ceil(this.totalRecordCount / this.pageSize);\r\n  }\r\n\r\n  selectedStageId:number=0;\r\n  gridSelectedValue:any;\r\n  \r\n\r\n  innerGridShow(values:any){\r\n    debugger;\r\n    this.selectedStageId = values.RecId;\r\n    this.gridSelectedValue = values;\r\n  }\r\n\r\n}\r\n","<div class=\"row clearfix\">\r\n    <div class=\"col-lg-12 col-md-12\">\r\n      <div class=\"card grid\">\r\n        <div class=\"header\">\r\n          <h2>{{GridTitle|translate}}\r\n            <!-- <small>{{GridDescription}}</small> -->\r\n          </h2>\r\n          <div class=\"pull-left left_options\" *ngIf=\"gridSelectOption\" (change)=\"_gridSelectOptions($event)\">\r\n            <select>\r\n              <option value=\"{{action.Id}}\" *ngFor=\"let action of gridSelectOptions\"\r\n                (change)=\"_gridSelectOptions(action)\">{{action.Name|translate}}</option>\r\n            </select>\r\n          </div>\r\n          <ul class=\"header-dropdown pull-right\">\r\n            <!-- <li><a href=\"javascript:void(0);\" class=\"btn btn-info btn-theme\" data-toggle=\"modal\"\r\n                data-target=\"#addcontact\">Add New</a></li> -->\r\n  \r\n            <!-- <li *ngIf=\"IsCreate&& !IsInnerGrid\"><a class=\"themecolor\" (click)=\"_openCreatePopup()\" href=\"javascript:void(0);\">\r\n  \r\n                <i class=\"la la-plus themecolor\"></i>\r\n  \r\n              </a>\r\n            </li> -->\r\n            <li *ngIf=\"IsInnerGridCreate\"><a class=\"themecolor\" (click)=\"_openCreatePopupInnerGrid()\" href=\"javascript:void(0);\">\r\n  \r\n              <i class=\"la la-plus themecolor\"></i>\r\n  \r\n            </a>\r\n          </li>\r\n            <li>\r\n              <a class=\"themecolor\" (click)=\"_getPageList()\" href=\"javascript:void(0);\">\r\n                <i class=\"la la-refresh themecolor\"></i>\r\n              </a>\r\n            </li>\r\n            <li class=\"search\">\r\n              <a class=\"themecolor\" (click)=\"toggleFilter()\" href=\"javascript:void(0);\">\r\n                <i class=\"la la-search themecolor\"></i>\r\n              </a>\r\n            </li>\r\n            <li class=\"dropdown\" *ngIf=\"IsGridActionList\">\r\n              <a href=\"javascript:void(0);\" class=\"dropdown-toggle themecolor no-icon\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                <i class=\"icon-options-vertical themecolor\"></i>\r\n              </a>\r\n              <ul class=\"dropdown-menu dropdown-menu-right animated bounceIn\">\r\n                <li *ngFor=\"let action of gridActionList\">\r\n                  <a href=\"javascript:void(0);\" (click)=\"_getGridAction(action)\">{{action.Name|translate}}</a>\r\n                </li>\r\n              </ul>\r\n            </li>\r\n  \r\n            <!-- <li class=\"user-account action_part clearfix\">\r\n  \r\n              <div class=\"dropdown action_drop\" *ngIf=\"IsGridActionForm\">\r\n                <a href=\"javascript:void(0);\" class=\"dropdown-toggle themecolor\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\"\r\n                  aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                  Action\r\n                </a>\r\n                <ul class=\"dropdown-menu dropdown-menu-right account animated flipInY action_drop_down\"\r\n                  style=\"width: auto;\">\r\n                  <li *ngFor=\"let item of gridActionStatus\">\r\n                    <span *ngIf=\"gridCurrentStatus == 1\">\r\n                      <a href=\"javascript:void(0);\" *ngIf=\"item.Id == 2\"\r\n                        (click)=\"_getGridActionForm(item)\">{{item.Name}}</a>\r\n                    </span>\r\n                    <span *ngIf=\"gridCurrentStatus == 2\">\r\n                      <a href=\"javascript:void(0);\" *ngIf=\"item.Id == 3\"\r\n                        (click)=\"_getGridActionForm(item)\">{{item.Name}}</a>\r\n                    </span>\r\n                  </li>\r\n                </ul>\r\n              </div>\r\n            </li> -->\r\n  \r\n          </ul>\r\n        </div>\r\n        <div class=\"body\">\r\n          <div class=\"table-responsive\">\r\n            <table class=\"table table-hover js-basic-example dataTable table-custom table-striped m-b-0 c_list\">\r\n              <thead class=\"\">\r\n                <tr>\r\n  \r\n                  <th class=\"fancy-checkbox\">\r\n                    <label class=\"fancy-checkbox\">\r\n                      <input class=\"select-all\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"GridCheckAll\"\r\n                        (change)=\"getGridCheckAll($event)\">\r\n                      <span></span>\r\n                    </label>\r\n                  </th>\r\n  \r\n                  <th *ngIf=\"IsShowDetailsGo\"></th>\r\n  \r\n                  <!-- <th *ngIf=\"IsInnerGrid\"></th> -->\r\n                  <!-- <ng-container>\r\n                    <th *ngIf=\"IsEdit||IsDelete\">{{'Action'|translate}}</th>\r\n                  </ng-container> -->\r\n                  <ng-container>\r\n                    <th *ngIf=\"IsInnerGridEdit||IsInnerGridDelete\">{{'Action'|translate}}</th>\r\n                  </ng-container>\r\n  \r\n                  <th *ngIf=\"IsCategorySetupView\"></th>\r\n                  <th *ngIf=\"IsAttach\"></th>\r\n                  <th *ngIf=\"IsAssign\"></th>\r\n                  <th *ngIf=\"IsTicketGroupAssign\"></th>\r\n                  <th *ngIf=\"IsDynamicListpage\"></th>\r\n                  <th *ngIf=\"IsActive||IsDuplicate\">{{'StatusAction'|translate}}</th>\r\n  \r\n                  <ng-container *ngFor=\"let col of columnDefs;let colindex = index\">\r\n                    <ng-container *ngIf=\"col.IsVisible !=false && col.DataType !=7\">\r\n  \r\n                      <th [ngClass]=\"col.ClassName\">\r\n                        <div class=\"table_th_div\">\r\n                          <span (click)=\"getGridsorting(col.Field)\">{{col.Name|translate}}</span>\r\n  \r\n                          <span *ngIf=\"SortingField.field ==col.Field && SortingField.direction=='0'\"\r\n                            class=\"la la-caret-down table-sort-icon\"></span>\r\n                          <span *ngIf=\"SortingField.field ==col.Field && SortingField.direction=='1'\"\r\n                            class=\"la la-caret-up table-sort-icon\"></span>\r\n  \r\n                        </div>\r\n                      </th>\r\n  \r\n                    </ng-container>\r\n                  </ng-container>\r\n  \r\n  \r\n                </tr>\r\n  \r\n                <tr class=\"no-print\" *ngIf=\"IsFilter\">\r\n  \r\n                  <th></th>\r\n                  <th *ngIf=\"IsShowDetailsGo\"></th>\r\n                  <!-- <th *ngIf=\"IsInnerGrid\"></th> -->\r\n                  <!-- <ng-container>\r\n                    <th *ngIf=\"IsEdit||IsDelete\"></th>\r\n                  </ng-container> -->\r\n                  <ng-container>\r\n                    <th *ngIf=\"IsInnerGridEdit||IsInnerGridDelete\"></th>\r\n                  </ng-container>\r\n                  <th *ngIf=\"IsAttach\"></th>\r\n                  <th *ngIf=\"IsAssign\"></th>\r\n                  <th *ngIf=\"IsTicketGroupAssign\"></th>\r\n                  <th *ngIf=\"IsDynamicListpage\"></th>\r\n                  <th *ngIf=\"IsActive||IsDuplicate\"></th>\r\n  \r\n                  <ng-container *ngFor=\"let col of columnDefs;let colindex = index\">\r\n                    <ng-container *ngIf=\"col.IsVisible !=false && col.DataType !=7\">\r\n  \r\n                      <th [ngClass]=\"col.ClassName\">\r\n                        <div class=\"table_th_div\">\r\n                          <span>\r\n  \r\n                            <input type=\"text\" (keyup)=\"getGridSearchTextChange($event)\" (keydown)=\"getGridSearch($event)\"\r\n                              [(ngModel)]=\"GridFilter[col?.Field]\">\r\n                          </span>\r\n                        </div>\r\n                      </th>\r\n  \r\n                    </ng-container>\r\n                  </ng-container>\r\n  \r\n  \r\n                </tr>\r\n  \r\n              </thead>\r\n  \r\n              <tbody  class=\"tbodys\">\r\n  \r\n                <ng-container *ngFor=\"let list of gridData; let i = index\">\r\n  \r\n                <tr>\r\n  \r\n                  <td class=\"width45\">\r\n                    <label class=\"fancy-checkbox\">\r\n                      <input class=\"checkbox-tick\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"list.isGridSelect\"\r\n                        (change)=\"getCheckboxChecked($event,i)\">\r\n                      <span></span>\r\n                    </label>\r\n                    <!-- <img src=\"assets/images/avatar/avatar1.jpg\" class=\"rounded-circle avatar\" alt=\"\"> -->\r\n                  </td>\r\n  \r\n                  <td *ngIf=\"IsShowDetailsGo\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"_goToDetails(list)\" style=\"cursor: pointer;\">\r\n                      <i class=\"la la-external-link\" style=\"font-size: 18px;\"></i>\r\n                    </a>\r\n                  </td>\r\n  \r\n                  <!-- <td *ngIf=\"IsInnerGrid\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"innerGridShow(list)\"  data-bs-toggle=\"collapse\" data-toggle=\"collapse\" [attr.href]=\"'#stage_' + list.RecId\">\r\n                      <i class=\"fa fa-list-alt\"></i>\r\n                    </a>\r\n                  </td> -->\r\n                  <!-- <ng-container>\r\n                    <td *ngIf=\"IsEdit||IsDelete\">\r\n  \r\n                      <button *ngIf=\"IsEdit\" type=\"button\" [ngClass]=\"{displaynone: list.isEditHide}\"\r\n                        (click)=\"_editmethod(list)\" class=\"btn-outline-secondary table_buttons\" title=\"Edit\"><i\r\n                          class=\"fa fa-edit\"></i></button>\r\n    \r\n    \r\n                      <button *ngIf=\"IsDelete\" type=\"button\" [ngClass]=\"{displaynone: list.isDeletHide}\"\r\n                        (click)=\"_deleteMethod(list)\" class=\"btn-outline-danger table_buttons\" title=\"Delete\"\r\n                        data-type=\"confirm\"><i class=\"fa fa-trash-o\"></i></button>\r\n                    </td>\r\n                  </ng-container> -->\r\n                  <ng-container>\r\n                    <td *ngIf=\"IsInnerGridEdit||IsInnerGridDelete\">\r\n  \r\n                      <button *ngIf=\"IsInnerGridEdit\" type=\"button\" [ngClass]=\"{displaynone: list.isEditHide}\"\r\n                        (click)=\"_innerGrideditmethod(list)\" class=\"btn-outline-secondary table_buttons\" title=\"Edit\"><i\r\n                          class=\"fa fa-edit\"></i></button>\r\n    \r\n    \r\n                      <button *ngIf=\"IsInnerGridDelete\" type=\"button\" [ngClass]=\"{displaynone: list.isDeletHide}\"\r\n                        (click)=\"_innerGriddeleteMethod(list)\" class=\"btn-outline-danger table_buttons\" title=\"Delete\"\r\n                        data-type=\"confirm\"><i class=\"fa fa-trash-o\"></i></button>\r\n                    </td>\r\n                  </ng-container>\r\n                  \r\n                  <td *ngIf=\"IsActive||IsDuplicate\">\r\n                    <button *ngIf=\"IsActive\" type=\"button\" [ngClass]=\"{displaynone: list.IsActive}\"\r\n                      (click)=\"_Activemethod(list)\" class=\"btn-outline-success table_buttons\"\r\n                      title=\"Active\">{{'Activate'|translate}}</button>\r\n  \r\n  \r\n                    <button *ngIf=\"IsDuplicate\" type=\"button\" [ngClass]=\"{displaynone: list.IsDuplicate}\"\r\n                      (click)=\"_DuplicateMethod(list)\" class=\"btn-outline-primary table_buttons\"\r\n                      title=\"Duplicate\">{{'Duplicate'|translate}}</button>\r\n                  </td>\r\n  \r\n                  <td *ngIf=\"IsCategorySetupView\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"_categorySetupView(list)\">\r\n                      <i class=\"fa fa-external-link\"></i>\r\n                    </a>\r\n                  </td>\r\n                  <td *ngIf=\"IsAttach\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"_attachmentMethod(list)\">\r\n                      <i class=\"fa fa-paperclip\"></i>\r\n                    </a>\r\n                  </td>\r\n  \r\n                  <td *ngIf=\"IsDynamicListpage\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"_listpage(list)\">\r\n                      <i class=\"fa fa-edit\"></i>\r\n                    </a>\r\n                  </td>\r\n  \r\n  \r\n                  <td *ngIf=\"IsAssign\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"_assignmentMethod(list)\">\r\n                      <i class=\"fa fa-plus-square\"></i>\r\n                    </a>\r\n                  </td>\r\n  \r\n  \r\n                  <td *ngIf=\"IsTicketGroupAssign\">\r\n                    <a class=\"cursor-pointer themecolor \" (click)=\"_ticketGroupAssignmentMethod(list)\">\r\n                      <i class=\"fa fa-users\"></i>\r\n                    </a>\r\n                  </td>\r\n  \r\n                  <ng-container *ngFor=\"let col of columnDefs; let ic = index\">\r\n                    <ng-container *ngIf=\"col.IsVisible !=false && col.DataType !=7\">\r\n                      <td [ngClass]=\"col.ClassName\" [ngClass]=\"col.ClassName\">\r\n                        <div id=\"td_content_{{i}}_{{ic}}\" class=\"table_td_content tooltips\">\r\n                          <ng-container [ngSwitch]=\"col.FieldType\">\r\n  \r\n  \r\n                            <a *ngSwitchCase=\"columnFieldType.details\" class=\"cursor-pointer themecolor\"\r\n                              (click)=\"_goToDetails(list)\">\r\n                              <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n  \r\n                              </span>\r\n                            </a>\r\n  \r\n                            <a *ngSwitchCase=\"columnFieldType.text\" class=\"cursor-pointer themecolor\"\r\n                              (click)=\"_goToAction(list)\">\r\n                              <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n  \r\n                              </span>\r\n                            </a>\r\n  \r\n                            <a *ngSwitchCase=\"columnFieldType.button\" class=\"cursor-pointer  btn btn-theme color-white \"\r\n                              (click)=\"_callButtonEvent(list,col)\">\r\n                              <i [ngClass]=\"col.IconName\"></i> {{col.Name|translate}}\r\n                            </a>\r\n  \r\n  \r\n                            <a *ngSwitchCase=\"columnFieldType.icon\" class=\"cursor-pointer  btn btn-theme color-white\"\r\n                              (click)=\"_callIconEvent(list,col)\">\r\n                              <i [ngClass]=\"col.IconName\"></i>\r\n                            </a>\r\n  \r\n                            <a *ngSwitchCase=\"columnFieldType.onOff\" class=\"cursor-pointer color-white\"\r\n                              (click)=\"_callOnOffEvent(list,col)\">\r\n                              <!-- <label class=\"switch\">\r\n                                <input type=\"checkbox\" [checked]=\"list[col?.Field]\">\r\n                                <span class=\"slider round\"></span>\r\n                              </label> -->\r\n  \r\n                              <div class=\"onOffButton\" [ngClass]=\"{'onNow':list[col?.Field]}\">\r\n                                <span [ngClass]=\"{'onn':list[col?.Field]}\"></span>\r\n                              </div>\r\n  \r\n                              <i [ngClass]=\"col.IconName\"></i>\r\n                            </a>\r\n  \r\n  \r\n                            <span *ngSwitchDefault>\r\n  \r\n                              <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n  \r\n                              </span>\r\n  \r\n                            </span>\r\n  \r\n                          </ng-container>\r\n  \r\n  \r\n                        </div>\r\n                      </td>\r\n  \r\n                    </ng-container>\r\n                  </ng-container> \r\n  \r\n                </tr>\r\n  \r\n                <!-- <tr id=\"stage_{{list.RecId}}\" class=\"panel-collapse collapse\" *ngIf=\"IsInnerGrid\">\r\n                  <td class=\"inside_gird_row\" colspan=\"12\">\r\n                    <ng-container *ngIf=\"selectedStageId==list.RecId\">\r\n                      <app-grid (openCreatePopup)=\"_openCreatePopupInnerGrid()\" \r\n                      [IsInnerGridCreate]=\"IsInnerGridCreate\" [IsInnerGridEdit]=\"IsInnerGridEdit\"\r\n                      [IsInnerGridDelete]=\"IsInnerGridDelete\" [GridTitle]=\"InnerGridTitle\" [columnDefs]=\"InnerColumnDefs\" \r\n                      [grid]=\"79\" (editMethodInnerGrid)=\"_innerGrideditmethodData()\" \r\n                      (getPageList)=\"_getInnerPageList()\" ></app-grid>\r\n                    </ng-container>\r\n                  </td>\r\n                </tr> -->\r\n  \r\n                <tr *ngIf=\"gridData.length < 1\" class=\"no_records\">\r\n                  <td [colSpan]=\"columnDefs.length + 4\" class=\"no_records\"> {{'No Record found'|translate}}</td>\r\n                </tr>\r\n  \r\n              </ng-container>\r\n  \r\n              </tbody>\r\n            \r\n            </table>\r\n          </div>\r\n        </div>\r\n        <!-- && (totalCount>10 || GridSearchType==2) -->\r\n        <app-pagination *ngIf=\"!IsClientPagination\" [totalCount]=\"totalRecordCount\" [pageCount]=\"pageCount\"\r\n          [currentPage]=\"pageNo\" [pageSize]=\"pageSize\" [gridSearchType]=\"GridSearchType\"\r\n          (getPaginationListData)=\"getPaginationListData($event.pageCount,$event.pageSize)\">\r\n        </app-pagination>\r\n      </div>\r\n    </div>\r\n  \r\n  </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../../dynamic-apps.service';\r\nimport { TranslatePipe } from '../../../core/translate.pipe';\r\nimport { GlobalService } from '../../../core/global.service';\r\nimport { EntityTypeFieldVM, IDropDown, ISearchCriteria, SplitterValues } from '../../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-multiple-value-search',\r\n  templateUrl: './multiple-value-search.component.html',\r\n  styleUrls: ['./multiple-value-search.component.scss']\r\n})\r\nexport class MultipleValueSearchComponent implements OnInit {\r\n  constructor(\r\n    public fb: FormBuilder,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit(): void {\r\n    if(this.EntityTypeId){\r\n      this.getAllEntityField();\r\n      this.getSplitterValuesDDL();\r\n      this.MultipleSearchValueForm.patchValue({ Splitter:'\\n' });\r\n    }\r\n  }\r\n\r\n  @Input() IsMultipleValueSearchModal:boolean = false;\r\n  @Input() EntityTypeId:any;\r\n  @Output() MultipleSearchValues = new EventEmitter<{ SearchObj: { multiSearchfield:string, multiSearchValue:string} | null }>();\r\n\r\n  MultipleSearchValueForm:FormGroup = this.fb.group({\r\n    FieldName:[null,[Validators.required]],\r\n    SearchValues:[null,[Validators.required]],\r\n    Splitter:[null,[Validators.required]]\r\n  });\r\n  EntityFieldList: EntityTypeFieldVM[] | any [] = [];\r\n\r\n  SplitterValues: any[] = [];\r\n  getSplitterValuesDDL() {\r\n    debugger;\r\n    this.SplitterValues = [];\r\n    try {\r\n      for (let key in SplitterValues) {\r\n        let val = (SplitterValues as any)[key];\r\n          let temp: IDropDown = { Id: key+\"(\"+val+\")\", Description: val };\r\n          this.SplitterValues.push(temp);\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire({icon: 'error',\r\n        title: e.message,\r\n      });\r\n    }\r\n  }\r\n\r\n  getAllEntityField() {\r\n    debugger;\r\n    let Criteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: { field: null, direction: null },\r\n    };\r\n    this.EntityFieldList = [];\r\n    this.dynamicAppsService.getAllEntityTypeField(Criteria, this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          let _fieldList = res.Data ? res.Data : res;\r\n          _fieldList = _fieldList.sort((a:any, b:any) => {\r\n            if (a.OrderId < b.OrderId) return -1;\r\n            else if (a.OrderId > b.OrderId) return 1;\r\n            else return 0;\r\n          });\r\n          this.EntityFieldList = _fieldList;\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  closeModalPopUp(){\r\n    this.IsMultipleValueSearchModal = false;\r\n    this.MultipleSearchValues.emit({SearchObj:null});\r\n  }\r\n  SubmitMultipleSearchValues(Values:any){ debugger\r\n\r\n    if(!Values.SearchValues.includes(Values.Splitter)){\r\n      Swal.fire(\"Search values does not contain \"+Values.Splitter,\"Splitter\",'warning');\r\n      return;\r\n    }\r\n    let SplittedValue: any[] =  Values.SearchValues.split(Values.Splitter);\r\n    let multiSearchValue: string = SplittedValue.map((x: any) => {\r\n      let QueryParamValue: string = x.trim()\r\n      if (QueryParamValue != \"\") { return ('multiSearchValue=') + QueryParamValue }\r\n      return null;\r\n    }).filter(x => x).join('&');\r\n    if(multiSearchValue == \"\"){\r\n      Swal.fire(\"Search values does not be empty \",\"Value\",'warning');\r\n      return;\r\n    }\r\n    const data = {\r\n      multiSearchfield: \"&multiSearchfield=\" + Values.FieldName,\r\n      multiSearchValue: \"&\" + multiSearchValue\r\n    };\r\n    this.MultipleSearchValues.emit({ SearchObj: data });\r\n    this.IsMultipleValueSearchModal = false;\r\n  }\r\n}\r\n","<div class=\"modal fade show showPop\" *ngIf=\"IsMultipleValueSearchModal\" tabindex=\"-1\" role=\"dialog\"\r\n\taria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n\t<div class=\"modal-dialog modal-sm\">\r\n\t\t<div class=\"modal-content\">\r\n\t\t\t<div class=\"modal-header\">\r\n\t\t\t\t<h5 class=\"modal-title\" id=\"exampleModalLabel\">{{\"Multiple Search\"|translate}}</h5>\r\n\t\t\t\t<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n\t\t\t\t\t(click)=\"closeModalPopUp()\">\r\n\t\t\t\t\t<span aria-hidden=\"true\">&times;</span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-body\">\r\n                <form [formGroup]=\"MultipleSearchValueForm\">\r\n\r\n                    <div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 nopadding\">\r\n                        <label for=\"EntityFields\" class=\"m-0\">{{'Search Field'|translate}}</label>\r\n                        <div class=\"\">\r\n                            <ng-select [items]=\"EntityFieldList\" [placeholder]=\"'select Field'\" formControlName=\"FieldName\"\r\n                             bindLabel=\"Description\" bindValue=\"Description\">\r\n                            </ng-select>\r\n                            <div class=\"text-danger\">\r\n                                <strong *ngIf=\"MultipleSearchValueForm.get('FieldName')?.touched &&\r\n                                                MultipleSearchValueForm.get('FieldName')?.hasError('required')\"\r\n                                    class=\"error-message\">{{'required'|translate}}..</strong>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 nopadding\">\r\n                        <label for=\"EntityFields\" class=\"m-0\">{{'Splitter'|translate}}</label>\r\n                        <div class=\"\">\r\n                            <ng-select [items]=\"SplitterValues\" [placeholder]=\"'select Splitter'\" formControlName=\"Splitter\"\r\n                               bindLabel=\"Id\" bindValue=\"Description\">\r\n                            </ng-select>\r\n                            <div class=\"text-danger\">\r\n                                <strong *ngIf=\"MultipleSearchValueForm.get('Splitter')?.touched &&\r\n                                                MultipleSearchValueForm.get('Splitter')?.hasError('required')\"\r\n                                    class=\"error-message\">{{'required'|translate}}..</strong>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 nopadding\">\r\n                        <label for=\"SearchValues\"  class=\"m-0\">{{'Search Values'|translate}}</label>\r\n                        <div class=\"\">\r\n                            <textarea rows=\"7\" formControlName=\"SearchValues\" id=\"SearchValues\" name=\"SearchValues\" class=\"form-control\"\r\n                            placeholder=\"Values are separated by new line&#10;-- For Example --&#10;Value-1&#10;Value-2&#10;Value-3&#10;\"></textarea>\r\n                            <div class=\"text-danger\">\r\n                                <strong *ngIf=\"MultipleSearchValueForm.get('SearchValues')?.touched &&\r\n                                                MultipleSearchValueForm.get('SearchValues')?.hasError('required')\"\r\n                                    class=\"error-message\">{{'required'|translate}}..</strong>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                </form>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"modal-footer d-block clearfix no-border\">\r\n\r\n\t\t\t\t<div class=\"float-right\">\r\n\t\t\t\t\t<button class=\"btn btn-small btn-outline-danger m-l-5 m-r-5\"\r\n\t\t\t\t\t(click)=\"closeModalPopUp()\">{{'Cancel'|translate}}</button>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t<button class=\"btn btn-small btn-theme color-white m-l-5 m-r-5\" (click)=\"SubmitMultipleSearchValues(MultipleSearchValueForm.value)\"\r\n\t\t\t\t\t [disabled]=\"MultipleSearchValueForm.invalid\">{{'Search'|translate}}</button>\r\n\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { E_DataType, E_FieldType, E_FormStatus } from '../../core/common-interface-enum-classes-functions';\r\n\r\n\r\n@Component({\r\n  selector: '[app-image-type]',\r\n  templateUrl: './image-type.component.html',\r\n  styleUrls: ['./image-type.component.scss']\r\n})\r\nexport class ImageTypeComponent implements OnInit {\r\n\r\n  constructor(public globalService: GlobalService) { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  @Input() list: any;\r\n  @Input() col: any;\r\n\r\n  columnDataType = E_DataType;\r\n  columnFormStatus = E_FormStatus;\r\n  columnFieldType = E_FieldType;\r\n\r\n  getFileExtention(filename:any) {\r\n    let _return = \"\";\r\n    if (filename) {\r\n      if (filename.includes('.')) {\r\n        try {\r\n          _return = filename.split('.').pop();\r\n        }\r\n        catch (err) {\r\n          _return = \"noimage\";\r\n          return _return\r\n        }\r\n      }\r\n      else\r\n      _return = \"text\"\r\n    }\r\n    else\r\n      _return = \"noimage\"\r\n    return _return\r\n  }\r\n}\r\n","<ng-container *ngIf=\"col && list\" [ngSwitch]=\"getFileExtention(list[col?.Field])\">\r\n\r\n\r\n    <ng-container  class=\"ext-image\" *ngSwitchCase=\"'.pdf'\">\r\n      <img class=\"grid-ext-image\" class=\"grid-image\" src=\"assets/images/FileExtension/pdf.png\" title=\"{{list[col?.Field]}}\" \r\n      [attr.data-darkbox]=\"'assets/images/FileExtension/pdf.png'\"\r\n       />\r\n      </ng-container>\r\n\r\n      <ng-container  class=\"ext-image\" *ngSwitchCase=\"'noimage'\">\r\n        <img class=\"grid-ext-image\" class=\"grid-image\" src=\"https://cdn-icons-png.flaticon.com/128/3875/3875172.png\" title=\"{{list[col?.Field]}}\" \r\n        [attr.data-darkbox]=\"'https://cdn-icons-png.flaticon.com/128/3875/3875172.png'\"\r\n         />\r\n        </ng-container>\r\n\r\n    <ng-container class=\"ext-image\" *ngSwitchDefault >\r\n      <img *ngIf=\"list[col?.Field]\" class=\"grid-image\"\r\n      \r\n      [src]=\"col.ImagePathType=='Direct'?list[col?.Field]:(globalService.ServerUrl+'/'+list[col?.Field])\" \r\n      [attr.data-darkbox]=\"col.ImagePathType=='Direct'?list[col?.Field]:(globalService.ServerUrl+'/'+list[col?.Field])\"\r\n       >\r\n      </ng-container>\r\n  </ng-container>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { EntityTypeFieldVM, EntityTypeFormUVM, EntityTypeFormVM } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n\r\n@Component({\r\n  selector: 'app-tree-grid-view',\r\n  templateUrl: './tree-grid-view.component.html',\r\n  styleUrls: ['./tree-grid-view.component.scss']\r\n})\r\nexport class TreeGridViewComponent implements OnInit {\r\n\r\n  constructor(    \r\n    public dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit(): void {\r\n    if(this.FieldGroupHolder){\r\n      this.FieldGroup = JSON.parse(this.FieldGroupHolder?.DetailsViewData);\r\n    }\r\n  }\r\n\r\n  @Input() FieldGroupHolder:any;\r\n  @Input() FieldGroup:any;\r\n  @Input() FieldGroupDescription:any;\r\n  @Input() TreeId:string | null = null;\r\n  @Input() FormData:EntityTypeFormVM | any= null;\r\n  @Output() GetTreeViewData = new EventEmitter<{ Criteria?:any }>();\r\n  tabDisplayData: number = 0;\r\n\r\n  ChangeGroup(data:any) { debugger;\r\n    this.tabDisplayData = data.RecId;\r\n  }\r\n\r\n  DeleteFieldInGroup(field: EntityTypeFieldVM){ \r\n    Swal.fire({\r\n      title: this.translatePipe.transform('Be sure to remove ')+\r\n      this.translatePipe.transform(field.Description)+\r\n      this.translatePipe.transform(' field from this group') +'?',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#3085d6',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: 'Cancel',\r\n      confirmButtonText: 'Yes, remove it',\r\n    }).then((result) => { \r\n     if (result.value) { debugger;\r\n    let index = this.FieldGroup.findIndex((x:any) => x.Description == field.Description);\r\n    this.FieldGroup.splice(index, 1);\r\n    this.SaveGroup();\r\n      }\r\n    });\r\n  }\r\n  SaveGroup(){ debugger;\r\n    let GroupData = null;\r\n    GroupData = JSON.stringify(this.FieldGroup);\r\n\r\n    const data: EntityTypeFormUVM = {\r\n      RecId: this.FormData.RecId,\r\n      EntityTypeId: this.FormData.EntityTypeRecId,\r\n      EntityTypeRecId: this.FormData.EntityTypeRecId,\r\n      FormType: this.FormData.FormType,\r\n      DetailsViewData: GroupData,\r\n    };\r\n    this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n      (res:any) => { debugger;        \r\n        this.GetTreeViewData.emit({Criteria:\"\"});\r\n        console.log(res);\r\n        Swal.fire(\"Group\",\"Saved\",'success');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => { debugger;\r\n        this.loaderService.hideLoading();\r\n        if(error.status == 401) { return; }\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"workflow_treeview clearfix\" [id]=\"TreeId\">\r\n    <ul class=\"collopse_part clearfix\">\r\n        <li>\r\n        <a class=\"nav-link has_arrow\" data-toggle=\"tab\"\r\n        [ngClass]=\"{'active': tabDisplayData == 1}\" (click)=\"ChangeGroup(1)\">\r\n        <i class=\"tabler-ti ti-binary-tree-2\"></i>\r\n        <span class=\"font-weight-bold text-secondary\">{{FieldGroupDescription|translate}}</span>\r\n        </a>\r\n        </li>\r\n        <div class=\"tab-content\">\r\n        <div class=\"tab-pane animated active\">\r\n        <li class=\"inner_li\" *ngFor=\"let Field of FieldGroup;let i = index\">\r\n            <a class=\"nav-link has_arrow status_desp\">\r\n            <i class=\"tabler-ti ti-align-justified\"></i>\r\n            <b>{{Field?.Description|translate}}</b>\r\n            </a>\r\n            <div class=\"options\">\r\n                <span class=\"\" (click)=\"DeleteFieldInGroup(Field)\">\r\n                <i class=\"tabler-ti ti-http-delete\"></i>\r\n                </span>\r\n            </div>\r\n        </li>\r\n    </div>\r\n    </div>\r\n    </ul>\r\n</div>","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { E_ActionType, E_DataType, E_FieldType, E_GridSearchType, E_SelectMode, GenerateCriteriaForExport, IActionDef, IColumnDef, IGridExport, ISearchCriteria, ISelectOptions, ISortingField, IsHideButton } from '../../core/common-interface-enum-classes-functions';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { GridService } from './grid.service';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport * as Handlebars from 'handlebars';\r\n\r\n@Component({\r\n  selector: 'app-grid',\r\n  templateUrl: './grid.component.html',\r\n  styleUrls: ['./grid.component.scss'],\r\n})\r\nexport class GridComponent implements OnInit {\r\n  constructor(\r\n    public globalService: GlobalService,\r\n    private gridService: GridService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit(): void {\r\n    registerHandlebarHelperMethods();\r\n    this.setCommonFilter();\r\n    this.gridService.onGridRefresh.subscribe((x:any) => {\r\n      //\r\n      if (x) {\r\n        if (Object.keys(x).includes('grid')) {\r\n          //\r\n          if (x.grid === this.grid) {\r\n            this.gridData = x.list;\r\n            this.totalCount = x.count;\r\n            this.totalRecordCount = x.totalRecordCount;\r\n            this.tempgridData = x.list;\r\n            this.tempFiltergridData = x.list;\r\n            this.insertSelectField(false);\r\n            this.getCheckboxChecked();\r\n            this.getPageCount();\r\n          } else return;\r\n        } else {\r\n          this.gridData = x.list;\r\n          this.tempgridData = x.list;\r\n          this.tempFiltergridData = x.list;\r\n          this.totalCount = x.count;\r\n          this.totalRecordCount = x.totalRecordCount;\r\n          this.insertSelectField(false);\r\n          this.getCheckboxChecked();\r\n          this.getPageCount();\r\n        }\r\n\r\n      }\r\n    });\r\n\r\n  }\r\n  @Input() grid: number | string = 1;\r\n\r\n  @Input() GridTitle: string = 'Title';\r\n  @Input() InnerGridTitle: string = 'Title';\r\n  @Input() GridDescription: string = 'Description';\r\n  @Input() selectMode: E_SelectMode = E_SelectMode.Multi;\r\n\r\n  @Input() gridSelectOptions: ISelectOptions[] = [];\r\n  @Input() gridActionList: IActionDef[] = [];\r\n  @Input() gridActionStatus: IActionDef[] = [];\r\n  @Input() gridCurrentStatus: number = 0;\r\n  @Input() IsGridActionList: boolean = false;\r\n  @Input() IsGridActionForm: boolean = false;\r\n\r\n  @Output() getGridAction = new EventEmitter<{ item: any; gridData: any }>();\r\n  @Output() getGridStatusAction = new EventEmitter<{\r\n    item: any;\r\n  }>();\r\n  @Output() getGridCheckedData = new EventEmitter<{ gridData: any }>();\r\n\r\n  @Input() columnDefs: IColumnDef[] = [];\r\n  @Input() InnerColumnDefs: IColumnDef[] = [];\r\n\r\n  @Input() gridSelectOption: boolean = false;\r\n  @Input() IsCreate: boolean = false;\r\n  @Input() IsEdit: boolean = false;\r\n  @Input() EditCondition: {\r\n    Condtion: any[],\r\n    CondtionOperator: number\r\n  } = {Condtion: [] ,CondtionOperator:0};\r\n  @Input() IsDelete: boolean = false;\r\n  @Input() DeleteCondition: {\r\n    Condtion: any[],\r\n    CondtionOperator: number\r\n  }= {Condtion: [] ,CondtionOperator:0};\r\n  @Input() IsSorting: boolean = true;\r\n  @Input() IsRefresh: boolean = true;\r\n  @Input() IsSearch: boolean = true;\r\n  @Input() IsthSize: boolean = false;\r\n  @Input() IsActive: boolean = false;\r\n  @Input() IsDuplicate: boolean = false;\r\n  @Input() RowInsideGrid: boolean = false;\r\n  @Input() IsDetails: boolean = false;\r\n  @Input() IsBack: boolean = false;\r\n  @Input() IsAttach: boolean = false;\r\n  @Input() AttachCondition: {\r\n    Condtion: any[],\r\n    CondtionOperator: number\r\n  }= {Condtion: [] ,CondtionOperator:0};\r\n  @Input() IsDynamicListpage: boolean = false;\r\n  @Input() IsAssign: boolean = false;\r\n  @Input() AssignCondition: {\r\n    Condtion: any[],\r\n    CondtionOperator: number\r\n  } = {Condtion: [] ,CondtionOperator:0};\r\n\r\n  @Input() IsPermission: boolean = false;\r\n  @Input() IsInnerGrid: boolean = false;\r\n  @Input() IsShowDetailsGo: boolean = false;\r\n  @Input() IsExport: boolean = false;\r\n  @Input() IsExportJson: boolean = false;\r\n  @Input() IsImportJson: boolean = false;\r\n  @Input() IsExportSelected: boolean = false;\r\n  @Input() IsImportJsonPopup: boolean = false;\r\n  @Input() IsTicketGroupAssign: boolean = false;\r\n  @Input() GridSearchType: E_GridSearchType = E_GridSearchType.None;\r\n  @Input() IsClientPagination: boolean = false;\r\n  @Input() IsHidePagination: boolean = false;\r\n  @Input() IsHideHeader: boolean = false;\r\n  @Input() IsCategorySetupView: boolean = false;\r\n  @Input() IsColumnList: boolean = false;\r\n\r\n  @Input() IsInnerGridCreate: boolean = false;\r\n  @Input() IsInnerGridEdit: boolean = false;\r\n  @Input() IsInnerGridDelete: boolean = false;\r\n\r\n  // @Input() IsHidden: boolean = false;\r\n  @Input() IsHidden: IsHideButton = {Delete:false,Edit:false,Both:false};\r\n  @Input() IsBulkEdit: boolean = false;\r\n\r\n  @Input() IsCommonGridFilter: boolean = false;\r\n  @Input() CommonGridFilter: any = null;\r\n\r\n\r\n  @Input() IsTreeView: boolean = false;\r\n  @Input() TreeLoadType: string|null = null;\r\n\r\n  @Input() RulesData:string|null = null;\r\n  @Input() WorkflowStageId:number = 0;\r\n  @Input() FieldGroupView: boolean = false;\r\n  @Input()  FieldGroups:any;\r\n  @Input() IsMultipleValueSearch: boolean = false;\r\n  @Input() EntityTypeId:any;\r\n\r\n\r\n  IsMultipleValueSearchPopUp: boolean = false;\r\n\r\n  columnDataType = E_DataType;\r\n  columnFieldType = E_FieldType;\r\n\r\n  // ListData: any[] = [];\r\n  @Input() gridData: any[] = [];\r\n  tempgridData: any[] = [];\r\n  tempFiltergridData: any[] = [];\r\n  //totalCount: number = 0;\r\n\r\n  @Output() openCreatePopup = new EventEmitter<{ type: any }>();\r\n  @Output() getPageList = new EventEmitter<{ Criteria: any }>();\r\n  @Output() getTreeChildList = new EventEmitter<{ Parent: any }>();\r\n  @Output() getInnerPageList = new EventEmitter<{ Criteria: any, data:any }>();\r\n  @Output() goToDetails = new EventEmitter<{ data: any; col?: IColumnDef;  }>();\r\n  @Output() goToAction = new EventEmitter<{ data: any; col?: IColumnDef;  }>();\r\n  @Output() callButtonEvent = new EventEmitter<{\r\n    data: any;\r\n    col: IColumnDef;\r\n  }>();\r\n  @Output() callIconEvent = new EventEmitter<{ data: any; col: IColumnDef }>();\r\n  @Output() callOnOffEvent = new EventEmitter<{ data: any; col: IColumnDef }>();\r\n  @Output() copyTextEvent = new EventEmitter<{ data: any;Type:number;Field:any }>();\r\n  @Output() gridSelectOptionsData = new EventEmitter<{ data: any }>();\r\n  @Output() assignmentMethod = new EventEmitter<{ data: any }>();\r\n  @Output() PermissionMethod = new EventEmitter<{ data: any }>();\r\n  @Output() ticketGroupAssignmentMethod = new EventEmitter<{ data: any }>();\r\n  @Output() attachMethod = new EventEmitter<{ data: any }>();\r\n  @Output() gotoBackToList = new EventEmitter<{ data: any }>();\r\n  @Output() editMethod = new EventEmitter<{ data: any }>();\r\n  @Output() ActiveMethod = new EventEmitter<{ data: any }>();\r\n  @Output() DuplicateMethod = new EventEmitter<{ data: any }>();\r\n  @Output() rowInsideMethod = new EventEmitter<{ data: any }>();\r\n  @Output() deleteMethod = new EventEmitter<{ data: any }>();\r\n  @Output() multipleDeleteMethod = new EventEmitter<{ gridData: any }>();\r\n  @Output() GetDetailsList = new EventEmitter<{ Criteria: any }>();\r\n  @Output() GetListView = new EventEmitter<{ data: any }>();\r\n  @Output() categorySetupView = new EventEmitter<{ data: any }>();\r\n  @Output() exportJson = new EventEmitter<{ data: any }>();\r\n  @Output() ImportJson = new EventEmitter<{ type: any }>();\r\n  @Output() ExportSelected = new EventEmitter<{ type: any }>();\r\n  @Output() ImportJsonPopup = new EventEmitter<{ type: any }>();\r\n\r\n\r\n  @Output() openCreatePopupInnerGrid = new EventEmitter<{ type: any }>();\r\n  @Output() editMethodInnerGrid = new EventEmitter<{ data: any }>();\r\n  @Output() deleteMethodInnerGrid = new EventEmitter<{ data: any }>();\r\n  @Output() BulkFields = new EventEmitter<{ type : any}>();\r\n  @Output() getMultipleSearch = new EventEmitter<{Criteria:ISearchCriteria, SearchObj: { multiSearchfield:string, multiSearchValue:string}}>()\r\n\r\n  GridCheckedData: any[] = [];\r\n  _getGridAction(item: IActionDef) {\r\n    // page leval\r\n    if (\r\n      item.needGridData &&\r\n      this.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire({ title: 'alert!', text: 'please select a single row' });\r\n      return;\r\n    }\r\n    if (item.needGridData && this.GridCheckedData.length < 1) {\r\n      Swal.fire({ title: 'alert!', text: 'please select atleast one row' });\r\n      return;\r\n    }\r\n    // action leval\r\n    if (\r\n      item.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire({ title: 'alert!', text: 'please select a single row' });\r\n      return;\r\n    }\r\n    if (item.MethodType == E_ActionType.Delete) {\r\n      Swal.fire({\r\n        title: 'Are you sure to delete?',\r\n        showCancelButton: true,\r\n        confirmButtonColor: '#3085d6',\r\n        cancelButtonColor: '#d33',\r\n        cancelButtonText: 'Cancel',\r\n        confirmButtonText: 'Yes, delete it!',\r\n      }).then((result) => {\r\n        if (result.value) {\r\n          this.getGridAction.emit({\r\n            item: item,\r\n            gridData: this.GridCheckedData,\r\n          });\r\n        }\r\n      });\r\n    } else {\r\n      this.getGridAction.emit({ item: item, gridData: this.GridCheckedData });\r\n    }\r\n  }\r\n\r\n  GridFormData: any = [];\r\n  _getGridActionForm(item: IActionDef) {\r\n    this.getGridStatusAction.emit({ item: item });\r\n  }\r\n\r\n  GridCheckAll: boolean = false;\r\n\r\n  getCheckboxCheckedRules(event?: any, index?: number, CurrentRow?: any) {\r\n\r\n    if (CurrentRow.isGridSelect) {\r\n      CurrentRow.AllowSelect = true;\r\n      this.OnGridRowSelectRules(CurrentRow,index)\r\n      setTimeout(() => {\r\n        if(index)\r\n        this.gridData[index].isGridSelect = CurrentRow.AllowSelect;\r\n        this.getCheckboxChecked(event,index);\r\n      }, 10);\r\n    }\r\n\r\n    this.getCheckboxChecked(event,index);\r\n  }\r\n\r\n  getCheckboxChecked(event?: any, index?: number) {\r\n      this.GridCheckedData = [];\r\n      for (var i = 0; i < this.gridData.length; i++) {\r\n        if (this.gridData[i].isGridSelect)\r\n          this.GridCheckedData.push(this.gridData[i]);\r\n      }\r\n      if (this.GridCheckedData.length == this.gridData.length)\r\n        this.GridCheckAll = true;\r\n      else this.GridCheckAll = false;\r\n\r\n      this._getGridCheckedData();\r\n  }\r\n\r\n  getGridCheckAll(event: any) {\r\n\r\n    let GridCheckedData:any[] = [];\r\n    let AllowSelect:boolean = true;\r\n\r\n    if (event.target.checked) {\r\n      GridCheckedData = this.gridData;\r\n       this.GridCheckedData = [];\r\n      for (let index = 0; index < this.gridData.length; index++) {\r\n        let CurrentRow = this.gridData[index];\r\n        CurrentRow.AllowSelect = true;\r\n        this.OnGridRowSelectRules(CurrentRow, index)\r\n        if (!CurrentRow.AllowSelect) {\r\n          AllowSelect = false;\r\n          GridCheckedData = [];\r\n          setTimeout(() => {\r\n            this.GridCheckAll = false;\r\n          }, 1);\r\n          break;\r\n        }\r\n        else {\r\n          //CurrentRow.isGridSelect = true;\r\n          this.GridCheckedData.push(CurrentRow)\r\n        }\r\n      }\r\n    }\r\n    else {\r\n      GridCheckedData = [];\r\n      AllowSelect = false;\r\n    }\r\n\r\n    setTimeout(() => {\r\n      this.GridCheckedData = GridCheckedData;\r\n      this.insertSelectField(AllowSelect);\r\n      this._getGridCheckedData();\r\n    }, 1);\r\n\r\n  }\r\n  insertSelectField(value: boolean) {\r\n    this.gridData = this.gridData.map((x) => {\r\n      x.isGridSelect = value;\r\n      return x;\r\n    });\r\n  }\r\n\r\n  _getGridCheckedData() {\r\n    this.getGridCheckedData.emit({ gridData: this.GridCheckedData });\r\n  }\r\n\r\n  _openCreatePopup() {\r\n    this.openCreatePopup.emit({ type: 'Create' });\r\n  }\r\n  _exportJsonPopup(item:any) {\r\n    this.exportJson.emit({ data: item });\r\n  }\r\n  _importJsonPopup() {\r\n    this.ImportJson.emit({ type: 'Create' });\r\n  }\r\n  _ExportSelected() {\r\n    this.ExportSelected.emit({ type: 'Create' });\r\n  }\r\n\r\n  _openImportJsonPopup() {\r\n    this.ImportJsonPopup.emit({ type: 'Create' });\r\n  }\r\n  _openBulkCreatePopUp() {\r\n    this.BulkFields.emit({ type: 'Create' });\r\n  }\r\n  _openCreatePopupInnerGrid() {\r\n    this.openCreatePopupInnerGrid.emit({ type: 'Create' });\r\n  }\r\n\r\n  _gridEditmethod() {\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    this._editmethod(this.GridCheckedData[0]);\r\n  }\r\n\r\n  _gridDeleteMethod() {\r\n    this.translatePipe.transform('alert!');\r\n\r\n    if (this.GridCheckedData.length < 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select atleast one row')\r\n      );\r\n      return;\r\n    }\r\n\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    if (\r\n      this.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    try {\r\n      if (this.GridCheckedData.length == 1)\r\n        this._deleteMethod(this.GridCheckedData[0]);\r\n      else if (this.GridCheckedData.length > 1)\r\n        this.multipleDeleteMethod.emit({ gridData: this.GridCheckedData });\r\n    } catch (Exception:any) {\r\n      Swal.fire(this.translatePipe.transform(Exception.message));\r\n    }\r\n  }\r\n\r\n  _innerGridEditmethod() {\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    this._innerGrideditmethod(this.GridCheckedData[0]);\r\n  }\r\n\r\n  _innerGridDeleteMethod() {\r\n    this.translatePipe.transform('alert!');\r\n\r\n    if (this.GridCheckedData.length < 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select atleast one row')\r\n      );\r\n      return;\r\n    }\r\n\r\n    if (this.GridCheckedData.length != 1) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    if (\r\n      this.selectMode == E_SelectMode.Sigle &&\r\n      this.GridCheckedData.length != 1\r\n    ) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('alert!'),\r\n        'warning',\r\n        this.translatePipe.transform('please select a single row')\r\n      );\r\n      return;\r\n    }\r\n    try {\r\n      if (this.GridCheckedData.length == 1)\r\n        this._innerGriddeleteMethod(this.GridCheckedData[0]);\r\n      else if (this.GridCheckedData.length > 1)\r\n        this.multipleDeleteMethod.emit({ gridData: this.GridCheckedData });\r\n    } catch (Exception:any) {\r\n      Swal.fire(this.translatePipe.transform(Exception.message));\r\n    }\r\n  }\r\n\r\n  _gotoBackToList(item: any) {\r\n    this.gotoBackToList.emit({ data: item });\r\n  }\r\n\r\n  _gridSelectOptions(item?: any) {\r\n    // alert(\"zz\");\r\n    let value = item.target.value;\r\n    // console.log(item.target.value)\r\n    //\r\n    this.gridSelectOptionsData.emit({ data: value });\r\n  }\r\n\r\n  _goToDetails(item: any,col?:any) {\r\n    this.goToDetails.emit({ data: item,col:col  });\r\n  }\r\n\r\n  _goToAction(item: any,col?:any) {\r\n    this.goToAction.emit({ data: item,col:col  });\r\n  }\r\n\r\n  _callButtonEvent(item: any, col: IColumnDef,element?:any) {\r\n\r\n    if (element && element.target)\r\n      element.target.classList.add('inactiveLink');\r\n\r\n    this.callButtonEvent.emit({ data: item, col: col });\r\n  }\r\n  _callIconEvent(item: any, col: IColumnDef) {\r\n    this.callIconEvent.emit({ data: item, col: col });\r\n  }\r\n\r\n  _callOnOffEvent(item: any, col: IColumnDef) {\r\n    this.callOnOffEvent.emit({ data: item, col: col });\r\n  }\r\n\r\n  _copyTextEvent(item: any,Type:number,Field:any) {\r\n    //\r\n    this.copyTextEvent.emit({ data: item,Type:Type,Field:Field});\r\n  }\r\n\r\n  _assignmentMethod(item: any) {\r\n    this.assignmentMethod.emit({ data: item });\r\n  }\r\n  _PermissionMethod(item: any) {\r\n    this.PermissionMethod.emit({ data: item });\r\n  }\r\n  _listpage(item: any) {\r\n    this.GetListView.emit({ data: item });\r\n  }\r\n  _ticketGroupAssignmentMethod(item: any) {\r\n    this.ticketGroupAssignmentMethod.emit({ data: item });\r\n  }\r\n\r\n  _rowInsideMethod(item: any) {\r\n    this.rowInsideMethod.emit({ data: item });\r\n  }\r\n  _Activemethod(item: any) {\r\n    this.ActiveMethod.emit({ data: item });\r\n  }\r\n\r\n  _DuplicateMethod(item: any) {\r\n    this.DuplicateMethod.emit({ data: item });\r\n  }\r\n  _editmethod(item: any) {\r\n    this.editMethod.emit({ data: item });\r\n  }\r\n  condtionDelete: boolean = false;\r\n  _deleteMethod(item: any) {\r\n    Swal.fire({\r\n      title: this.translatePipe.transform('Are you sure to delete?'),\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#3085d6',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: this.translatePipe.transform('Cancel'),\r\n      confirmButtonText: this.translatePipe.transform('Yes, delete it!'),\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.deleteMethod.emit({ data: item });\r\n        // Swal.fire('Deleted!', 'Your file has been deleted.', 'success');\r\n      }\r\n    });\r\n  }\r\n  InnerGridEditData:any;\r\n  _innerGrideditmethod(item: any) {\r\n    //\r\n    this.InnerGridEditData =item,\r\n    console.log(this.InnerGridEditData)\r\n    this.editMethodInnerGrid.emit({ data: item });\r\n  }\r\n  _innerGriddeleteMethod(item: any) {\r\n    Swal.fire({\r\n      title: this.translatePipe.transform('Are you sure to delete?'),\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#3085d6',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: this.translatePipe.transform('Cancel'),\r\n      confirmButtonText: this.translatePipe.transform('Yes, delete it!'),\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.deleteMethodInnerGrid.emit({ data: item });\r\n        // Swal.fire('Deleted!', 'Your file has been deleted.', 'success');\r\n      }\r\n    });\r\n  }\r\n  _attachmentMethod(item: any) {\r\n    //\r\n\r\n    this.attachMethod.emit({ data: item });\r\n  }\r\n  _categorySetupView(item: any) {\r\n    this.categorySetupView.emit({ data: item });\r\n  }\r\n  totalCount: number = 0;\r\n  totalRecordCount: number = 0;\r\n  pageCount: number = 0;\r\n  pageNo: number = 1;\r\n  pageSize: number = 10;\r\n  SortingField: ISortingField = { field: null, direction: null } as any;\r\n  Searchcriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: this.pageNo,\r\n      PageSize: this.pageSize,\r\n    },\r\n    Where: [],\r\n    SortOrder: this.SortingField,\r\n  };\r\n\r\n  GridSort: any;\r\n  GridFilter: any = {};\r\n  GridCondition: any = {};\r\n  IsFilter = false;\r\n\r\n  toggleFilter() {\r\n    // this.tempgridData = this.gridData;\r\n    let searchCol = this.Searchcriteria.Where.length;\r\n    this.Searchcriteria.Where = [];\r\n    this.GridFilter = {};\r\n    this.GridCondition = {};\r\n    this.IsFilter = !this.IsFilter;\r\n    if (!this.IsFilter && searchCol > 0) {\r\n      this._getPageList();\r\n    }\r\n  }\r\n\r\n  getGridSearch(event:any,datatype?:any,value?:any) {\r\n    if (!this.IsClientPagination) {\r\n      if (event?.keyCode == 13 || (datatype && (datatype == 3 || datatype == 4) && event && (value && event == value || (value == null && event != value)))) {\r\n        this.setSearchData(datatype);\r\n        this._getPageList();\r\n      }\r\n    }\r\n  }\r\n  getGridSearchTextChange(event:any) {\r\n    if (this.IsClientPagination) {\r\n      this.setSearchData();\r\n      this.tempFiltergridData = this.tempgridData;\r\n      for (let key in this.GridFilter) {\r\n        this.tempFiltergridData = this.tempFiltergridData.filter((x) => {\r\n          if (x[key] && x[key].indexOf(this.GridFilter[key]) > -1) {\r\n            return x;\r\n          }\r\n        });\r\n      }\r\n      this.totalRecordCount = this.tempFiltergridData.length;\r\n      this.getPaginationListData(this.pageNo,this.pageSize);\r\n    }\r\n  }\r\n  setSearchData(datatype?:any) {\r\n    this.pageNo = 1;\r\n    this.Searchcriteria.Pagging.PageNo = this.pageNo;\r\n\r\n    let filtervals = [];\r\n    for (let key in this.GridFilter) {\r\n      if (this.GridSearchType == E_GridSearchType.None)\r\n        filtervals.push({\r\n          Field: key,\r\n          TableAlias: '',\r\n          Operator: 'Contains',\r\n          Value: (datatype == 3 || datatype == 4) ? this.getDateDDMMYYYY(this.GridFilter[key]) : this.GridFilter[key]?this.GridFilter[key].trim():\"\",\r\n        });\r\n      else if (this.GridSearchType == E_GridSearchType.AzureTable) {\r\n        filtervals.push({\r\n          Field: key,\r\n          TableAlias: '',\r\n          Operator: this.GridCondition[key] || 'eq',\r\n          Value: (datatype == 3 || datatype == 4) ? (this.getDateDDMMYYYY(this.GridFilter[key])) :this.GridFilter[key]?this.GridFilter[key].trim():\"\",\r\n        });\r\n      } else {\r\n      }\r\n    }\r\n\r\n    for (let key in this.GridFilter) {\r\n      if (!this.GridFilter[key]) {\r\n        delete this.GridFilter[key];\r\n      }\r\n    }\r\n    debugger;\r\n\r\n    this.Searchcriteria.Where = filtervals;\r\n  }\r\n\r\n  getGridsorting(event:any) {\r\n    //\r\n\r\n    if(this.IsSorting == true){\r\n      if (event == this.SortingField.field) {\r\n        if (this.SortingField.direction == '0') this.SortingField.direction = '1';\r\n        else this.SortingField.direction = '0';\r\n      } else {\r\n        this.SortingField.direction = '0';\r\n      }\r\n      this.SortingField.field = event;\r\n      if (this.IsFilter) this.setSearchData();\r\n      this._getPageList();\r\n    }\r\n\r\n  }\r\n\r\n  removeGridSorting() {\r\n    this.SortingField.field = null;\r\n    this.SortingField.direction = null;\r\n    if (this.IsFilter) this.setSearchData();\r\n    this._getPageList();\r\n  }\r\n\r\n  _goDetailsPage() {\r\n    //\r\n    //let criteriastr = JSON.stringify(this.Searchcriteria);\r\n    // this.getPageList.emit({ Criteria: this.Searchcriteria });\r\n\r\n    this.openCreatePopup.emit({ type: 'Create' });\r\n\r\n  }\r\n\r\n  _getPageList() {\r\n    //\r\n    //let criteriastr = JSON.stringify(this.Searchcriteria);\r\n    this.getPageList.emit({ Criteria: this.Searchcriteria });\r\n  }\r\n\r\n  _getTreeChildList(Parent:any) {\r\n    if (this.TreeLoadType == \"Server\")\r\n      this.getTreeChildList.emit({ Parent: Parent });\r\n  }\r\n\r\n  _getInnerPageList(Criteria:any) {\r\n    //\r\n    //let criteriastr = JSON.stringify(this.Searchcriteria);\r\n    this.getInnerPageList.emit({ Criteria: Criteria, data: this.gridSelectedValue });\r\n  }\r\n\r\n  getPaginationListData(pageNo:any, pageSize?:any) {\r\n    debugger;\r\n    this.pageNo = pageNo;\r\n    if (pageSize) this.pageSize = pageSize;\r\n    this.Searchcriteria.Pagging.PageNo = this.pageNo;\r\n    this.Searchcriteria.Pagging.PageSize = this.pageSize;\r\n    if (this.IsClientPagination)\r\n      this.getPageCount()\r\n    else\r\n      this._getPageList();\r\n  }\r\n\r\n  getPageCount() {\r\n    //\r\n    this.pageCount = Math.ceil(this.totalRecordCount / this.pageSize);\r\n    this.ClientPagination();\r\n  }\r\n  ClientPagination() {\r\n    if (this.IsClientPagination) {\r\n      let begin, end, index;\r\n      begin = (this.Searchcriteria.Pagging.PageNo - 1) * this.pageSize;\r\n      end = begin + this.pageSize;\r\n      this.gridData = this.tempFiltergridData.slice(begin, end);\r\n    }\r\n  }\r\n  selectedStageId:number=0;\r\n  gridSelectedValue:any;\r\n\r\n\r\n  innerGridShow(values:any){\r\n    //\r\n    this.selectedStageId = values.RecId;\r\n    this.gridSelectedValue = values;\r\n  }\r\n\r\n  SetFieldGroup(values:any){ debugger\r\n    values.ShowTreeView = !values.ShowTreeView;\r\n  }\r\n\r\n  // executeCommentMethod(data) {\r\n  //   this.executeComments.emit(data);\r\n  // }\r\n\r\n\r\n  getDateDDMMYYYY(date:any) {\r\n    if(date){\r\n    let today:any = new Date(date);\r\n    let yyyy = today.getFullYear();\r\n    let mm: any = today.getMonth() + 1; // Months start at 0!\r\n    let dd: any = today.getDate();\r\n\r\n    if (dd < 10) dd = '0' + dd;\r\n    if (mm < 10) mm = '0' + mm;\r\n\r\n     return today = yyyy + '-' + mm + '-' + dd;\r\n    }else{\r\n      return date\r\n    }\r\n  }\r\n\r\n  @Input() GridDynamicExportData:IGridExport|any;\r\n  @Input() IsDynamicExport:boolean = false;\r\n\r\n  ExportGridData(){\r\n    if(this.GridDynamicExportData)\r\n    this.gridService.ExportGrid(this.GridDynamicExportData);\r\n  }\r\n  @Input() GridExportData:IGridExport|any;\r\n  @Input() IsGridExport:boolean = false;\r\n  GridDataExport(All?:any){ debugger\r\n    this.GridExportData.QueryParams = this.GridExportData.QueryParams.filter((x:any) =>x.Name != \"$page\" && x.Name != \"$size\");\r\n\r\n    if(!All){\r\n      this.GridExportData.QueryParams = [...this.GridExportData.QueryParams, ...GenerateCriteriaForExport(this.Searchcriteria)];\r\n    }\r\n    if(this.GridExportData)\r\n    this.gridService.ExportGrid(this.GridExportData);\r\n  }\r\n\r\n\r\n  showButton(item: any, col: IColumnDef) {\r\n    let _ret = true\r\n\r\n    if (col.Condition) {\r\n\r\n      _ret = this.evaluate(col.Condition,item);\r\n    // _ret = this.getOP(col.Condition,item ,0);\r\n\r\n    }\r\n\r\n    return _ret\r\n\r\n  }\r\n\r\n  evaluate(Condition:any, item: any):any\r\n  {\r\n    let _ret = true;\r\n    let op = Condition.substring(0, 2);  // get op\r\n    let splitter = '';\r\n\r\n    if (op == \"&&\" || op == \"||\") {\r\n      splitter = Condition.substr(2, 1);  // split\r\n      let conArr = Condition.substring(3).split(splitter);\r\n      let retArr = [];\r\n      for (let index = 0; index < conArr.length; index++) {\r\n        retArr[index] = this.evaluate(conArr[index], item);\r\n\r\n        _ret = index == 0 ? retArr[index] : _ret;\r\n\r\n        if (op == \"&&\") {\r\n          _ret = (_ret && retArr[index] ? true : false);\r\n          if(!_ret)\r\n          break;\r\n        }\r\n        else {\r\n          _ret = (_ret || retArr[index] ? true : false)\r\n          if(_ret)\r\n          break;\r\n        }\r\n\r\n      }\r\n\r\n    }\r\n    else {\r\n      _ret = this.condition(Condition,item)\r\n    }\r\n\r\n    return _ret;\r\n  }\r\n\r\n  getOP(Condition:any, item: any, level:any):any {\r\n\r\n    let retval = true;\r\n\r\n    let op = Condition.substring(0, 2);\r\n\r\n    if (op == \"&&\" || op == \"||\") {\r\n      retval = this.spliter(op, Condition, item,level);\r\n    }\r\n    else {\r\n      retval = this.condition(Condition,item)\r\n    }\r\n    return retval;\r\n  }\r\n\r\n  spliter(op:any, Condition:any, item: any,level:any) {\r\n\r\n    let retval = true;\r\n    level = level+1;\r\n    let _splitword=\"#\"+level; //getspli\r\n    let conArr = Condition.substring(2).split(_splitword);\r\n    let conretArr = [];\r\n    for (let index = 0; index < conArr.length; index++) {\r\n      conretArr[index] = this.getOP(conArr[index], item,level);\r\n\r\n      retval = index == 0 ? conretArr[index] : retval;\r\n\r\n      if (op == \"&&\") {\r\n        retval = (retval && conretArr[index] ? true : false)\r\n      }\r\n      else {\r\n        retval = (retval || conretArr[index] ? true : false)\r\n      }\r\n\r\n    }\r\n\r\n\r\n    return retval;\r\n  }\r\n\r\n  condition(Condition:any,item:any) {\r\n    let _ret:boolean = false;\r\n    let _condition = this.hanbleBarData(Condition, item);\r\n\r\n    let _conArr = _condition.split(\"@@\");\r\n    if (_conArr.length = 3) {\r\n\r\n      switch (_conArr[1]) {\r\n        case \"Equal\": {\r\n          _ret = (_conArr[0] == _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _ret = (_conArr[0] != _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _ret = (_conArr[0] < _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _ret = (_conArr[0] <= _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _ret = (_conArr[0] > _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _ret = (_conArr[0] >= _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _ret = (_conArr[0] == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _ret = (_conArr[0] != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _ret = (_conArr[0] == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _ret = (_conArr[0] != '' ? true : false)\r\n          break\r\n        }\r\n        case \"In\": {\r\n          let _values = _conArr[2].split(\":\");\r\n          _ret = false;\r\n          for (let i = 0; i < _values.length; i++) {\r\n            if (_conArr[0] == _values[i]) {\r\n              _ret = true;\r\n              break\r\n            }\r\n          }\r\n          break\r\n        }\r\n        case \"NotIn\": {\r\n          let _values = _conArr[2].split(\":\");\r\n          _ret = true;\r\n          for (let i = 0; i < _values.length; i++) {\r\n            if (_conArr[0] == _values[i]) {\r\n              _ret = false;\r\n              break\r\n            }\r\n          }\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _ret = (_conArr[0].length == _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _ret = (_conArr[0].includes(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _ret = (!(_conArr[0].includes(_conArr[2])) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _ret = (_conArr[0].startsWith(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _ret = (_conArr[0].endsWith(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _ret = true\r\n          break\r\n      }\r\n\r\n      return _ret\r\n\r\n    }\r\n\r\n    return _ret\r\n  }\r\n\r\n\r\n  hanbleBarData(_code:any, data?:any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n\r\n    data.Local = localStorage;\r\n    data.Cookies = this.Cookies;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie:any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n\r\n  _showJsonView(item:any, col:any) {\r\n\r\n    let _stringJson = item[col?.Field];\r\n    if(_stringJson) {\r\n      item.JSONView = JSON.parse(_stringJson);\r\n    }\r\n    item.isShowJsonView = true;\r\n  }\r\n\r\n  hideJsonView(item:any) {\r\n\r\n    item.isShowJsonView = false;\r\n  }\r\n\r\n  ListcolumnDefs: IColumnDef[] = [];\r\n  get ActionColumnDefs() {\r\n    let _list = [];\r\n    this.ListcolumnDefs = this.columnDefs.filter(x => x.FieldType != this.columnFieldType.button);\r\n    _list = this.columnDefs.filter(x => x.FieldType == this.columnFieldType.button);\r\n    return _list\r\n  }\r\n\r\n  setCommonFilter(){\r\n\r\n    if(!this.IsCommonGridFilter){\r\n      this._getPageList();\r\n      return\r\n    }\r\n\r\n\r\n    let showFilter:boolean = false;\r\n    if (typeof this.CommonGridFilter == \"object\") {\r\n      for (var key in this.CommonGridFilter) {\r\n        // let temp = { Desc: key, value: this.validate[key] };\r\n        if(this.CommonGridFilter[key]){\r\n          if(this.columnDefs.find(x => x.Field.toLowerCase() == key.toLowerCase()\r\n                                    || x.Name.toLowerCase() == key.toLowerCase())){\r\n            showFilter = true;\r\n            let _field= this.columnDefs.filter(x => x.Field.toLowerCase() == key.toLowerCase()\r\n                                                 || x.Name.toLowerCase() == key.toLowerCase())[0].Field;\r\n            this.GridFilter[_field]=this.CommonGridFilter[key];\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    if(showFilter){\r\n      this.IsFilter = true;\r\n      // this.tempgridData = this.gridData;\r\n      this.setSearchData();\r\n      if (this.IsClientPagination) {\r\n        this.gridData = this.tempgridData;\r\n        for (let key in this.GridFilter) {\r\n          this.gridData = this.gridData.filter((x) => {\r\n            if (x[key] && x[key].indexOf(this.GridFilter[key]) > -1) {\r\n              return x;\r\n            }\r\n          });\r\n        }\r\n      }\r\n\r\n    }\r\n      this._getPageList();\r\n\r\n  }\r\n\r\n\r\n\r\n  Rules: any[] = [];\r\n  getRules() {\r\n    if (this.RulesData)\r\n      this.Rules = JSON.parse(this.RulesData);\r\n    else\r\n      this.Rules = []\r\n  }\r\n\r\n  OnGridRowSelectRules(CurrentRow:any,CurrentRowIndex:any) {\r\n    this.getRules();\r\n    if (this.Rules && this.Rules.length > 0) {\r\n\r\n      let OnGridRowSelect = this.Rules.filter(x => x.Type == \"OnGridRowSelect\");\r\n\r\n      for (let index = 0; index < OnGridRowSelect.length; index++) {\r\n        let rulesData = OnGridRowSelect[index];\r\n        if (!rulesData) {\r\n          return\r\n        }\r\n\r\n        let _condition = this.onRulesConditionCheck(rulesData, CurrentRow,CurrentRowIndex);\r\n\r\n        if (_condition) {\r\n          this.OnRulesApply(rulesData, CurrentRow)\r\n        }\r\n        else {\r\n          if (rulesData.child && rulesData.child.length > 0) {\r\n            let _elseIfRulescondition = false;\r\n            let _elseIfRules = rulesData.child.filter((x:any) => x.Type == \"OnElseIf\");\r\n\r\n            for (let index = 0; index < _elseIfRules.length; index++) {\r\n              _elseIfRulescondition = this.onRulesConditionCheck(_elseIfRules[index], CurrentRow,CurrentRowIndex)\r\n              if (_elseIfRulescondition) {\r\n                this.OnRulesApply(_elseIfRules[index], CurrentRow)\r\n                break;\r\n              }\r\n            }\r\n            if (!_elseIfRulescondition) {\r\n              let _elseRules = rulesData.child.filter((x:any) => x.Type == \"OnElse\");\r\n              if (_elseRules && _elseRules.length > 0) {\r\n                this.OnRulesApply(_elseRules[0], CurrentRow)\r\n              }\r\n            }\r\n\r\n          }\r\n        }\r\n      }\r\n\r\n    }\r\n  }\r\n\r\n\r\n\r\n  onRulesConditionCheck(rulesData:any,CurrentRow:any,CurrentRowIndex?:any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n        if(_con.FieldType == \"CurrentStageId\"){\r\n          _fieldValue = this.WorkflowStageId\r\n        }\r\n        else if(_con.FieldType == \"WorkflowStage\"){\r\n          _fieldValue = _con.Field\r\n        }\r\n        else if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarHtml(_con.Field, _handleData)\r\n        }\r\n        else if (_con.FieldType == \"PreviousFieldValue\") {\r\n          if (this.GridCheckedData.length < 1)\r\n            _fieldValue = null;\r\n          else {\r\n            let PreviousRow = this.GridCheckedData[this.GridCheckedData.length - 1];\r\n            _fieldValue = PreviousRow[_con.Field];\r\n          }\r\n        }\r\n      }\r\n\r\n      let value = CurrentRow[_con.ValueTwo];\r\n      //  value = (_con.Value == \"FieldValue\" ? CurrentRow[_con.ValueTwo] : _con.ValueTwo)\r\n\r\n      if(_con.Value) {\r\n        if(_con.Value == \"CurrentStageId\"){\r\n          value = this.WorkflowStageId\r\n        }\r\n        else if(_con.Value == \"WorkflowStage\"){\r\n          value = _con.ValueTwo\r\n        }\r\n        else if( _con.Value == \"Value\") {\r\n          value = this.hanbleBarHtml(_con.ValueTwo, _handleData)\r\n        }\r\n        else if (_con.Value == \"PreviousFieldValue\") {\r\n          if (this.GridCheckedData.length < 1)\r\n          value = null;\r\n          else {\r\n            let PreviousRow = this.GridCheckedData[this.GridCheckedData.length - 1];\r\n            value = PreviousRow[_con.Field];\r\n          }\r\n        }\r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n\r\n  OnRulesApply(rulesData:any,CurrentRow:any) {\r\n    let rulesList = rulesData;\r\n    if (rulesData.action)\r\n      rulesList = rulesData.action;\r\n\r\n    for (let index = 0; index < rulesList.length; index++) {\r\n\r\n      let rules = rulesList[index];\r\n\r\n      if (rules.Condition == 'AllowSelect') {\r\n\r\n        if(this.GridCheckedData.length >0 ){\r\n          CurrentRow.AllowSelect = rules.Value == 'true'?true:false;\r\n          if(rules.ValidationMessage){\r\n            Swal.fire(\"warning\",rules.ValidationMessage,\"warning\")\r\n          }\r\n        }\r\n\r\n\r\n      }\r\n\r\n\r\n    }\r\n  }\r\n\r\n\r\n  queryParams: any\r\n  hanbleBarHtml(_code:any, data?:any) {\r\n\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n    data.Local = localStorage;\r\n    data.Current = this;\r\n    if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n      if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n\r\n    data.PageData =this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n\r\n  }\r\n\r\n  showMenu = false;\r\n  geColumnList() {\r\n    this.showMenu = !this.showMenu;\r\n  }\r\n\r\n\r\n  setVisibleMenu(item: IColumnDef) {\r\n    this.columnDefs.map(x => {\r\n      if (x.Name == item.Name) {\r\n        x.IsVisible = true\r\n      }\r\n    })\r\n  }\r\n  setHideMenu(item: IColumnDef) {\r\n    this.columnDefs.map(x => {\r\n      if (x.Name == item.Name) {\r\n        x.IsVisible = false\r\n      }\r\n    })\r\n  }\r\n  setColumnWidth(field:any,width:any) {\r\n\r\n    this.columnDefs.map(x => {\r\n      if (x.Field ==field) {\r\n        x.Width = width;\r\n      }\r\n    })\r\n  }\r\n\r\n  expandrow(item:any, i:any) {\r\n    item.IsExpanded = true;\r\n    this._getTreeChildList(item)\r\n  }\r\n  collapserow(item:any, i:any) {\r\n    item.IsExpanded = false;\r\n  }\r\n\r\n  expandAllRow() {\r\n    this.gridData.map(item => {\r\n      this.expandrecursiveloop(item,true)\r\n    });\r\n\r\n  }\r\n  collapseAllRow() {\r\n    this.gridData.forEach(item => {\r\n      this.expandrecursiveloop(item,false)\r\n    });\r\n  }\r\n\r\n  getDataWithHandlebar(data:any,item:any) {\r\n\r\n    if (data)\r\n      data = this.hanbleBarData(data,item);\r\n    return data;\r\n  }\r\n\r\n\r\n  expandrecursiveloop(item:any,expand:any) {\r\n    item.IsExpanded = expand;\r\n    if (item.child && item.child.length > 0) {\r\n      item.child.forEach((child:any) => {\r\n        this.expandrecursiveloop(child,expand)\r\n      });\r\n    }\r\n  }\r\n\r\n\r\n  checkEditCondition(list:any) {\r\n    let ret:boolean = true;\r\n    if(this.EditCondition)\r\n     ret = this.onRulesConditionCheck(this.EditCondition, list);\r\n    return ret\r\n  }\r\n\r\n  checkDeleteCondition(list:any) {\r\n    let ret:boolean = true;\r\n    if(this.DeleteCondition)\r\n     ret = this.onRulesConditionCheck(this.DeleteCondition, list);\r\n    return ret\r\n  }\r\n\r\n  checkAssignCondition(list:any) {\r\n    let ret:boolean = true;\r\n    if(this.AssignCondition)\r\n     ret = this.onRulesConditionCheck(this.AssignCondition, list);\r\n    return ret\r\n  }\r\n  checkAttachmentCondition(list:any){\r\n    let ret:boolean = true;\r\n    if(this.AttachCondition)\r\n     ret = this.onRulesConditionCheck(this.AttachCondition, list);\r\n    return ret\r\n  }\r\n\r\n\r\n\r\n  OpenMultipleSearchValuePopUp(EntityTypeId:any){ debugger\r\n    this.EntityTypeId = EntityTypeId\r\n    this.IsMultipleValueSearchPopUp = true;\r\n  }\r\n  CloseMultipleSearchValuePopUp(){ debugger\r\n    this.IsMultipleValueSearchPopUp = false;\r\n  }\r\n  _getMultipleSearch(MultipleSearchObj?:any){ debugger\r\n    this.getMultipleSearch.emit({ Criteria: this.Searchcriteria,SearchObj:MultipleSearchObj});\r\n    this.CloseMultipleSearchValuePopUp();\r\n  }\r\n\r\n  getFileExtention(filename:any) {\r\n    let _return = \"\";\r\n    if (filename) {\r\n      if (filename.includes('.')) {\r\n        try {\r\n          _return = filename.split('.').pop();\r\n        }\r\n        catch (err) {\r\n          _return = \"noimage\";\r\n          return _return\r\n        }\r\n      }\r\n      else\r\n      _return = \"text\"\r\n    }\r\n    else\r\n      _return = \"noimage\"\r\n    return _return\r\n  }\r\n  \r\n  \r\n  downloadFile(list:any,col?:IColumnDef){debugger\r\n    const Link ='data:application/octet-stream;base64,'+list[col?.Field];\r\n    const binaryData = atob(list[col?.Field]);\r\n    const firstBytes = binaryData.slice(0, 8);\r\n    let fileName = list[col?.FileNameField] ? list[col?.FileNameField]+'.':'Download.';\r\n    if (firstBytes.startsWith('\\x89PNG')) {\r\n       fileName += 'png';\r\n    } else if (firstBytes.startsWith('%PDF')) {\r\n      fileName += 'pdf';\r\n    } else if (firstBytes[0] === '\\xFF' && firstBytes[1] === '\\xD8') {\r\n      fileName += 'jpeg';\r\n    }else if (firstBytes.startsWith('\\x50\\x4B\\x03\\x04')){\r\n      fileName += 'xlsx';\r\n    }\r\n    const downloadLink = document.createElement('a');\r\n    downloadLink.href = Link;\r\n    downloadLink.download = fileName;\r\n    downloadLink.click();\r\n  }\r\n}\r\n","<div class=\"row clearfix\">\r\n  <div class=\"col-lg-12 col-md-12\">\r\n    <div id=\"commongrid_{{grid}}\" class=\"card grid\">\r\n      <div class=\"header clearfix\" *ngIf=\"!IsHideHeader\">\r\n        <h2 class=\"themecolor\">{{GridTitle|translate}}\r\n          <!-- <small>{{GridDescription}}</small> -->\r\n        </h2>\r\n        <div class=\"pull-left left_options\" *ngIf=\"gridSelectOption\" (change)=\"_gridSelectOptions($event)\">\r\n          <select>\r\n            <option value=\"{{action.Id}}\" *ngFor=\"let action of gridSelectOptions\"\r\n              (change)=\"_gridSelectOptions(action)\">{{action.Name|translate}}</option>\r\n          </select>\r\n        </div>\r\n        <ul class=\"header-dropdown pull-right\">\r\n          <!-- <li><a href=\"javascript:void(0);\" class=\"btn btn-info btn-theme\" data-toggle=\"modal\"\r\n              data-target=\"#addcontact\">Add New</a></li> -->\r\n\r\n              <ng-container *ngIf=\"IsTreeView\">\r\n                <li>\r\n                  <a class=\"themecolor\" (click)=\"expandAllRow()\" href=\"javascript:void(0);\">\r\n                    <i class=\"la la-angle-double-down themecolor\"></i>\r\n                  </a>\r\n                </li>\r\n\r\n                <li>\r\n                  <a class=\"themecolor\" (click)=\"collapseAllRow()\" href=\"javascript:void(0);\">\r\n                    <i class=\"la la-angle-double-up themecolor\"></i>\r\n                  </a>\r\n                </li>\r\n\r\n              </ng-container>\r\n          <li *ngIf=\"IsBulkEdit\">\r\n            <a class=\"themecolor\" (click)=\"_openBulkCreatePopUp()\" href=\"javascript:void(0);\">\r\n              <i class=\"fa fa-plus-square themecolor\"></i>\r\n            </a>\r\n          </li>\r\n\r\n          <li *ngIf=\"IsCreate\"><a class=\"themecolor\" (click)=\"_openCreatePopup()\" href=\"javascript:void(0);\">\r\n\r\n              <i class=\"la la-plus themecolor\"></i>\r\n\r\n            </a>\r\n          </li>\r\n          <li *ngIf=\"IsExportSelected && globalService.devMode\">\r\n            <a class=\"themecolor\" (click)=\"_ExportSelected()\" href=\"javascript:void(0);\" title=\"Export Json\">\r\n              <i class=\"themecolor tabler-ti ti-file-export\"></i>\r\n            </a>\r\n          </li>\r\n          <li *ngIf=\"IsImportJsonPopup && globalService.devMode\">\r\n            <a class=\"themecolor\" (click)=\"_openImportJsonPopup()\" href=\"javascript:void(0);\" title=\"Import Json\">\r\n              <i class=\"themecolor tabler-ti ti-package-import\"></i>\r\n            </a>\r\n          </li>\r\n          <li *ngIf=\"IsImportJson && globalService.devMode\">\r\n            <a class=\"themecolor\" (click)=\"_importJsonPopup()\" href=\"javascript:void(0);\" title=\"Import Json\">\r\n              <i class=\"las la-file-import themecolor\"></i>\r\n            </a>\r\n          </li>\r\n          <li *ngIf=\"IsColumnList\">\r\n            <a  class=\"themecolor\" (click)=\"geColumnList()\" href=\"javascript:void(0);\">\r\n              <i class=\"la la-bars\"></i>\r\n            </a>\r\n          </li>\r\n          <li *ngIf=\"IsRefresh\">\r\n            <a class=\"themecolor\" (click)=\"_getPageList()\" href=\"javascript:void(0);\">\r\n              <i class=\"la la-refresh themecolor\"></i>\r\n            </a>\r\n          </li>\r\n          <li class=\"search\" *ngIf=\"IsSearch\">\r\n            <a class=\"themecolor\" (click)=\"toggleFilter()\" href=\"javascript:void(0);\">\r\n              <i class=\"la la-search themecolor\"></i>\r\n            </a>\r\n          </li>\r\n          <li class=\"search\" *ngIf=\"IsMultipleValueSearch\">\r\n            <a class=\"themecolor\" (click)=\"OpenMultipleSearchValuePopUp(EntityTypeId)\" href=\"javascript:void(0);\">\r\n              <i class=\"la la-search-plus themecolor\"></i>\r\n            </a>\r\n          </li>\r\n          <li class=\"search\" *ngIf=\"IsDynamicExport\">\r\n            <a class=\"themecolor\" (click)=\"ExportGridData()\" href=\"javascript:void(0);\">\r\n              <i class=\"la la-download themecolor\"></i>\r\n            </a>\r\n          </li>\r\n          <li class=\"dropdown\" *ngIf=\"IsGridActionList\">\r\n            <a href=\"javascript:void(0);\" class=\"dropdown-toggle themecolor no-icon\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n              role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n              <i class=\"icon-options-vertical themecolor\"></i>\r\n            </a>\r\n            <ul class=\"dropdown-menu dropdown-menu-right animated bounceIn\">\r\n              <li *ngFor=\"let action of gridActionList\">\r\n                <a href=\"javascript:void(0);\" (click)=\"_getGridAction(action)\">{{action.Name|translate}}</a>\r\n              </li>\r\n            </ul>\r\n          </li>\r\n\r\n          <!-- <li class=\"user-account action_part clearfix\">\r\n\r\n            <div class=\"dropdown action_drop\" *ngIf=\"IsGridActionForm\">\r\n              <a href=\"javascript:void(0);\" class=\"dropdown-toggle themecolor\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\"\r\n                aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                Action\r\n              </a>\r\n              <ul class=\"dropdown-menu dropdown-menu-right account animated flipInY action_drop_down\"\r\n                style=\"width: auto;\">\r\n                <li *ngFor=\"let item of gridActionStatus\">\r\n                  <span *ngIf=\"gridCurrentStatus == 1\">\r\n                    <a href=\"javascript:void(0);\" *ngIf=\"item.Id == 2\"\r\n                      (click)=\"_getGridActionForm(item)\">{{item.Name}}</a>\r\n                  </span>\r\n                  <span *ngIf=\"gridCurrentStatus == 2\">\r\n                    <a href=\"javascript:void(0);\" *ngIf=\"item.Id == 3\"\r\n                      (click)=\"_getGridActionForm(item)\">{{item.Name}}</a>\r\n                  </span>\r\n                </li>\r\n              </ul>\r\n            </div>\r\n          </li> -->\r\n\r\n          <li class=\"search view_type\" *ngIf=\"IsGridExport\">\r\n            <button class=\"view_text\">\r\n              <div class=\"dropdown mt-0\">\r\n                <a href=\"javascript:void(0)\" class=\"view_text m-b-0 p-t-0 p-b-0\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                  role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                  <i class=\"la la-file-download themecolor\" aria-hidden=\"true\"></i>\r\n                  <span class=\"view_text_inner_text\">{{'Export'| translate}}</span>\r\n                  <span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                </a>\r\n                <ul class=\"dropdown-menu action_menu mt-4\" aria-labelledby=\"dropdownMenuButton\">\r\n                  <ng-container *ngIf=\"IsGridExport\">\r\n                    <li class=\"p-0 m-0\" (click)=\"GridDataExport()\">\r\n                      <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\">\r\n                        {{\"Export Visible\"|translate}}</a></li>\r\n                    <li class=\"p-0 m-0\" (click)=\"GridDataExport('All')\"><a class=\"d-block p-t-5 p-b-5\"\r\n                        href=\"javascript:void(0);\">{{\"Export All\"|translate}}</a></li>\r\n                  </ng-container>\r\n                </ul>\r\n              </div>\r\n            </button>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n      <div class=\"body\">\r\n        <input type=\"hidden\" id=\"currentcolumnfield\"/>\r\n          <input type=\"hidden\" id=\"currentcolumnwidth\"/>\r\n          <div class=\"table-menu\"\r\n          *ngIf=\"showMenu\">\r\n          <ul class=\"table-menus clearfix\">\r\n\r\n            <li class=\"table-menu-item\"\r\n              *ngFor=\"let col of columnDefs\">\r\n              <a class=\"themecolor\"\r\n                (click)=\"setHideMenu(col)\"\r\n                *ngIf=\"col.IsVisible !=false\">\r\n                <span class=\"la la-check m-r-5\"></span>\r\n                <span class=\"text\" *ngIf=\"col.FieldType != 5\">{{col.Name | translate}}</span>\r\n              </a>\r\n              <a class=\"themecolor\"\r\n                (click)=\"setVisibleMenu(col)\"\r\n                *ngIf=\"col.IsVisible ==false\">\r\n                <span class=\"la la-remove m-r-5\"></span>\r\n                <span class=\"text\" *ngIf=\"col.FieldType != 5\">{{col.Name | translate}}</span>\r\n              </a>\r\n\r\n            </li>\r\n\r\n          </ul>\r\n        </div>\r\n        <div class=\"table-responsive grid-table-view tree-table\" >\r\n          <!-- if u want resize add this class, table-resizable -->\r\n          <table class=\"table table-hover js-basic-example dataTable table-custom table-striped m-b-0 c_list \">\r\n            <thead class=\"\">\r\n              <tr>\r\n\r\n                <th class=\"fancy-checkbox\">\r\n                  <label class=\"fancy-checkbox\">\r\n                    <input class=\"select-all\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"GridCheckAll\" [ngModelOptions]=\"{standalone: true}\"\r\n                      (change)=\"getGridCheckAll($event)\">\r\n                    <span></span>\r\n                  </label>\r\n                </th>\r\n\r\n                <th *ngIf=\"IsShowDetailsGo\"></th>\r\n\r\n                <th *ngIf=\"IsInnerGrid\"></th>\r\n                <th *ngIf=\"FieldGroupView\"></th>\r\n                  <th *ngIf=\"IsEdit||IsDelete\" [ngClass]=\"{'displaynone': ((IsEdit && IsHidden.Edit) && (IsDelete && IsHidden.Delete)) || (IsHidden.Both)}\">{{'Action'|translate}}</th>\r\n\r\n                <th *ngIf=\"IsCategorySetupView\"></th>\r\n                <th *ngIf=\"IsAttach\"></th>\r\n                <th *ngIf=\"IsAssign\"></th>\r\n                <th *ngIf=\"IsPermission\"></th>\r\n                <th *ngIf=\"IsTicketGroupAssign\"></th>\r\n                <th *ngIf=\"IsDynamicListpage\"></th>\r\n                <th *ngIf=\"IsActive||IsDuplicate\">{{'StatusAction'|translate}}</th>\r\n\r\n                <ng-container *ngFor=\"let col of columnDefs;let colindex = index\">\r\n                  <ng-container *ngIf=\"col.IsVisible !=false\">\r\n\r\n                    <th [ngClass]=\"col.ClassName\" [ngClass]=\"{'grid-placeholder': IsthSize}\"\r\n                    [ngStyle]=\"{'width': col.IsTDWidth && col.Width && col.Width > 0? col.Width +'px':null,'min-width': col.IsTDWidth && col.Width && col.Width > 0? col.Width +'px':null}\">\r\n                      <div class=\"table_th_div\"  [ngClass]=\"{'set-width': col.Width && col.Width > 0}\"\r\n                      [ngStyle]=\"{'width': col.Width && col.Width > 0? col.Width +'px':null}\">\r\n\r\n                        <span (click)=\"getGridsorting(col.Field)\">{{col.Name|translate}}</span>\r\n                        <span *ngIf=\"IsSorting== true\">\r\n                          <span *ngIf=\"SortingField.field ==col.Field && SortingField.direction=='0'\"\r\n                          class=\"la la-caret-down table-sort-icon\"></span>\r\n                        <span *ngIf=\"SortingField.field ==col.Field && SortingField.direction=='1'\"\r\n                          class=\"la la-caret-up table-sort-icon\"></span>\r\n                        </span>\r\n                        <span class=\"resize_element d-none\"></span>\r\n\r\n                      </div>\r\n                    </th>\r\n\r\n                  </ng-container>\r\n                </ng-container>\r\n\r\n\r\n              </tr>\r\n\r\n              <tr class=\"no-print\" *ngIf=\"IsFilter\">\r\n\r\n                <th></th>\r\n                <th *ngIf=\"IsShowDetailsGo\"></th>\r\n                <th *ngIf=\"IsInnerGrid\"></th>\r\n                <th *ngIf=\"FieldGroupView\"></th>\r\n                <th *ngIf=\"IsEdit||IsDelete\" [ngClass]=\"{'displaynone':IsHidden.Both}\"></th>\r\n                <th *ngIf=\"IsAttach\"></th>\r\n                <th *ngIf=\"IsAssign\"></th>\r\n                <th *ngIf=\"IsPermission\"></th>\r\n                <th *ngIf=\"IsTicketGroupAssign\"></th>\r\n                <th *ngIf=\"IsDynamicListpage\"></th>\r\n                <th *ngIf=\"IsActive||IsDuplicate\"></th>\r\n\r\n                <ng-container *ngFor=\"let col of columnDefs;let colindex = index\">\r\n                  <ng-container *ngIf=\"col.IsVisible !=false\">\r\n\r\n                    <th [ngClass]=\"col.ClassName\"\r\n                    [ngStyle]=\"{'width': col.IsTDWidth && col.Width && col.Width > 0? col.Width +'px':null,'min-width': col.IsTDWidth && col.Width && col.Width > 0? col.Width +'px':null}\" >\r\n                      <div class=\"table_th_div\" [ngClass]=\"{'set-width': col.Width && col.Width > 0}\"\r\n                       [ngStyle]=\"{'width': col.Width && col.Width > 0? col.Width +'px':null}\">\r\n                        <span *ngIf=\"col.DataType !=3 && col.DataType !=4\">\r\n\r\n                          <input type=\"text\" class=\"grid-search-textbox\" (keyup)=\"getGridSearchTextChange($event)\" (keydown)=\"getGridSearch($event)\"\r\n                            [(ngModel)]=\"GridFilter[col?.Field]\" [ngModelOptions]=\"{standalone: true}\">\r\n                        </span>\r\n                        <span *ngIf=\"col.DataType ==3 || col.DataType ==4\">\r\n\r\n                          <input type=\"text\"  class=\"grid-search-textbox\"  readonly bsDatepicker (bsValueChange)=\"getGridSearch($event,col.DataType,GridFilter[col?.Field])\"\r\n                            [(ngModel)]=\"GridFilter[col?.Field]\" [ngModelOptions]=\"{standalone: true}\">\r\n\r\n                            <span *ngIf=\"GridFilter[col?.Field]\" class=\"clear-btn\" (click)=\"GridFilter[col?.Field] = null;getGridSearch($event,col.DataType,GridFilter[col?.Field])\">x</span>\r\n                        </span>\r\n                        <span class=\"resize_element d-none\"></span>\r\n                      </div>\r\n                    </th>\r\n\r\n                  </ng-container>\r\n                </ng-container>\r\n\r\n\r\n              </tr>\r\n\r\n            </thead>\r\n\r\n            <tbody  class=\"tbodys\">\r\n\r\n              <ng-container *ngFor=\"let list of gridData; let i = index\">\r\n\r\n                <ng-container [ngTemplateOutlet]=\"trloop\" [ngTemplateOutletContext]=\"{list:list,index:i,leval:0}\">\r\n                </ng-container>\r\n\r\n\r\n\r\n              <tr *ngIf=\"gridData.length < 1\" class=\"no_records\">\r\n                <td [colSpan]=\"columnDefs.length + 4\" class=\"no_records\"> {{'No Record found'|translate}}</td>\r\n              </tr>\r\n\r\n            </ng-container>\r\n\r\n            </tbody>\r\n\r\n          </table>\r\n        </div>\r\n        <div class=\"grid-list-view\">\r\n          <div class=\"grid-list-view-body\">\r\n            <ul class=\"grid-list-view-list\">\r\n              <ng-container\r\n                *ngFor=\"let list of  gridData let i = index\">\r\n\r\n              <li>\r\n                <div class=\"grid-list-inner clearfix\">\r\n                  <div class=\"grid-list-img\">\r\n                    <div class=\"img-responsive\">\r\n                      <!-- <img src=\"\" /> -->\r\n                    </div>\r\n                  </div>\r\n                  <div class=\"grid-list-desc\">\r\n                    <!-- <h6 class=\"m-0\">\r\n                      <span app-grid-datatype [list]=\"list\" [col]=\"ListcolumnDefs[0]\"></span>\r\n                    </h6> -->\r\n                    <ng-container *ngFor=\"let col of columnDefs; let ic = index\">\r\n                      <ng-container *ngIf=\"col.IsVisible !=false && col.DataType !=7\">\r\n                        <td [ngClass]=\"col.ClassName\" [ngClass]=\"col.ClassName\">\r\n                          <div id=\"td_content_{{i}}_{{ic}}\" class=\"table_td_content tooltips\">\r\n                            <ng-container [ngSwitch]=\"col.FieldType\">\r\n\r\n                              <h6 class=\"m-0\">\r\n                              <a *ngSwitchCase=\"columnFieldType.details\" class=\"cursor-pointer themecolor\"\r\n                                (click)=\"_goToDetails(list,col)\">\r\n\r\n                                <ng-container *ngIf=\"ListcolumnDefs && ListcolumnDefs.length > 0\">\r\n                                  <span app-grid-datatype [list]=\"list\" [col]=\"ListcolumnDefs[0]\"> </span>\r\n                                </ng-container>\r\n\r\n                              </a>\r\n                            </h6>\r\n                            </ng-container>\r\n                          </div>\r\n                        </td>\r\n                      </ng-container>\r\n                    </ng-container>\r\n\r\n                    <p class=\"m-0\" *ngIf=\"ListcolumnDefs && ListcolumnDefs.length > 1\">\r\n                      <span app-grid-datatype [list]=\"list\" [col]=\"ListcolumnDefs[1]\"></span>\r\n                    </p>\r\n                    <p class=\"m-0\" *ngIf=\"ListcolumnDefs && ListcolumnDefs.length > 2\">\r\n                      <span app-grid-datatype [list]=\"list\" [col]=\"ListcolumnDefs[2]\"></span>\r\n                    </p>\r\n                  </div>\r\n                  <div class=\"grid-list-action\">\r\n                    <div class=\"dropdown action_drop action-lists\">\r\n\r\n                      <a class=\"themecolor detail-view-icon\" (click)=\"list.IsShowDetails = !list.IsShowDetails\">\r\n                        <i class=\"la la-angle-down themecolor\" *ngIf=\"!list.IsShowDetails\" ></i>\r\n                        <i class=\"la la-angle-up themecolor\"  *ngIf=\"list.IsShowDetails\"></i>\r\n                      </a>\r\n\r\n                      <a href=\"javascript:void(0);\" class=\"no-icon themecolor m-r-5\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                        role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                        <i class=\"la la-ellipsis-v\"></i>\r\n                      </a>\r\n                      <ul class=\"dropdown-menu\">\r\n                        <li class=\"m-b-5 text-center\" *ngIf=\"IsEdit\">\r\n                          <a href=\"javascript:void(0);\" *ngIf=\"checkEditCondition(list)\">\r\n                            <button type=\"button\" [ngClass]=\"{displaynone: list.isEditHide}\"\r\n                              [ngClass]=\"{'displaynone':((IsEdit && IsHidden.Edit) || IsHidden.Both)}\" (click)=\"_editmethod(list)\"\r\n                              class=\"table_buttons\" title=\"Edit\"><i class=\"fa fa-edit\"></i></button>\r\n                          </a>\r\n                        </li>\r\n                        <li class=\"m-b-5 text-center\" *ngIf=\"IsDelete\">\r\n                          <a href=\"javascript:void(0);\" *ngIf=\"checkDeleteCondition(list)\">\r\n                            <button type=\"button\" [ngClass]=\"{displaynone: list.isDeletHide}\" [ngClass]=\"{'displaynone': ((IsDelete && IsHidden.Delete) || IsHidden.Both)}\"\r\n                      (click)=\"_deleteMethod(list)\" class=\"table_buttons\" title=\"Delete\"\r\n                      data-type=\"confirm\"><i class=\"fa fa-trash-o\"></i></button>\r\n                          </a>\r\n                        </li>\r\n                        <li class=\"m-b-5 text-center\" *ngIf=\"IsAssign\">\r\n                          <a class=\"cursor-pointer themecolor\" *ngIf=\"checkAssignCondition(list)\"  (click)=\"_assignmentMethod(list)\">\r\n                            <i class=\"fa fa-plus-square\"></i>\r\n                          </a>\r\n                        </li>\r\n                        <li class=\"m-b-5 text-center\" *ngIf=\"IsPermission\">\r\n                          <a class=\"cursor-pointer themecolor \" (click)=\"_PermissionMethod(list)\">\r\n                            <i class=\"tabler-ti ti-shield-lock-filled\"></i>\r\n                          </a>\r\n                        </li>\r\n                        <ng-container *ngFor=\"let actcol of ActionColumnDefs\">\r\n                          <li class=\"m-b-5\">\r\n                            <a href=\"javascript:void(0);\">\r\n                              <button class=\"btn btn-outline-success text-left w-100\" (click)=\"_callButtonEvent(list,actcol,$event)\" style=\"border: 1px solid;\">\r\n                                <i [ngClass]=\"actcol.IconName\"></i> {{actcol.Name|translate}}\r\n                              </button>\r\n                            </a>\r\n                          </li>\r\n                        </ng-container>\r\n\r\n                      </ul>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"grid-list-detail\" *ngIf=\"list.IsShowDetails\" >\r\n\r\n                  <ng-container *ngFor=\"let col of ListcolumnDefs\">\r\n                    <p class=\"clearfix\" style=\"margin-bottom: 5px;\">\r\n                      <span class=\"pull-left text-muted\" style=\"width: 50%;\">{{col.Name|translate}}</span>\r\n                      <ng-container [ngSwitch]=\"col.FieldType\">\r\n\r\n                        <a *ngSwitchCase=\"columnFieldType.JSONString\" class=\"cursor-pointer position-relative pull-left\" style=\"width: 50%;\">\r\n                          <span class=\"Condition-view\" (click)=\"_showJsonView(list,col)\"  *ngIf=\"list[col?.Field]\">\r\n                            <i class=\"tabler-ti ti-scan-eye themecolor\"></i>\r\n                            <strong>{{\"View\"|translate}}</strong>\r\n                          </span>\r\n                                 \r\n                          <div class=\"json-view-popup\" *ngIf=\"list.isShowJsonView\">\r\n                            <span class=\"pull-right close\" (click)=\"hideJsonView(list)\"><i class=\"la la-times\"></i></span>\r\n                            <div class=\"p-10\">\r\n                             <pre class=\"well-code\">{{list.JSONView | json }}</pre>\r\n                            </div>\r\n                          \r\n                          </div>\r\n          \r\n                        </a>\r\n                        <span  *ngSwitchDefault class=\"pull-left\" style=\"width: 50%;\" app-grid-datatype [list]=\"list\" [col]=\"col\"></span>\r\n\r\n                      </ng-container>                    \r\n                    </p>\r\n                  </ng-container>\r\n\r\n                </div>\r\n\r\n              </li>\r\n              </ng-container>\r\n\r\n\r\n\r\n            </ul>\r\n          </div>\r\n\r\n        </div>\r\n      </div>\r\n      <!-- && (totalCount>10 || GridSearchType==2) -->\r\n      <app-pagination *ngIf=\"!IsHidePagination || IsClientPagination\" [totalCount]=\"totalRecordCount\" [pageCount]=\"pageCount\"\r\n        [currentPage]=\"pageNo\" [pageSize]=\"pageSize\" [gridSearchType]=\"GridSearchType\"\r\n        (getPaginationListData)=\"getPaginationListData($event.pageCount,$event.pageSize)\">\r\n      </app-pagination>\r\n    </div>\r\n  </div>\r\n\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n<ng-template #trloop let-list='list' let-index=\"index\" let-leval=\"leval\">\r\n\r\n  <tr>\r\n\r\n    <td class=\"width45\">\r\n      <label class=\"fancy-checkbox\">\r\n        <input id=\"table_row_checkbox_{{index}}\" class=\"checkbox-tick\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"list.isGridSelect\" [ngModelOptions]=\"{standalone: true}\"\r\n          (change)=\"getCheckboxCheckedRules($event,index,list)\">\r\n        <span></span>\r\n      </label>\r\n      <!-- <img src=\"assets/images/avatar/avatar1.jpg\" class=\"rounded-circle avatar\" alt=\"\"> -->\r\n    </td>\r\n\r\n    <td *ngIf=\"IsShowDetailsGo\">\r\n      <a *ngIf=\"!list.isHideDetails\" class=\"cursor-pointer themecolor \" (click)=\"_goToDetails(list)\" style=\"cursor: pointer;\">\r\n        <i class=\"la la-external-link\" style=\"font-size: 18px;\"></i>\r\n      </a>\r\n    </td>\r\n\r\n    <td *ngIf=\"IsInnerGrid\">\r\n      <a class=\"cursor-pointer themecolor \" (click)=\"innerGridShow(list)\"  data-bs-toggle=\"collapse\" data-toggle=\"collapse\" [attr.data-target]=\"'#stage_' + list.RecId\">\r\n        <i class=\"fa fa-list-alt\"></i>\r\n      </a>\r\n    </td>\r\n    <td *ngIf=\"FieldGroupView\">\r\n      <a class=\"cursor-pointer themecolor \" (click)=\"SetFieldGroup(list)\"  data-bs-toggle=\"collapse\" data-toggle=\"collapse\" [attr.data-target]=\"'#stage_' + list.RecId\">\r\n        <i class=\"tabler-ti ti-binary-tree\"></i>\r\n      </a>\r\n    </td>\r\n      <td *ngIf=\"IsEdit||IsDelete\" [ngClass]=\"{'displaynone':IsHidden.Both}\">\r\n\r\n        <ng-container  *ngIf=\"IsEdit\" >\r\n          <span *ngIf=\"checkEditCondition(list)\"\r\n           [ngClass]=\"{'displaynone':((IsEdit && IsHidden.Edit) || IsHidden.Both || list.isEditHide)}\"\r\n          (click)=\"_editmethod(list)\" class=\"grid-edit m-r-5\" title=\"Edit\"><i\r\n            class=\"fa fa-edit\"></i></span>\r\n\r\n        </ng-container>\r\n\r\n          <ng-container  *ngIf=\"IsDelete\" ><span class=\"grid-delete m-r-5\" *ngIf=\"checkDeleteCondition(list)\"\r\n            [ngClass]=\"{'displaynone': ((IsDelete && IsHidden.Delete) || IsHidden.Both) || list.isDeletHide}\">\r\n              <common-delete [item]=\"list\" [nowDelete]=\"condtionDelete\" (deleteMethod)=\"_deleteMethod($event.data)\"></common-delete>\r\n            </span>\r\n\r\n          </ng-container>\r\n\r\n<!--\r\n        <button *ngIf=\"IsDelete\" type=\"button\" [ngClass]=\"{displaynone: list.isDeletHide}\"\r\n         class=\"btn-outline-danger table_buttons\" title=\"Delete\"\r\n          data-type=\"confirm\">\r\n\r\n        </button> -->\r\n        <span *ngIf=\"IsExportJson && globalService.devMode\"\r\n                      (click)=\"_exportJsonPopup(list)\" class=\"grid-edit m-r-5\" title=\"Export Json\"><i\r\n                        class=\"fa fa-download\"></i></span>\r\n      </td>\r\n\r\n    <td *ngIf=\"IsActive||IsDuplicate\">\r\n      <button *ngIf=\"IsActive\" type=\"button\" [ngClass]=\"{displaynone: list.IsActive}\"\r\n        (click)=\"_Activemethod(list)\" class=\"btn-outline-success table_buttons\"\r\n        title=\"Active\">{{'Activate'|translate}}</button>\r\n\r\n\r\n      <button *ngIf=\"IsDuplicate\" type=\"button\" [ngClass]=\"{displaynone: list.IsDuplicate}\"\r\n        (click)=\"_DuplicateMethod(list)\" class=\"btn-outline-primary table_buttons\"\r\n        title=\"Duplicate\">{{'Duplicate'|translate}}</button>\r\n\r\n    </td>\r\n\r\n    <td *ngIf=\"IsCategorySetupView\">\r\n      <a class=\"cursor-pointer themecolor \" (click)=\"_categorySetupView(list)\">\r\n        <i class=\"fa fa-external-link\"></i>\r\n      </a>\r\n    </td>\r\n    <td *ngIf=\"IsAttach\">\r\n      <a class=\"cursor-pointer themecolor \" *ngIf=\"checkAttachmentCondition(list)\" (click)=\"_attachmentMethod(list)\">\r\n        <i class=\"fa fa-paperclip\"></i>\r\n      </a>\r\n    </td>\r\n\r\n    <td *ngIf=\"IsDynamicListpage\">\r\n      <a class=\"cursor-pointer themecolor \" (click)=\"_listpage(list)\">\r\n        <i class=\"fa fa-edit\"></i>\r\n      </a>\r\n    </td>\r\n\r\n\r\n    <td *ngIf=\"IsAssign\">\r\n      <a class=\"cursor-pointer themecolor\" *ngIf=\"checkAssignCondition(list)\" (click)=\"_assignmentMethod(list)\">\r\n        <i class=\"fa fa-plus-square\"></i>\r\n      </a>\r\n    </td>\r\n\r\n    <td *ngIf=\"IsPermission\">\r\n      <a class=\"cursor-pointer themecolor \" (click)=\"_PermissionMethod(list)\">\r\n        <i class=\"tabler-ti ti-shield-lock-filled\"></i>\r\n      </a>\r\n    </td>\r\n\r\n    <td *ngIf=\"IsTicketGroupAssign\">\r\n      <a class=\"cursor-pointer themecolor \" (click)=\"_ticketGroupAssignmentMethod(list)\">\r\n        <i class=\"fa fa-users\"></i>\r\n      </a>\r\n    </td>\r\n\r\n    <ng-container *ngFor=\"let col of columnDefs; let ic = index\">\r\n      <ng-container *ngIf=\"col.IsVisible !=false && col.DataType !=7\">\r\n        <td [ngClass]=\"col.ClassName\" [ngClass]=\"col.ClassName\"\r\n        [style.padding-left]=\"(col.IsExpanded&&leval)?(25*leval)+'px': '8px'\">\r\n          <div id=\"td_content_{{index}}_{{ic}}\" class=\"table_td_content tooltips\" [ngClass]=\"{'tree_column': col.IsExpanded}\">\r\n\r\n            <span *ngIf=\"col.IsExpanded && (list.child && list.child.length > 0 || TreeLoadType == 'Server')\">\r\n              <span class=\"collapsed-row-button\" *ngIf=\"!list.IsExpanded\"\r\n                  (click)=\"expandrow(list,index)\"></span>\r\n              <span class=\"expanded-row-button\" *ngIf=\"list.IsExpanded\"\r\n                  (click)=\"collapserow(list,index)\"></span>\r\n            </span>\r\n\r\n            <ng-container [ngSwitch]=\"col.FieldType\">\r\n\r\n\r\n              <a *ngSwitchCase=\"columnFieldType.details\" class=\"cursor-pointer link-color\"\r\n                (click)=\"_goToDetails(list,col)\">\r\n                <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n\r\n                </span>\r\n              </a>\r\n\r\n              <a *ngSwitchCase=\"columnFieldType.text\" class=\"cursor-pointer themecolor\"\r\n                (click)=\"_goToAction(list,col)\">\r\n                <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n\r\n                </span>\r\n              </a>\r\n              <ng-container *ngSwitchCase=\"columnFieldType.button\">\r\n                <a *ngIf=\"showButton(list,col)\" class=\"cursor-pointer btn btn-theme color-white p-t-0 p-b-0\"\r\n                (click)=\"_callButtonEvent(list,col)\">\r\n                <i [ngClass]=\"col.IconName\"></i> {{col.Name|translate}}\r\n              </a>\r\n\r\n              </ng-container>\r\n\r\n              <a *ngSwitchCase=\"columnFieldType.copyText\" class=\"cursor-pointer\"\r\n                >\r\n                <!-- <i class=\"fa fa-clone\"></i> {{col.Field|translate}} -->\r\n                <span (click)=\"_copyTextEvent(list,1,col.Field)\" app-grid-datatype [list]=\"list\" [col]=\"col\"></span>\r\n                <i (click)=\"_copyTextEvent(list,2,col.Field)\" class=\"fa fa-clone\" style=\"padding-left: 5px; color: green;\"></i>\r\n              </a>\r\n\r\n              <ng-container *ngSwitchCase=\"columnFieldType.FileTypeIcon\">\r\n                <span app-grid-filetype [list]=\"list\" [col]=\"col\">\r\n                </span>\r\n\r\n              </ng-container>\r\n              <a *ngSwitchCase=\"columnFieldType.icon\" class=\"cursor-pointer btn btn-theme color-white p-t-0 p-b-0\"\r\n                (click)=\"_callIconEvent(list,col)\">\r\n                <i [ngClass]=\"col.IconName\"></i>\r\n              </a>\r\n\r\n              <a *ngSwitchCase=\"columnFieldType.onOff\" class=\"cursor-pointer color-white\"\r\n                (click)=\"_callOnOffEvent(list,col)\">\r\n                <!-- <label class=\"switch\">\r\n                  <input type=\"checkbox\" [checked]=\"list[col?.Field]\">\r\n                  <span class=\"slider round\"></span>\r\n                </label> -->\r\n\r\n                <div class=\"onOffButton\" [ngClass]=\"{'onNow':list[col?.Field]}\">\r\n                  <span [ngClass]=\"{'onn':list[col?.Field]}\"></span>\r\n                </div>\r\n\r\n                <i [ngClass]=\"col.IconName\"></i>\r\n              </a>\r\n\r\n              <a *ngSwitchCase=\"columnFieldType.JSONString\" class=\"cursor-pointer position-relative\">\r\n                <span class=\"Condition-view\" (click)=\"_showJsonView(list,col)\"  *ngIf=\"list[col?.Field]\">\r\n                  <i class=\"tabler-ti ti-scan-eye themecolor\"></i>\r\n                  <strong>{{\"View\"|translate}}</strong>\r\n                </span>\r\n                <!-- <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n                </span> -->\r\n\r\n                <div class=\"json-view-popup\" *ngIf=\"list.isShowJsonView\">\r\n                  <span class=\"pull-right close\" (click)=\"hideJsonView(list)\"><i class=\"la la-times\"></i></span>\r\n                  <div class=\"p-10\">\r\n                   <pre class=\"well-code\">{{list.JSONView | json }}</pre>\r\n                  </div>\r\n\r\n                </div>\r\n\r\n              </a>\r\n\r\n\r\n\r\n              <span *ngSwitchCase=\"columnFieldType.Formula\">\r\n               {{getDataWithHandlebar(col.FormulaData,list)}}\r\n              </span>\r\n\r\n              <span *ngSwitchDefault>\r\n\r\n                <span app-grid-datatype [list]=\"list\" [col]=\"col\">\r\n\r\n                </span>\r\n\r\n              </span>\r\n\r\n            </ng-container>\r\n\r\n\r\n          </div>\r\n        </td>\r\n\r\n      </ng-container>\r\n\r\n      <ng-container *ngIf=\"col.DataType ==7\">\r\n        <td [ngClass]=\"col.ClassName\" [ngClass]=\"col.ClassName\"\r\n        [style.padding-left]=\"(col.IsExpanded&&leval)?(25*leval)+'px': '8px'\">\r\n        <div id=\"td_content_{{index}}_{{ic}}\" class=\"table_td_content tooltips\" [ngClass]=\"{'tree_column': col.IsExpanded}\">\r\n          <div class=\"img-responsive\">\r\n            <!-- <img *ngIf=\"list[col?.Field]\" class=\"grid-image\" src=\"{{globalService.ServerUrl}}/{{list[col?.Field]}}\"\r\n            [attr.data-darkbox]=\"globalService.ServerUrl+'/'+list[col?.Field]\"\r\n             > -->\r\n             <span app-image-type class=\"grid-image\" [list]=\"list\" [col]=\"col\" [attr.data-darkbox]=\"list[col?.Field]\" [attr.data-darkbox-group]=\"col?.Field\">\r\n\r\n             </span>\r\n          </div>\r\n        </div>\r\n      </td>\r\n      </ng-container>\r\n\r\n      <ng-container *ngIf=\"col.DataType == 102\">\r\n        <td [ngClass]=\"col.ClassName\" [ngClass]=\"col.ClassName\"\r\n        [style.padding-left]=\"(col.IsExpanded&&leval)?(25*leval)+'px': '8px'\">\r\n      </td>\r\n      </ng-container>\r\n      \r\n      <ng-container *ngIf=\"col.DataType == 103\">\r\n        <td [ngClass]=\"col.ClassName\" [ngClass]=\"col.ClassName\"\r\n        [style.padding-left]=\"(col.IsExpanded&&leval)?(25*leval)+'px': '8px'\">\r\n        <a href=\"javascript:void(0)\" class=\"link-color\" (click)=\"downloadFile(list,col)\">\r\n          <span [title]=\"list[col.FileNameField]\">\r\n            <i class=\"la la-cloud-download-alt m-r-5\"></i>\r\n            {{list[col.FileNameField] ?list[col.FileNameField]:'Download' }}\r\n          </span>\r\n        </a>\r\n      </td>\r\n      </ng-container>\r\n      \r\n      \r\n    </ng-container>\r\n\r\n  </tr>\r\n\r\n  <tr id=\"stage_{{list.RecId}}\" class=\"panel-collapse collapse\" *ngIf=\"IsInnerGrid\">\r\n    <td class=\"inside_gird_row\" colspan=\"12\">\r\n      <ng-container *ngIf=\"selectedStageId==list.RecId\">\r\n        <!-- <app-grid (openCreatePopup)=\"_openCreatePopupInnerGrid()\"\r\n        [IsInnerGridCreate]=\"IsInnerGridCreate\" [IsInnerGridEdit]=\"IsInnerGridEdit\"\r\n        [IsInnerGridDelete]=\"IsInnerGridDelete\" [GridTitle]=\"InnerGridTitle\" [columnDefs]=\"InnerColumnDefs\"\r\n        [grid]=\"79\" (editMethodInnerGrid)=\"_innerGrideditmethodData()\"\r\n        (getPageList)=\"_getInnerPageList()\" ></app-grid> -->\r\n        <app-inner-grid [grid]=\"79+'_'+list.RecId\" [IsInnerGridCreate]=\"IsInnerGridCreate\" [GridTitle]=\"InnerGridTitle\"\r\n        (getPageList)=\"_getInnerPageList($event.Criteria)\" [IsInnerGridEdit]=\"IsInnerGridEdit\"\r\n        [IsInnerGridDelete]=\"IsInnerGridEdit\"\r\n        (openCreatePopupInnerGrid)=\"_openCreatePopupInnerGrid()\"\r\n         *ngIf=\"IsInnerGrid\" [columnDefs]=\"InnerColumnDefs\"\r\n         (editMethodInnerGrid)=\"_innerGrideditmethod($event.data)\"\r\n         (deleteMethodInnerGrid)=\"_innerGriddeleteMethod($event.data)\"\r\n         >\r\n        </app-inner-grid>\r\n      </ng-container>\r\n    </td>\r\n  </tr>\r\n\r\n  <tr id=\"stage_{{list.RecId}}\" class=\"panel-collapse collapse\" *ngIf=\"FieldGroupView && list.ShowTreeView\">\r\n    <td class=\"inside_gird_row\" colspan=\"12\">\r\n      <ng-container >\r\n        <app-tree-grid-view [FieldGroupHolder]=\"list\" [FormData]=\"list\"\r\n        [TreeId]=\"'stage_'+list.RecId\" [FieldGroupDescription]=\"list?.FormName\"></app-tree-grid-view>\r\n      </ng-container>\r\n    </td>\r\n  </tr>\r\n\r\n  <ng-container *ngIf=\"list.child && list.IsExpanded\">\r\n      <ng-container *ngFor=\"let CData of list.child; let ci = index\">\r\n          <ng-container [ngTemplateOutlet]=\"trloop\"\r\n              [ngTemplateOutletContext]=\"{list:CData,index:ci,leval:leval+1}\">\r\n          </ng-container>\r\n      </ng-container>\r\n  </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"IsMultipleValueSearchPopUp\">\r\n  <app-multiple-value-search [IsMultipleValueSearchModal]=\"IsMultipleValueSearchPopUp\" [EntityTypeId]=\"EntityTypeId\"\r\n  (MultipleSearchValues)=\"_getMultipleSearch($event.SearchObj)\"></app-multiple-value-search>\r\n</ng-container>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../../dynamic-apps.service';\r\nimport { environment } from '../../../core/environment';\r\nimport { GridService } from '../../grid/grid.service';\r\nimport { LoaderService } from '../../../loader.service';\r\n\r\n@Component({\r\n  selector: '.app-attach-list',\r\n  templateUrl: './attach-list.component.html',\r\n  styleUrls: ['./attach-list.component.scss'],\r\n})\r\nexport class AttachListComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private gridService: GridService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    debugger;\r\n    this.ServerUrl = environment.ServerUrl;\r\n    this.getUploadList();\r\n  }\r\n  ServerUrl: any;\r\n  @Input() docList: any = null;\r\n  @Input() RecId: number = 0;\r\n  @Input() Permission: any;\r\n\r\n  @Output() openFileUpload = new EventEmitter<{ data: any; version: number }>();\r\n\r\n  _openFileUpload(item: any) {\r\n    this.openFileUpload.emit({ data: item, version: this.Version });\r\n  }\r\n\r\n  showUploadlist = false;\r\n  openmultifileUploadlist() {\r\n    this.showUploadlist = true;\r\n  }\r\n\r\n  closeUploadlistPopup() {\r\n    this.showUploadlist = false;\r\n  }\r\n\r\n  filename: any = null;\r\n  Version: number = 0;\r\n  Ext: any = null;\r\n  Files: any = null;\r\n  FileRecId: any = null;\r\n  UploadLists: any[] = [];\r\n\r\n  getUploadList() {\r\n    debugger;\r\n\r\n    this.dynamicAppsService\r\n      .getUploadFileList(this.docList.RecId, this.RecId)\r\n      .subscribe(\r\n        (sucess: any) => {\r\n          debugger;\r\n          this.UploadLists = sucess.body;\r\n\r\n          if (this.UploadLists.length > 0) {\r\n            this.UploadLists.sort((a, b) => {\r\n              if (a.DocumentVersion < b.DocumentVersion) return -1;\r\n              else if (a.DocumentVersion > b.DocumentVersion) return 1;\r\n              else return 0;\r\n            });\r\n            let data = this.UploadLists[this.UploadLists.length - 1];\r\n            this.filename = data.Name;\r\n            this.Version = data.DocumentVersion;\r\n            this.Ext = data.Ext;\r\n            this.Files = data.Path;\r\n            this.FileRecId = data.RecId;\r\n          }\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n        }\r\n      );\r\n  }\r\n\r\n  ActivateUplaodFile(item: any) {\r\n    this.dynamicAppsService.ActivateUplaodFile(item.RecId).subscribe(\r\n      (success: any) => {\r\n        debugger;\r\n\r\n        Swal.fire('success', 'Activated Sucessfully');\r\n        this.getUploadList();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  InActivateUplaodFile(item: any) {\r\n    this.dynamicAppsService.InActivateUplaodFile(item.RecId).subscribe(\r\n      (success: any) => {\r\n        debugger;\r\n\r\n        Swal.fire('success', 'In Activated Sucessfully');\r\n        this.getUploadList();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n      }\r\n    );\r\n  }\r\n\r\n  uploadFilesDownload(RecId: any, filename: string) {\r\n    this.dynamicAppsService.uploadFilesDownload(RecId).subscribe(\r\n      (res: Blob) => {\r\n        debugger;\r\n        this.gridService.downloadFile(res, res.type, filename);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n      }\r\n    );\r\n  }\r\n}\r\n","<td>\r\n  <span *ngIf=\"Permission !='View' \" id=\"{{docList.RecId}}\" (click)=\"_openFileUpload(docList)\"\r\n    class=\"fa fa-paperclip themeprimary Uploadfile\"></span>\r\n</td>\r\n<!-- *ngIf=\"UploadLists.length>1\" -->\r\n<td>{{docList.DocumentName | translate}}<span *ngIf=\"UploadLists.length>1\" (click)=\"openmultifileUploadlist()\"\r\n    class=\"fa fa-plus-square-o text-info p-1\"></span></td>\r\n<td>{{filename}}</td>\r\n<td>{{Version}}</td>\r\n<td>{{Ext}}</td>\r\n<td>\r\n  <!-- else erp_location -->\r\n  <a *ngIf=\"Files && FileRecId\" href=\"javascript:void(0);\" (click)=\"uploadFilesDownload(FileRecId,filename)\">\r\n    <span class=\"fa fa-download m-r-5\"></span> {{filename}}</a>\r\n</td>\r\n\r\n<div class=\"modal fade show\" id=\"uploadlist\" role=\"dialog\" [ngClass]=\"{'showPop': showUploadlist}\"\r\n  style=\"min-height: Calc(100vh - 20px);\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n    <div class=\"modal-content\">\r\n\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Upload Lists' | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeUploadlistPopup()\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n\r\n      <div class=\"modal-body\">\r\n        <input type=\"hidden\" id=\"attachviewname\" />\r\n        <div id=\"AttachPartial11\">\r\n          <div class=\"widget\" style=\"margin-bottom:0px; height:100%\">\r\n\r\n            <div class=\"widget-body\">\r\n              <div style=\"overflow:auto;\">\r\n                <table class=\"table\">\r\n\r\n                  <tbody>\r\n                    <tr>\r\n                      <!-- <th>{{'Action'  | translate}}</th> -->\r\n                      <th>{{'Attachment Type' | translate}}</th>\r\n                      <th>{{'Files Name' | translate}}</th>\r\n                      <th>{{'Version' | translate}}</th>\r\n                      <th>{{'Ext' | translate}}</th>\r\n                      <!-- <th>{{'Status' | translate}}</th> -->\r\n                      <th>{{'Files' | translate}}</th>\r\n                    </tr>\r\n                    <tr *ngFor=\"let item of UploadLists\">\r\n                      <td>{{docList.DocumentName | translate}}</td>\r\n                      <td>{{item.Name}}</td>\r\n                      <td>{{item.DocumentVersion}}</td>\r\n                      <td>{{item.Ext}}</td>\r\n                      <!-- <td>{{item.IsActive?\"Active\":item.IsActive ==false? \"In Active\" : \"\" | translate}}</td> -->\r\n                      <td>\r\n                        <!-- else erp_location  -->\r\n                        <a *ngIf=\"item.RecId\" href=\"javascript:void(0);\"\r\n                          (click)=\"uploadFilesDownload(item.RecId,item.Name)\">\r\n                          <span class=\"la la-download m-r-5\"></span> {{item.Name}}</a>\r\n                      </td>\r\n                    </tr>\r\n\r\n                  </tbody>\r\n                </table>\r\n              </div>\r\n\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport {\r\n  FormControl,\r\n  Validators,\r\n  FormGroup,\r\n} from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../../dynamic-apps.service';\r\nimport { GridService } from '../../grid/grid.service';\r\nimport { GlobalService } from '../../../core/global.service';\r\nimport { TranslatePipe } from '../../../core/translate.pipe';\r\nimport { LoaderService } from '../../../loader.service';\r\n\r\n\r\n@Component({\r\n  selector: 'app-attach-popup',\r\n  templateUrl: './attach-popup.component.html',\r\n  styleUrls: ['./attach-popup.component.scss'],\r\n})\r\nexport class AttachPopupComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private gridService: GridService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit() {\r\n    debugger;\r\n    this.getAttachmentList();\r\n    this.AttachCreateforms();\r\n\r\n    this.gridService.onattachShow.subscribe((x) => {\r\n      debugger;\r\n      if (x) {\r\n        if (x.attach) {\r\n          this.getAttachmentList();\r\n          this.showAttachPopup = true;\r\n        }\r\n      }\r\n    });\r\n  }\r\n  @Input() ViewName: string | any = null;\r\n  @Input() TableName: string | any = null;\r\n  @Input() Permission: string | any = null;\r\n  @Input() refRecId: number = 0;\r\n  @Input() RefTableName: string | any = null;\r\n  @Input() TypeId: number = 0;\r\n  @Input() attachmentType: number = 0;\r\n\r\n  @Input() showAttachPopup: boolean = false;\r\n  @Output() closeAttach: any = new EventEmitter<{ Switch?: boolean }>();\r\n  showUploadlist: boolean = false;\r\n\r\n  closeAttachPopup() {\r\n    this.showAttachPopup = false;\r\n    this.closeAttach.emit({ Switch: this.showAttachPopup });\r\n  }\r\n\r\n  openUploadlistPopup() {\r\n    this.showUploadlist = true;\r\n  }\r\n\r\n  closeUploadlistPopup() {\r\n    this.showUploadlist = false;\r\n  }\r\n\r\n  attachList: any[] = [];\r\n  getAttachmentList() {\r\n    debugger;\r\n    this.dynamicAppsService\r\n      .getAttachmentList(this.TypeId, this.attachmentType)\r\n      .subscribe(\r\n        (success: any) => {\r\n          debugger;\r\n          let data = success;\r\n          this.attachList = [];\r\n          if (success) data = success;\r\n\r\n          this.attachList = data;\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          Swal.fire(this.translatePipe.transform(error.message));\r\n        }\r\n      );\r\n  }\r\n\r\n  currentDocRecId: any;\r\n  currentDoc: any;\r\n  currentDocVersion: number = 1;\r\n\r\n  openFileUpload(item: any, version: any) {\r\n    debugger;\r\n    this.currentDoc = item;\r\n    this.currentDocRecId = item.RecId;\r\n    if (version) this.currentDocVersion = version + 1;\r\n\r\n    this.openAttachCreatePopup();\r\n  }\r\n\r\n  AttachCreateform!: FormGroup;\r\n  submitted = false;\r\n  formval: any;\r\n\r\n  AttachCreateforms() {\r\n    this.AttachCreateform = new FormGroup({\r\n      Title: new FormControl(''),\r\n      FileName: new FormControl('', Validators.required),\r\n      File: new FormControl('', Validators.required),\r\n      DocumentType: new FormControl('', Validators.required),\r\n      DocumentVersion: new FormControl('', Validators.required),\r\n      refRecId: new FormControl(''),\r\n      RefTableName: new FormControl(''),\r\n    });\r\n    this.formval = this.AttachCreateform.controls;\r\n  }\r\n\r\n  showAttachList: boolean = false;\r\n  openAttachCreatePopup() {\r\n    debugger;\r\n    this.showAttachList = true;\r\n    this.AttachCreateform.reset();\r\n    var filename =\r\n      this.currentDoc.DocumentName +\r\n      '_' +\r\n      this.TableName +\r\n      '_' +\r\n      this.refRecId +\r\n      '_' +\r\n      this.currentDocVersion;\r\n\r\n    this.AttachCreateform.setValue({\r\n      Title: this.TableName,\r\n      FileName: filename,\r\n      File: null,\r\n      DocumentType: this.currentDocRecId,\r\n      DocumentVersion: this.currentDocVersion,\r\n      refRecId: this.refRecId,\r\n      RefTableName: this.RefTableName,\r\n    });\r\n  }\r\n\r\n  closeAttachCreatePopup() {\r\n    this.showAttachList = false;\r\n  }\r\n\r\n  fileToUpload: File | any = null; //files: FileList\r\n  handleFileInput(event: any) {\r\n    debugger;\r\n    var selectedFile = event.target.files;\r\n    this.fileToUpload = selectedFile.item(0);\r\n  }\r\n\r\n  onSubmit() {\r\n    debugger;\r\n\r\n    this.submitted = true;\r\n    if (this.AttachCreateform.invalid) {\r\n      return;\r\n    }\r\n\r\n    const formData = new FormData();\r\n    formData.append(this.fileToUpload.name, this.fileToUpload);\r\n\r\n    let insertData = this.AttachCreateform.value;\r\n\r\n    this.dynamicAppsService.uploadAttachFile(insertData, formData).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        Swal.fire(this.translatePipe.transform('File Uploaded Successfully'));\r\n        this.showAttachList = false;\r\n        this.getAttachmentList();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n        this.showAttachList = false;\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"modal fade show\" [ngClass]=\"{'showPop':showAttachPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\" style=\"overflow: visible;\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n    <div class=\"modal-content\">\r\n\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"myLargeModalLabel\">{{'Attachments' | translate}}\r\n          <span id=\"datatablename\">{{TableName | translate}}</span>\r\n          <span id=\"dataviewname\" class=\"ml-2\">{{ViewName | translate}}</span>\r\n        </h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeAttachPopup()\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n\r\n      <div class=\"modal-body\">\r\n        <input type=\"hidden\" id=\"attachviewname\" />\r\n        <div id=\"AttachPartial11\">\r\n          <div class=\"widget\" style=\"margin-bottom:0px; height:100%\">\r\n\r\n            <div class=\"widget-body\">\r\n              <div style=\"overflow:auto;\">\r\n                <table class=\"table\">\r\n\r\n                  <tbody>\r\n                    <tr>\r\n                      <th>{{'Upload' | translate}}</th>\r\n                      <th>{{'Attachment Type' | translate}}</th>\r\n                      <th>{{'Files Name' | translate}}</th>\r\n                      <th>{{'Version' | translate}}</th>\r\n                      <th>{{'Ext' | translate}}</th>\r\n                      <th>{{'Files' | translate}}</th>\r\n                    </tr>\r\n                    <tr *ngFor=\"let list of attachList; let i = index\" class=\"app-attach-list\" [docList]=\"list\"\r\n                      [Permission]=\"Permission\" [RecId]=\"refRecId\"\r\n                      (openFileUpload)=\"openFileUpload($event.data,$event.version)\">\r\n                    </tr>\r\n                  </tbody>\r\n                </table>\r\n              </div>\r\n\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n\r\n<div id=\"AttachCreatePopup\" class=\"modal fade show\" [ngClass]=\"{'showPop': showAttachList}\">\r\n  <div class=\"modal-dialog\">\r\n    <form class=\"clearfix\" [formGroup]=\"AttachCreateform\">\r\n      <div class=\"modal-content\">\r\n        <div class=\"modal-header\">\r\n          <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Attachments' | translate}}</h5>\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n            (click)=\"closeAttachCreatePopup()\">\r\n            <span aria-hidden=\"true\">×</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n          <div class=\"row\">\r\n            <div class=\"col-6\">\r\n              <div class=\"form-group\">\r\n                <div class=\"clearfix\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">{{'File Name' | translate}} </label>\r\n                </div>\r\n                <div class=\"control-input\">\r\n                  <input type=\"text\" name=\"FileName\" formControlName=\"FileName\" class=\"form-control\"\r\n                    [ngClass]=\"{'is-invalid': submitted && formval.FileName?.errors }\" />\r\n                  <div *ngIf=\"submitted && formval.FileName?.errors\" class=\"invalid-feedback\">\r\n                    <div *ngIf=\"formval.FileName?.errors.required\">{{'File Name is required' | translate}}</div>\r\n                  </div>\r\n                </div>\r\n\r\n              </div>\r\n              <div class=\"form-group\">\r\n                <div class=\"clearfix\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">{{'File' | translate}}</label>\r\n                </div>\r\n                <div class=\"control-input\">\r\n                  <input type=\"file\" name=\"File\" formControlName=\"File\" class=\"form-control\"\r\n                    (change)=\"handleFileInput($event)\" [ngClass]=\"{'is-invalid': submitted && formval.File?.errors }\" />\r\n                  <div *ngIf=\"submitted && formval.File?.errors\" class=\"invalid-feedback\">\r\n                    <div *ngIf=\"formval.File?.errors.required\">{{'File is required' | translate}}</div>\r\n                  </div>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n            <div class=\"col-6\">\r\n              <div class=\"form-group\">\r\n                <div class=\"clearfix\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">{{'Attach Type' | translate}}</label>\r\n                </div>\r\n                <div class=\"control-input\">\r\n                  <input type=\"text\" name=\"Attach Type\" readonly formControlName=\"DocumentType\" class=\"form-control\"\r\n                    [ngClass]=\"{'is-invalid': submitted && formval.DocumentType?.errors }\" />\r\n                  <div *ngIf=\"submitted && formval.DocumentType?.errors\" class=\"invalid-feedback\">\r\n                    <div *ngIf=\"formval.DocumentType?.errors.required\">{{'Attach Type is required' | translate}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div class=\"form-group\">\r\n                <div class=\"clearfix\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">{{'Document Version' | translate}}</label>\r\n                </div>\r\n                <div class=\"control-input\">\r\n                  <input type=\"text\" name=\"DocumentVersion\" readonly formControlName=\"DocumentVersion\"\r\n                    class=\"form-control\" [ngClass]=\"{'is-invalid': submitted && formval.DocumentVersion?.errors }\" />\r\n                  <div *ngIf=\"submitted && formval.DocumentVersion?.errors\" class=\"invalid-feedback\">\r\n                    <div *ngIf=\"formval.DocumentVersion?.errors.required\">{{'Document Version is required' | translate}}\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"modal-footer\">\r\n          <button (click)=\"onSubmit()\" class=\"btn btn-primary\">\r\n            <span class=\"updates\">{{'Attach' | translate}}</span>\r\n          </button>\r\n        </div>\r\n\r\n      </div>\r\n    </form>\r\n  </div>\r\n</div>","import { Component, Input, OnInit, Output,EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { E_ActionType, E_CardViewType, E_DataType, E_FieldType, IActionDef, IColumnDef, slide } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'app-card-line',\r\n  templateUrl: './card-line.component.html',\r\n  styleUrls: ['./card-line.component.scss']\r\n})\r\nexport class CardLineComponent implements OnInit {\r\n\r\n  constructor(\r\n    public globalService: GlobalService,\r\n  ) { }\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n\r\n  slider(direction: any,Id: any){ \r\n    slide(direction, Id);\r\n  }\r\n\r\n  ngOnInit(): void {\r\n\r\n    this.HeaderList = [];\r\n    this.SubHeaderList = [];\r\n    this.BottomViewList = [];\r\n    this.contentList = [];\r\n    if (this.columnDefs && this.columnDefs.length > 0) {\r\n      this.HeaderList = this.columnDefs.filter(x => x.CardViewType == E_CardViewType.Title);\r\n      this.SubHeaderList = this.columnDefs.filter(x => x.CardViewType == E_CardViewType.SubTitle);\r\n      this.BottomViewList = this.columnDefs.filter(x => x.CardViewType == E_CardViewType.BottomView);\r\n      this.contentList = this.columnDefs.filter(x => x.CardViewType != E_CardViewType.Title && x.CardViewType != E_CardViewType.SubTitle\r\n        && x.CardViewType != E_CardViewType.BottomView);\r\n\r\n      if (this.HeaderList.length < 1) {\r\n        this.HeaderList.push(this.columnDefs[0]);\r\n      }\r\n\r\n    }\r\n   \r\n  }\r\n  \r\n\r\n  @Input() columnDefs: IColumnDef[] = [];\r\n  @Input() ListData: any[] = [];\r\n  \r\n  @Input() IsEdit: boolean = false;\r\n  @Input() IsDelete: boolean = false;\r\n  @Input() IsAttach: boolean = false;\r\n  @Input() IsAssign: boolean = false;\r\n  @Input() gridActionList: IActionDef[] = [];\r\n\r\n  @Output() goToDetails = new EventEmitter<{ data: any; col?: IColumnDef;  }>();\r\n  @Output() goToAction = new EventEmitter<{ data: any; col?: IColumnDef;  }>();\r\n  @Output() callButtonEvent = new EventEmitter<{ data: any; col: IColumnDef; }>();\r\n  @Output() editMethod = new EventEmitter<{ data: any }>();\r\n  @Output() deleteMethod = new EventEmitter<{ data: any }>();\r\n  @Output() attachMethod = new EventEmitter<{ data: any }>();\r\n  @Output() assignmentMethod = new EventEmitter<{ data: any }>();\r\n  @Output() getGridAction = new EventEmitter<{ item: any; gridData: any }>();\r\n\r\n\r\n  columnDataType = E_DataType;\r\n  columnFieldType = E_FieldType;\r\n\r\n  contentList: IColumnDef[] = [];\r\n  HeaderList: IColumnDef[] = [];\r\n  SubHeaderList: IColumnDef[] = [];\r\n  BottomViewList: IColumnDef[] = [];\r\n\r\n\r\n\r\n  _goToDetails(item: any,col?: any) {\r\n    this.goToDetails.emit({ data: item,col:col  });\r\n  }\r\n  _goToAction(item: any,col?: any) {\r\n    this.goToAction.emit({ data: item,col:col  });\r\n  }\r\n\r\n  _callButtonEvent(item: any, col: IColumnDef,element?: any) {\r\n    debugger\r\n    if (element && element.target)\r\n      element.target.classList.add('inactiveLink');\r\n      \r\n    this.callButtonEvent.emit({ data: item, col: col });\r\n  }\r\n\r\n  _editmethod(item: any) {\r\n    this.editMethod.emit({ data: item });\r\n  }\r\n\r\n  _deleteMethod(item: any) {\r\n    Swal.fire({\r\n      title: this.translatePipe.transform('Are you sure to delete?'),\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#3085d6',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: this.translatePipe.transform('Cancel'),\r\n      confirmButtonText: this.translatePipe.transform('Yes, delete it!'),\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n        this.deleteMethod.emit({ data: item });\r\n        // Swal.fire('Deleted!', 'Your file has been deleted.', 'success');\r\n      }\r\n    });\r\n  }\r\n\r\n  _attachmentMethod(item: any) {\r\n    // debugger;\r\n\r\n    this.attachMethod.emit({ data: item });\r\n  }\r\n\r\n  _assignmentMethod(item: any) {\r\n    this.assignmentMethod.emit({ data: item });\r\n  }\r\n\r\n  _getGridAction(item: IActionDef) {\r\n\r\n    if (item.MethodType == E_ActionType.Delete) {\r\n      Swal.fire({\r\n        title: 'Are you sure to delete?',\r\n        showCancelButton: true,\r\n        confirmButtonColor: '#3085d6',\r\n        cancelButtonColor: '#d33',\r\n        cancelButtonText: 'Cancel',\r\n        confirmButtonText: 'Yes, delete it!',\r\n      }).then((result) => {\r\n        if (result.value) {\r\n          this.getGridAction.emit({\r\n            item: item,\r\n            gridData: [item],\r\n          });\r\n        }\r\n      });\r\n    } else {\r\n      this.getGridAction.emit({ item: item, gridData: [item] });\r\n    }\r\n  }\r\n}\r\n","<ng-container *ngFor=\"let item of ListData; let i = index\">\r\n\r\n\t<div class=\"new-card-line card \">\r\n\t\t<div class=\"clearfix mb-3\">\r\n\t\t\t<div class=\"float-left p-2\">\r\n\t\t\t\t<ng-container *ngFor=\"let col of HeaderList\">\r\n\t\t\t\t\t<h4 class=\"d-inline-block\">\r\n\t\t\t\t\t\t<ng-container *ngIf=\"col\" [ngSwitch]=\"col.FieldType\">\r\n\r\n\t\t\t\t\t\t\t<ng-container *ngSwitchCase=\"columnFieldType.details\">\r\n\t\t\t\t\t\t\t\t<a class=\"cursor-pointer themecolor\" (click)=\"_goToDetails(item,col)\">\r\n\t\t\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span> \r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t\t<ng-container *ngSwitchCase=\"columnFieldType.button\">\r\n\t\t\t\t\t\t\t\t<a class=\"cursor-pointer btn btn-theme color-white p-t-0 p-b-0\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"_callButtonEvent(item,col)\">\r\n\t\t\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span>\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\r\n\t\t\t\t\t\t\t<ng-container *ngSwitchDefault>\r\n\t\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span> \r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</h4>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-container *ngFor=\"let col of SubHeaderList\">\r\n\t\t\t\t\t-\r\n\t\t\t\t\t<ng-container *ngIf=\"col\" [ngSwitch]=\"col.FieldType\">\r\n\r\n\t\t\t\t\t\t<ng-container *ngSwitchCase=\"columnFieldType.details\">\r\n\t\t\t\t\t\t\t<a class=\"cursor-pointer themecolor\" (click)=\"_goToDetails(item,col)\">\r\n\t\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span> \r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t<ng-container *ngSwitchCase=\"columnFieldType.button\">\r\n\t\t\t\t\t\t\t<a class=\"cursor-pointer btn btn-theme color-white p-t-0 p-b-0\"\r\n\t\t\t\t\t\t\t\t(click)=\"_callButtonEvent(item,col)\">\r\n\t\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t\t<ng-container *ngSwitchDefault>\r\n\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span> \r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</ng-container>\r\n\r\n\t\t\t</div>\r\n\t\t\t<div class=\"float-right p-2\">\r\n\t\t\t\t<div class=\"top_action-border\">\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t<span class=\"top_action\" *ngIf=\"IsEdit\" title=\"Edit\" (click)=\"_editmethod(item)\"> {{'Edit' | translate}}</span>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<span class=\"top_action\" *ngIf=\"IsDelete\" (click)=\"_deleteMethod(item)\">{{'Delete' | translate}}</span>\r\n\r\n\t\t\t\t\t<span class=\"top_action\" *ngIf=\"IsAttach\" (click)=\"_attachmentMethod(item)\">{{'Attachment' | translate}}</span>\r\n\r\n\t\t\t\t\t<span class=\"top_action\" *ngIf=\"IsAssign\" (click)=\"_assignmentMethod(item)\">{{'Assign' | translate}}</span>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<span class=\"top_action dropdown dropdown-toggle\" id=\"newCardMoreAction\"\r\n\t\t\t\t\t\tdata-bs-toggle=\"dropdown\" *ngIf=\"gridActionList.length > 0\">More\r\n\t\t\t\t\t\t<ul class=\"dropdown-menu\" aria-labelledby=\"newCardMoreAction\">\r\n\t\t\t\t\t\t\t<ng-container *ngFor=\"let action of gridActionList; let i = index\">\r\n\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t<a class=\"dropdown-item\" (click)=\"_getGridAction(action)\" href=\"javascript:void(0);\">\r\n\t\t\t\t\t\t\t\t\t\t{{action.Name}}</a>\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"scroll-body\">\r\n\r\n\t\t\t<div id=\"move-content_{{i}}\" class=\"content\">\r\n\t\t\t\t<ng-container *ngFor=\"let col of contentList; let coli = index\">\r\n\t\t\t\t\t<div class=\"inner-content\">\r\n\t\t\t\t\t\t<h4 class=\"themecolor\">\r\n\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span>\r\n\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t<span class=\"bold\">{{col?.Name?col.Name:col?.Field}}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\r\n\t\t\t<span class=\"rounded-arrow\" (click)=\"slider('left','move-content_'+i)\">\r\n\t\t\t\t<i class=\"la la-angle-left\"></i>\r\n\t\t\t</span>\r\n\t\t\t<span class=\"rounded-arrow right\" (click)=\"slider('right','move-content_'+i)\">\r\n\t\t\t\t<i class=\"la la-angle-right\"></i>\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t\t<div class=\"clearfix p-2 mt-1\">\r\n\t\t\t<div class=\"float-left\">\r\n\r\n\t\t\t\t<ng-container *ngFor=\"let col of BottomViewList\">\r\n\r\n\t\t\t\t\t<ng-container *ngIf=\"col\" [ngSwitch]=\"col.FieldType\">\r\n\r\n\t\t\t\t\t\t<ng-container *ngSwitchCase=\"columnFieldType.button\">\r\n\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-outline-success btn-sm m-l-5 m-r-5\"\r\n\t\t\t\t\t\t\t\t(click)=\"_callButtonEvent(item,col)\">{{col.Field}}</button>\r\n\t\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t\t<ng-container *ngSwitchDefault>\r\n\t\t\t\t\t\t\t<span class=\"m-l-5 m-r-5\">\r\n\t\t\t\t\t\t\t\t<i style=\"font-size: smaller;\">{{col.Field}} : </i>\r\n\t\t\t\t\t\t\t\t<span app-grid-datatype [list]=\"item\" [col]=\"col\"></span>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</ng-container>\r\n\r\n\t\t\t</div>\r\n\t\t\t<div class=\"float-right\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n</ng-container>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport * as Handlebars from 'handlebars';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n  selector: 'app-custom-templete',\r\n  templateUrl: './custom-templete.component.html',\r\n  styleUrls: ['./custom-templete.component.scss'],\r\n})\r\nexport class CustomTempleteComponent implements OnInit {\r\n  constructor(\r\n    private domSanitizer: DomSanitizer,\r\n    public globalService: GlobalService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    registerHandlebarHelperMethods();\r\n    if (!this.CustomTempleteSetup) {\r\n      this.CustomTempleteSetup = { HTML: null, Script: null };\r\n    }\r\n    this.evaluateJS();\r\n  }\r\n\r\n  @Input() Type: string | null = null;\r\n  @Input() CustomTempleteData: any;\r\n  @Input() CustomTempleteSetup: any = { HTML: null, Script: null };\r\n\r\n  @Output() saveCustomTempleteConfiq = new EventEmitter<{\r\n    CustomTemplete: any;\r\n  }>();\r\n\r\n  _saveCustomTemplete() {\r\n    this.saveCustomTempleteConfiq.emit({\r\n      CustomTemplete: this.CustomTempleteSetup,\r\n    });\r\n  }\r\n\r\n\r\n  htmlContent: any = null;\r\n\r\n  gethtmlContent() {\r\n    debugger;\r\n    if (this.CustomTempleteSetup.HTML) {\r\n      let _hanbleBardata: any = {};\r\n      if (this.CustomTempleteData) _hanbleBardata = this.CustomTempleteData;\r\n      let _htmlContent = this.hanbleBarData(\r\n        this.CustomTempleteSetup.HTML,\r\n        _hanbleBardata\r\n      );\r\n      this.htmlContent =\r\n        this.domSanitizer.bypassSecurityTrustHtml(_htmlContent);\r\n    }\r\n  }\r\n\r\n  ScriptData: any = {};\r\n  evaluateJS() {\r\n    if (this.Type != 'design') {\r\n      if (this.CustomTempleteSetup.Script) {\r\n        eval(this.CustomTempleteSetup.Script);\r\n      }\r\n      this.gethtmlContent();\r\n    }\r\n  }\r\n\r\n  TabView: number = 1;\r\n  ChangeTabs(tab: any) {\r\n    this.TabView = tab;\r\n  }\r\n\r\n  htmlchange(event: any) {\r\n    debugger;\r\n  }\r\n  onBlur(event: any) {\r\n    debugger;\r\n    let html = event.target.innerHTML;\r\n    // this.CustomTempleteSetup.HTML = html;\r\n  }\r\n\r\n  queryParams: any;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n\r\n    data.Local = localStorage;\r\n    data.ScriptData = this.ScriptData;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  printTemplate() {\r\n    debugger;\r\n    setTimeout(function () {\r\n      // wait until all resources loaded\r\n      $('.CustomTemplete_data_template').print({\r\n        globalStyles: true,\r\n        mediaPrint: true,\r\n        timeout: 450,\r\n      });\r\n    }, 450);\r\n  }\r\n}\r\n","<ng-container *ngIf=\"Type =='design';else htmlContentview\">\r\n\r\n    <div class=\"card card-group card-tab\">\r\n        <div class=\"header clearfix\">\r\n            <h2 class=\"float-left\">\r\n                CustomTemplete Configuration</h2>\r\n            <a href=\"javascript:void(0)\" class=\"pull-right themecolor action-btn m-l-5\" (click)=\"_saveCustomTemplete()\">\r\n                <i class=\"la la-save\"></i>\r\n            </a>\r\n\r\n        </div>\r\n        <div class=\"body\">\r\n\r\n            <div class=\"field-tab clearfix\">\r\n\r\n                <ul class=\"nav nav-tabs \">\r\n                    <li class=\"nav-item\">\r\n                        <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#html'\" (click)=\"ChangeTabs('1')\"\r\n                            [ngClass]=\"{'active': TabView==1}\">\r\n                            {{'HTML'|translate}}</a>\r\n                    </li>\r\n                    <li class=\"nav-item\">\r\n                        <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#script'\" (click)=\"ChangeTabs('2')\"\r\n                            [ngClass]=\"{'active': TabView==2}\">\r\n                            {{'SCRIPT'|translate}}</a>\r\n                    </li>\r\n\r\n                </ul>\r\n\r\n                <div class=\"tab-content\" *ngIf=\"CustomTempleteSetup\">\r\n                    <div class=\"tab-pane animated active\" id=\"html\" [ngClass]=\"{'active': TabView==1}\">\r\n                        <!-- <angular-editor [(ngModel)]=\"CustomTempleteSetup.HTML\" [config]=\"editorConfig\"\r\n                            (ngModelChange)=\"htmlchange($event)\" (blur)=\"onBlur($event)\"></angular-editor> -->\r\n                    </div>\r\n                    <div class=\"tab-pane animated active\" id=\"script\" [ngClass]=\"{'active': TabView==2}\">\r\n\r\n                        <textarea class=\"form-control\" rows=\"15\" [(ngModel)]=\"CustomTempleteSetup.Script\"></textarea>\r\n\r\n                    </div>\r\n                </div>\r\n\r\n\r\n\r\n            </div>\r\n\r\n        </div>\r\n\r\n    </div>\r\n\r\n</ng-container>\r\n<ng-template #htmlContentview>\r\n    <div class=\"CustomTemplete_data_template\" [innerHTML]=\"htmlContent\"></div>\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { GridService } from '../grid/grid.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { CanvasJSChart, CanvasJSChartDataPoints, HighChartClass, HighChartSeries } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'app-new-chart',\r\n  templateUrl: './new-chart.component.html',\r\n  styleUrls: ['./new-chart.component.scss']\r\n})\r\nexport class NewChartComponent implements OnInit {\r\n\r\n  constructor(\r\n    public globalService: GlobalService,    \r\n    private gridService: GridService,\r\n  ) { }\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  @Input() Id:any=\"highchart\";\r\n  @Input() ChartId: number | string = 1;\r\n  @Input() chartConfiq:any;\r\n  @Input() chartData:any[]=[];\r\n  @Input() chartDataPoints:any[]=[];\r\n\r\nType=\"pie\";  // pie, bar, column,spline,line,area,areaspline\r\nTitle=\"\";\r\nSubTitle=\"\";\r\n\r\n xAxisTitle=\"\";\r\nyAxisTitle=\"\"\r\n\r\n  xAxisCategories:string[]=[];\r\n\r\n  loadChart:boolean = false;\r\n  // chart: Highcharts.Chart;\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    this.loadChart = false;\r\n   // this.buildHighChart();\r\n    // this.new();\r\n\r\n    if (this.chartConfiq) {debugger\r\n      if (this.chartConfiq.DataPoints && this.chartConfiq.DataPoints.length > 0)\r\n        this.chartDataPoints = this.chartConfiq.DataPoints;\r\n    }\r\n\r\n\r\n    this.gridService.onGridRefresh.subscribe((x) => {\r\n      if (x) {\r\n        if (Object.keys(x).includes('grid')) {\r\n          if (x.grid === this.ChartId) {\r\n            this.loadChart = false;\r\n            this.chartData = x.list;\r\n\r\n            setTimeout(() => {\r\n              this.buildCanvasChart();\r\n            }, 1000);        \r\n\r\n          } else return;\r\n        } else {\r\n          this.chartData = x.list;\r\n          this.loadChart = false;\r\n          this.buildCanvasChart();\r\n      }\r\n      }\r\n    });\r\n    this.buildCanvasChart()\r\n  }\r\n\r\n  highcharts:any = \"\"; //Highcharts; //Need to install NPM package\r\n\r\n  _chartOptions: any = {}\r\n\r\n  getChartOption() { debugger\r\n      this._chartOptions = {\r\n          chart: {\r\n              plotBackgroundColor: null,\r\n              plotBorderWidth: null,\r\n              plotShadow: false,\r\n              type: this.Type,\r\n              options3d: {\r\n                  enabled: true,\r\n                  alpha: 45,\r\n                  beta: 0\r\n              }\r\n          },\r\n          title: {\r\n              text: this.Title\r\n          },\r\n          subtitle: {\r\n            text: this.SubTitle\r\n        },\r\n          tooltip: {\r\n              pointFormat: '{series.name}: <b>{point.percentage:.1f}</b>'\r\n          },\r\n          accessibility: {\r\n              point: {\r\n                  valueSuffix: 'nos'\r\n              }\r\n          },\r\n\r\n          xAxis: {\r\n            categories: this.xAxisCategories,\r\n            title: {\r\n                text: this.xAxisTitle\r\n            },\r\n            crosshair: true\r\n        },\r\n        yAxis: {\r\n            min: 0,\r\n            title: {\r\n                text: this.yAxisTitle,\r\n                align: 'high'\r\n            },\r\n            labels: {\r\n                overflow: 'justify'\r\n            }\r\n        },\r\n\r\n        plotOptions: {\r\n          series: {\r\n            label: {\r\n                connectorAllowed: false\r\n            },\r\n            pointStart: 2010\r\n        },\r\n          pie: {\r\n            allowPointSelect: true,\r\n            cursor: 'pointer',\r\n            dataLabels: {\r\n              enabled: true,\r\n              format: '<b>{point.name}</b>: {point.y} '\r\n            },\r\n            showInLegend: true\r\n          },\r\n          column: {\r\n            pointPadding: 0.2,\r\n            borderWidth: 0\r\n          },\r\n\r\n          bar: {\r\n            dataLabels: {\r\n              enabled: true\r\n            }\r\n          },\r\n          area: {\r\n            pointStart: 1940,\r\n            marker: {\r\n              enabled: false,\r\n              symbol: 'circle',\r\n              radius: 2,\r\n              states: {\r\n                hover: {\r\n                  enabled: true\r\n                }\r\n              }\r\n            }\r\n          },\r\n          areaspline: {\r\n            fillOpacity: 0.5\r\n          }\r\n\r\n        },\r\n          series: [\r\n            {\r\n              name: 'Request',\r\n              colorByPoint: true,\r\n              data: [{\r\n                  name: 'July',\r\n                  y: 5,\r\n               \r\n              }, {\r\n                  name: 'September',\r\n                  y: 7\r\n              }, {\r\n                  name: 'Auguest',\r\n                  y: 5,\r\n                  sliced: true,\r\n                  selected: true\r\n              }]\r\n          }\r\n        ]\r\n      }\r\n    \r\n     \r\n  }\r\n\r\n  buildHighChart() {\r\n    debugger;\r\n    //this.highcharts = Highcharts; after install npm package\r\n   \r\n    let chartOptions: HighChartClass = new HighChartClass();\r\n    if (!this.chartConfiq.type)\r\n      chartOptions.chart.type = \"pie\";\r\n      else \r\n      chartOptions.chart.type= this.chartConfiq.type\r\n \r\n    chartOptions.title.text = this.chartConfiq.titleText;\r\n\r\n    if (this.chartConfiq.subTitleText)\r\n      chartOptions.subtitle.text = this.chartConfiq.subTitleText;\r\n\r\n    if (this.chartConfiq.chartName)\r\n      chartOptions.yAxis.title = this.chartConfiq.chartName;\r\n\r\n    if (this.chartConfiq.Suffix)\r\n      chartOptions.tooltip.valueSuffix = this.chartConfiq.Suffix;\r\n\r\n\r\n    if (this.chartConfiq.Suffix)\r\n      chartOptions.accessibility.point.valueSuffix = this.chartConfiq.Suffix;\r\n\r\n    let seriesdata = new HighChartSeries();   \r\n    seriesdata.name = this.chartConfiq.chartName;\r\n\r\n\r\n    seriesdata.data = this.chartData.map((x) => {\r\n      return {\r\n        name: x[this.chartConfiq.labelKey],\r\n        y: Number(x[this.chartConfiq.yKey]),\r\n      };\r\n    });\r\n    chartOptions.series.push(seriesdata);\r\n    this._chartOptions = chartOptions;\r\n\r\n    this.loadChart = true;\r\n\r\n   \r\n\r\n  }\r\n\r\n  buildCanvasChart() {\r\n    debugger\r\n    let chartOptions: CanvasJSChart = new CanvasJSChart();\r\n    chartOptions.title.text = this.chartConfiq.titleText;\r\n    chartOptions.data = [];\r\n    // chartOptions.colorSet = [\"#606060\", \"#424242\", \"#c7c8cd\", \"#643b3b\", \"#273e7a\", \"#0a4a1f\", \"#0a4a1f\", \"#237f86\", \"#b7ce59\", \"#e16324\", \"#b483c3\"]\r\n   \r\n    chartOptions.colorSet = [\"#408ec6\",\r\n      \"#7a2048\",\r\n      \"#1e2761\",\r\n      \"#8a307f\",\r\n      \"#79a7d3\",\r\n      \"#6883bc\",\r\n      \"#79cbb8\",\r\n      \"#500472\",\r\n      \"#e2d810\",\r\n      \"#d9138a\",\r\n      \"#12a4d9\",\r\n      \"#322e2f\",\r\n      \"#b20238\",\r\n      \"#1e3d59\",\r\n      \"#1e847f\",\r\n      \"#c6d7eb\",\r\n    ]\r\n   \r\n    if (this.chartConfiq.Groupby) {\r\n\r\n      let chartConfiq = this.chartDataPoints[0];\r\n\r\n      let uniqueParent = [...new Set(this.chartData.map(item => item[this.chartConfiq.Groupby]))];\r\n      let uniqueChild = [...new Set(this.chartData.map(item => item[chartConfiq.labelKey]))];\r\n\r\n      let _chartParentData:any[] = [];\r\n      uniqueParent.forEach(item => {\r\n\r\n        let u:any = {};\r\n        u[this.chartConfiq.Groupby] = item;\r\n\r\n\r\n        let _chartChildData:any[] = [];\r\n\r\n        uniqueChild.forEach(citem => {\r\n          let xdata:any = {};\r\n          xdata[chartConfiq.labelKey] = citem;\r\n          let _currData = this.chartData.filter(x => x[this.chartConfiq.Groupby] == item && x[chartConfiq.labelKey] == citem)[0];\r\n          if (_currData)\r\n            xdata[chartConfiq.yKey] = _currData[chartConfiq.yKey] ? _currData[chartConfiq.yKey] : 0;\r\n          else\r\n            xdata[chartConfiq.yKey] = 0\r\n\r\n          _chartChildData.push(xdata);\r\n        });\r\n        u[\"Child\"] = _chartChildData;\r\n        _chartParentData.push(u);\r\n      });\r\n\r\n\r\n      _chartParentData.forEach(item => {\r\n\r\n\r\n\r\n        let _chartdata = new CanvasJSChartDataPoints();\r\n        _chartdata.showInLegend = true;\r\n        _chartdata.name = item[this.chartConfiq.Groupby];\r\n        _chartdata.legendText = item[this.chartConfiq.Groupby];\r\n\r\n        _chartdata.type = chartConfiq.type ? chartConfiq.type : \"column\";\r\n        if (_chartdata.type == \"column\")\r\n        _chartdata.indexLabelOrientation = \"vertical\";\r\n\r\n        let _dataPoints: any = item.Child;\r\n        _chartdata.dataPoints = _dataPoints.map((x:any) => {\r\n          return {\r\n            label: x[chartConfiq.labelKey],\r\n            indexLabel: Number(x[chartConfiq.yKey]) >0 ?\"{name} : {y}\":\"\",\r\n            y: Number(x[chartConfiq.yKey]),\r\n          };\r\n        })\r\n        chartOptions.data.push(_chartdata);\r\n        console.log(_chartdata);\r\n      });\r\n\r\n\r\n\r\n    }\r\n    else {\r\n      this.chartDataPoints.forEach(chartConfiq => {\r\n\r\n        let _chartdata = new CanvasJSChartDataPoints();\r\n        _chartdata.showInLegend = true;\r\n        _chartdata.name = chartConfiq.labelKey;\r\n        _chartdata.legendText = chartConfiq.labelKey;\r\n        _chartdata.type = chartConfiq.type ? chartConfiq.type : \"pie\";\r\n        _chartdata.indexLabel = \"{y}\";\r\n        if(_chartdata.type==\"column\")\r\n        _chartdata.indexLabelOrientation=\"vertical\";\r\n      \r\n        if (_chartdata.type == \"pie\" || _chartdata.type == \"doughnut\"  ||  _chartdata.type == \"pyramid\" || _chartdata.type == \"funnel\") {\r\n          _chartdata.legendText = \"{label}\";\r\n          _chartdata.indexLabel = \"{label} - {y}\";\r\n        }\r\n\r\n        _chartdata.dataPoints = this.chartData.map((x) => {\r\n          return {\r\n            label: x[chartConfiq.labelKey],\r\n            y: Number(x[chartConfiq.yKey]),\r\n          };\r\n        })\r\n        chartOptions.data.push(_chartdata);\r\n      });\r\n    }\r\n    this._chartOptions = chartOptions;\r\n    \r\n    this.loadChart = true;\r\n  }\r\n\r\n  toggleDataSeries(e?:any) {\r\n    if (typeof(e.dataSeries.visible) === \"undefined\" || e.dataSeries.visible) {\r\n      e.dataSeries.visible = false;\r\n    }\r\n    else {\r\n      e.dataSeries.visible = true;\r\n    }\r\n    this._chartOptions.render();\r\n  }\r\n\r\n  chart: any;\r\n\t\r\n  chartOptions: any = {}\r\n  new() {\r\n    debugger\r\n    this.chartOptions = {\r\n      animationEnabled: true,\r\n      title:{\r\n      text: \"Project Cost Breakdown\"\r\n      },\r\n      data: [{\r\n      type: \"doughnut\",\r\n      yValueFormatString: \"#,###.##'%'\",\r\n      indexLabel: \"{name}\",\r\n      dataPoints: [\r\n        { y: 28, name: \"Labour\" },\r\n        { y: 10, name: \"Legal\" },\r\n        { y: 20, name: \"Production\" },\r\n        { y: 15, name: \"License\" },\r\n        { y: 23, name: \"Facilities\" },\r\n        { y: 17, name: \"Taxes\" },\r\n        { y: 12, name: \"Insurance\" }\r\n      ]\r\n      }]\r\n    }\r\n  }\r\n}\r\n\r\n\r\n\r\n","<div class=\"card details_card\" *ngIf=\"false\" style=\"box-shadow: 0 0px 2px 0 rgb(0 0 0 / 10%);\">\r\n\t<div class=\"body whole\">\r\n\t\t<!-- <highcharts-chart [id]=\"Id\" [Highcharts]=\"highcharts\" [options]=\"_chartOptions\"\r\n\t\t\tstyle=\"width: 100%; height: 400px; display: block;\">\r\n\t\t</highcharts-chart> -->\r\n\t</div>\r\n</div>\r\n\r\n<div *ngIf=\"loadChart\">\r\n\t<!-- <canvasjs-chart [options]=\"_chartOptions\" [styles]=\"{width: '100%', height:'400px'}\" [id]=\"ChartId\"></canvasjs-chart>\t -->\r\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport * as Handlebars from 'handlebars';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n  selector: 'app-report',\r\n  templateUrl: './report.component.html',\r\n  styleUrls: ['./report.component.scss'],\r\n})\r\nexport class ReportComponent implements OnInit {\r\n  constructor(\r\n    private domSanitizer: DomSanitizer,\r\n    public globalService: GlobalService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    registerHandlebarHelperMethods();\r\n    if (!this.ReportSetup) {\r\n      this.ReportSetup = { HTML: null, Script: null };\r\n    }\r\n    this.evaluateJS();\r\n  }\r\n\r\n  @Input() Type: string | null = null;\r\n  @Input() ReportData: any;\r\n  @Input() ReportSetup: any = { HTML: null, Script: null };\r\n\r\n  @Output() saveReportConfiq = new EventEmitter<{ Report: any }>();\r\n\r\n  _saveReport() {\r\n    this.saveReportConfiq.emit({ Report: this.ReportSetup });\r\n  }\r\n\r\n\r\n  htmlContent: any = null;\r\n\r\n  gethtmlContent() {\r\n    debugger;\r\n    if (this.ReportSetup.HTML) {\r\n      let _hanbleBardata: any = {};\r\n      if (this.ReportData) _hanbleBardata = this.ReportData;\r\n      let _htmlContent = this.hanbleBarData(\r\n        this.ReportSetup.HTML,\r\n        _hanbleBardata\r\n      );\r\n      this.htmlContent =\r\n        this.domSanitizer.bypassSecurityTrustHtml(_htmlContent);\r\n    }\r\n  }\r\n\r\n  ScriptData: any = {};\r\n  evaluateJS() {\r\n    if (this.Type != 'design') {\r\n      if (this.ReportSetup.Script) {\r\n        eval(this.ReportSetup.Script);\r\n      }\r\n      this.gethtmlContent();\r\n    }\r\n  }\r\n\r\n  TabView: number = 1;\r\n  ChangeTabs(tab: any) {\r\n    this.TabView = tab;\r\n  }\r\n\r\n  htmlchange(event: any) {\r\n    debugger;\r\n  }\r\n  onBlur(event: any) {\r\n    debugger;\r\n    let html = event.target.innerHTML;\r\n  }\r\n\r\n  @Input() queryParams: any = null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n\r\n    data.Local = localStorage;\r\n    data.ScriptData = this.ScriptData;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  printTemplate() {\r\n    debugger;\r\n    setTimeout(function () {\r\n      // wait until all resources loaded\r\n      $('.report_data_template').print({\r\n        globalStyles: true,\r\n        mediaPrint: true,\r\n        timeout: 450,\r\n      });\r\n    }, 450);\r\n  }\r\n}\r\n","<ng-container *ngIf=\"Type =='design';else htmlContentview\">\r\n\r\n    <div class=\"card card-group card-tab\">\r\n        <div class=\"header clearfix\">\r\n            <h2 class=\"float-left\">\r\n                Report Configuration</h2>\r\n            <a href=\"javascript:void(0)\" class=\"pull-right themecolor action-btn m-l-5\" (click)=\"_saveReport()\">\r\n                <i class=\"la la-save\"></i>\r\n            </a>\r\n\r\n        </div>\r\n        <div class=\"body\">\r\n\r\n            <div class=\"field-tab clearfix\">\r\n\r\n                <ul class=\"nav nav-tabs \">\r\n                    <li class=\"nav-item\">\r\n                        <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#html'\" (click)=\"ChangeTabs('1')\"\r\n                            [ngClass]=\"{'active': TabView==1}\">\r\n                            {{'HTML'|translate}}</a>\r\n                    </li>\r\n                    <li class=\"nav-item\">\r\n                        <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#script'\" (click)=\"ChangeTabs('2')\"\r\n                            [ngClass]=\"{'active': TabView==2}\">\r\n                            {{'SCRIPT'|translate}}</a>\r\n                    </li>\r\n\r\n                </ul>\r\n\r\n                <div class=\"tab-content\" *ngIf=\"ReportSetup\">\r\n                    <div class=\"tab-pane animated active\" id=\"html\" [ngClass]=\"{'active': TabView==1}\">\r\n                        <!-- <angular-editor [(ngModel)]=\"ReportSetup.HTML\" [config]=\"editorConfig\"\r\n                            (ngModelChange)=\"htmlchange($event)\" (blur)=\"onBlur($event)\"></angular-editor> -->\r\n                    </div>\r\n                    <div class=\"tab-pane animated active\" id=\"script\" [ngClass]=\"{'active': TabView==2}\">\r\n\r\n                        <textarea class=\"form-control\" rows=\"15\" [(ngModel)]=\"ReportSetup.Script\"></textarea>\r\n\r\n                    </div>\r\n                </div>\r\n\r\n\r\n\r\n            </div>\r\n\r\n        </div>\r\n\r\n    </div>\r\n\r\n</ng-container>\r\n<ng-template #htmlContentview>\r\n\r\n\r\n    <div class=\"container\">\r\n\r\n        <div class=\"w-100 clearfix\">\r\n            <button class=\"print_action\" (click)=\"printTemplate()\"><i class=\"la la-print\"></i></button>\r\n        </div>\r\n        <div class=\"report-view\">\r\n\r\n            <div class=\"report_data_template\" [innerHTML]=\"htmlContent\"></div>\r\n        </div>\r\n\r\n    </div>\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { EntityTypeFieldVM, PageForm, isNotNullNotUndefined } from '../../core/common-interface-enum-classes-functions';\r\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\r\n\r\n\r\n@Component({\r\n  selector: 'app-validation-error',\r\n  template: `\r\n    <ng-container [formGroup]=\"pageForm.form\">\r\n      <ng-container\r\n        *ngIf=\"pageForm?.form?.get(item.Description)?.errors\"\r\n        class=\"invalid-feedback\"\r\n      >\r\n        <ng-container\r\n          *ngIf=\"pageForm?.form?.get(item.Description)?.['errors']?.['required']\"\r\n        >\r\n          <ng-container *ngFor=\"let _Vmsg of item.ValidationMessage\">\r\n            <span *ngIf=\"_Vmsg.Type == 'Required'\" style=\"color: #bd4147\">{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? _Vmsg.MsgAr\r\n                  ? _Vmsg.MsgAr\r\n                  : (_Vmsg.MsgEn | translate)\r\n                : (_Vmsg.MsgEn | translate)\r\n            }}</span>\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"pageForm?.form?.get(item.Description)?.['errors']?.['min']\"\r\n        >\r\n          <span class=\"red\">{{\r\n            globalService.CurrentLanguage == 'Ar'\r\n              ? (item.LabelAr\r\n                  ? item.LabelAr +\r\n                    ('must be greater then' | translate) +\r\n                    pageForm.form.get(item.Description)?.errors?.[\"min\"]?.min\r\n                  : (item.Label + ' must be greater then ' | translate)) +\r\n                pageForm.form.get(item.Description)?.errors?.[\"min\"]?.min\r\n              : item.Label +\r\n                (' must be greater then ' | translate) +\r\n                pageForm.form.get(item.Description)?.errors?.[\"min\"]?.min\r\n          }}</span>\r\n          <ng-container *ngFor=\"let _Vmsg of item.ValidationMessage\">\r\n            <span *ngIf=\"_Vmsg.Type == 'MinMax'\" style=\"color: #bd4147\">{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? _Vmsg.MsgAr\r\n                  ? _Vmsg.MsgAr\r\n                  : (_Vmsg.MsgEn | translate)\r\n                : (_Vmsg.MsgEn | translate)\r\n            }}</span>\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"pageForm?.form?.get(item.Description)?.['errors']?.['max']\"\r\n        >\r\n          <span class=\"red\">{{\r\n            globalService.CurrentLanguage == 'Ar'\r\n              ? (item.LabelAr\r\n                  ? item.LabelAr +\r\n                    (' must be less then ' | translate) +\r\n                    pageForm.form.get(item.Description)?.errors?.[\"max\"]?.max\r\n                  : (item.Label + ' must be less then ' | translate)) +\r\n                pageForm.form.get(item.Description)?.errors?.[\"max\"]?.max\r\n              : item.Label +\r\n                (' must be less then ' | translate) +\r\n                pageForm.form.get(item.Description)?.errors?.[\"max\"]?.max\r\n          }}</span>\r\n          <ng-container *ngFor=\"let _Vmsg of item.ValidationMessage\">\r\n            <span *ngIf=\"_Vmsg.Type == 'MinMax'\" style=\"color: #bd4147;\">{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? _Vmsg.MsgAr\r\n                  ? _Vmsg.MsgAr\r\n                  : (_Vmsg.MsgEn | translate)\r\n                : (_Vmsg.MsgEn | translate)\r\n            }}</span>\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"pageForm?.form?.get(item.Description)?.['errors']?.['minlength']\"\r\n        >\r\n          <span class=\"red\"\r\n            >{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? (item.LabelAr\r\n                    ? item.LabelAr +\r\n                      (' must be at least ' | translate) +\r\n                      pageForm.form.get(item.Description)?.errors?.[\"minlength\"]\r\n                        .requiredLength +\r\n                      (' characters' | translate)\r\n                    : (item.Label + ' must be at least ' | translate)) +\r\n                  pageForm.form.get(item.Description)?.errors?.[\"minlength\"]\r\n                    .requiredLength +\r\n                  (' characters' | translate)\r\n                : item.Label +\r\n                  (' must be at least ' | translate) +\r\n                  pageForm.form.get(item.Description)?.errors?.[\"minlength\"]\r\n                    .requiredLength +\r\n                  (' characters' | translate)\r\n            }}\r\n          </span>\r\n\r\n          <ng-container *ngFor=\"let _Vmsg of item.ValidationMessage\">\r\n            <span *ngIf=\"_Vmsg.Type == 'MinLength'\" style=\"color: #bd4147\">{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? _Vmsg.MsgAr\r\n                  ? _Vmsg.MsgAr\r\n                  : (_Vmsg.MsgEn | translate)\r\n                : _Vmsg.MsgEn\r\n            }}</span>\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"pageForm?.form?.get(item.Description)?.['errors']?.['maxlength']\"\r\n        >\r\n          <span class=\"red\">{{\r\n            globalService.CurrentLanguage == 'Ar'\r\n              ? item.LabelAr\r\n                ? item.LabelAr +\r\n                  (' should not be more then ' | translate) +\r\n                  pageForm.form.get(item.Description)?.errors?.[\"maxlength\"]\r\n                    .requiredLength +\r\n                  (' characters' | translate)\r\n                : (item.Label | translate) +\r\n                  (' should not be more then ' | translate) +\r\n                  pageForm.form.get(item.Description)?.errors?.[\"maxlength\"]\r\n                    .requiredLength +\r\n                  (' characters' | translate)\r\n              : item.Label +\r\n                (' should not be more then ' | translate) +\r\n                pageForm.form.get(item.Description)?.errors?.[\"maxlength\"]\r\n                  .requiredLength +\r\n                (' characters' | translate)\r\n          }}</span>\r\n\r\n          <ng-container *ngFor=\"let _Vmsg of item.ValidationMessage\">\r\n            <span *ngIf=\"_Vmsg.Type == 'MaxLength'\" style=\"color: #bd4147\">{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? _Vmsg.MsgAr\r\n                  ? _Vmsg.MsgAr\r\n                  : (_Vmsg.MsgEn | translate)\r\n                : _Vmsg.MsgEn\r\n            }}</span>\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"pageForm?.form?.get(item.Description)?.['errors']?.['pattern']\"\r\n        >\r\n          <span class=\"red\">{{\r\n            globalService.CurrentLanguage == 'Ar'\r\n              ? item.LabelAr\r\n                ? item.LabelAr + (' pattern not valid' | translate)\r\n                : (item.Label + ' pattern not valid' | translate)\r\n              : item.Label + (' pattern not valid' | translate)\r\n          }}</span>\r\n          <ng-container *ngFor=\"let _Vmsg of item.ValidationMessage\">\r\n            <span *ngIf=\"_Vmsg.Type == 'Pattern'\" style=\"color: #bd4147\">{{\r\n              globalService.CurrentLanguage == 'Ar'\r\n                ? _Vmsg.MsgAr\r\n                  ? _Vmsg.MsgAr\r\n                  : (_Vmsg.MsgEn | translate)\r\n                : _Vmsg.MsgEn\r\n            }}</span>\r\n          </ng-container>\r\n        </ng-container>\r\n      </ng-container>\r\n    </ng-container>\r\n  `,\r\n  styles: [\r\n    `\r\n      span {\r\n        display: block;\r\n      }\r\n    `,\r\n  ],\r\n})\r\nexport class ValidationErrorComponent implements OnInit {\r\n  constructor(public globalService: GlobalService) {}\r\n\r\n  ngOnInit(): void {}\r\n\r\n  @Input() item: EntityTypeFieldVM | any;\r\n  @Input() pageForm!: PageForm;\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'allpipe'\r\n})\r\nexport class AllpipePipe implements PipeTransform {\r\n\r\n  transform(value: any, args?: any): any {\r\n    return null;\r\n  }\r\n\r\n}\r\n\r\n@Pipe({\r\n  name: 'gridFilter'\r\n})\r\nexport class GridFilterPipe implements PipeTransform {\r\n  transform(items: any, filter: any, defaultFilter: any): any {\r\ndebugger\r\n    // console.log(items, filter);\r\n    if (!filter) {\r\n      return items;\r\n    }\r\n\r\n    if (!Array.isArray(items)) {\r\n      return items;\r\n    }\r\n\r\n    if (filter && Array.isArray(items)) {\r\n      let filterKeys = Object.keys(filter);\r\n\r\n      if (defaultFilter) {\r\n        return items.filter(item =>\r\n          filterKeys.reduce((x, keyName) =>\r\n            (x && new RegExp(filter[keyName], 'gi').test(item[keyName])) || filter[keyName] == \"\", true));\r\n      }\r\n      else {\r\n        return items.filter(item => {\r\n          return filterKeys.some((keyName) => {\r\n            return new RegExp(filter[keyName], 'gi').test(item[keyName]) || filter[keyName] == \"\";\r\n          });\r\n        });\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n\r\n@Pipe({\r\n  name: 'gridSearch'\r\n})\r\nexport class GgridSearchPipe implements PipeTransform {\r\n  transform(items: any): any {\r\n    debugger\r\n    console.log(items)\r\n  }\r\n}\r\n\r\n@Pipe({\r\n  name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n\r\n  transform(value: any, args?: any): any {\r\n    \r\n    if(!value)return null;\r\n    if(!args)return value;\r\n\r\n    args = args.toLowerCase();\r\n\r\n    return value.filter(function(item:any){\r\n        return JSON.stringify(item).toLowerCase().includes(args);\r\n    });\r\n}\r\n\r\n\r\n\r\n}\r\n\r\n@Pipe({\r\n  name: 'customfilter'\r\n})\r\nexport class CustomFilterPipe implements PipeTransform {\r\n  transform(value: any, filter: any) {\r\nif(filter && filter.input && filter.field) {\r\n  let input = filter.input;\r\n  let field = filter.field;\r\n    if (input !== undefined && input.length >= 1) {\r\n      input = input.toLowerCase();\r\n      if (typeof value[0] === 'string') {\r\n        return value.filter(function(el: any) {\r\n          return el.toLowerCase().indexOf(input) > -1;\r\n        });\r\n      }\r\n      return value.filter(function(el: any) {\r\n        return el[field].toLowerCase().indexOf(input) > -1;\r\n      });\r\n    }\r\n  }\r\n    return value;\r\n  }\r\n}\r\n\r\n\r\n\r\n@Pipe({\r\n  name: 'Unique',\r\n  pure: false\r\n})\r\nexport class UniqueFilterPipe implements PipeTransform {\r\n\r\n  transform(value: any, args?: any): any {\r\n    \r\n    let uniqueArray = Array.from(new Set(value));\r\n    \r\n    return uniqueArray;\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport * as Handlebars from 'handlebars';\r\nimport { FormGroup } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { E_DataType, E_DatasourceType, EntityTypeFieldVM, IColumnDef, ILookUpJsonFieldData, IRestConfig, ISearchCriteria, PageForm, errorMessageType, isNotNullNotUndefined } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dropdown-field',\r\n  templateUrl: './dropdown-field.component.html',\r\n  styleUrls: ['./dropdown-field.component.scss'],\r\n})\r\nexport class DropdownFieldComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit(): void {\r\n    this.item.showTable = false;\r\n    this.setSelectedValues();\r\n    this.new();\r\n  }\r\n\r\n  @Input() PageGroupValues: any = {};\r\n\r\n  @Input() item: EntityTypeFieldVM | any = null;\r\n  @Input() pageForm!: PageForm;\r\n  @Input() fieldsList: any[]=[];\r\n\r\n  @Input() RequestorField: any = null;\r\n  @Input() RequestorFieldValue: any = null;\r\n  @Input() ParameterData: any = null;\r\n  @Input() dynamicFormGroup!: FormGroup;\r\n  @Input() ProcessStageId: any;\r\n\r\n  @Output() changeFiledValue: any = new EventEmitter<{\r\n    row: any;\r\n    field: any;\r\n  }>();\r\n\r\n  getRowFieldValue(row: any, field: EntityTypeFieldVM) {\r\n    let _fieldVal = 'empty';\r\n    if (field.FieldData) {\r\n      var jsonItem = JSON.parse(field.FieldData);\r\n      if (jsonItem.isDynamic && jsonItem.rest)\r\n        _fieldVal = row[jsonItem.rest.valueField];\r\n    }\r\n    return _fieldVal;\r\n  }\r\n\r\n  showTable(item: any) {\r\n    this.pageStartFrom = 1;\r\n    this.defineItemsPerPage = 10;\r\n    this.fieldsList.map((x: any) => {\r\n      if (x.Description != item.Description) x.showTable = false;\r\n    });\r\n\r\n    item.showTable = !item.showTable;\r\n    if (item.showTable) this.loadDropdownColumn(item);\r\n  }\r\n\r\n  _dataType = E_DataType;\r\n\r\n  dropDown$ = Object.assign({});\r\n  dropDownColumn$: any[] = [];\r\n\r\n  // -----------these no need once client side pagination done.\r\n  pageStartFrom: number = 1;\r\n  defineItemsPerPage: number = 10;\r\n  //total: number = this.dropDownColumn$.length;\r\n  // -----------these no need once client side pagination done.\r\n  defineRecordCount(event: any) {\r\n    this.defineItemsPerPage = event.target.value;\r\n    this.pageStartFrom = 1;\r\n  }\r\n\r\n  autoSearchDropdown(\r\n    event: any,\r\n    field: EntityTypeFieldVM,\r\n    searchValue?: any,\r\n    RequestorField?: any\r\n  ) {\r\n    debugger;\r\n\r\n    if (field.DataType == E_DataType.dropdown) {\r\n      if (field.FieldData) {\r\n        var jsonItem = JSON.parse(field.FieldData);\r\n        if (jsonItem.isDynamic && jsonItem.rest && jsonItem.rest.URL) {\r\n          let restData: IRestConfig = jsonItem.rest;\r\n          if (event.keyCode == 13) {\r\n            let _Searchcriteria: ISearchCriteria = {\r\n              Pagging: {\r\n                PageNo: 1,\r\n                PageSize: 100,\r\n              },\r\n              Where: [],\r\n              SortOrder: 1,\r\n            };\r\n            if (!searchValue) searchValue = event.target.value;\r\n            let filterobj = {\r\n              Field: restData.valueField,\r\n              Operator: 'Contains',\r\n              TableAlias: '',\r\n              Value: searchValue,\r\n            };\r\n\r\n            if (\r\n              jsonItem.isDynamic &&\r\n              jsonItem.rest &&\r\n              jsonItem.rest.HasServerSideSearch\r\n            ) {\r\n              if (!searchValue) {\r\n                return;\r\n              }\r\n              if (searchValue && event.keyCode != 13) {\r\n                return;\r\n              }\r\n            }\r\n\r\n            jsonItem.rest.QueryStrings.filter(\r\n              (x: any) => x.Type == 'SearchValue'\r\n            ).map((y: any) => {\r\n              let temp = ':' + y.Name;\r\n              filterobj.Field += temp;\r\n            });\r\n            debugger;\r\n            if (filterobj.Field) _Searchcriteria.Where.push(filterobj);\r\n            this.loadDropdown(\r\n              field,\r\n              _Searchcriteria,\r\n              RequestorField,\r\n              searchValue\r\n            );\r\n          } else if (\r\n            jsonItem &&\r\n            jsonItem.isDynamic &&\r\n            jsonItem.rest &&\r\n            jsonItem.rest.ClientSideSearch\r\n          ) {\r\n            field.AutoSearchText = field.AutoSearchTextBox\r\n              ? field.AutoSearchTextBox\r\n              : field.AutoSearchText;\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  loadDropdownColumn(field: EntityTypeFieldVM | any, isFieldType?: boolean) {\r\n    debugger;\r\n    // let columns: string[] = ['value', 'text'];\r\n    let columns: IColumnDef[] = [\r\n      { Field: 'value', Name: 'value' },\r\n      { Field: 'text', Name: 'text' },\r\n    ];\r\n    // this.dropDownColumn$[field.Description] = columns;\r\n    let jsonItem = JSON.parse(field.FieldData);\r\n\r\n    if (jsonItem && jsonItem.isDynamic && jsonItem.rest) {\r\n      let restData: IRestConfig | any = jsonItem.rest;\r\n      if (restData.Column && restData.Column.length > 0) {\r\n        this.dropDownColumn$[field.Description] = [];\r\n        let _data = restData.Column;\r\n        let _valcol: IColumnDef = {\r\n          Field: restData.valueField,\r\n          Name: restData.valueField,\r\n        };\r\n        this.dropDownColumn$[field.Description].push(_valcol);\r\n        this.dropDownColumn$[field.Description].push(..._data);\r\n\r\n        console.log('des', this.dropDownColumn$);\r\n      } else {\r\n        columns = [];\r\n        let _valcol: IColumnDef = {\r\n          Field: restData.valueField,\r\n          Name: restData.valueField,\r\n        };\r\n        columns.push(_valcol);\r\n        let _col = restData.textField.split(',');\r\n        _col.map((x: any) => {\r\n          let _col: IColumnDef = { Field: x, Name: x };\r\n          columns.push(_col);\r\n        });\r\n        this.dropDownColumn$[field.Description] = columns;\r\n      }\r\n\r\n      if (jsonItem.rest.Havecriteria) {\r\n        this.fieldsList.map((x: any) => {\r\n          if (x.Description == field.Description) {\r\n            x.showSearchBox = true;\r\n          }\r\n        });\r\n      } else {\r\n        let showSearchBox: boolean = false;\r\n        let SearchValue = jsonItem.rest.QueryStrings.filter(\r\n          (x: any) => x.Type == 'SearchValue'\r\n        );\r\n        if (SearchValue.length > 0) {\r\n          showSearchBox = true;\r\n        }\r\n        if (showSearchBox) {\r\n          this.fieldsList.map((x: any) => {\r\n            if (x.Description == field.Description) {\r\n              x.showSearchBox = true;\r\n            }\r\n          });\r\n        }\r\n      }\r\n\r\n      if (restData.TreeView) {\r\n        if (\r\n          restData.TreeView.ExpandedKey &&\r\n          restData.TreeView.ParentKey &&\r\n          restData.TreeView.ChildKey\r\n        ) {\r\n          this.dropDownColumn$[field.Description].find(\r\n            (v: any) => v.Field === restData.TreeView.ExpandedKey\r\n          ).IsExpanded = true;\r\n        }\r\n      }\r\n    } else {\r\n      this.dropDownColumn$[field.Description] = columns;\r\n    }\r\n\r\n    if (!isFieldType && field.FieldTypeId) {\r\n      if (!this.FieldData) this.getFieldTypeData(field, jsonItem);\r\n      else {\r\n        if (this.FieldData) {\r\n          if (this.FieldData.DataType == E_DataType.Relation) {\r\n            if (\r\n              this.FieldData.RelationEntity &&\r\n              this.FieldData.RelationEntityField\r\n            ) {\r\n              this.loadDropdownForFieldData(field);\r\n              this.FieldgroupDropdownFields(field);\r\n            }\r\n          } else if (this.FieldData.DataType == E_DataType.dropdown) {\r\n            this.loadDropdownColumn(this.FieldData, true);\r\n          }\r\n        } else {\r\n          if (\r\n            jsonItem &&\r\n            jsonItem.isDynamic &&\r\n            jsonItem.rest &&\r\n            jsonItem.rest.HasServerSideSearch\r\n          ) {\r\n            return;\r\n          }\r\n          this.loadDropdown(field);\r\n        }\r\n      }\r\n    } else {\r\n      if (\r\n        jsonItem &&\r\n        jsonItem.isDynamic &&\r\n        jsonItem.rest &&\r\n        jsonItem.rest.HasServerSideSearch\r\n      ) {\r\n        return;\r\n      }\r\n      this.loadDropdown(field, null, null, null, isFieldType);\r\n    }\r\n    this.closesearch();\r\n  }\r\n\r\n  closeSearchBox: boolean = false;\r\n  closesearch() {\r\n    this.closeSearchBox = false;\r\n  }\r\n\r\n  showAutoSearchTextBox(item: EntityTypeFieldVM | any) {\r\n    let _ret = false;\r\n    var jsonItem = JSON.parse(item.FieldData);\r\n    if (\r\n      jsonItem &&\r\n      jsonItem.isDynamic &&\r\n      jsonItem.rest &&\r\n      (jsonItem.rest.HasServerSideSearch || jsonItem.rest.ClientSideSearch)\r\n    )\r\n      _ret = true;\r\n\r\n    return _ret;\r\n  }\r\n\r\n  checkIsMultipleSelect(field: EntityTypeFieldVM | any) {\r\n    let _ret = false;\r\n    var jsonItem = JSON.parse(field.FieldData);\r\n    if (jsonItem && jsonItem.rest && jsonItem.rest.IsMultipleSelect) {\r\n      _ret = true;\r\n    }\r\n    return _ret;\r\n  }\r\n\r\n  isSingleSelect: boolean = false;\r\n  selectDropDownRow(row: any, field: EntityTypeFieldVM | any) {\r\n    debugger;\r\n\r\n    let showValue = '';\r\n    let _fieldVal = null;\r\n    if (\r\n      field.FieldTypeId &&\r\n      this.FieldData &&\r\n      this.FieldData.RelationEntity &&\r\n      this.FieldData.RelationEntityField\r\n    ) {\r\n      _fieldVal = row[this.FieldData.RelationEntityField];\r\n      showValue = row[this.FieldData.RelationEntityField];\r\n      field.showTable = false;\r\n    } else {\r\n      let jsonItem = JSON.parse(field.FieldData);\r\n\r\n      if (\r\n        !jsonItem.rest ||\r\n        !jsonItem.rest.IsMultipleSelect ||\r\n        !jsonItem.IsMultipleSelect\r\n      ) {\r\n        field.showTable = false;\r\n      }\r\n\r\n      if (\r\n        (jsonItem && jsonItem.rest && jsonItem.rest.IsMultipleSelect) ||\r\n        (jsonItem && jsonItem.IsMultipleSelect)\r\n      ) {\r\n        if (this.pageForm.form.get('MultipleIdField'))\r\n          this.pageForm?.form\r\n            ?.get('MultipleIdField')\r\n            ?.setValue(field.Description, { entitySelf: true });\r\n      }\r\n\r\n      if (jsonItem.isDynamic) _fieldVal = row[jsonItem.rest.valueField];\r\n      else {\r\n        _fieldVal = row['value'];\r\n        this.isSingleSelect = true;\r\n      }\r\n\r\n      if (_fieldVal) _fieldVal = _fieldVal.toString();\r\n      let SelectedValues = this.pageForm?.form?.get(field.Description)?.value;\r\n\r\n      if (\r\n        (SelectedValues != null &&\r\n          SelectedValues != '' &&\r\n          jsonItem.rest &&\r\n          jsonItem.rest.IsMultipleSelect) ||\r\n        (SelectedValues != null &&\r\n          SelectedValues != '' &&\r\n          jsonItem.IsMultipleSelect)\r\n      ) {\r\n        SelectedValues = SelectedValues.toString();\r\n        let duplicatedata = SelectedValues.includes(_fieldVal + ',');\r\n        let hascomma = true;\r\n        if (!duplicatedata) {\r\n          hascomma = false;\r\n          duplicatedata = SelectedValues.includes(_fieldVal);\r\n        }\r\n\r\n        if (duplicatedata) {\r\n          if (hascomma) {\r\n            SelectedValues = SelectedValues.replace(_fieldVal + ',', '');\r\n          } else {\r\n            SelectedValues = SelectedValues.replace(_fieldVal, '');\r\n          }\r\n          _fieldVal = SelectedValues;\r\n\r\n          let removecomma = _fieldVal.slice(-1);\r\n          if (removecomma == ',') {\r\n            _fieldVal = _fieldVal.substring(0, _fieldVal.length - 1);\r\n          }\r\n        }\r\n        if (!duplicatedata) {\r\n          _fieldVal = SelectedValues.concat(',' + _fieldVal);\r\n        }\r\n      }\r\n\r\n      if (jsonItem && jsonItem.rest) {\r\n        let _filedDropdown: IRestConfig = jsonItem.rest;\r\n        if (\r\n          _filedDropdown.TextboxShowData &&\r\n          _filedDropdown.TextboxShowData.length > 0\r\n        ) {\r\n          showValue = '';\r\n          _filedDropdown.TextboxShowData.forEach((element) => {\r\n            debugger;\r\n            if (\r\n              element.Type == 'All' ||\r\n              (element.Type == 'OnlyArabic' &&\r\n                this.globalService.CurrentLanguageDirection == 'RTL') ||\r\n              (element.Type == 'OnlyEnglish' &&\r\n                this.globalService.CurrentLanguageDirection == 'RTL')\r\n            )\r\n              showValue = showValue + row[element.Column] + '-';\r\n          });\r\n          if (showValue) {\r\n            let value = showValue.charAt(showValue.length - 1);\r\n            if (value == '-') {\r\n              showValue = showValue.substring(0, showValue.length - 1);\r\n            }\r\n          }\r\n        } else {\r\n          let num = _fieldVal.split(',')[0];\r\n          if (!Number.isNaN(num)) {\r\n            showValue = _fieldVal;\r\n          } else showValue = row[this.dropDownColumn$[field.Description][1]];\r\n        }\r\n      } else showValue = row[this.dropDownColumn$[field.Description][1]];\r\n    }\r\n    this.pageForm?.form\r\n      ?.get(field.Description)\r\n      ?.setValue(_fieldVal, { entitySelf: true });\r\n\r\n    this.fieldsList.map((x: any) => {\r\n      if (x.Description == field.Description) x.showSelectedValues = showValue;\r\n    });\r\n\r\n    this.closesearch();\r\n    this.changeFiledValue.emit({ row: row, field: this.item });\r\n  }\r\n\r\n  getSingleRowFieldValue(row: any, field: EntityTypeFieldVM) {\r\n    let _fieldVal = 'empty';\r\n    if (field.FieldData) {\r\n      var jsonItem = JSON.parse(field.FieldData);\r\n      if (!jsonItem.isDynamic) _fieldVal = row['value'];\r\n    }\r\n    return _fieldVal;\r\n  }\r\n\r\n  public TempGridData: any[] = [];\r\n  dropDownGridFilter: any = {};\r\n  filterRemianingList(Index: any, item: any) {\r\n    debugger;\r\n\r\n    this.dropDown$[this.item.Description] = this.TempGridData;\r\n    for (let key in this.dropDownGridFilter) {\r\n      debugger;\r\n      this.dropDown$[this.item.Description] = this.TempGridData.filter((x) => {\r\n        debugger;\r\n        if (\r\n          x[key] &&\r\n          x[key]\r\n            .toLowerCase()\r\n            .indexOf(this.dropDownGridFilter[key].trim().toLowerCase()) > -1\r\n        ) {\r\n          return x;\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  loadDropdown(\r\n    field: EntityTypeFieldVM,\r\n    searchCriteria?: any,\r\n    RequestorField?: any,\r\n    SearchText?: any,\r\n    isFieldType?: boolean\r\n  ) {\r\n    debugger;\r\n\r\n    if (!this.item.showTable) {\r\n      return;\r\n    }\r\n\r\n    if (field.FieldData) {\r\n      var jsonItem = JSON.parse(field.FieldData);\r\n      if (\r\n        jsonItem.isDynamic &&\r\n        jsonItem.rest &&\r\n        (((jsonItem.rest.DataSourceType == E_DatasourceType.RestApi ||\r\n          jsonItem.rest.DataSourceType == E_DatasourceType.RestAPIConnector ||\r\n          !jsonItem.rest.DataSourceType) &&\r\n          jsonItem.rest.URL) ||\r\n          (jsonItem.rest.DataSourceType == E_DatasourceType.Query &&\r\n            jsonItem.rest.DataSourceId) ||\r\n          (jsonItem.rest.DataSourceType == E_DatasourceType.Entity &&\r\n            jsonItem.rest.DataSourceId) ||\r\n          (jsonItem.rest.DataSourceType == E_DatasourceType.SQLConnector &&\r\n            jsonItem.rest.DataSourceId))\r\n      ) {\r\n        let isDepandancyvalue = true;\r\n        let _formvalue = this.pageForm.form.value;\r\n\r\n        let restData: IRestConfig | any = jsonItem.rest;\r\n\r\n        let _handleData: any = {};\r\n        if (this.ParameterData) {\r\n          _handleData.params = this.ParameterData;\r\n        }\r\n        _handleData.FormData = _formvalue;\r\n\r\n        if (\r\n          restData.DataSourceType == E_DatasourceType.RestApi ||\r\n          restData.DataSourceType == E_DatasourceType.RestAPIConnector ||\r\n          !restData.DataSourceType ||\r\n          restData.DataSourceType == E_DatasourceType.Entity\r\n        ) {\r\n          restData.QueryStrings.forEach((query: any) => {\r\n            if (query.Type == 'FieldValue') {\r\n              if (!_formvalue[query.Value] && query.IsNullable != true) {\r\n                Swal.fire({\r\n                  title: this.translatePipe.transform(\r\n                    'please fill ' + query.Value\r\n                  ),\r\n                });\r\n                isDepandancyvalue = false;\r\n                return;\r\n              }\r\n            }\r\n          });\r\n        }\r\n\r\n        if (\r\n          restData.DataSourceType == E_DatasourceType.RestApi ||\r\n          restData.DataSourceType == E_DatasourceType.RestAPIConnector ||\r\n          !restData.DataSourceType\r\n        ) {\r\n          restData.QueryStrings = restData.QueryStrings.map((x: any) => {\r\n            x.Value = this.hanbleBarData(x.Value, _handleData);\r\n            return x;\r\n          });\r\n\r\n          restData.Headers = restData.Headers.map((x: any) => {\r\n            x.Value = this.hanbleBarData(x.Value, _handleData);\r\n            return x;\r\n          });\r\n\r\n          restData.URL = this.hanbleBarData(restData.URL, _handleData);\r\n          restData.Body = this.hanbleBarData(restData.Body, _handleData);\r\n          if (\r\n            restData.Body &&\r\n            restData.BodyType == 'json' &&\r\n            typeof restData.Body == 'string'\r\n          ) {\r\n            restData.Body = JSON.parse(restData.Body);\r\n          }\r\n          if (!isDepandancyvalue) {\r\n            return;\r\n          }\r\n        }\r\n        if (\r\n          restData.DataSourceType == E_DatasourceType.RestApi ||\r\n          restData.DataSourceType == E_DatasourceType.RestAPIConnector\r\n        ) {\r\n          this.dynamicAppsService\r\n            .dynamicAPi(\r\n              restData,\r\n              _formvalue,\r\n              searchCriteria,\r\n              SearchText,\r\n              restData.Havecriteria\r\n            )\r\n            .subscribe((ress: any) => {\r\n              debugger;\r\n              if (!ress) ress = {};\r\n\r\n              let res = ress;\r\n\r\n              if (restData.ResponseView) {\r\n                let _rview = restData.ResponseView.split('.');\r\n                _rview.forEach((x: any) => {\r\n                  if (ress) {\r\n                    ress = ress[x];\r\n                    res = ress;\r\n                  } else res = '';\r\n                });\r\n              } else {\r\n                if (ress.Data) {\r\n                  res = ress.Data;\r\n                  if (res.Data) res = res.Data;\r\n                }\r\n                if (ress.content) res = ress.content;\r\n\r\n                if (ress.entities) res = ress.entities;\r\n                if (ress.templates) res = ress.templates;\r\n              }\r\n\r\n              if (RequestorField) {\r\n                let _Sitem = res.filter(\r\n                  (x: any) => x[restData.valueField] == this.RequestorFieldValue\r\n                );\r\n                this.fieldsList.map((x: any) => {\r\n                  if (x.Description == field.Description) x.showTable = false;\r\n                });\r\n                if (_Sitem && _Sitem.length > 0) {\r\n                  this.selectDropDownRow(_Sitem[0], field);\r\n                }\r\n              }\r\n\r\n              if (res && Array.isArray(res) && res.length > 0) {\r\n                this.dropDown$[field.Description] = res;\r\n                this.TempGridData = res;\r\n              } else if (\r\n                Object.keys(res).length > 0 &&\r\n                Object.keys(res).includes('List')\r\n              ) {\r\n                this.dropDown$[field.Description] = res['List'];\r\n                this.TempGridData = this.dropDown$[field.Description];\r\n              } else {\r\n                this.dropDown$[field.Description] = [];\r\n                this.TempGridData = [];\r\n              }\r\n\r\n              this.loadTreeView(restData, field);\r\n              this.loaderService.hideLoading();\r\n            });\r\n        } else if (restData.DataSourceType == E_DatasourceType.Query) {\r\n          restData.QueryParameter = restData.QueryParameter.map((x: any) => {\r\n            x.Value = this.hanbleBarData(x.Value, _handleData);\r\n            return x;\r\n          });\r\n          let condition = null;\r\n          let _queryData = restData.DataSource;\r\n          if (_queryData) {\r\n            if (!Array.isArray(_queryData)) {\r\n              if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n                _queryData.Condtion = _queryData.Condtion.map((x: any) => {\r\n                  x.ValueTwo = this.hanbleBarData(x.ValueTwo, _handleData);\r\n                  return x;\r\n                });\r\n                let _condition = {\r\n                  Condtion: _queryData.Condtion,\r\n                  CondtionOperator: _queryData.CondtionOperator,\r\n                };\r\n                condition = JSON.stringify(_condition);\r\n              }\r\n            }\r\n          }\r\n          this.dynamicAppsService\r\n            .getDyamicQueryData(\r\n              restData.DataSourceId,\r\n              '',\r\n              searchCriteria,\r\n              restData.QueryParameter,\r\n              condition\r\n            )\r\n            .subscribe(\r\n              (ress: any) => {\r\n                debugger;\r\n\r\n                let res = ress;\r\n                if (ress.Data) {\r\n                  res = ress.Data;\r\n                  if (res.Data) res = res.Data;\r\n                }\r\n\r\n                if (RequestorField) {\r\n                  let _Sitem = res.filter(\r\n                    (x: any) =>\r\n                      x[restData.valueField] == this.RequestorFieldValue\r\n                  );\r\n                  this.fieldsList.map((x: any) => {\r\n                    if (x.Description == field.Description) x.showTable = false;\r\n                  });\r\n                  if (_Sitem && _Sitem.length > 0) {\r\n                    this.selectDropDownRow(_Sitem[0], field);\r\n                  }\r\n                }\r\n\r\n                if (res && Array.isArray(res) && res.length > 0) {\r\n                  this.dropDown$[field.Description] = res;\r\n                  this.TempGridData = res;\r\n                } else if (\r\n                  Object.keys(res).length > 0 &&\r\n                  Object.keys(res).includes('List')\r\n                ) {\r\n                  this.dropDown$[field.Description] = res['List'];\r\n                  this.TempGridData = this.dropDown$[field.Description];\r\n                } else {\r\n                  this.dropDown$[field.Description] = [];\r\n                  this.TempGridData = this.dropDown$[field.Description];\r\n                }\r\n                this.loadTreeView(restData, field);\r\n                this.loaderService.hideLoading();\r\n              },\r\n              (error) => {\r\n                debugger;\r\n                this.loaderService.hideLoading();\r\n                if (error.status == 401) {\r\n                  return;\r\n                }\r\n                Swal.fire(errorMessageType(error));\r\n              }\r\n            );\r\n        } else if (restData.DataSourceType == E_DatasourceType.Entity) {\r\n          restData.QueryStrings.forEach((query: any) => {\r\n            if (query.Type == 'FieldValue') {\r\n              if (!_formvalue[query.Value] && query.IsNullable != true) {\r\n                Swal.fire({\r\n                  title: this.translatePipe.transform(\r\n                    'please fill ' + query.Value\r\n                  ),\r\n                });\r\n                isDepandancyvalue = false;\r\n                return;\r\n              }\r\n              query.Value = '=' + _formvalue[query.Value]; //FieldValue  =\r\n            } else {\r\n              query.Value = this.hanbleBarData(query.Value, _handleData);\r\n            }\r\n          });\r\n\r\n          let _Searchcriteria: ISearchCriteria = {\r\n            Pagging: {\r\n              PageNo: 0,\r\n              PageSize: 0,\r\n            },\r\n            Where: [],\r\n            SortOrder: 1,\r\n          };\r\n          if (!searchCriteria) {\r\n            searchCriteria = _Searchcriteria;\r\n          }\r\n\r\n          let _QueryString: any[] = [];\r\n          if (restData.QueryStrings.length > 0) {\r\n            restData.QueryStrings.map((x: any) => {\r\n              let filterobj = {\r\n                Field: '',\r\n                Operator: 'eq',\r\n                TableAlias: '',\r\n                Value: '',\r\n              };\r\n              filterobj.Field = x.Name;\r\n              let _Value = this.hanbleBarData(x.Value, _handleData);\r\n              filterobj.Value = _Value;\r\n              _QueryString.push(filterobj);\r\n            });\r\n            searchCriteria.Where.push(..._QueryString);\r\n          }\r\n          if (!isDepandancyvalue) {\r\n            return;\r\n          }\r\n          let condition = null;\r\n          let EnityData = restData.DataSource;\r\n          if (EnityData) {\r\n            if (!Array.isArray(EnityData)) {\r\n              if (EnityData.Condtion && EnityData.Condtion.length > 0) {\r\n                EnityData.Condtion = EnityData.Condtion.map((x: any) => {\r\n                  x.ValueTwo = this.hanbleBarData(x.ValueTwo, _handleData);\r\n                  return x;\r\n                });\r\n                let _condition = {\r\n                  Condtion: EnityData.Condtion,\r\n                  CondtionOperator: EnityData.CondtionOperator,\r\n                };\r\n                condition = JSON.stringify(_condition);\r\n              }\r\n            }\r\n          }\r\n          this.dynamicAppsService\r\n            .getDynamicAll(\r\n              searchCriteria,\r\n              restData.DataSourceId,\r\n              0,\r\n              '',\r\n              '',\r\n              condition\r\n            )\r\n            .subscribe(\r\n              (ress: any) => {\r\n                debugger;\r\n                let res = ress;\r\n\r\n                if (ress.Data) {\r\n                  res = ress.Data;\r\n                  if (res.Data) res = res.Data;\r\n                }\r\n\r\n                if (RequestorField) {\r\n                  let _Sitem = res.filter(\r\n                    (x: any) =>\r\n                      x[restData.valueField] == this.RequestorFieldValue\r\n                  );\r\n                  this.fieldsList.map((x: any) => {\r\n                    if (x.Description == field.Description) x.showTable = false;\r\n                  });\r\n                  if (_Sitem && _Sitem.length > 0) {\r\n                    this.selectDropDownRow(_Sitem[0], field);\r\n                  }\r\n                }\r\n\r\n                if (res && Array.isArray(res) && res.length > 0) {\r\n                  this.dropDown$[field.Description] = res;\r\n                  this.TempGridData = this.dropDown$[field.Description];\r\n                } else if (\r\n                  Object.keys(res).length > 0 &&\r\n                  Object.keys(res).includes('List')\r\n                ) {\r\n                  this.dropDown$[field.Description] = res['List'];\r\n                  this.TempGridData = this.dropDown$[field.Description];\r\n                } else {\r\n                  this.dropDown$[field.Description] = [];\r\n                  this.TempGridData = this.dropDown$[field.Description];\r\n                }\r\n                this.loadTreeView(restData, field);\r\n                this.loaderService.hideLoading();\r\n              },\r\n              (error) => {\r\n                debugger;\r\n                this.loaderService.hideLoading();\r\n                if (error.status == 401) {\r\n                  return;\r\n                }\r\n                console.log(error);\r\n                Swal.fire(errorMessageType(error));\r\n              }\r\n            );\r\n        } else if (restData.DataSourceType == E_DatasourceType.SQLConnector) {\r\n          if (restData.DataSourceId) {\r\n            let _Searchcriteria: ISearchCriteria = {\r\n              Pagging: {\r\n                PageNo: 0,\r\n                PageSize: 0,\r\n              },\r\n              Where: [],\r\n              SortOrder: 1,\r\n            };\r\n            if (!searchCriteria) {\r\n              searchCriteria = _Searchcriteria;\r\n            }\r\n\r\n            let _objectType: any;\r\n            if (restData.DataSource) {\r\n              _objectType = restData.DataSource;\r\n            }\r\n            let condition = null;\r\n            if (\r\n              _objectType &&\r\n              _objectType.Condtion &&\r\n              _objectType.Condtion.length > 0\r\n            ) {\r\n              _objectType.Condtion = _objectType.Condtion.map((x: any) => {\r\n                if (x.ValueTwo) {\r\n                  if (x.Value == 'FieldValue') {\r\n                    if (_formvalue[x.ValueTwo])\r\n                      x.ValueTwo = _formvalue[x.ValueTwo];\r\n                  } else\r\n                    x.ValueTwo = this.hanbleBarData(x.ValueTwo, _handleData);\r\n                }\r\n                return x;\r\n              });\r\n              let _condition = {\r\n                Condtion: _objectType.Condtion,\r\n                CondtionOperator: _objectType.CondtionOperator,\r\n              };\r\n              condition = JSON.stringify(_condition);\r\n            }\r\n            if (!isDepandancyvalue) {\r\n              return;\r\n            }\r\n            this.dynamicAppsService\r\n              .getSQLExecute(\r\n                searchCriteria,\r\n                restData.DataSourceId,\r\n                _objectType.Type,\r\n                _objectType.Name,\r\n                condition\r\n              )\r\n              .subscribe(\r\n                (Res: any) => {\r\n                  debugger;\r\n\r\n                  let _data: any = Res.Data ? Res.Data : Res;\r\n\r\n                  if (_data && Array.isArray(_data) && _data.length > 0) {\r\n                    this.dropDown$[field.Description] = _data;\r\n                    this.TempGridData = this.dropDown$[field.Description];\r\n                  } else {\r\n                    this.dropDown$[field.Description] = [];\r\n                    this.TempGridData = [];\r\n                  }\r\n                  this.loaderService.hideLoading();\r\n                },\r\n                (error: any) => {\r\n                  debugger;\r\n                  this.loaderService.hideLoading();\r\n                  if (error.status == 401) {\r\n                    return;\r\n                  }\r\n                  console.log(error);\r\n                  Swal.fire(errorMessageType(error));\r\n                }\r\n              );\r\n          }\r\n        } else {\r\n          this.dynamicAppsService\r\n            .dynamicAPi(\r\n              restData,\r\n              _formvalue,\r\n              searchCriteria,\r\n              SearchText,\r\n              restData.Havecriteria\r\n            )\r\n            .subscribe((ress: any) => {\r\n              debugger;\r\n\r\n              let res = ress;\r\n\r\n              if (restData.ResponseView) {\r\n                let _rview = restData.ResponseView.split('.');\r\n                _rview.forEach((x: any) => {\r\n                  if (ress) {\r\n                    ress = ress[x];\r\n                    res = ress;\r\n                  } else res = '';\r\n                });\r\n              } else {\r\n                if (ress.Data) {\r\n                  res = ress.Data;\r\n                  if (res.Data) res = res.Data;\r\n                }\r\n                if (ress.content) res = ress.content;\r\n\r\n                if (ress.entities) res = ress.entities;\r\n                if (ress.templates) res = ress.templates;\r\n              }\r\n\r\n              if (RequestorField) {\r\n                let _Sitem = res.filter(\r\n                  (x: any) => x[restData.valueField] == this.RequestorFieldValue\r\n                );\r\n                this.fieldsList.map((x: any) => {\r\n                  if (x.Description == field.Description) x.showTable = false;\r\n                });\r\n                if (_Sitem && _Sitem.length > 0) {\r\n                  this.selectDropDownRow(_Sitem[0], field);\r\n                }\r\n              }\r\n\r\n              if (res && Array.isArray(res) && res.length > 0) {\r\n                this.dropDown$[field.Description] = res;\r\n                this.TempGridData = res;\r\n              } else if (\r\n                Object.keys(res).length > 0 &&\r\n                Object.keys(res).includes('List')\r\n              ) {\r\n                this.dropDown$[field.Description] = res['List'];\r\n                this.TempGridData = this.dropDown$[field.Description];\r\n              } else {\r\n                this.dropDown$[field.Description] = [];\r\n                this.TempGridData = this.dropDown$[field.Description];\r\n              }\r\n              this.loadTreeView(restData, field);\r\n              this.loaderService.hideLoading();\r\n            });\r\n        }\r\n      } else if (jsonItem.isDynamic && jsonItem.api && jsonItem.api.url) {\r\n        const url = jsonItem.api.url;\r\n        this.dynamicAppsService.getDyamicUrl(url).subscribe((ress: any) => {\r\n          debugger;\r\n\r\n          let res = ress;\r\n          if (ress && ress?.entities) res = ress.entities;\r\n          if (ress && ress?.Data) res = ress.Data;\r\n          if (ress && ress?.templates) res = ress.templates;\r\n          if (ress && ress?.Data && ress?.Data?.Data) res = ress.Data.Data;\r\n\r\n          if (res && Array.isArray(res) && res.length > 0) {\r\n            this.dropDown$[field.Description] = res.map((x) =>\r\n              Object.assign({\r\n                Id: x[jsonItem.api.valueField],\r\n                Description: x[jsonItem.api.textField],\r\n              })\r\n            );\r\n            this.TempGridData = this.dropDown$[field.Description];\r\n          } else if (\r\n            Object.keys(res).length > 0 &&\r\n            Object.keys(res).includes('List')\r\n          ) {\r\n            this.dropDown$[field.Description] = res['List'].map((x: any) =>\r\n              Object.assign({\r\n                Id: x[jsonItem.api.valueField],\r\n                Description: x[jsonItem.api.textField],\r\n              })\r\n            );\r\n            this.TempGridData = this.dropDown$[field.Description];\r\n          } else {\r\n            this.dropDown$[field.Description] = [];\r\n            this.TempGridData = [];\r\n          }\r\n          this.loaderService.hideLoading();\r\n        });\r\n      } else {\r\n        if (\r\n          jsonItem.options &&\r\n          Array.isArray(jsonItem.options) &&\r\n          jsonItem.options.length > 0\r\n        ) {\r\n          if (RequestorField) {\r\n            let _Sitem = jsonItem.options.filter(\r\n              (x: any) => x.text == this.RequestorField\r\n            );\r\n            if (_Sitem && _Sitem.length > 0) {\r\n              this.selectDropDownRow(_Sitem[0], field);\r\n            }\r\n          }\r\n          this.dropDown$[field.Description] = jsonItem.options;\r\n          this.TempGridData = jsonItem.options;\r\n        } else {\r\n          this.dropDown$[field.Description] = [];\r\n          this.TempGridData = [];\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  loadDropdownForFieldData(field: EntityTypeFieldVM | any) {\r\n    if (this.FieldData) {\r\n      if (this.FieldData.RelationEntity) {\r\n        let _Searchcriteria: ISearchCriteria = {\r\n          Pagging: {\r\n            PageNo: 0,\r\n            PageSize: 0,\r\n          },\r\n          Where: [],\r\n          SortOrder: 1,\r\n        };\r\n\r\n        let isDepandancyvalue = true;\r\n\r\n        if (field.DependentLookupField) {\r\n          let _formvalue = this.pageForm.form.value;\r\n          let _DependentLookupField: any[] = JSON.parse(\r\n            field.DependentLookupField\r\n          );\r\n\r\n          _DependentLookupField.forEach((DLF) => {\r\n            if (_formvalue[DLF.Field]) {\r\n              let filterobj = {\r\n                Field: DLF.RelatedField,\r\n                Operator: 'Contains',\r\n                TableAlias: '',\r\n                Value: _formvalue[DLF.Field],\r\n              };\r\n              _Searchcriteria.Where.push(filterobj);\r\n            }\r\n            if (DLF.IsMandatory) {\r\n              if (_formvalue[DLF.Field] == null) {\r\n                Swal.fire({\r\n                  title: this.translatePipe.transform(\r\n                    'please fill ' + DLF.Field\r\n                  ),\r\n                });\r\n                isDepandancyvalue = false;\r\n                return;\r\n              }\r\n            }\r\n          });\r\n        }\r\n\r\n        if (!isDepandancyvalue) {\r\n          this.item.showTable = false;\r\n          return;\r\n        }\r\n\r\n        let condition = null;\r\n        if (field.RelationEntityCondition) {\r\n          let _handleData: any = {};\r\n          if (this.ParameterData) {\r\n            _handleData.params = this.ParameterData;\r\n          }\r\n          _handleData.FormData = this.pageForm.form.value;\r\n\r\n          let EnityData = JSON.parse(field.RelationEntityCondition);\r\n          if (EnityData) {\r\n            if (!Array.isArray(EnityData)) {\r\n              if (EnityData.Condtion && EnityData.Condtion.length > 0) {\r\n                EnityData.Condtion = EnityData.Condtion.map((x: any) => {\r\n                  x.ValueTwo = this.hanbleBarData(x.ValueTwo, _handleData);\r\n                  return x;\r\n                });\r\n                let _condition = {\r\n                  Condtion: EnityData.Condtion,\r\n                  CondtionOperator: EnityData.CondtionOperator,\r\n                };\r\n                condition = JSON.stringify(_condition);\r\n              }\r\n            }\r\n          }\r\n        }\r\n\r\n        this.dynamicAppsService\r\n          .getDynamicAll(\r\n            _Searchcriteria,\r\n            this.FieldData.RelationEntity,\r\n            null,\r\n            null,\r\n            null,\r\n            condition\r\n          )\r\n          .subscribe(\r\n            (ress: any) => {\r\n              debugger;\r\n              let res = ress;\r\n\r\n              if (ress.Data) {\r\n                res = ress.Data;\r\n                if (res.Data) res = res.Data;\r\n              }\r\n\r\n              if (res && Array.isArray(res) && res.length > 0) {\r\n                this.dropDown$[field.Description] = res;\r\n                this.TempGridData = this.dropDown$[field.Description];\r\n              } else if (\r\n                Object.keys(res).length > 0 &&\r\n                Object.keys(res).includes('List')\r\n              ) {\r\n                this.dropDown$[field.Description] = res['List'];\r\n                this.TempGridData = this.dropDown$[field.Description];\r\n              } else {\r\n                this.dropDown$[field.Description] = [];\r\n                this.TempGridData = this.dropDown$[field.Description];\r\n              }\r\n\r\n              debugger;\r\n              if (!this.FieldData.RelationEntityLookupFieldGroup) {\r\n                this.dropDownColumn$[field.Description] = [];\r\n                let _valcol: IColumnDef = {\r\n                  Field: this.FieldData.RelationEntityField,\r\n                  Name: this.FieldData.RelationEntityField,\r\n                };\r\n                this.dropDownColumn$[field.Description].push(_valcol);\r\n              }\r\n              this.loaderService.hideLoading();\r\n            },\r\n            (error: any) => {\r\n              debugger;\r\n              this.loaderService.hideLoading();\r\n              if (error.status == 401) {\r\n                return;\r\n              }\r\n              console.log(error);\r\n              Swal.fire(errorMessageType(error));\r\n            }\r\n          );\r\n      }\r\n    }\r\n  }\r\n\r\n  getRelationEntityFieldGroup(field: any) {\r\n    if (this.FieldData.RelationEntityLookupFieldGroup) {\r\n      this.dynamicAppsService\r\n        .getSingleEntityTypeFormById(\r\n          this.FieldData.RelationEntityLookupFieldGroup\r\n        )\r\n        .subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n            if (res.DetailsViewData) {\r\n              this.Fieldgroup = JSON.parse(res.DetailsViewData);\r\n              this.FieldgroupDropdownFields(field);\r\n            }\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error: any) => {\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n          }\r\n        );\r\n    } else {\r\n      this.FieldgroupDropdownFields(field);\r\n    }\r\n  }\r\n\r\n  FieldgroupDropdownFields(field: any) {\r\n    if (this.Fieldgroup && this.Fieldgroup.length > 0) {\r\n      this.dropDownColumn$[field.Description] = [];\r\n      let _valcol: IColumnDef = {\r\n        Field: this.FieldData.RelationEntityField,\r\n        Name: this.FieldData.RelationEntityField,\r\n      };\r\n      this.dropDownColumn$[field.Description].push(_valcol);\r\n      this.Fieldgroup.forEach((fld) => {\r\n        let _valcol: IColumnDef = {\r\n          Field: fld.Description,\r\n          Name: fld.Label ? fld.Label : fld.Description,\r\n        };\r\n        this.dropDownColumn$[field.Description].push(_valcol);\r\n      });\r\n    }\r\n  }\r\n\r\n  loadTreeView(restData: any, field: any) {\r\n    debugger;\r\n\r\n    if (restData.TreeView) {\r\n      if (\r\n        restData.TreeView.ExpandedKey &&\r\n        restData.TreeView.ParentKey &&\r\n        restData.TreeView.ChildKey\r\n      ) {\r\n        let _DyanamicTreeList = this.dropDown$[field.Description].map(\r\n          (item: any) => {\r\n            if (!item.child) {\r\n              item.child = this.dropDown$[field.Description].filter(\r\n                (x: any) =>\r\n                  x[restData.TreeView.ParentKey] ==\r\n                  item[restData.TreeView.ChildKey]\r\n              );\r\n            }\r\n            return item;\r\n          }\r\n        );\r\n        this.dropDown$[field.Description] = _DyanamicTreeList.filter(\r\n          (x: any) =>\r\n            !x[restData.TreeView.ParentKey] ||\r\n            x[restData.TreeView.ParentKey] == 0\r\n        );\r\n        this.expandAllRow(field);\r\n      }\r\n    }\r\n  }\r\n\r\n  expandrow(item: any, i: any) {\r\n    item.IsExpanded = true;\r\n  }\r\n  collapserow(item: any, i: any) {\r\n    item.IsExpanded = false;\r\n  }\r\n\r\n  expandAllRow(field: any) {\r\n    debugger;\r\n    this.dropDown$[field.Description].forEach((item: any) => {\r\n      this.expandrecursiveloop(item, true);\r\n    });\r\n  }\r\n\r\n  collapseAllRow(field: any) {\r\n    this.dropDown$[field.Description].forEach((item: any) => {\r\n      this.expandrecursiveloop(item, false);\r\n    });\r\n  }\r\n\r\n  expandrecursiveloop(item: any, expand: any) {\r\n    item.IsExpanded = expand;\r\n    if (item.child && item.child.length > 0) {\r\n      item.child.forEach((child: any) => {\r\n        this.expandrecursiveloop(child, expand);\r\n      });\r\n    }\r\n  }\r\n\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n\r\n    data.CurrentData = this;\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    data.PageData = this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  new() {\r\n    if (this.item.DataType == E_DataType.buttonGroup) {\r\n      this.loadDropdownColumn(this.item);\r\n      this.item.showTable = true;\r\n    }\r\n  }\r\n\r\n  FieldData: EntityTypeFieldVM | any = null;\r\n  FieldDataCrateURL: string | any = null;\r\n  FieldDataListURL: string | any = null;\r\n  FieldDataDetailsURL: string | any = null;\r\n  Fieldgroup: EntityTypeFieldVM[] = [];\r\n  getFieldTypeData(field: any, jsonItem: any) {\r\n    this.dynamicAppsService\r\n      .getSingleFieldTypebyFieldTypeId(field.FieldTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.FieldData = res.Data ? res.Data : res;\r\n\r\n          if (this.FieldData) {\r\n            if (this.FieldData.DataType == E_DataType.Relation) {\r\n              if (\r\n                this.FieldData.RelationEntity &&\r\n                this.FieldData.RelationEntityField\r\n              ) {\r\n                // if (this.globalService.currentModule == 'Platform') {\r\n                //   this.FieldDataCrateURL =\r\n                //     '/Platform/' +\r\n                //     this.globalService.EnvironmentId +\r\n                //     '/View/Create/' +\r\n                //     this.FieldData.RelationEntity;\r\n                //   this.FieldDataListURL =\r\n                //     '/Platform/' +\r\n                //     this.globalService.EnvironmentId +\r\n                //     '/View/' +\r\n                //     this.FieldData.RelationEntity;\r\n                //   this.FieldDataDetailsURL =\r\n                //     '/Platform/' +\r\n                //     this.globalService.EnvironmentId +\r\n                //     '/View/Details/' +\r\n                //     this.FieldData.RelationEntity;\r\n                // } else if (\r\n                //   this.globalService.currentModule == 'System' &&\r\n                //   this.globalService.currentSystemModuleName\r\n                // ) {\r\n                //   this.FieldDataCrateURL =\r\n                //     '/' +\r\n                //     this.globalService.currentModule +\r\n                //     '/' +\r\n                //     this.globalService.currentSystemModuleName +\r\n                //     '/View/Create/' +\r\n                //     this.FieldData.RelationEntity;\r\n                //   this.FieldDataListURL =\r\n                //     '/' +\r\n                //     this.globalService.currentModule +\r\n                //     '/' +\r\n                //     this.globalService.currentSystemModuleName +\r\n                //     '/View/' +\r\n                //     this.FieldData.RelationEntity;\r\n                //   this.FieldDataDetailsURL =\r\n                //     '/' +\r\n                //     this.globalService.currentModule +\r\n                //     '/' +\r\n                //     this.globalService.currentSystemModuleName +\r\n                //     '/View/Details/' +\r\n                //     this.FieldData.RelationEntity;\r\n                // } else {\r\n                //   this.FieldDataCrateURL =\r\n                //     '/' +\r\n                //     this.globalService.currentModule +\r\n                //     '/View/Create/' +\r\n                //     this.FieldData.RelationEntity;\r\n                //   this.FieldDataListURL =\r\n                //     '/' +\r\n                //     this.globalService.currentModule +\r\n                //     '/View/' +\r\n                //     this.FieldData.RelationEntity;\r\n                //   this.FieldDataDetailsURL =\r\n                //     '/' +\r\n                //     this.globalService.currentModule +\r\n                //     '/View/Details/' +\r\n                //     this.FieldData.RelationEntity;\r\n                // }\r\n\r\n                this.getRelationEntityFieldGroup(field);\r\n                this.loadDropdownForFieldData(field);\r\n              }\r\n            } else if (this.FieldData.DataType == E_DataType.dropdown) {\r\n              this.loadDropdownColumn(this.FieldData, true);\r\n            }\r\n          } else {\r\n            if (\r\n              jsonItem.isDynamic &&\r\n              jsonItem.rest &&\r\n              jsonItem.rest.HasServerSideSearch\r\n            ) {\r\n              return;\r\n            }\r\n            this.loadDropdown(field);\r\n          }\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  setSelectedValues() {\r\n    debugger;\r\n    if (this.item.LookupData) {\r\n      let field = this.getdropdwnFieldKey(\r\n        this.item.Description,\r\n        this.item.LookupData\r\n      );\r\n      if (this.PageGroupValues && this.PageGroupValues[field])\r\n        this.item.showSelectedValues = this.PageGroupValues[field];\r\n    }\r\n  }\r\n\r\n  getdropdwnFieldKey(keyValue: any, lookup: any) {\r\n    let key = keyValue;\r\n    if (lookup) {\r\n      let lookupValue: ILookUpJsonFieldData = JSON.parse(lookup);\r\n      if (lookupValue) {\r\n        let IdDescription = lookupValue.IdDescription;\r\n        if (this.globalService.CurrentLanguage == 'Ar') {\r\n          if (lookupValue.IdDescriptionAr) {\r\n            IdDescription = lookupValue.IdDescriptionAr;\r\n          }\r\n        }\r\n        if (IdDescription) {\r\n          let _key = lookupValue.IdDescription.split(',')[0];\r\n          key =\r\n            (lookupValue.LookupTableAlias\r\n              ? lookupValue.LookupTableAlias\r\n              : lookupValue.LookupTable) +\r\n            '_' +\r\n            _key;\r\n        }\r\n      }\r\n    }\r\n    return key;\r\n  }\r\n}","<ng-container [formGroup]=\"pageForm.form\">\r\n    <div class=\"row\">\r\n        <div class=\"col\">\r\n            <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n\r\n                {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                :item.Label | translate}}\r\n                <span class=\"red\" *ngIf=\"item.IsMandatory || pageForm.form.get(item.Description)?.errors\">*</span>\r\n            </label>\r\n        </div>\r\n        <div class=\"col control-input\">\r\n            <ng-container *ngIf=\"item.DataType == _dataType.dropdown || item.DataType == _dataType.Relation\">\r\n                <div class=\"position-relative\" [ngClass]=\"{'show-table': item.showTable}\" style=\"position: relative;\">\r\n\r\n                    <div class=\"control-input\">\r\n\r\n                        <label class=\"form-control m-0 position-relative field_data\"\r\n                            [ngClass]=\"{'border-red is-invalid': item.IsMandatory && !(pageForm.form.value[item.Description]) }\"\r\n                            (click)=\"showTable(item)\">\r\n                            {{(item.showSelectedValues ? item.showSelectedValues: pageForm.form.value[item.Description])}}\r\n                            <div class=\"field_url\"\r\n                                *ngIf=\"pageForm.form.value[item.Description] && FieldData && FieldData.DataType==88 && FieldData.RelationEntity && FieldData.RelationEntityField\">\r\n                                <!-- <a target=\"_blank\"\r\n                                    routerLink=\"{{FieldDataDetailsURL}}/{{item.Description}}/{{pageForm.form.value[item.Description]}}\"\r\n                                    class=\"btn btn-sm btn-outline-primary m-r-5 m-l-5 bg-white\">\r\n                                    <i class=\"la la-eye\"></i>\r\n                                </a> -->\r\n                                <!-- <a target=\"_blank\" routerLink=\"{{FieldDataListURL}}\"\r\n                                    class=\"btn btn-sm btn-outline-primary m-r-5 m-l-5 bg-white\">\r\n                                    <i class=\"la la-external-link \"></i>\r\n                                </a> -->\r\n                            </div>\r\n                        </label>\r\n                        <input [id]=\"item.Description\" autocomplete=\"off\" [placeholder]=\"item.Description\" type=\"hidden\"\r\n                            [name]=\"item.Description\" [formControlName]=\"item.Description\"\r\n                            (click)=\"item.showTable =!item.showTable;loadDropdownColumn(item)\" class=\"form-control\"\r\n                            [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\"\r\n                            (keyup)=\"changeFiledValue($event,item)\" readonly />\r\n                    </div>\r\n\r\n\r\n\r\n                    <div class=\"control-table autoComplete_dropdown tree-table\" *ngIf=\"item.showTable\"\r\n                        [ngClass]=\"{'d-none':item.IsInactive}\">\r\n\r\n                        <div class=\"pull-left\"\r\n                            *ngIf=\"FieldData && FieldData.DataType==88 && FieldData.RelationEntity && FieldData.RelationEntityField\">\r\n\r\n                            <!-- <a target=\"_blank\" routerLink=\"{{FieldDataCrateURL}}\"\r\n                                class=\"btn btn-sm btn-outline-primary\">add new <i class=\"la la-plus m-l-5\"></i></a>\r\n                            <a target=\"_blank\" routerLink=\"{{FieldDataListURL}}\"\r\n                                class=\"btn btn-sm btn-outline-primary m-r-10 m-l-10\">go to list <i\r\n                                    class=\"la la-external-link m-l-5\"></i></a> -->\r\n\r\n                        </div>\r\n\r\n                        <span class=\"close pull-right\" (click)=\"item.showTable =!item.showTable;\">x</span>\r\n\r\n                        <div class=\"control-table-search m-b-10 m-r-30\" style=\"position: relative;\"\r\n                            *ngIf=\"showAutoSearchTextBox(item)\">\r\n                            <input type=\"text\" [(ngModel)]=\"item.AutoSearchText\" [ngModelOptions]=\"{standalone: true}\"\r\n                                placeholder=\"{{'Search Here to Get Data in (minimum 3 letters)'|translate}}....\"\r\n                                (keyup)=\"autoSearchDropdown($event,item)\" />\r\n                            <i class=\"la la-search\"\r\n                                style=\"position: absolute; top: 7px; right: 10px; color: #ddd; font-size: 18px; \"\r\n                                (click)=\"loadDropdown(item)\"></i>\r\n\r\n                        </div>\r\n                        <table class=\"table table-striped table-hover\">\r\n                            <thead>\r\n                                <tr>\r\n\r\n                                    <td *ngIf=\"FieldData && FieldData.DataType==88 && FieldData.RelationEntity && FieldData.RelationEntityField\"\r\n                                        style=\"width: 40px;\"></td>\r\n                                    <td style=\"width: 40px;\"></td>\r\n                                    <td *ngFor=\"let col of dropDownColumn$[item.Description];let i = index\">\r\n                                        <div>\r\n                                            {{col.Name|translate}}\r\n                                        </div>\r\n\r\n                                        <div class=\"mb-1 mt-1\">\r\n                                            <input type=\"search\" [(ngModel)]=\"dropDownGridFilter[col.Field]\"\r\n                                                [ngModelOptions]=\"{standalone: true}\"\r\n                                                (keyup)=\"filterRemianingList(i,item)\">\r\n                                        </div>\r\n                                    </td>\r\n                                </tr>\r\n                            </thead>\r\n                            <tbody>\r\n\r\n                                <ng-container\r\n                                    *ngFor=\"let val of (dropDown$[item.Description] | filter:item.AutoSearchText) | paginate: {itemsPerPage:defineItemsPerPage, currentPage:pageStartFrom}; let i = index \">\r\n                                    <ng-container [ngTemplateOutlet]=\"trloop\"\r\n                                        [ngTemplateOutletContext]=\"{list:val,index:i,leval:0}\">\r\n                                    </ng-container>\r\n                                </ng-container>\r\n\r\n                            </tbody>\r\n\r\n\r\n                        </table>\r\n\r\n                        <ng-container *ngIf=\"(dropDown$[item.Description] ) as list\">\r\n\r\n                            <div class=\"bootom-pagenations whole row m-0\" *ngIf=\"list \">\r\n                                <!-- && list.length > 10 -->\r\n\r\n                                <pagination-controls class=\"inline-block pull-left col padding-0\"\r\n                                    style=\"max-width: 100%;\" (pageChange)=\"pageStartFrom = $event\">\r\n                                </pagination-controls>\r\n\r\n                                <div class=\"inline-block page-style pull-right col padding-0\" style=\"max-width: 50px;\">\r\n                                    <!-- <label class=\"pageLabel\">{{'Page Size'|translate}}: </label> -->\r\n                                    <select class=\"form-control form-control-sm pageSize inline-block m-0\"\r\n                                        style=\"width: 50px;\" [(ngModel)]=\"defineItemsPerPage\"\r\n                                        [ngModelOptions]=\"{standalone: true}\" (change)=\"defineRecordCount($event)\">\r\n                                        <option value=\"10\">10</option>\r\n                                        <option value=\"15\">15</option>\r\n                                        <option value=\"20\">20</option>\r\n                                        <option value=\"25\">25</option>\r\n                                    </select>\r\n                                </div>\r\n\r\n                            </div>\r\n                        </ng-container>\r\n                    </div>\r\n\r\n                </div>\r\n            </ng-container>\r\n\r\n            <ng-container *ngIf=\"item.DataType == _dataType.buttonGroup\">\r\n                <div class=\"clearfix form-control\" style=\"height: 90px;overflow: auto;padding: 4px 0;\">\r\n                    <div class=\"btn-content-list\" *ngFor=\"let val of dropDown$[item.Description] \">\r\n                        <button class=\"btn btncustom-outline mb-2\" (click)=\"selectDropDownRow(val,item)\">\r\n                            <ng-container *ngFor=\"let col of dropDownColumn$[item.Description] | Unique\">\r\n                                {{val[col?.Field]}}\r\n                            </ng-container>\r\n                        </button>\r\n                    </div>\r\n                </div>\r\n            </ng-container>\r\n\r\n\r\n\r\n            <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n            </app-validation-error>\r\n\r\n        </div>\r\n    </div>\r\n</ng-container>\r\n\r\n\r\n\r\n<ng-template #trloop let-list='list' let-index=\"index\" let-leval=\"leval\">\r\n\r\n    <tr\r\n        [ngClass]=\"{'dropdown-row-selected':pageForm.form.value[item.Description] && pageForm.form.value[item.Description].toString().includes(getRowFieldValue(list,item))}\">\r\n\r\n        <td *ngIf=\"FieldData && FieldData.DataType==88 && FieldData.RelationEntity && FieldData.RelationEntityField\">\r\n            <!-- <a target=\"_blank\" routerLink=\"{{FieldDataDetailsURL}}/{{list.RecId}}\"\r\n                class=\"btn btn-sm btn-outline-primary\" style=\"padding: 0 3px;\">\r\n                <i class=\"la la-external-link \"></i>\r\n            </a> -->\r\n        </td>\r\n\r\n        <td style=\"width: 40px;\">\r\n            <span (click)=\"selectDropDownRow(list,item)\">\r\n                <!-- <i class=\"la la-check-square themecolor\"></i> -->\r\n                <input class=\"themecolor\"\r\n                    [checked]=\"pageForm.form.value[item.Description] && (isSingleSelect && pageForm.form.value[item.Description].toString().includes(getSingleRowFieldValue(list,item))  || pageForm.form.value[item.Description].toString().includes(getRowFieldValue(list,item)))\"\r\n                    name=\"{{item.Description}}\" type=\"checkbox\">\r\n            </span>\r\n        </td>\r\n        <ng-container *ngFor=\"let col of dropDownColumn$[item.Description]\">\r\n            <td [style.padding-left]=\"(col.IsExpanded&&leval)?(25*leval)+'px': '8px'\">\r\n                <div [ngClass]=\"{'tree_column': col.IsExpanded}\">\r\n                    <span *ngIf=\"col.IsExpanded && list.child && list.child.length >0\">\r\n                        <span class=\"collapsed-row-button\" *ngIf=\"!list.IsExpanded\"\r\n                            (click)=\"expandrow(list,index)\"></span>\r\n                        <span class=\"expanded-row-button\" *ngIf=\"list.IsExpanded\"\r\n                            (click)=\"collapserow(list,index)\"></span>\r\n                    </span>\r\n                    <span app-grid-datatype [list]=\"list\" [col]=\"col\"></span>\r\n                </div>\r\n            </td>\r\n        </ng-container>\r\n\r\n    </tr>\r\n\r\n\r\n    <ng-container *ngIf=\"list.child && list.IsExpanded\">\r\n        <ng-container *ngFor=\"let CData of list.child; let ci = index\">\r\n            <ng-container [ngTemplateOutlet]=\"trloop\" [ngTemplateOutletContext]=\"{list:CData,index:ci,leval:leval+1}\">\r\n            </ng-container>\r\n        </ng-container>\r\n    </ng-container>\r\n\r\n</ng-template>","import {\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n  SimpleChanges,\r\n  HostListener,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { Observable } from 'rxjs';\r\nimport * as Handlebars from 'handlebars';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { E_DataType, E_DatasourceType, EntityTypeFieldCVM, EntityTypeFieldVM, FieldFiles, IColumnDef, ILookUpJsonFieldData, IRestConfig, ISearchCriteria, PageForm, checkList, ePageViewType, errorMessageType, isNotNullNotUndefined } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-entity-dynamic-field',\r\n  templateUrl: './entity-dynamic-field.component.html',\r\n  styleUrls: ['./entity-dynamic-field.component.scss'],\r\n  encapsulation:ViewEncapsulation.None\r\n})\r\nexport class EntityDynamicFieldComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  mouseX: any = null;\r\n  mouseY: any = null;\r\n  mouseMovetime: any = null;\r\n  @HostListener('mousemove', ['$event'])\r\n  onMousemove(event: MouseEvent) {\r\n    this.mouseX = event.clientX;\r\n    this.mouseY = event.clientY;\r\n    this.mouseMovetime = new Date();\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    this.dynamicAppsService.onPlaceHolderSelect.subscribe((x: any) => {\r\n      if (x && x.placeholder) this.clks(x.placeholder, x.Type);\r\n    });\r\n    this.OnSelectRequestorValue();\r\n    if (this.fieldsList && this.fieldsList.length > 0) {\r\n      this.fieldsList.map((x) => {\r\n        if (x.DataType == E_DataType.TableView) {\r\n          this.loadDropdownColumn(x);\r\n        } else if (\r\n          x.DataType == E_DataType.Array ||\r\n          x.DataType == E_DataType.Object\r\n        ) {\r\n          this.bindArraryDataTypeValue(x);\r\n        }\r\n\r\n        if (x.DataType == E_DataType.Code) {\r\n          x.codeOption = this.codeOption;\r\n          if (x.FieldData) {\r\n            x.codeOption.mode = x.FieldData;\r\n          }\r\n        }\r\n      });\r\n    }\r\n\r\n    this.getListFieldData();\r\n    this.getCheckListFieldData();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges | any) {\r\n    if (\r\n      changes &&\r\n      changes.fieldsList &&\r\n      changes.fieldsList.firstChange == false\r\n    ) {\r\n      this.OnSelectRequestorValue('ngOnChanges');\r\n    }\r\n  }\r\n\r\n  @Input() RequestorField: any = null;\r\n  @Input() RequestorFieldValue: any = null;\r\n\r\n  @Input() ParameterData: any = null;\r\n\r\n  @Input() fieldsList: EntityTypeFieldVM[]|any[] = [];\r\n  @Input() dynamicFormGroup!: FormGroup;\r\n  @Input() GroupViewType = null;\r\n  @Input() pageForm!: PageForm;\r\n  @Input() PageGroupValues: any = {};\r\n  @Input() submitted: boolean = false;\r\n  @Input() Type: string = 'Design';\r\n  @Input() IsViewType: boolean = false;\r\n  @Input() rowIndex: number = 0;\r\n  @Input() groupIndex: number = 0;\r\n  @Input() ActionType: any;\r\n\r\n  @Input() EntityType: number = 0;\r\n\r\n  @Input() EntityTypeId: number = 0;\r\n  @Input() EntityFormId: number = 0;\r\n  @Input() ProcessStageId: number = 0;\r\n\r\n  @Input() disableFieldConfig: boolean = false;\r\n\r\n  @Output() FieldChangeEvent: any = new EventEmitter<{\r\n    FieldData: any;\r\n    RestData: any;\r\n    fieldFiles?: any[];\r\n  }>();\r\n  @Output() FieldClickEvent: any = new EventEmitter<{\r\n    FieldData: any;\r\n    RestData: any;\r\n  }>();\r\n  @Output() deleteField: any = new EventEmitter<{\r\n    fieldIndex: number;\r\n    groupIndex: number;\r\n    rowIndex: number;\r\n  }>();\r\n  @Output() downField: any = new EventEmitter<{\r\n    fieldIndex: number;\r\n    groupIndex: number;\r\n    rowIndex: number;\r\n  }>();\r\n  @Output() upField: any = new EventEmitter<{\r\n    fieldIndex: number;\r\n    groupIndex: number;\r\n    rowIndex: number;\r\n  }>();\r\n\r\n  @Input() ClientFields: EntityTypeFieldCVM[] = [];\r\n  _dataType = E_DataType;\r\n  _ViewType = ePageViewType;\r\n\r\n  @Output() updateClientField: any = new EventEmitter<{\r\n    ClientField: EntityTypeFieldVM[];\r\n  }>();\r\n\r\n  dropDown$ = Object.assign({});\r\n  dropDownColumn$: IColumnDef[] | any = [];\r\n  generateDropDownFields() {\r\n    for (const iterator of this.fieldsList) {\r\n      if (iterator.DataType == E_DataType.dropdown) {\r\n        this.dropDown$[iterator.Description] = new Observable((obx: any) => {\r\n          if (iterator.FieldData) {\r\n            var jsonItem = JSON.parse(iterator.FieldData);\r\n            if (jsonItem.isDynamic && jsonItem.api && jsonItem.api.url) {\r\n              const url = jsonItem.api.url;\r\n              this.dynamicAppsService.getDyamicUrl(url).subscribe((ress: any) => {\r\n                let res = ress;\r\n                if (ress && ress?.entities) res = ress.entities;\r\n                if (ress && ress?.Data) res = ress.Data;\r\n                if (ress && ress?.templates) res = ress.templates;\r\n                if (ress && ress?.Data && ress?.Data?.Data)\r\n                  res = ress.Data.Data;\r\n\r\n                if (res && Array.isArray(res) && res.length > 0) {\r\n                  obx.next(\r\n                    res.map((x) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.api.valueField],\r\n                        Description: x[jsonItem.api.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else if (\r\n                  Object.keys(res).length > 0 &&\r\n                  Object.keys(res).includes('List')\r\n                ) {\r\n                  obx.next(\r\n                    res['List'].map((x: any) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.api.valueField],\r\n                        Description: x[jsonItem.api.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else obx.next([]);\r\n                this.loaderService.hideLoading();\r\n              });\r\n            } else {\r\n              if (\r\n                jsonItem.options &&\r\n                Array.isArray(jsonItem.options) &&\r\n                jsonItem.options.length > 0\r\n              ) {\r\n                obx.next(\r\n                  jsonItem.options.map((x: any) =>\r\n                    Object.assign({\r\n                      Id: x.value,\r\n                      Description: x.text,\r\n                    })\r\n                  )\r\n                );\r\n              } else obx.next([]);\r\n            }\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  validationError(name: string, errorName: string) {\r\n    if (name && errorName)\r\n      return this.dynamicFormGroup?.get(name)?.errors?.[errorName]\r\n        ? true\r\n        : false;\r\n    else return this.dynamicFormGroup?.get(name)?.errors ? true : false;\r\n  }\r\n\r\n  getType(_dataType: E_DataType | number) {\r\n    switch (_dataType) {\r\n      case E_DataType.int:\r\n      case E_DataType.decimal:\r\n        return 'number';\r\n      case E_DataType.date:\r\n        return 'date';\r\n      case E_DataType.dateTime:\r\n        return 'datetime-local';\r\n      case E_DataType.timespan:\r\n        return 'time';\r\n      case E_DataType.bool:\r\n        return 'checkbox';\r\n      case E_DataType.string:\r\n        return 'text';\r\n      case E_DataType.image:\r\n        return 'file';\r\n\r\n      default:\r\n        return 'text';\r\n    }\r\n  }\r\n\r\n  changeTextEvent(event: any) {}\r\n\r\n  setDDLValueOnEditMode() {\r\n    if (this.PageGroupValues && this.PageGroupValues.RecId) {\r\n      this.fieldsList.map((x) => {\r\n        if (x.DataType == E_DataType.dropdown) {\r\n          debugger;\r\n          let _field = x.Description + '_Desc';\r\n          if (_field in this.PageGroupValues) {\r\n            debugger;\r\n            x.showSelectedValues = this.PageGroupValues[_field];\r\n          } else {\r\n            x.showSelectedValues = this.PageGroupValues[x.Description];\r\n          }\r\n        }\r\n      });\r\n      alert('asa');\r\n    }\r\n  }\r\n\r\n  datatype: any;\r\n  changeFiledValue(event: any, item: any, SelectedObj?: any) {\r\n    this.FieldChangeEvent.emit({\r\n      FieldData: item,\r\n      RestData: SelectedObj,\r\n      fieldFiles: this.fieldFiles,\r\n    });\r\n  }\r\n\r\n  clickField(event: any, item: any, SelectedObj?: any) {\r\n    debugger;\r\n    this.FieldClickEvent.emit({ FieldData: item, RestData: SelectedObj });\r\n  }\r\n\r\n  SelectedFiles$: any = [];\r\n  selectedFileItem$: any = [];\r\n\r\n  changeFile(event: any, item: any) {\r\n    this.convertByte(event.target.files[0], item);\r\n  }\r\n\r\n  condtionDelete: boolean = false;\r\n  _deleteField(fieldIndex: any) {\r\n    this.deleteField.emit({\r\n      fieldIndex: fieldIndex,\r\n      groupIndex: this.groupIndex,\r\n      rowIndex: this.rowIndex,\r\n    });\r\n  }\r\n  _downField(fieldIndex: any) {\r\n    this.downField.emit({\r\n      fieldIndex: fieldIndex,\r\n      groupIndex: this.groupIndex,\r\n      rowIndex: this.rowIndex,\r\n    });\r\n  }\r\n  _upField(fieldIndex: any) {\r\n    this.upField.emit({\r\n      fieldIndex: fieldIndex,\r\n      groupIndex: this.groupIndex,\r\n      rowIndex: this.rowIndex,\r\n    });\r\n  }\r\n\r\n  getdropdwnFieldKey(keyValue: any, lookup: any) {\r\n    let key = keyValue;\r\n    if (lookup) {\r\n      let lookupValue: ILookUpJsonFieldData = JSON.parse(lookup);\r\n      if (lookupValue) {\r\n        let IdDescription = lookupValue.IdDescription;\r\n        if (this.globalService.CurrentLanguage == 'Ar') {\r\n          if (lookupValue.IdDescriptionAr) {\r\n            IdDescription = lookupValue.IdDescriptionAr;\r\n          }\r\n        }\r\n        if (IdDescription) {\r\n          let _key = lookupValue.IdDescription.split(',')[0];\r\n          key =\r\n            (lookupValue.LookupTableAlias\r\n              ? lookupValue.LookupTableAlias\r\n              : lookupValue.LookupTable) +\r\n            '_' +\r\n            _key;\r\n        }\r\n      }\r\n    }\r\n    return key;\r\n  }\r\n\r\n  getFiledKey(keyValue: any, lookup: any) {\r\n    let key = keyValue;\r\n    let lookupValue: ILookUpJsonFieldData = JSON.parse(lookup);\r\n    if (lookupValue) key = lookupValue.IdDescription;\r\n    return key;\r\n  }\r\n\r\n  tempFields: any;\r\n\r\n  loadDropdown(\r\n    field: EntityTypeFieldVM,\r\n    searchCriteria?: any,\r\n    RequestorField?: any,\r\n    SearchText?: any\r\n  ) {\r\n    debugger;\r\n    this.tempFields = field;\r\n\r\n    if (\r\n      field.DataType == E_DataType.dropdown ||\r\n      field.DataType == E_DataType.Placeholder ||\r\n      field.DataType == E_DataType.TableView\r\n    ) {\r\n      this.dropDown$[field.Description] = new Observable((obx) => {\r\n        if (field.FieldData) {\r\n          var jsonItem = JSON.parse(field.FieldData);\r\n          if (\r\n            jsonItem.isDynamic &&\r\n            jsonItem.rest &&\r\n            (((jsonItem.rest.DataSourceType == E_DatasourceType.RestApi ||\r\n              !jsonItem.rest.DataSourceType) &&\r\n              jsonItem.rest.URL) ||\r\n              (jsonItem.rest.DataSourceType == E_DatasourceType.Query &&\r\n                jsonItem.rest.DataSourceId) ||\r\n              (jsonItem.rest.DataSourceType == E_DatasourceType.Entity &&\r\n                jsonItem.rest.DataSourceId))\r\n          ) {\r\n            let isDepandancyvalue = true;\r\n            let _formvalue = this.pageForm.form.value;\r\n\r\n            let restData: IRestConfig | any = jsonItem.rest;\r\n\r\n            let _handleData: any = {};\r\n            if (this.ParameterData) {\r\n              _handleData.params = this.ParameterData;\r\n            }\r\n\r\n            _handleData.FormData = _formvalue;\r\n            if (\r\n              restData.DataSourceType == E_DatasourceType.RestApi ||\r\n              !restData.DataSourceType ||\r\n              restData.DataSourceType == E_DatasourceType.Entity\r\n            ) {\r\n              restData.QueryStrings.forEach((query: any) => {\r\n                if (query.Type == 'FieldValue') {\r\n                  if (!_formvalue[query.Value] && query.IsNullable != true) {\r\n                    Swal.fire({\r\n                      title: this.translatePipe.transform(\r\n                        'please fill ' + query.Value\r\n                      ),\r\n                    });\r\n                    isDepandancyvalue = false;\r\n                    return;\r\n                  }\r\n                }\r\n              });\r\n            }\r\n            if (\r\n              restData.DataSourceType == E_DatasourceType.RestApi ||\r\n              !restData.DataSourceType\r\n            ) {\r\n              restData.Headers = restData.Headers.map((x: any) => {\r\n                x.Value = this.hanbleBarData(x.Value, _handleData);\r\n                return x;\r\n              });\r\n              restData.URL = this.hanbleBarData(restData.URL, _handleData);\r\n              restData.Body = this.hanbleBarData(restData.Body, _handleData);\r\n              if (!isDepandancyvalue) {\r\n                return;\r\n              }\r\n            }\r\n            if (restData.DataSourceType == E_DatasourceType.RestApi) {\r\n              this.dynamicAppsService\r\n                .dynamicAPi(\r\n                  restData,\r\n                  _formvalue,\r\n                  searchCriteria,\r\n                  SearchText,\r\n                  restData.Havecriteria\r\n                )\r\n                .subscribe((ress: any) => {\r\n                  debugger;\r\n\r\n                  let res = ress;\r\n\r\n                  if (restData.ResponseView) {\r\n                    let _rview = restData.ResponseView.split('.');\r\n                    _rview.forEach((x: any) => {\r\n                      if (ress) {\r\n                        ress = ress[x];\r\n                        res = ress;\r\n                      } else res = '';\r\n                    });\r\n                  } else {\r\n                    if (ress.Data) {\r\n                      res = ress.Data;\r\n                      if (res.Data) res = res.Data;\r\n                    }\r\n                    if (ress.content) res = ress.content;\r\n\r\n                    if (ress.entities) res = ress.entities;\r\n                    if (ress.templates) res = ress.templates;\r\n                  }\r\n\r\n                  if (RequestorField) {\r\n                    let _Sitem = res.filter(\r\n                      (x: any) =>\r\n                        x[restData.valueField] == this.RequestorFieldValue\r\n                    );\r\n                    this.fieldsList.map((x) => {\r\n                      if (x.Description == field.Description)\r\n                        x.showTable = false;\r\n                    });\r\n                    if (_Sitem && _Sitem.length > 0) {\r\n                      this.selectDropDownRow(_Sitem[0], field);\r\n                    }\r\n                  }\r\n\r\n                  if (res && Array.isArray(res) && res.length > 0) {\r\n                    obx.next(res);\r\n                  } else if (\r\n                    Object.keys(res).length > 0 &&\r\n                    Object.keys(res).includes('List')\r\n                  ) {\r\n                    obx.next(res['List']);\r\n                  } else obx.next([]);\r\n                  this.loaderService.hideLoading();\r\n                });\r\n            } else if (restData.DataSourceType == E_DatasourceType.Query) {\r\n              restData.QueryParameter = restData.QueryParameter.map(\r\n                (x: any) => {\r\n                  x.Value = this.hanbleBarData(x.Value, _handleData);\r\n                  return x;\r\n                }\r\n              );\r\n              this.dynamicAppsService\r\n                .getDyamicQueryData(\r\n                  restData.DataSourceId,\r\n                  '',\r\n                  searchCriteria,\r\n                  restData.QueryParameter\r\n                )\r\n                .subscribe(\r\n                  (ress: any) => {\r\n                    debugger;\r\n\r\n                    let res = ress;\r\n                    if (ress.Data) {\r\n                      res = ress.Data;\r\n                      if (res.Data) res = res.Data;\r\n                    }\r\n\r\n                    if (RequestorField) {\r\n                      let _Sitem = res.filter(\r\n                        (x: any) =>\r\n                          x[restData.valueField] == this.RequestorFieldValue\r\n                      );\r\n                      this.fieldsList.map((x) => {\r\n                        if (x.Description == field.Description)\r\n                          x.showTable = false;\r\n                      });\r\n                      if (_Sitem && _Sitem.length > 0) {\r\n                        this.selectDropDownRow(_Sitem[0], field);\r\n                      }\r\n                    }\r\n\r\n                    if (res && Array.isArray(res) && res.length > 0) {\r\n                      obx.next(res);\r\n                    } else if (\r\n                      Object.keys(res).length > 0 &&\r\n                      Object.keys(res).includes('List')\r\n                    ) {\r\n                      obx.next(res['List']);\r\n                    } else obx.next([]);\r\n                    this.loaderService.hideLoading();\r\n                  },\r\n                  (error:any) => {\r\n                    debugger;\r\n                    this.loaderService.hideLoading();\r\n                    if (error.status == 401) {\r\n                      return;\r\n                    }\r\n                    Swal.fire(\r\n                      errorMessageType(error)\r\n                    );\r\n                  }\r\n                );\r\n            } else if (restData.DataSourceType == E_DatasourceType.Entity) {\r\n              restData.QueryStrings.forEach((query: any) => {\r\n                if (query.Type == 'FieldValue') {\r\n                  if (!_formvalue[query.Value] && query.IsNullable != true) {\r\n                    Swal.fire({\r\n                      title: this.translatePipe.transform(\r\n                        'please fill ' + query.Value\r\n                      ),\r\n                    });\r\n                    isDepandancyvalue = false;\r\n                    return;\r\n                  }\r\n                  query.Value = _formvalue[query.Value];\r\n                } else {\r\n                  query.Value = this.hanbleBarData(query.Value, _handleData);\r\n                }\r\n              });\r\n\r\n              let _Searchcriteria: ISearchCriteria = {\r\n                Pagging: {\r\n                  PageNo: 0,\r\n                  PageSize: 0,\r\n                },\r\n                Where: [],\r\n                SortOrder: 1,\r\n              };\r\n              if (!searchCriteria) {\r\n                searchCriteria = _Searchcriteria;\r\n              }\r\n\r\n              let _QueryString: any[] = [];\r\n              if (restData.QueryStrings.length > 0) {\r\n                restData.QueryStrings.map((x: any) => {\r\n                  let filterobj = {\r\n                    Field: '',\r\n                    Operator: 'eq',\r\n                    TableAlias: '',\r\n                    Value: '',\r\n                  };\r\n                  filterobj.Field = x.Name;\r\n                  let _Value = this.hanbleBarData(x.Value, _handleData);\r\n                  filterobj.Value = _Value.includes(':')\r\n                    ? _Value\r\n                    : '=' + _Value;\r\n                  filterobj.Value = _Value;\r\n                  _QueryString.push(filterobj);\r\n                });\r\n                searchCriteria.Where.push(..._QueryString);\r\n              }\r\n              if (!isDepandancyvalue) {\r\n                return;\r\n              }\r\n              this.dynamicAppsService\r\n                .getDynamicAll(searchCriteria, restData.DataSourceId, 0, '', '')\r\n                .subscribe(\r\n                  (ress: any) => {\r\n                    debugger;\r\n                    let res = ress;\r\n\r\n                    if (ress.Data) {\r\n                      res = ress.Data;\r\n                      if (res.Data) res = res.Data;\r\n                    }\r\n\r\n                    if (RequestorField) {\r\n                      let _Sitem = res.filter(\r\n                        (x: any) =>\r\n                          x[restData.valueField] == this.RequestorFieldValue\r\n                      );\r\n                      this.fieldsList.map((x) => {\r\n                        if (x.Description == field.Description)\r\n                          x.showTable = false;\r\n                      });\r\n                      if (_Sitem && _Sitem.length > 0) {\r\n                        this.selectDropDownRow(_Sitem[0], field);\r\n                      }\r\n                    }\r\n\r\n                    if (res && Array.isArray(res) && res.length > 0) {\r\n                      obx.next(res);\r\n                    } else if (\r\n                      Object.keys(res).length > 0 &&\r\n                      Object.keys(res).includes('List')\r\n                    ) {\r\n                      obx.next(res['List']);\r\n                    } else obx.next([]);\r\n                    this.loaderService.hideLoading();\r\n                  },\r\n                  (error:any) => {\r\n                    debugger;\r\n                    this.loaderService.hideLoading();\r\n                    if (error.status == 401) {\r\n                      return;\r\n                    }\r\n                    console.log(error);\r\n                    Swal.fire(\r\n                      errorMessageType(error)\r\n                    );\r\n                  }\r\n                );\r\n            } else {\r\n              this.dynamicAppsService\r\n                .dynamicAPi(\r\n                  restData,\r\n                  _formvalue,\r\n                  searchCriteria,\r\n                  SearchText,\r\n                  restData.Havecriteria\r\n                )\r\n                .subscribe((ress: any) => {\r\n                  debugger;\r\n\r\n                  let res = ress;\r\n\r\n                  if (restData.ResponseView) {\r\n                    let _rview = restData.ResponseView.split('.');\r\n                    _rview.forEach((x: any) => {\r\n                      if (ress) {\r\n                        ress = ress[x];\r\n                        res = ress;\r\n                      } else res = '';\r\n                    });\r\n                  } else {\r\n                    if (ress.Data) {\r\n                      res = ress.Data;\r\n                      if (res.Data) res = res.Data;\r\n                    }\r\n                    if (ress.content) res = ress.content;\r\n\r\n                    if (ress.entities) res = ress.entities;\r\n                    if (ress.templates) res = ress.templates;\r\n                  }\r\n\r\n                  if (RequestorField) {\r\n                    let _Sitem = res.filter(\r\n                      (x: any) =>\r\n                        x[restData.valueField] == this.RequestorFieldValue\r\n                    );\r\n                    this.fieldsList.map((x) => {\r\n                      if (x.Description == field.Description)\r\n                        x.showTable = false;\r\n                    });\r\n                    if (_Sitem && _Sitem.length > 0) {\r\n                      this.selectDropDownRow(_Sitem[0], field);\r\n                    }\r\n                  }\r\n\r\n                  if (res && Array.isArray(res) && res.length > 0) {\r\n                    obx.next(res);\r\n                  } else if (\r\n                    Object.keys(res).length > 0 &&\r\n                    Object.keys(res).includes('List')\r\n                  ) {\r\n                    obx.next(res['List']);\r\n                  } else obx.next([]);\r\n                  this.loaderService.hideLoading();\r\n                });\r\n            }\r\n          } else if (jsonItem.isDynamic && jsonItem.api && jsonItem.api.url) {\r\n            const url = jsonItem.api.url;\r\n            this.dynamicAppsService.getDyamicUrl(url).subscribe((ress: any) => {\r\n              debugger;\r\n\r\n              let res = ress;\r\n              if (ress && ress?.entities) res = ress.entities;\r\n              if (ress && ress?.Data) res = ress.Data;\r\n              if (ress && ress?.templates) res = ress.templates;\r\n              if (ress && ress?.Data && ress?.Data?.Data) res = ress.Data.Data;\r\n\r\n              if (res && Array.isArray(res) && res.length > 0) {\r\n                obx.next(\r\n                  res.map((x) =>\r\n                    Object.assign({\r\n                      Id: x[jsonItem.api.valueField],\r\n                      Description: x[jsonItem.api.textField],\r\n                    })\r\n                  )\r\n                );\r\n              } else if (\r\n                Object.keys(res).length > 0 &&\r\n                Object.keys(res).includes('List')\r\n              ) {\r\n                obx.next(\r\n                  res['List'].map((x: any) =>\r\n                    Object.assign({\r\n                      Id: x[jsonItem.api.valueField],\r\n                      Description: x[jsonItem.api.textField],\r\n                    })\r\n                  )\r\n                );\r\n              } else obx.next([]);\r\n              this.loaderService.hideLoading();\r\n            });\r\n          } else {\r\n            if (\r\n              jsonItem.options &&\r\n              Array.isArray(jsonItem.options) &&\r\n              jsonItem.options.length > 0\r\n            ) {\r\n              /* #region   Column def for json manual Item  */\r\n              let columns: IColumnDef[] = [\r\n                { Field: 'value', Name: 'value' },\r\n                { Field: 'text', Name: 'text' },\r\n              ];\r\n              this.dropDownColumn$[field.Description] = columns;\r\n              /* #endregion */\r\n\r\n              if (RequestorField) {\r\n                let _Sitem = jsonItem.options.filter(\r\n                  (x: any) => x.text == this.RequestorField\r\n                );\r\n                if (_Sitem && _Sitem.length > 0) {\r\n                  this.selectDropDownRow(_Sitem[0], field);\r\n                }\r\n              }\r\n\r\n              obx.next(jsonItem.options);\r\n            } else obx.next([]);\r\n          }\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  closeSearchBox: boolean = false;\r\n  closesearch() {\r\n    this.closeSearchBox = false;\r\n  }\r\n\r\n  showDetailsFormField(field: EntityTypeFieldVM) {\r\n    debugger;\r\n    let _ret: boolean = true;\r\n\r\n    if (field.LookupData) {\r\n      let _LookupData = JSON.parse(field.LookupData);\r\n      // LookupData.LookupTable\r\n      if (\r\n        _LookupData &&\r\n        _LookupData.DetailsShowData &&\r\n        _LookupData.DetailsShowData.length > 0\r\n      ) {\r\n        _LookupData.DetailsShowData.forEach((element: any) => {\r\n          debugger;\r\n          if (\r\n            element.Type == 'All' ||\r\n            (element.Type == 'OnlyArabic' &&\r\n              this.globalService.CurrentLanguage == 'Ar') ||\r\n            (element.Type == 'OnlyEnglish' &&\r\n              this.globalService.CurrentLanguage != 'Ar')\r\n          )\r\n            _ret = true;\r\n          else _ret = false;\r\n        });\r\n      }\r\n    }\r\n\r\n    return _ret;\r\n  }\r\n\r\n  // -----------these no need once client side pagination done.\r\n  pageStartFrom: number = 1;\r\n  defineItemsPerPage: number = 10;\r\n  //total: number = this.dropDownColumn$.length;\r\n  // -----------these no need once client side pagination done.\r\n  defineRecordCount(event: any) {\r\n    this.defineItemsPerPage = event.target.value;\r\n    this.pageStartFrom = 1;\r\n  }\r\n\r\n  autoSearchDropdown(\r\n    event: any,\r\n    field: EntityTypeFieldVM,\r\n    searchValue?: any,\r\n    RequestorField?: any\r\n  ) {\r\n    debugger;\r\n    this.tempFields = field;\r\n\r\n    if (field.DataType == E_DataType.dropdown) {\r\n      if (field.FieldData) {\r\n        var jsonItem = JSON.parse(field.FieldData);\r\n        if (jsonItem.isDynamic && jsonItem.rest && jsonItem.rest.URL) {\r\n          let restData: IRestConfig = jsonItem.rest;\r\n          if (event.keyCode == 13) {\r\n            let _Searchcriteria: ISearchCriteria = {\r\n              Pagging: {\r\n                PageNo: 1,\r\n                PageSize: 100,\r\n              },\r\n              Where: [],\r\n              SortOrder: 1,\r\n            };\r\n            if (!searchValue) searchValue = event.target.value;\r\n            let filterobj = {\r\n              Field: restData.valueField,\r\n              Operator: 'Contains',\r\n              TableAlias: '',\r\n              Value: searchValue,\r\n            };\r\n\r\n            if (\r\n              jsonItem.isDynamic &&\r\n              jsonItem.rest &&\r\n              jsonItem.rest.HasServerSideSearch\r\n            ) {\r\n              if (!searchValue) {\r\n                return;\r\n              }\r\n              if (searchValue && event.keyCode != 13) {\r\n                return;\r\n              }\r\n            }\r\n\r\n            jsonItem.rest.QueryStrings.filter(\r\n              (x: any) => x.Type == 'SearchValue'\r\n            ).map((y: any) => {\r\n              let temp = ':' + y.Name;\r\n              filterobj.Field += temp;\r\n            });\r\n            debugger;\r\n            if (filterobj.Field) _Searchcriteria.Where.push(filterobj);\r\n            this.loadDropdown(\r\n              field,\r\n              _Searchcriteria,\r\n              RequestorField,\r\n              searchValue\r\n            );\r\n          } else if (\r\n            jsonItem &&\r\n            jsonItem.isDynamic &&\r\n            jsonItem.rest &&\r\n            jsonItem.rest.ClientSideSearch\r\n          ) {\r\n            field.AutoSearchText = field.AutoSearchTextBox\r\n              ? field.AutoSearchTextBox\r\n              : field.AutoSearchText;\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  loadDropdownColumn(field: EntityTypeFieldVM | any) {\r\n    debugger;\r\n    let columns: IColumnDef[] = [\r\n      { Field: 'value', Name: 'value' },\r\n      { Field: 'text', Name: 'text' },\r\n    ];\r\n    this.dropDownColumn$[field.Description] = columns;\r\n    let jsonItem = JSON.parse(field.FieldData);\r\n    if (\r\n      jsonItem.isDynamic &&\r\n      jsonItem.rest &&\r\n      jsonItem.rest.HasServerSideSearch\r\n    ) {\r\n      if (!field.AutoSearchText) {\r\n        return;\r\n      }\r\n      if (field.AutoSearchText && field.AutoSearchText.length < 3) {\r\n        return;\r\n      }\r\n    }\r\n    if (\r\n      jsonItem.isDynamic &&\r\n      jsonItem.rest &&\r\n      (((jsonItem.rest.DataSourceType == E_DatasourceType.RestApi ||\r\n        !jsonItem.rest.DataSourceType) &&\r\n        jsonItem.rest.URL) ||\r\n        (jsonItem.rest.DataSourceType == E_DatasourceType.Query &&\r\n          jsonItem.rest.DataSourceId) ||\r\n        (jsonItem.rest.DataSourceType == E_DatasourceType.Entity &&\r\n          jsonItem.rest.DataSourceId))\r\n    ) {\r\n      let restData: IRestConfig = jsonItem.rest;\r\n      if (restData.Column && restData.Column.length > 0) {\r\n        this.dropDownColumn$[field.Description] = [];\r\n        let _data = restData.Column;\r\n        let _valcol: IColumnDef = {\r\n          Field: restData.valueField,\r\n          Name: restData.valueField,\r\n        };\r\n        this.dropDownColumn$[field.Description].push(_valcol);\r\n        this.dropDownColumn$[field.Description].push(..._data);\r\n\r\n        console.log('des', this.dropDownColumn$);\r\n      } else {\r\n        columns = [];\r\n        let _valcol: IColumnDef = {\r\n          Field: restData.valueField,\r\n          Name: restData.valueField,\r\n        };\r\n        columns.push(_valcol);\r\n        let _col = restData?.textField?.split(',');\r\n        _col?.map((x: any) => {\r\n          let _col: IColumnDef = { Field: x, Name: x };\r\n          columns.push(_col);\r\n        });\r\n        this.dropDownColumn$[field.Description] = columns;\r\n      }\r\n\r\n      if (jsonItem.rest.Havecriteria) {\r\n        this.fieldsList.map((x) => {\r\n          if (x.Description == field.Description) {\r\n            x.showSearchBox = true;\r\n          }\r\n        });\r\n      } else {\r\n        let showSearchBox: boolean = false;\r\n        let SearchValue = jsonItem.rest.QueryStrings.filter(\r\n          (x: any) => x.Type == 'SearchValue'\r\n        );\r\n        if (SearchValue.length > 0) {\r\n          showSearchBox = true;\r\n        }\r\n        if (showSearchBox) {\r\n          this.fieldsList.map((x) => {\r\n            if (x.Description == field.Description) {\r\n              x.showSearchBox = true;\r\n            }\r\n          });\r\n        }\r\n      }\r\n      this.loadDropdown(field);\r\n    } else {\r\n      this.loadDropdown(field);\r\n    }\r\n    this.closesearch();\r\n  }\r\n\r\n  showAutoSearchTextBox(item: EntityTypeFieldVM | any) {\r\n    let _ret = false;\r\n    var jsonItem = JSON.parse(item.FieldData);\r\n    if (\r\n      jsonItem.isDynamic &&\r\n      jsonItem.rest &&\r\n      (jsonItem.rest.HasServerSideSearch || jsonItem.rest.ClientSideSearch)\r\n    )\r\n      _ret = true;\r\n\r\n    return _ret;\r\n  }\r\n\r\n  checkIsMultipleSelect(field: EntityTypeFieldVM | any) {\r\n    debugger;\r\n    let _ret = false;\r\n    var jsonItem = JSON.parse(field.FieldData);\r\n    if (jsonItem && jsonItem.rest && jsonItem.rest.IsMultipleSelect) {\r\n      _ret = true;\r\n    }\r\n    return _ret;\r\n  }\r\n\r\n  selectDropDownRow(row: any, field: EntityTypeFieldVM | any) {\r\n    debugger;\r\n\r\n    let jsonItem = JSON.parse(field.FieldData);\r\n\r\n    if (!jsonItem.rest || !jsonItem.rest.IsMultipleSelect) {\r\n      field.showTable = false;\r\n    }\r\n\r\n    if (jsonItem && jsonItem.rest && jsonItem.rest.IsMultipleSelect) {\r\n      if (this.pageForm.form.get('MultipleIdField'))\r\n        this.pageForm?.form\r\n          ?.get('MultipleIdField')\r\n          ?.setValue(field.Description, { entitySelf: true });\r\n    }\r\n\r\n    let _fieldVal = null;\r\n    if (jsonItem.isDynamic) _fieldVal = row[jsonItem.rest.valueField];\r\n    else _fieldVal = row['value'];\r\n\r\n    if (_fieldVal) _fieldVal = _fieldVal.toString();\r\n    let SelectedValues = this.pageForm?.form?.get(field.Description)?.value;\r\n\r\n    if (\r\n      SelectedValues != null &&\r\n      SelectedValues != '' &&\r\n      jsonItem.rest &&\r\n      jsonItem.rest.IsMultipleSelect\r\n    ) {\r\n      SelectedValues = SelectedValues.toString();\r\n      let duplicatedata = SelectedValues.includes(_fieldVal + ',');\r\n      let hascomma = true;\r\n      if (!duplicatedata) {\r\n        hascomma = false;\r\n        duplicatedata = SelectedValues.includes(_fieldVal);\r\n      }\r\n\r\n      if (duplicatedata) {\r\n        if (hascomma) {\r\n          SelectedValues = SelectedValues.replace(_fieldVal + ',', '');\r\n        } else {\r\n          SelectedValues = SelectedValues.replace(_fieldVal, '');\r\n        }\r\n        _fieldVal = SelectedValues;\r\n\r\n        let removecomma = _fieldVal.slice(-1);\r\n        if (removecomma == ',') {\r\n          _fieldVal = _fieldVal.substring(0, _fieldVal.length - 1);\r\n        }\r\n      }\r\n      if (!duplicatedata) {\r\n        _fieldVal = SelectedValues.concat(',' + _fieldVal);\r\n      }\r\n    }\r\n\r\n    this.pageForm?.form\r\n      ?.get(field.Description)\r\n      ?.setValue(_fieldVal, { entitySelf: true });\r\n\r\n    let showValue = '';\r\n\r\n    if (jsonItem && jsonItem.rest) {\r\n      let _filedDropdown: IRestConfig = jsonItem.rest;\r\n      if (\r\n        _filedDropdown.TextboxShowData &&\r\n        _filedDropdown.TextboxShowData.length > 0\r\n      ) {\r\n        showValue = '';\r\n        _filedDropdown.TextboxShowData.forEach((element:any) => {\r\n          debugger;\r\n          if (\r\n            element.Type == 'All' ||\r\n            (element.Type == 'OnlyArabic' &&\r\n              this.globalService.CurrentLanguageDirection == 'RTL') ||\r\n            (element.Type == 'OnlyEnglish' &&\r\n              this.globalService.CurrentLanguageDirection == 'RTL')\r\n          )\r\n            showValue = showValue + row[element.Column] + '-';\r\n        });\r\n        if (showValue) {\r\n          let value = showValue.charAt(showValue.length - 1);\r\n          if (value == '-') {\r\n            showValue = showValue.substring(0, showValue.length - 1);\r\n          }\r\n        }\r\n      } else {\r\n        let num = _fieldVal.split(',')[0];\r\n        if (!Number.isNaN(num)) {\r\n          showValue = _fieldVal;\r\n        } else showValue = row[this.dropDownColumn$[field.Description][1]];\r\n      }\r\n    } else showValue = row[this.dropDownColumn$[field.Description][1]];\r\n\r\n    this.fieldsList.map((x) => {\r\n      if (x.Description == field.Description) x.showSelectedValues = showValue;\r\n    });\r\n\r\n    this.closesearch();\r\n    this.changeFiledValue('', field, row);\r\n  }\r\n\r\n  emitChangeFiledValue(row: any, field: any) {\r\n    this.changeFiledValue('', field, row);\r\n  }\r\n\r\n  showTable(item: any) {\r\n    this.pageStartFrom = 1;\r\n    this.defineItemsPerPage = 10;\r\n    this.fieldsList.map((x) => {\r\n      if (x.Description != item.Description) x.showTable = false;\r\n    });\r\n\r\n    item.showTable = !item.showTable;\r\n    this.loadDropdownColumn(item);\r\n  }\r\n\r\n  getRowFieldValue(row: any, field: EntityTypeFieldVM) {\r\n    let _fieldVal = 'empty';\r\n    if (field.FieldData) {\r\n      var jsonItem = JSON.parse(field.FieldData);\r\n      if (jsonItem.isDynamic && jsonItem.rest)\r\n        _fieldVal = row[jsonItem.rest.valueField];\r\n    }\r\n    return _fieldVal;\r\n  }\r\n\r\n  activeInputId: any;\r\n\r\n  clks(item: any, Type: any) {\r\n    debugger;\r\n\r\n    if (this.activeInputId) {\r\n      if (Type != 'Event') {\r\n        // this.typeInTextarea($('#' + this.activeInputId), '@@' + item);\r\n      } else {\r\n        // this.typeInTextarea($('#' + this.activeInputId), item);\r\n      }\r\n    }\r\n\r\n    return false;\r\n  }\r\n\r\n  typeInTextarea(el: any, newText: any) {\r\n    debugger;\r\n    var start = el.prop('selectionStart');\r\n    var end = el.prop('selectionEnd');\r\n    var text = el.val();\r\n    var before = text.substring(0, start);\r\n    var after = text.substring(end, text.length);\r\n    el.val(before + newText + after);\r\n    el[0].selectionStart = el[0].selectionEnd = start + newText.length;\r\n    el.focus();\r\n\r\n    this.pageForm?.form?.get(this.activeInputId)?.setValue(el.val());\r\n\r\n    let item = this.fieldsList.filter(\r\n      (x) => x.Description == this.activeInputId\r\n    )[0];\r\n    this.changeFiledValue('', item);\r\n\r\n    return false;\r\n  }\r\n\r\n  searchValue: any;\r\n\r\n  customSearchFn(term: string, item: any) {\r\n    this.loadDropdown(this.tempFields, term);\r\n  }\r\n\r\n  OnSearch(field: any) {\r\n    this.searchValue;\r\n\r\n    if (field.DataType == E_DataType.dropdown) {\r\n      this.dropDown$[field.Description] = new Observable((obx) => {\r\n        if (field.FieldData) {\r\n          var jsonItem = JSON.parse(field.FieldData);\r\n          if (jsonItem.isDynamic && jsonItem.rest && jsonItem.rest.URL) {\r\n            let isDepandancyvalue = true;\r\n            let _formvalue: any = this.pageForm.form.value;\r\n\r\n            let restData: IRestConfig = jsonItem.rest;\r\n            let _handleData: any = {};\r\n            if (this.ParameterData) {\r\n              _handleData.params = this.ParameterData;\r\n            }\r\n\r\n            restData.QueryStrings.forEach((query: any) => {\r\n              if (query.Type == 'FieldValue') {\r\n                if (!_formvalue[query.Value]) {\r\n                  Swal.fire({\r\n                    title: this.translatePipe.transform(\r\n                      'please fill ' + query.Value\r\n                    ),\r\n                  });\r\n                  isDepandancyvalue = false;\r\n                  return;\r\n                }\r\n              } else {\r\n                query.Value = this.hanbleBarData(query.Value, _handleData);\r\n              }\r\n            });\r\n\r\n            restData.Headers = restData.Headers.map((x:any) => {\r\n              x.Value = this.hanbleBarData(x.Value, _handleData);\r\n              return x;\r\n            });\r\n            restData.URL = this.hanbleBarData(restData.URL, _handleData);\r\n            restData.Body = this.hanbleBarData(restData.Body, _handleData);\r\n\r\n            if (!isDepandancyvalue) {\r\n              return;\r\n            }\r\n\r\n            this.dynamicAppsService\r\n              .dynamicAPi(restData, _formvalue)\r\n              .subscribe((ress: any) => {\r\n                let res = ress;\r\n                if (restData.ResponseView) {\r\n                  let _rview = restData.ResponseView.split('.');\r\n                  _rview.forEach((x: any) => {\r\n                    if (ress) {\r\n                      ress = ress[x];\r\n                      res = ress;\r\n                    } else res = '';\r\n                  });\r\n                } else {\r\n                  if (ress.Data) {\r\n                    res = ress.Data;\r\n                    if (res.Data) res = res.Data;\r\n                  }\r\n                  if (ress.content) res = ress.content;\r\n\r\n                  if (ress.entities) res = ress.entities;\r\n                  if (ress.templates) res = ress.templates;\r\n                }\r\n\r\n                if (res && Array.isArray(res) && res.length > 0) {\r\n                  obx.next(\r\n                    res.map((x) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.rest.valueField],\r\n                        Description: x[jsonItem.rest.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else if (\r\n                  Object.keys(res).length > 0 &&\r\n                  Object.keys(res).includes('List')\r\n                ) {\r\n                  obx.next(\r\n                    res['List'].map((x: any) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.rest.valueField],\r\n                        Description: x[jsonItem.rest.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else obx.next([]);\r\n                this.loaderService.hideLoading();\r\n              });\r\n          } else if (jsonItem.isDynamic && jsonItem.api && jsonItem.api.url) {\r\n            const url = jsonItem.api.url;\r\n            this.dynamicAppsService.getDyamicUrl(url).subscribe((ress: any) => {\r\n              let res = ress;\r\n              if (ress && ress?.entities) res = ress.entities;\r\n              if (ress && ress?.Data) res = ress.Data;\r\n              if (ress && ress?.templates) res = ress.templates;\r\n              if (ress && ress?.Data && ress?.Data?.Data) res = ress.Data.Data;\r\n\r\n              if (res && Array.isArray(res) && res.length > 0) {\r\n                obx.next(\r\n                  res.map((x) =>\r\n                    Object.assign({\r\n                      Id: x[jsonItem.api.valueField],\r\n                      Description: x[jsonItem.api.textField],\r\n                    })\r\n                  )\r\n                );\r\n              } else if (\r\n                Object.keys(res).length > 0 &&\r\n                Object.keys(res).includes('List')\r\n              ) {\r\n                obx.next(\r\n                  res['List'].map((x: any) =>\r\n                    Object.assign({\r\n                      Id: x[jsonItem.api.valueField],\r\n                      Description: x[jsonItem.api.textField],\r\n                    })\r\n                  )\r\n                );\r\n              } else obx.next([]);\r\n              this.loaderService.hideLoading();\r\n            });\r\n          } else {\r\n            if (\r\n              jsonItem.options &&\r\n              Array.isArray(jsonItem.options) &&\r\n              jsonItem.options.length > 0\r\n            ) {\r\n              obx.next(\r\n                jsonItem.options.map((x: any) =>\r\n                  Object.assign({\r\n                    Id: x.value,\r\n                    Description: x.text,\r\n                  })\r\n                )\r\n              );\r\n            } else obx.next([]);\r\n          }\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  OnSelectRequestorValue(Type?: any) {\r\n    if (!this.RequestorField || !this.RequestorFieldValue) return;\r\n    debugger;\r\n    let _RequestorField = this.fieldsList.filter(\r\n      (x) => x.Description == this.RequestorField\r\n    );\r\n    if (_RequestorField && _RequestorField.length > 0) {\r\n      let _field = _RequestorField[0];\r\n\r\n      debugger;\r\n      this.fieldsList = this.fieldsList.map((x) => {\r\n        if (x.Description == _field.Description) {\r\n          x.showTable = true;\r\n          x.IsReadonly = true;\r\n          x.IsInactive = true;\r\n        }\r\n        return x;\r\n      });\r\n\r\n      if (!Type) {\r\n        if (this.pageForm.form && this.pageForm.form.get(this.RequestorField))\r\n          this.pageForm?.form\r\n            ?.get(this.RequestorField)\r\n            ?.setValue(this.RequestorFieldValue, { onlySelf: true });\r\n        if (_field.DataType == E_DataType.dropdown) {\r\n          this.autoSearchDropdown(\r\n            null,\r\n            _field,\r\n            this.RequestorFieldValue,\r\n            this.RequestorField\r\n          );\r\n        } else {\r\n          setTimeout(() => this.changeFiledValue('', _field), 1000);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  showPlaceholder: boolean = false;\r\n\r\n  selectPlaceholder(row: any, field: EntityTypeFieldVM | any) {\r\n    var jsonItem = JSON.parse(field.FieldData);\r\n    let _fieldVal = null;\r\n    if (jsonItem.isDynamic) _fieldVal = row[jsonItem.rest.valueField];\r\n    else _fieldVal = row['value'];\r\n\r\n    if (this.activeInputId)\r\n      return false;// this.typeInTextarea($('#' + this.activeInputId), _fieldVal);\r\n    return false;\r\n  }\r\n\r\n  setPlaceholderlabel(row: any, field: EntityTypeFieldVM | any) {\r\n    var jsonItem = JSON.parse(field.FieldData);\r\n    let _fieldlabel = null;\r\n    if (jsonItem && row) {\r\n      if (jsonItem.isDynamic) _fieldlabel = row[jsonItem.rest.textField];\r\n      else _fieldlabel = row['text'];\r\n    }\r\n\r\n    return _fieldlabel;\r\n  }\r\n\r\n  loadPlaceholderData(item: any) {\r\n    debugger;\r\n    this.showPlaceholder = !this.showPlaceholder;\r\n    this.showPlaceholder = true;\r\n    if (this.showPlaceholder) {\r\n      this.loadDropdownColumn(item);\r\n    }\r\n  }\r\n\r\n  showshortcode: boolean = false;\r\n  shortcode: any[] = [];\r\n  shortcutkey: any = [];\r\n  getShortCodeCannedResponse(event?: any) {\r\n    event = '';\r\n    if (this.showshortcode && (!this.shortcode || this.shortcode.length < 1)) {\r\n      this.dynamicAppsService\r\n        .getShortKeyCannedResponse(event)\r\n        .subscribe(\r\n          (res: any) => {\r\n          this.shortcode = res;\r\n          this.shortcutkey = res;\r\n          this.loaderService.hideLoading();\r\n        },(error:any) => {\r\n          this.loaderService.hideLoading();\r\n        });\r\n    }\r\n  }\r\n\r\n  closeShortCanned: boolean = false;\r\n  closeShortKey() {\r\n    this.closeShortCanned = false;\r\n  }\r\n\r\n  shortkey: any;\r\n  selectShortKey(item: any) {\r\n    if (this.activeInputId)\r\n      return false;//this.typeInTextarea($('#' + this.activeInputId), item.Message);\r\n    \r\n    return false;\r\n  }\r\n\r\n  showShortKey(item: any) {\r\n    if (this.shortkey && this.shortkey.length > 0) {\r\n      this.shortkey.map((x: any) => {\r\n        if (x.Message != item.Message) x.showshort = false;\r\n      });\r\n    }\r\n    item.showshort = !item.showshort;\r\n    this.getShortCodeCannedResponse(item);\r\n  }\r\n\r\n  FiedlListData$ = Object.assign({});\r\n  getListFieldData() {\r\n    for (const field of this.fieldsList) {\r\n      if (field.DataType == E_DataType.List) {\r\n        debugger;\r\n        this.FiedlListData$[field.Description] = [];\r\n        if (\r\n          this.pageForm.form &&\r\n          this.pageForm.form.get(field.Description) &&\r\n          this.pageForm?.form?.get(field.Description)?.value\r\n        ) {\r\n          let fieldVal = this.pageForm?.form?.get(field.Description)?.value;\r\n          fieldVal = JSON.parse(fieldVal);\r\n          for (let key in fieldVal) {\r\n            let temp = { key: key, value: fieldVal[key] };\r\n            this.FiedlListData$[field.Description].push(temp);\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  addnewList(field: EntityTypeFieldVM) {\r\n    debugger;\r\n\r\n    if (\r\n      !(\r\n        this.FiedlListData$[field.Description] &&\r\n        this.FiedlListData$[field.Description].length > 0\r\n      )\r\n    ) {\r\n      this.FiedlListData$[field.Description] = [];\r\n      if (\r\n        this.pageForm.form &&\r\n        this.pageForm.form.get(field.Description) &&\r\n        this.pageForm?.form?.get(field.Description)?.value\r\n      ) {\r\n        let fieldVal = this.pageForm?.form?.get(field.Description)?.value;\r\n        if (typeof fieldVal === 'string') {\r\n          fieldVal = JSON.parse(fieldVal);\r\n        }\r\n        for (let key in fieldVal) {\r\n          let temp = { key: key, value: fieldVal[key] };\r\n          this.FiedlListData$[field.Description].push(temp);\r\n        }\r\n      }\r\n    }\r\n    this.FiedlListData$[field.Description].push({ key: null, value: null });\r\n\r\n    let _fieldVal: any = {};\r\n    this.FiedlListData$[field.Description].forEach(\r\n      (x: any) => (_fieldVal[x.key] = x.value)\r\n    );\r\n    this.pageForm?.form?.get(field.Description)?.setValue(_fieldVal);\r\n    this.changeFiledValue('', field);\r\n  }\r\n\r\n  removeList(field: EntityTypeFieldVM, index: any) {\r\n    debugger;\r\n    this.FiedlListData$[field.Description].splice(index, 1);\r\n\r\n    let _fieldVal: any = {};\r\n    this.FiedlListData$[field.Description].forEach(\r\n      (x: any) => (_fieldVal[x.key] = x.value)\r\n    );\r\n    this.pageForm?.form?.get(field.Description)?.setValue(_fieldVal);\r\n    this.changeFiledValue('', field);\r\n  }\r\n\r\n  changeFiledList(field: EntityTypeFieldVM, item: any, index: any) {\r\n    debugger;\r\n    let _fieldVal: any = {};\r\n    this.FiedlListData$[field.Description].forEach(\r\n      (x: any) => (_fieldVal[x.key] = x.value)\r\n    );\r\n    this.pageForm?.form?.get(field.Description)?.setValue(_fieldVal);\r\n    this.changeFiledValue('', field);\r\n  }\r\n\r\n  ArraryField$: any[] = [];\r\n  ArraryFieldColumn$: any[] = [];\r\n  bindArraryDataTypeValue(field: any) {\r\n    debugger;\r\n    let _retdata = [];\r\n    let data = this.PageGroupValues[field.Description];\r\n    this.ArraryFieldColumn$[field.Description] = [];\r\n    this.ArraryField$[field.Description] = [];\r\n    if (data) {\r\n      let columns = [];\r\n      if (typeof data == 'string') {\r\n        data = JSON.parse(data);\r\n      }\r\n      if (Array.isArray(data)) {\r\n        _retdata = data;\r\n        let _col = Object.keys(data[0]);\r\n        columns.push(..._col);\r\n      } else if (typeof data == 'object') {\r\n        let _col = Object.keys(data);\r\n        columns.push(..._col);\r\n        _retdata.push(data);\r\n      }\r\n\r\n      this.ArraryFieldColumn$[field.Description] = columns;\r\n      this.ArraryField$[field.Description] = _retdata;\r\n    }\r\n  }\r\n\r\n  getDataWithHandlebar(data: any) {\r\n    if (data) data = this.hanbleBarData(data, this.PageGroupValues);\r\n    return data;\r\n  }\r\n\r\n  _copyText(text: any) {\r\n    if (text) text = this.hanbleBarData(text, this.PageGroupValues);\r\n    navigator.clipboard.writeText(text);\r\n    //this.toaster.success('Selected Text Copied', 'Clipborad');\r\n  }\r\n\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n\r\n    data.CurrentData = this;\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    data.PageData = this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n  EntityTypeFieldData: EntityTypeFieldVM | null = null;\r\n  displayPopUp: boolean = false;\r\n  isEdit: boolean = false;\r\n  isClientField: string | null = null;\r\n  onEdit(item: EntityTypeFieldVM) {\r\n    debugger;\r\n    console.log(item);\r\n    if (item.ClientGUID) {\r\n      this.isClientField = 'Client';\r\n    } else {\r\n      this.isClientField = null;\r\n    }\r\n    this.isEdit = true;\r\n    this.EntityTypeFieldData = item;\r\n    this.displayPopUp = true;\r\n  }\r\n  @Output() fieldListRefresh = new EventEmitter<{ data: any }>();\r\n  closeModel() {\r\n    debugger;\r\n    this.displayPopUp = false;\r\n    this.isEdit = false;\r\n    this.fieldListRefresh.emit({ data: true });\r\n  }\r\n  displayRules: boolean = false;\r\n  FilterField: any = null;\r\n\r\n  fieldSettingCongig(item: any) {\r\n    debugger;\r\n    item.showFieldConfig = !item.showFieldConfig;\r\n  }\r\n\r\n  onRules(item: EntityTypeFieldVM) {\r\n    debugger;\r\n    this.displayRules = true;\r\n    this.FilterField = item.Description;\r\n  }\r\n\r\n  closeRulesPopup() {\r\n    this.displayRules = false;\r\n  }\r\n\r\n  onFieldChange() {}\r\n  onFieldClick() {}\r\n\r\n  showDetailsPopup: boolean = false;\r\n  CurrentEntityTypeRecId: number = 0;\r\n  CurrentEntityFieldGroupId: any = 0;\r\n  CurrentPrimaryKey: string | null = null;\r\n  CurrentPrimaryKeyValue: any = 0;\r\n  openDetailsPopup(field: EntityTypeFieldVM, type?: any) {\r\n    debugger;\r\n    return false;\r\n    /*if (field.FieldType_RelationEntity && field.FieldType_RelationEntityField) {\r\n      this.CurrentEntityTypeRecId = field.FieldType_RelationEntity;\r\n      this.CurrentEntityFieldGroupId =\r\n        field.FieldType_RelationEntityListFieldGroup;\r\n      this.CurrentPrimaryKey = field.FieldType_RelationEntityField;\r\n      this.CurrentPrimaryKeyValue = this.PageGroupValues[field.Description];\r\n      if (type == 'Tooltip') {\r\n        this.openTooltipPoup();\r\n      } else this.showDetailsPopup = true;\r\n    } else if (field.RelationEntity && field.RelationEntityField) {\r\n      this.CurrentEntityTypeRecId = field.RelationEntity;\r\n      this.CurrentEntityFieldGroupId = field.RelationEntityListFieldGroup;\r\n      this.CurrentPrimaryKey = field.RelationEntityField;\r\n      this.CurrentPrimaryKeyValue = this.PageGroupValues[field.Description];\r\n      if (type == 'Tooltip') {\r\n        this.openTooltipPoup();\r\n      } else this.showDetailsPopup = true;\r\n    } else {\r\n      this.getFieldTypeData(field, type);\r\n    }*/\r\n  }\r\n  closeDetailsPopup(type?: any) {\r\n    this.CurrentEntityTypeRecId = 0;\r\n    this.CurrentPrimaryKey = null;\r\n    this.CurrentPrimaryKeyValue = null;\r\n    if (type == 'Tooltip') {\r\n      this.closeTooltipPoup();\r\n    } else this.showDetailsPopup = false;\r\n  }\r\n\r\n  showtooltipPopup: boolean = false;\r\n  openTooltipPoup() {\r\n    this.showtooltipPopup = true;\r\n  }\r\n  closeTooltipPoup() {\r\n    this.showtooltipPopup = false;\r\n    this.fieldsList.map((item) => {\r\n      item.showDetilsForm = true;\r\n    });\r\n  }\r\n\r\n  LoadRelationDetailsPopup() {\r\n    this.closeTooltipPoup();\r\n    this.showDetailsPopup = true;\r\n  }\r\n\r\n  ismouseFocus = false;\r\n  elementPosition = {\r\n    X: 0,\r\n    Y: 0,\r\n  };\r\n\r\n  LastmouseFocustime: any = null;\r\n  hoverDetailsPopup(item: any, event: any) {\r\n    return false;\r\n    this.ismouseFocus = true;\r\n    this.LastmouseFocustime = new Date().getTime();\r\n    setTimeout(() => {\r\n      let _currentTime = new Date().getTime();\r\n      let diff = _currentTime - this.LastmouseFocustime;\r\n      debugger;\r\n      if (this.ismouseFocus && diff >= 2000) {\r\n        this.elementPosition.X = event.pageX - 250;\r\n        this.elementPosition.Y = event.pageY;\r\n        item.showDetilsForm = true;\r\n        this.openDetailsPopup(item, 'Tooltip');\r\n      }\r\n    }, 2000);\r\n  }\r\n  hoverOutDetailsPopup(item: any) {\r\n    return false;\r\n    this.ismouseFocus = false;\r\n    this.LastmouseFocustime = new Date().getTime();\r\n  }\r\n\r\n  getFieldTypeData(field: any, type?: any) {\r\n    this.dynamicAppsService\r\n      .getSingleFieldTypebyFieldTypeId(field.FieldTypeId)\r\n      .subscribe((res: any) => {\r\n        let _FieldData = res.Data ? res.Data : res;\r\n        this.CurrentEntityTypeRecId = _FieldData.RelationEntity;\r\n        this.CurrentEntityFieldGroupId =\r\n          _FieldData.RelationEntityListFieldGroup;\r\n        this.CurrentPrimaryKey = _FieldData.RelationEntityField;\r\n        this.CurrentPrimaryKeyValue = this.PageGroupValues[field.Description];\r\n        if (type == 'Tooltip') {\r\n          this.openTooltipPoup();\r\n        } else this.showDetailsPopup = true;\r\n        this.loaderService.hideLoading();\r\n      },(error:any) => {\r\n        this.loaderService.hideLoading();\r\n      });\r\n  }\r\n\r\n  getdatainResponseView(item: any, field: EntityTypeFieldVM) {\r\n    let _ret = null;\r\n    if (field.ResponseView) {\r\n      let _rview = field.ResponseView.split('.');\r\n      _rview.forEach((x: any) => {\r\n        if (item) {\r\n          item = item[x];\r\n          _ret = item;\r\n        } else _ret = '';\r\n      });\r\n    } else {\r\n      _ret = item[field?.Description];\r\n    }\r\n    return _ret;\r\n  }\r\n\r\n  GetAllId() {\r\n    debugger;\r\n    this.Ids = [];\r\n    let element = document.getElementsByClassName('cdk-drop-list');\r\n    let names = '';\r\n    for (let i = 0; i < element.length; i++) {\r\n      debugger;\r\n      names = element[i].id;\r\n      this.Ids.push(names);\r\n    }\r\n    localStorage.setItem('TotalIds', JSON.stringify(this.Ids));\r\n    this.Ids = [];\r\n  }\r\n\r\n  Ids: any[] = [];\r\n  // drop(event: CdkDragDrop<any[]>): void {\r\n  //   debugger;\r\n  //   if ((this.Ids = [])) {\r\n  //     this.GetAllId();\r\n  //     const totalIdsString = localStorage.getItem('TotalIds');\r\n  //     if (totalIdsString !== null) this.Ids = JSON.parse(totalIdsString);\r\n  //   }\r\n  //   if (event.previousContainer === event.container) {\r\n  //     moveItemInArray(\r\n  //       event.container.data,\r\n  //       event.previousIndex,\r\n  //       event.currentIndex\r\n  //     );\r\n  //   } else {\r\n  //     transferArrayItem(\r\n  //       event.previousContainer.data,\r\n  //       event.container.data,\r\n  //       event.previousIndex,\r\n  //       event.currentIndex\r\n  //     );\r\n  //   }\r\n  // }\r\n  _updateClientField(values: any) {\r\n    debugger;\r\n    this.updateClientField.emit({ ClientField: values });\r\n  }\r\n\r\n  convertByte(file: any, field: any) {\r\n    let ret = '';\r\n    var reader = new FileReader();\r\n    reader.onload = (e) => {\r\n      this.pageForm?.form\r\n        ?.get(field.Description)\r\n        ?.setValue(reader.result, { entitySelf: true });\r\n      this.changeFiledValue('', field);\r\n    };\r\n    reader.readAsDataURL(file);\r\n  }\r\n\r\n  fieldFiles: FieldFiles[] = [];\r\n  FileChange(event: any, field: any) {\r\n    debugger;\r\n    let _file = event.target.files;\r\n\r\n    let item: FieldFiles = { FieldName: field.Description, File: _file };\r\n\r\n    if (!(_file && _file.length > 0)) {\r\n      item.File = [];\r\n    }\r\n\r\n    if (this.fieldFiles.find((x) => x.FieldName == item.FieldName)) {\r\n      this.fieldFiles[\r\n        this.fieldFiles.findIndex((x) => x.FieldName == item.FieldName)\r\n      ] = item;\r\n    } else {\r\n      this.fieldFiles.push(item);\r\n    }\r\n\r\n    this.changeFiledValue('', field);\r\n  }\r\n\r\n  // editorConfig: AngularEditorConfig = {\r\n  //   editable: true,\r\n  //   spellcheck: true,\r\n  //   height: 'auto',\r\n  //   minHeight: '0',\r\n  //   maxHeight: 'auto',\r\n  //   width: 'auto',\r\n  //   minWidth: '0',\r\n  //   translate: 'yes',\r\n  //   enableToolbar: true,\r\n  //   showToolbar: true,\r\n  //   placeholder: 'Enter text here...',\r\n  //   defaultParagraphSeparator: '',\r\n  //   defaultFontName: '',\r\n  //   defaultFontSize: '',\r\n  //   fonts: [\r\n  //     { class: 'arial', name: 'Arial' },\r\n  //     { class: 'times-new-roman', name: 'Times New Roman' },\r\n  //     { class: 'calibri', name: 'Calibri' },\r\n  //     { class: 'comic-sans-ms', name: 'Comic Sans MS' },\r\n  //     { class: 'Roboto', name: 'Roboto' },\r\n  //     { class: 'Karla', name: 'Karla' },\r\n  //     { class: 'Poppins', name: 'Poppins' },\r\n  //     { class: 'Noto Sans JP', name: 'Noto Sans JP' },\r\n  //   ],\r\n  //   customClasses: [\r\n  //     {\r\n  //       name: 'quote',\r\n  //       class: 'quote',\r\n  //     },\r\n  //     {\r\n  //       name: 'redText',\r\n  //       class: 'redText',\r\n  //     },\r\n  //     {\r\n  //       name: 'titleText',\r\n  //       class: 'titleText',\r\n  //       tag: 'h1',\r\n  //     },\r\n  //   ],\r\n  //   sanitize: false,\r\n  //   toolbarPosition: 'top',\r\n  //   toolbarHiddenButtons: [['bold', 'italic'], ['fontSize']],\r\n  // };\r\n\r\n  codeOption = {\r\n    lineNumbers: true,\r\n    theme: 'idea',\r\n    mode: 'text/javascript',\r\n    indentWithTabs: true,\r\n    smartIndent: true,\r\n    lineWrapping: false,\r\n    extraKeys: { 'Ctrl-Space': 'autocomplete' },\r\n    foldgutter: true,\r\n    gutters: ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'],\r\n    autoCloseBrackets: true,\r\n    matchBrackets: true,\r\n    autocorrect: true,\r\n    lint: true,\r\n  };\r\n\r\n  CheckListData$ = Object.assign({});\r\n\r\n  getCheckListFieldData() {\r\n    debugger;\r\n    for (const field of this.fieldsList) {\r\n      if (field.DataType == E_DataType.CheckList) {\r\n        debugger;\r\n        this.CheckListData$[field.Description] = [];\r\n        if (\r\n          this.pageForm.form &&\r\n          this.pageForm.form.get(field.Description) &&\r\n          this.pageForm?.form?.get(field.Description)?.value\r\n        ) {\r\n          let fieldVal = this.pageForm?.form?.get(field.Description)?.value;\r\n          fieldVal = JSON.parse(fieldVal);\r\n          this.CheckListData$[field.Description].push(...fieldVal);\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  addCheckListField(field: EntityTypeFieldVM) {\r\n    debugger;\r\n\r\n    if (\r\n      !(\r\n        this.CheckListData$[field.Description] &&\r\n        this.CheckListData$[field.Description].length > 0\r\n      )\r\n    ) {\r\n      this.CheckListData$[field.Description] = [];\r\n      if (\r\n        this.pageForm.form &&\r\n        this.pageForm.form.get(field.Description) &&\r\n        this.pageForm?.form?.get(field.Description)?.value\r\n      ) {\r\n        let fieldVal = this.pageForm?.form?.get(field.Description)?.value;\r\n        if (typeof fieldVal === 'string') {\r\n          fieldVal = JSON.parse(fieldVal);\r\n        }\r\n        this.CheckListData$[field.Description].push(...fieldVal);\r\n      }\r\n    }\r\n    this.CheckListData$[field.Description].push({\r\n      isCheck: null,\r\n      isCheckValue: null,\r\n    });\r\n\r\n    let checkliststr = JSON.stringify(this.CheckListData$[field.Description]);\r\n    this.pageForm?.form?.get(field.Description)?.setValue(checkliststr);\r\n    this.changeFiledValue('', field);\r\n  }\r\n\r\n  removeCheckListField(field: EntityTypeFieldVM, index: any) {\r\n    debugger;\r\n\r\n    this.CheckListData$[field.Description].splice(index, 1);\r\n    let checkliststr = JSON.stringify(this.CheckListData$[field.Description]);\r\n    this.pageForm?.form?.get(field.Description)?.setValue(checkliststr);\r\n    this.changeFiledValue('', field);\r\n  }\r\n  changeCheckList(field: EntityTypeFieldVM, item: any, index: any) {\r\n    debugger;\r\n    let checkliststr = JSON.stringify(this.CheckListData$[field.Description]);\r\n    this.pageForm?.form?.get(field.Description)?.setValue(checkliststr);\r\n    this.changeFiledValue('', field);\r\n  }\r\n\r\n  getCheckListData(data: any) {\r\n    debugger;\r\n\r\n    let viewCheckList: checkList[] = [];\r\n    if (data) {\r\n      var _data = JSON.parse(data);\r\n      viewCheckList = _data;\r\n    }\r\n    return viewCheckList;\r\n  }\r\n}","<ng-container *ngIf=\"fieldsList.length != 0\">\r\n  <div class=\"Draggable display-box\">\r\n    <div class=\"d-block field position-relative {{item.Config?.Class}} {{item.Config?.Direction}} {{item.Config?.Alignment}} {{item.Config?.LabelPosition}} \r\n  {{item.Config?.Position}}\" [style.width.%]=\"item.Config?.Width\" [style.height.px]=\"item.Config?.Height\"\r\n      [style.top]=\"item.Config?.top\" [style.left]=\"item.Config?.left\" [style.right]=\"item.Config?.right\"\r\n      [style.bottom]=\"item.Config?.bottom\" [style.color]=\"item.Config?.textcolor\"\r\n      [style.background]=\"item.Config?.bgcolor\"\r\n      [ngClass]=\"{'dynamic-view':(Type=='View'|| Type=='Details'),'is-view-type':IsViewType,'field-have-color':item.Config?.textcolor}\"\r\n      *ngFor=\"let item of fieldsList; let fieldIndex = index\" cdkDrag>\r\n      <!-- textarea, image, file -->\r\n\r\n      <h4 *ngIf=\"item.DataType == _dataType.Header\" class=\"field-title m-b-10\"\r\n        [ngClass]=\"{hide: item.IsHide && Type !='Details'}\">\r\n        {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label|\r\n        translate}}\r\n      </h4>\r\n      <p *ngIf=\"item.DataType == _dataType.Text\" class=\"field-label m-b-10\"\r\n        [ngClass]=\"{hide: item.IsHide && Type !='Details'}\">\r\n        {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label|\r\n        translate}}\r\n      </p>\r\n\r\n      <ng-container *ngIf=\"Type !='Details' else elseTemplate\" [formGroup]=\"pageForm.form\">\r\n        <ng-container *ngIf=\"(item.DataType == 10 || item.DataType == 7 || item.DataType == 8 || item.DataType == 88 || item.DataType == 21 || item.DataType == 11 || item.DataType == 51\r\n         || item.DataType == _dataType.HtmlEditor || item.DataType == _dataType.List || item.DataType == _dataType.button\r\n         || item.DataType == _dataType.TableView || item.DataType == _dataType.Array || item.DataType == _dataType.Object || item.DataType == _dataType.Label\r\n         || item.DataType == _dataType.JSONString || item.DataType == _dataType.Header || item.DataType == _dataType.Text || item.DataType == _dataType.Code || item.DataType == _dataType.CheckList\r\n        ) else thenBlack\">\r\n          <ng-container>\r\n\r\n            <!-- *ngIf=\"item.IsVisible\" -->\r\n            <!-- Drop Down -->\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == 8 || item.DataType == 51 || item.DataType == 88\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly,field_readonly:item.IsInactive}\">\r\n\r\n\r\n              <app-dropdown-field [item]=\"item\" [pageForm]=\"pageForm\" [RequestorField]=\"RequestorField\" [fieldsList]=\"fieldsList\"\r\n                [RequestorFieldValue]=\"RequestorFieldValue\" [ParameterData]=\"ParameterData\"\r\n                [PageGroupValues]=\"PageGroupValues\" [dynamicFormGroup]=\"dynamicFormGroup\"\r\n                (changeFiledValue)=\"emitChangeFiledValue($event.row,$event.field)\" [ProcessStageId]=\"ProcessStageId\">\r\n              </app-dropdown-field>\r\n\r\n            </div>\r\n\r\n            <!-- text-area -->\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.textarea ||item.DataType == _dataType.JSONString\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\">\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\" (click)=\"showShortKey(item)\">\r\n                    <!-- {{item.Label || item.Description }} -->\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <span class=\"red\" *ngIf=\"item.IsMandatory || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n                  <textarea class=\"dy-text-area\" rows=\"4\" [id]=\"item.Description\" [name]=\"item.Description\"\r\n                    [formControlName]=\"item.Description\" class=\"form-control\"\r\n                    [placeholder]=\"globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label| translate\"\r\n                    (click)=\"activeInputId = item.Description\" (keyup)=\"changeFiledValue($event,item)\"\r\n                    [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\"></textarea>\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n\r\n\r\n                  <div class=\"canned-response\" *ngIf=\"false && item.DataType ==10\">\r\n\r\n                    <button type=\"button\" (click)=\"showshortcode =!showshortcode; getShortCodeCannedResponse()\"\r\n                      class=\"btn-outline-success badge bg-white\">\r\n                      <i class=\"la la-envelope-open-text themecolor\" style=\"font-size: 25px;\"></i> </button>\r\n                    <ul role=\"menu\" class=\"dropdown-menu show\" *ngIf=\"showshortcode\">\r\n                      <li *ngFor=\"let short of shortcode\"><a class=\"dropdown-item\"\r\n                          (click)=\"selectShortKey(short)\">{{short.Message}}</a></li>\r\n                    </ul>\r\n\r\n\r\n                  </div>\r\n\r\n                </div>\r\n\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <!-- Placeholder -->\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.Placeholder\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\" style=\"margin-top: 10px;\">\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <button class=\"btn btn-outline-primary p-1\" style=\"line-height:1\"\r\n                      (click)=\"loadPlaceholderData(item);\">\r\n                      <i class=\"la la-refresh\"></i>\r\n                    </button>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n\r\n                  <div class=\"clearfix form-control\" *ngIf=\"showPlaceholder\"\r\n                    style=\"height: 90px;overflow: auto;padding: 4px 0;\">\r\n                    <div class=\"btn-content-list\" *ngFor=\"let val of (dropDown$[item.Description] | async)\">\r\n                      <button class=\"btn btncustom-outline mb-2\" (click)=\"selectPlaceholder(val,item)\">\r\n                        <!-- <ng-container *ngFor=\"let col of dropDownColumn$[item.Description] | Unique\">\r\n                      {{val[col]}}\r\n                      </ng-container> -->\r\n                        {{setPlaceholderlabel(val,item)}}\r\n                      </button>\r\n                    </div>\r\n                  </div>\r\n\r\n                </div>\r\n\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <!-- Image -->\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == 7\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\">\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    <!-- {{item.Label || item.Description }} -->\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <span class=\"red\" *ngIf=\"item.IsMandatory || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n                  <input autocomplete=\"off\"\r\n                    [placeholder]=\"globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label| translate\"\r\n                    type=\"file\" [id]=\"item.Description\" [name]=\"item.Description\" [formControlName]=\"item.Description\"\r\n                    class=\"form-control\" (click)=\"activeInputId = item.Description\" (change)=\"changeFile($event,item)\"\r\n                    accept=\"image/x-png,image/gif,image/jpeg\"\r\n                    [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\" />\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <!-- file -->\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == 11\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\">\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    <!-- {{item.Label || item.Description }} -->\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <span class=\"red\" *ngIf=\"item.IsMandatory  || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n                  <input [id]=\"item.Description\" autocomplete=\"off\"\r\n                    style=\"width: calc(100% - 30px); display: inline-block; margin: 00 5px 0 0;\"\r\n                    [placeholder]=\"globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label| translate\"\r\n                    type=\"file\" (change)=\"changeFile($event,item)\" [name]=\"item.Description\"\r\n                    [formControlName]=\"item.Description\" (click)=\"activeInputId = item.Description\" class=\"form-control\"\r\n                    [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\"\r\n                    (change)=\"FileChange($event,item)\" />\r\n\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType ==  _dataType.List\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n\r\n              <div class=\"row\">\r\n\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <span class=\"red\" *ngIf=\"item.IsMandatory  || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                    <span class=\"padding-left-10\">\r\n                      <i (click)=\"addnewList(item)\" class=\"themeprimary la la-plus bold fs-15\"></i>\r\n                    </span>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n\r\n                  <div class=\"form-group\" *ngFor=\"let _list of FiedlListData$[item.Description]; let i = index\">\r\n                    <div class=\"row\">\r\n                      <span class=\"col-sm-3\">\r\n                        <input class=\"form-control\" type=\"text\" placeholder=\"key\" [(ngModel)]=\"_list.key\"\r\n                          [ngModelOptions]=\"{standalone: true}\" (keyup)=\"changeFiledList(item,_list,i)\">\r\n                      </span>\r\n                      <span class=\"col-sm-1 no-padding\" style=\"width: auto;\">=</span>\r\n                      <span class=\"col-sm-3\">\r\n                        <input class=\"form-control\" type=\"text\" placeholder=\"value\" [(ngModel)]=\"_list.value\"\r\n                          [ngModelOptions]=\"{standalone: true}\" (keyup)=\"changeFiledList(item,_list,i)\">\r\n                      </span>\r\n                      <span class=\"col-sm-1 no-padding\" (click)=\"removeList(item,i)\" style=\"width: auto;\">\r\n                        <i class=\"la la-times themeprimary\"></i>\r\n                      </span>\r\n\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </div>\r\n\r\n\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.HtmlEditor\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\">\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    <!-- {{item.Label || item.Description }} -->\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <span class=\"red\" *ngIf=\"item.IsMandatory  || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\" [ngClass]=\"{'expand':item.IsExpand}\">\r\n                  <!-- <angular-editor [id]=\"item.Description\" class=\"mail_editor\" [formControlName]=\"item.Description\"\r\n                    [config]=\"editorConfig\" (keyup)=\"changeFiledValue($event,item)\"\r\n                    (click)=\"activeInputId = item.Description\"\r\n                    [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\"></angular-editor> -->\r\n\r\n                  <i *ngIf=\"!item.IsExpand\" class=\"la la-expand is_Expand\" title=\"Expand\"\r\n                    (click)=\"item.IsExpand = true\"></i>\r\n                  <i *ngIf=\"item.IsExpand\" class=\"la la-compress is_Expand\" title=\"Minimize\"\r\n                    (click)=\"item.IsExpand = false\"></i>\r\n\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.button\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n\r\n              <button class=\"btn btn-primary\" type=\"button\" (click)=\"clickField($event,item)\">\r\n                {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                :item.Label| translate}}\r\n              </button>\r\n\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.TableView\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\">\r\n                <div class=\"col col-12 col-sm-12 col-md-12 col-lg-12\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <button class=\"btn btn-outline-primary p-1\" style=\"line-height:1\"\r\n                      (click)=\"loadDropdownColumn(item);\">\r\n                      <i class=\"la la-refresh\"></i>\r\n                    </button>\r\n                  </label>\r\n                </div>\r\n                <div class=\"col col-12 col-sm-12 col-md-12 col-lg-12\">\r\n                  <div class=\"control-table control-table-view position-relative\">\r\n\r\n                    <div class=\"control-table-search m-b-10 m-r-30\" style=\"position: relative;\">\r\n                      <input type=\"text\" [(ngModel)]=\"item.AutoSearchText\" [ngModelOptions]=\"{standalone: true}\"\r\n                        placeholder=\"{{'Search Here to Get Data'|translate}}....\"\r\n                        (keyup)=\"autoSearchDropdown($event,item)\" />\r\n                      <i class=\"la la-search\"\r\n                        style=\"position: absolute; top: 7px; right: 10px; color: #ddd; font-size: 18px; \"\r\n                        (click)=\"loadDropdown(item)\"></i>\r\n                    </div>\r\n                    <table class=\"table table-bordered table-striped table-hover\">\r\n                      <thead>\r\n                        <tr>\r\n                          <td style=\"width: 40px;\"></td>\r\n                          <td *ngFor=\"let col of dropDownColumn$[item.Description] | Unique\">\r\n                            {{col.Name}}\r\n                          </td>\r\n                        </tr>\r\n                      </thead>\r\n                      <tbody>\r\n                        <tr\r\n                          *ngFor=\"let val of (dropDown$[item.Description] | async | filter:item.AutoSearchText) | paginate: {itemsPerPage:defineItemsPerPage, currentPage:pageStartFrom} \">\r\n                          <td style=\"width: 40px;\">\r\n                            <span (click)=\"item.showTable =!item.showTable;selectDropDownRow(val,item)\">\r\n                              <!-- <i class=\"la la-check-square themecolor\"></i> -->\r\n                              <input class=\"themecolor\" name=\"{{item.Description}}\" type=\"radio\">\r\n                            </span>\r\n                          </td>\r\n                          <ng-container *ngFor=\"let col of dropDownColumn$[item.Description] | Unique\">\r\n                            <td>\r\n                              <span app-grid-datatype [list]=\"val\" [col]=\"col\"></span>\r\n                              <!-- {{val[col]}}  -->\r\n                            </td>\r\n                          </ng-container>\r\n\r\n                        </tr>\r\n                      </tbody>\r\n\r\n\r\n                    </table>\r\n\r\n                    <ng-container *ngIf=\"(dropDown$[item.Description]| async ) as list\">\r\n\r\n                      <div class=\"bootom-pagenations clearfix row m-0\" *ngIf=\"list \">\r\n                        <!-- && list.length > 10 -->\r\n\r\n                        <pagination-controls class=\"inline-block pull-left col padding-0\" style=\"max-width: 100%;\"\r\n                          (pageChange)=\"pageStartFrom = $event\">\r\n                        </pagination-controls>\r\n\r\n                        <div class=\"inline-block page-style pull-right col padding-0\" style=\"max-width: 50px;\">\r\n                          <!-- <label class=\"pageLabel\">{{'Page Size'|translate}}: </label> -->\r\n                          <select class=\"form-control form-control-sm pageSize inline-block m-0\" style=\"width: 50px;\"\r\n                            [(ngModel)]=\"defineItemsPerPage\" [ngModelOptions]=\"{standalone: true}\"\r\n                            (change)=\"defineRecordCount($event)\">\r\n                            <option value=\"10\">10</option>\r\n                            <option value=\"15\">15</option>\r\n                            <option value=\"20\">20</option>\r\n                            <option value=\"25\">25</option>\r\n                          </select>\r\n                        </div>\r\n\r\n                      </div>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.Array || item.DataType == _dataType.Object\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <div class=\"row\">\r\n                <div class=\"col col-12 col-sm-12 col-md-12 col-lg-12\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                  </label>\r\n                </div>\r\n                <div class=\"col col-12 col-sm-12 col-md-12 col-lg-12\">\r\n                  <table class=\"table table-bordered table-striped table-hover\">\r\n                    <thead>\r\n                      <tr>\r\n                        <td *ngFor=\"let col of ArraryFieldColumn$[item.Description]\">\r\n                          {{col}}\r\n                        </td>\r\n                      </tr>\r\n                    </thead>\r\n                    <tbody>\r\n                      <tr *ngFor=\"let val of ArraryField$[item.Description]\">\r\n\r\n                        <ng-container *ngFor=\"let col of ArraryFieldColumn$[item.Description] \">\r\n                          <td> {{val[col]}} </td>\r\n                        </ng-container>\r\n\r\n                      </tr>\r\n                    </tbody>\r\n\r\n\r\n                  </table>\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.Label\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n              <!-- <app-dynamic-label-dropdown [item]=\"item\" [pageForm]=\"pageForm\"\r\n                (changeFiledValue)=\"emitChangeFiledValue($event.row,$event.field)\">\r\n              </app-dynamic-label-dropdown> -->\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType == _dataType.Code\">\r\n              <div class=\"row\">\r\n                <div class=\"col col-12 col-sm-12 col-md-12 col-lg-12\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    {{item.Label| translate}}\r\n                  </label>\r\n                </div>\r\n\r\n                <div class=\"col col-12 col-sm-12 col-md-12 col-lg-12\">\r\n                  <!-- <ngx-codemirror class=\"p-code-mirror\" [formControlName]=\"item.Description\"\r\n                    (ngModelChange)=\"changeFiledValue($event,item)\" [options]=\"item.codeOption\">\r\n                  </ngx-codemirror> -->\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </div>\r\n\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"form-group\" *ngIf=\"item.DataType ==  _dataType.CheckList\"\r\n              [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n\r\n              <div class=\"row\">\r\n\r\n                <div class=\"col\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                    {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                    :item.Label| translate}}\r\n                    <span class=\"red\" *ngIf=\"item.IsMandatory  || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                    <!-- <span class=\"padding-left-10\">\r\n                      <i (click)=\"addCheckListField(item)\" class=\"themeprimary la la-plus bold fs-15\"></i>\r\n                    </span> -->\r\n                  </label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n\r\n                  <div class=\"form-group\">\r\n\r\n                    <table class=\"w-100\">\r\n                      <tbody>\r\n                        <tr *ngFor=\"let _list of CheckListData$[item.Description]; let i = index\">\r\n                          <td style=\"width: 35px;\">\r\n                            <span class=\"\">\r\n                              <input class=\"form-control\" type=\"checkbox\" [(ngModel)]=\"_list.isCheck\"\r\n                                [ngModelOptions]=\"{standalone: true}\" (change)=\"changeCheckList(item,_list,i)\">\r\n                            </span>\r\n                          </td>\r\n                          <td>\r\n                            <span class=\"\">\r\n                              <label *ngIf=\"item.IsCheckList\" class=\"form-control m-0\">{{_list.isCheckValue}}</label>\r\n                              <input *ngIf=\"!item.IsCheckList\" class=\"form-control\" type=\"text\" placeholder=\"value\"\r\n                                [(ngModel)]=\"_list.isCheckValue\" [ngModelOptions]=\"{standalone: true}\"\r\n                                (keyup)=\"changeCheckList(item,_list,i)\">\r\n                            </span>\r\n                          </td>\r\n                          <td class=\"text-center\" [ngClass]=\"{hide: item.IsCheckList}\" style=\"width: 35px;\">\r\n                            <span class=\"\" (click)=\"removeCheckListField(item,i)\" style=\"width: auto;\">\r\n                              <i class=\"la la-trash themeprimary\"></i>\r\n                            </span>\r\n                          </td>\r\n                        </tr>\r\n                      </tbody>\r\n                    </table>\r\n                    <span class=\"padding-left-10\" [ngClass]=\"{hide: item.IsCheckList}\">\r\n                      <button class=\"btn btn-sm btn-primary my-2\" (click)=\"addCheckListField(item)\">{{'Add' |\r\n                        translate}}</button>\r\n                    </span>\r\n                  </div>\r\n\r\n\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </div>\r\n\r\n\r\n              </div>\r\n\r\n            </div>\r\n\r\n\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <ng-template #thenBlack>\r\n          <div class=\"form-group\" [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n            <!-- *ngIf=\"item.IsVisible\" -->\r\n            <div class=\"row\">\r\n              <div class=\"col\">\r\n                <label class=\"control-label\" style=\"padding-right: 0px;\">\r\n                  <!-- {{item.Label }} -->\r\n                  {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n                  :item.Label| translate}}\r\n                  <span class=\"red\" *ngIf=\"item.IsMandatory  || pageForm.form.get(item.Description)?.errors\">*</span>\r\n                </label>\r\n              </div>\r\n              <!-- string, int, decimal, time, checkbox, image -->\r\n              <div class=\"col control-input\"\r\n                *ngIf=\"item.DataType == 1 || item.DataType == 2  || item.DataType == 13 || item.DataType == 5 || item.DataType == 6 || item.DataType == _dataType.LongText\">\r\n\r\n                <ng-container *ngIf=\"item.IsTableField; else elseTemplate\">\r\n\r\n                  <label class=\"form-control field_muted\" style=\"padding-right: 0px;\">\r\n                    {{pageForm.form.value[item.Description]}}\r\n                  </label>\r\n\r\n                </ng-container>\r\n                <ng-template #elseTemplate>\r\n                  <input [id]=\"item.Description\" autocomplete=\"off\"\r\n                    [placeholder]=\"globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label| translate\"\r\n                    [type]=\"getType(item.DataType)\" [name]=\"item.Description\" [formControlName]=\"item.Description\"\r\n                    (click)=\"activeInputId = item.Description\" class=\"form-control\"\r\n                    [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\"\r\n                    (input)=\"changeFiledValue($event,item)\"\r\n                    />\r\n                  <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                  </app-validation-error>\r\n                </ng-template>\r\n\r\n\r\n              </div>\r\n              <!--  checkbox -->\r\n              <div class=\"col form-check\" *ngIf=\"item.DataType == 9\">\r\n                <input [id]=\"item.Description\" autocomplete=\"off\" type=\"checkbox\" [formControlName]=\"item.Description\"\r\n                  class=\"form-check-input\" [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\"\r\n                  (change)=\"changeFiledValue($event,item)\" />\r\n\r\n                <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                </app-validation-error>\r\n              </div>\r\n\r\n\r\n              <!-- date && date-time -->\r\n              <div class=\"col control-input date_pick\" *ngIf=\"item.DataType == 3 || item.DataType == 4\">\r\n                <input [id]=\"item.Description\" type=\"text\" readonly bsDatepicker\r\n                  [placeholder]=\"globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label| translate\"\r\n                  [name]=\"item.Description\" [formControlName]=\"item.Description\"\r\n                  (click)=\"activeInputId = item.Description\" class=\"form-control\"\r\n                  (bsValueChange)=\"changeFiledValue($event,item)\"\r\n                  [ngClass]=\"{'is-invalid': pageForm.form.get(item.Description)?.errors }\" />\r\n                <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                </app-validation-error>\r\n              </div>\r\n              <!-- Time -->\r\n              <div class=\"col control-input date_pick\" *ngIf=\"item.DataType == _dataType.Time\">\r\n                <!-- {{pageForm.form.get(item.Description).value}} -->\r\n                <timepicker [formControlName]=\"item.Description\" (ngModelChange)=\"changeFiledValue($event,item)\">\r\n                </timepicker>\r\n                <app-validation-error [item]=\"item\" [pageForm]=\"pageForm\">\r\n                </app-validation-error>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </ng-template>\r\n\r\n      </ng-container>\r\n      <ng-template #elseTemplate>\r\n\r\n\r\n\r\n        <ng-container *ngIf=\"!item.IsUiField && item.DataType != _dataType.image && item.DataType != _dataType.Placeholder &&item.DataType != _dataType.Header\r\n                            && item.DataType != _dataType.Text\">\r\n          <div class=\" row\">\r\n            <label class=\"col\" *ngIf=\"item.DataType != _dataType.button\"\r\n              [ngClass]=\"{'col-12 col-sm-12 col-md-12 col-lg-12 ': item.DataType== _dataType.Array || item.DataType== _dataType.Object,'hide':item.Config?.hidelabel}\">\r\n              <!-- {{item.Label }}  -->\r\n              {{globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label|\r\n              translate}}\r\n            </label>\r\n            <span class=\"col\"\r\n              [ngClass]=\"{'col-12 col-sm-12 col-md-12 col-lg-12 ': item.DataType== _dataType.Array || item.DataType== _dataType.Object}\">\r\n\r\n              <span class=\"colan_hide\" [ngClass]=\"{'hide':item.Config?.hidelabel}\"\r\n                *ngIf=\"item.DataType != _dataType.Array && item.DataType != _dataType.Object && item.DataType != _dataType.button\">:\r\n                &nbsp; &nbsp;</span>\r\n\r\n              <ng-container *ngIf=\"item && item.Description\">\r\n\r\n                <ng-container *ngIf=\"item.FieldTypeId;else otherfields\">\r\n                  <!-- (mouseover) =\"hoverDetailsPopup(item,$event)\" (mouseout)=\"hoverOutDetailsPopup(item)\" -->\r\n                  <a class=\"cursor-pointer link-color\" (mouseover)=\"hoverDetailsPopup(item,$event)\"\r\n                    (mouseout)=\"hoverOutDetailsPopup(item)\" (click)=\"openDetailsPopup(item)\">\r\n                    <ng-container [ngTemplateOutlet]=\"detailsDataTypeContent\" [ngTemplateOutletContext]=\"{item:item}\">\r\n                    </ng-container>\r\n                  </a>\r\n\r\n                </ng-container>\r\n\r\n                <ng-template #otherfields>\r\n                  <ng-container [ngTemplateOutlet]=\"detailsDataTypeContent\" [ngTemplateOutletContext]=\"{item:item}\">\r\n                  </ng-container>\r\n                </ng-template>\r\n\r\n              </ng-container>\r\n\r\n            </span>\r\n          </div>\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"item.DataType == _dataType.image\">\r\n          <div class=\"image-field m-b-15\">\r\n            <ng-container *ngIf=\"getdatainResponseView(PageGroupValues,item);else noimage\">\r\n              <img class=\"img-responsive img-first lazyload lazyloaded\" alt=\"{{item.Label}}\"\r\n                src=\"{{globalService.ServerUrl}}/{{getdatainResponseView(PageGroupValues,item)}}\"\r\n                [attr.data-darkbox-group]=\"item.Description\"\r\n                [attr.data-darkbox]=\"globalService.ServerUrl+'/'+getdatainResponseView(PageGroupValues,item)\">\r\n            </ng-container>\r\n            <ng-template #noimage>\r\n              <img class=\"img-responsive img-first lazyload lazyloaded\" alt=\"{{item.Label}}\"\r\n                src=\"assets/images/Image_not_available.png\">\r\n            </ng-template>\r\n\r\n          </div>\r\n\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"item.IsUiField && item.IsDefault\">\r\n          <div class=\" row\">\r\n            <label class=\"col\" *ngIf=\"item.DataType != _dataType.button\"\r\n              [ngClass]=\"{'col-12 col-sm-12 col-md-12 col-lg-12 ': item.DataType== _dataType.Array}\">\r\n              <!-- {{item.Label }}  -->\r\n              {{globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate)) :item.Label|\r\n              translate}}\r\n            </label>\r\n            <span class=\"col\" [ngClass]=\"{'col-12 col-sm-12 col-md-12 col-lg-12 ': item.DataType== _dataType.Array}\">\r\n\r\n              <span class=\"colan_hide\"\r\n                *ngIf=\"item.DataType != _dataType.Array && item.DataType != _dataType.Object && item.DataType != _dataType.button\">:\r\n                &nbsp; &nbsp;</span>\r\n\r\n              <ng-container *ngIf=\"item.Description == 'OnlineTestLink';else DefaultValue\">\r\n                <span *ngIf=\"PageGroupValues['JobOrderId']\">\r\n                  {{getDataWithHandlebar(item.DefaultValue)}}\r\n                  <i (click)=\"_copyText(item.DefaultValue)\" class=\"fa fa-clone\"\r\n                    style=\"padding-left: 5px; color: green;\"></i>\r\n                </span>\r\n              </ng-container>\r\n\r\n              <ng-template #DefaultValue>\r\n                <span>\r\n                  {{getDataWithHandlebar(item.DefaultValue)}}\r\n                  <i (click)=\"_copyText(item.DefaultValue)\" class=\"fa fa-clone\"\r\n                    style=\"padding-left: 5px; color: green;\"></i>\r\n                </span>\r\n              </ng-template>\r\n\r\n\r\n            </span>\r\n          </div>\r\n        </ng-container>\r\n\r\n      </ng-template>\r\n\r\n      <ng-container *ngIf=\"(Type !='Details' && ActionType != '1' && ActionType != '2') || IsViewType;else settings\">\r\n        <div class=\"settings position-absolute\">\r\n        </div>\r\n      </ng-container>\r\n      <ng-template #settings>\r\n        <div class=\"settings position-absolute\" style=\"width: 0px;\">\r\n        </div>\r\n      </ng-template>\r\n      <ng-container *ngIf=\"item.showFieldConfig && !disableFieldConfig\">\r\n\r\n        <!-- <app-field-setting-config [field]=\"item\"></app-field-setting-config> -->\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"displayPopUp\">\r\n  <!-- <app-entity-type-field-create [EntityTypeId]=\"EntityTypeId\" [isEdit]=\"isEdit\"\r\n    [EntityTypeFieldData]=\"EntityTypeFieldData\" (closeModel)=\"closeModel()\" [FieldType]=\"isClientField\"\r\n    (updateClientFields)=\"_updateClientField($event.ClientField)\">\r\n  </app-entity-type-field-create> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"displayRules\">\r\n  <div class=\"modal showpopup\">\r\n    <div class=\"modal-dialog modal-lg\" style=\"max-width: 1200px;\">\r\n      <div class=\"modal-content task\">\r\n\r\n        <!-- Modal Header -->\r\n        <div class=\"modal-header\">\r\n          <h4 class=\"modal-title\" style=\"padding-left: 5px;\">{{'Rules List'|translate}}</h4>\r\n          <button type=\"button\" class=\"close\" (click)=\"closeRulesPopup()\">&times;</button>\r\n        </div>\r\n\r\n        <!-- Modal body -->\r\n        <div class=\"modal-body\">\r\n\r\n\r\n          <!-- <app-entity-field-rules [IsFilter]=\"true\" [FilterField]=\"FilterField\" [EntityTypeId]=\"EntityTypeId\"\r\n            [FormRecId]=\"EntityFormId\">\r\n          </app-entity-field-rules> -->\r\n\r\n\r\n        </div>\r\n\r\n        <!-- Modal footer -->\r\n        <div class=\"modal-footer\">\r\n          <!-- <button type=\"button\" class=\"btn btn-secondary\" (click)=\"closeRulesPopup()\">{{'Submit'|translate}}</button> -->\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n\r\n<div class=\"modal showpopup\"\r\n  *ngIf=\"showDetailsPopup && CurrentEntityTypeRecId && CurrentPrimaryKey && CurrentPrimaryKeyValue\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"width: 90%;min-width: 90%;max-width:90%;\">\r\n    <div class=\"modal-content\">\r\n\r\n      <div class=\"modal-header\">\r\n        <h4 class=\"modal-title\" style=\"padding-left: 5px;\">{{'Details'|translate}}</h4>\r\n        <button type=\"button\" class=\"close\" (click)=\"closeDetailsPopup()\">&times;</button>\r\n      </div>\r\n\r\n      <div class=\"modal-body\">\r\n\r\n        <!-- <app-dynamic-entity-details [PrimaryKey]=\"CurrentPrimaryKey\" [PrimaryKeyValue]=\"CurrentPrimaryKeyValue\"\r\n          [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"CurrentEntityTypeRecId\"></app-dynamic-entity-details> -->\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n<ng-template #detailsDataTypeContent let-item='item'>\r\n  <ng-container [ngSwitch]=\"item.DataType\">\r\n    <span *ngSwitchCase=\"_dataType.date\" class=\"tooltiptexts\">\r\n      {{getdatainResponseView(PageGroupValues,item) | date :'dd/MM/yyyy'}}\r\n    </span>\r\n\r\n    <span *ngSwitchCase=\"_dataType.dateTime\" class=\"tooltiptexts\">\r\n      {{getdatainResponseView(PageGroupValues,item) | date :'dd/MM/yyyy h:mm a'}}\r\n    </span>\r\n\r\n    <span *ngSwitchCase=\"_dataType.Time\" class=\"tooltiptexts\">\r\n      {{getdatainResponseView(PageGroupValues,item) | date :'h:mm a'}}\r\n    </span>\r\n\r\n    <span *ngSwitchCase=\"_dataType.bool\">\r\n      {{(getdatainResponseView(PageGroupValues,item) ==true ? 'Yes' : 'No')|translate}}\r\n    </span>\r\n\r\n    <span class=\"qrcode-view\" *ngSwitchCase=\"_dataType.QRcode\">\r\n      <!-- <qrcode [qrdata]=\"getdatainResponseView(PageGroupValues,item)\"></qrcode> -->\r\n    </span>\r\n\r\n    <span *ngSwitchCase=\"_dataType.button\">\r\n      <button class=\"btn btn-primary\" type=\"button\" (click)=\"clickField($event,item)\">\r\n        {{ globalService.CurrentLanguage=='Ar'?(item.LabelAr ?item.LabelAr : (item.Label | translate))\r\n        :item.Label| translate}}\r\n      </button>\r\n    </span>\r\n\r\n    <span *ngSwitchCase=\"_dataType.dropdown\">\r\n      {{PageGroupValues[getdropdwnFieldKey(item.Description,item.LookupData)] }}\r\n    </span>\r\n    <span *ngSwitchCase=\"_dataType.LookUp\">\r\n      <ng-container *ngIf=\"item.LookupData; else elseLookupTemplate\">\r\n        {{PageGroupValues[getFiledKey(item.Description,item.LookupData)] }}\r\n      </ng-container>\r\n      <ng-template #elseLookupTemplate>\r\n        {{ globalService.CurrentLanguage=='Ar'?(PageGroupValues[item.Description+\"_DescAr\"] ?\r\n        PageGroupValues[item.Description+\"_DescAr\"] : PageGroupValues[item.Description])\r\n        :(PageGroupValues[item.Description+\"_Desc\"] ? PageGroupValues[item.Description+\"_Desc\"] :\r\n        PageGroupValues[item.Description]) }}\r\n      </ng-template>\r\n    </span>\r\n\r\n\r\n    <div *ngSwitchCase=\"_dataType.HtmlEditor\" [innerHTML]=\"getdatainResponseView(PageGroupValues,item)\">\r\n    </div>\r\n\r\n    <div *ngSwitchCase=\"_dataType.Array\">\r\n      <table class=\"table table-bordered table-striped table-hover\">\r\n        <thead>\r\n          <tr>\r\n            <td *ngFor=\"let col of ArraryFieldColumn$[item.Description]\">\r\n              {{col}}\r\n            </td>\r\n          </tr>\r\n        </thead>\r\n        <tbody>\r\n          <tr *ngFor=\"let val of ArraryField$[item.Description]\">\r\n\r\n            <ng-container *ngFor=\"let col of ArraryFieldColumn$[item.Description] \">\r\n              <td> {{val[col]}} </td>\r\n            </ng-container>\r\n\r\n          </tr>\r\n        </tbody>\r\n\r\n\r\n      </table>\r\n    </div>\r\n\r\n    <div *ngSwitchCase=\"_dataType.Object\">\r\n      <ng-container *ngFor=\"let col of ArraryFieldColumn$[item.Description] \">\r\n\r\n        <!-- <ng-container *ngIf=\"typeof ArraryField$[item.Description][0][col] 'object'\"></ng-container> -->\r\n\r\n        <div class=\"row\">\r\n          <label class=\"col\">{{col}}</label>\r\n          <div class=\"col\">{{ArraryField$[item.Description][0][col]}}</div>\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n\r\n\r\n    <div *ngSwitchCase=\"_dataType.TableView\">\r\n\r\n      <div class=\"control-table control-table-view position-relative\">\r\n\r\n        <div class=\"control-table-search m-b-10 m-r-30\" style=\"position: relative;\">\r\n          <input type=\"text\" [(ngModel)]=\"item.AutoSearchText\" [ngModelOptions]=\"{standalone: true}\"\r\n            placeholder=\"{{'Search Here to Get Data'|translate}}....\" (keyup)=\"autoSearchDropdown($event,item)\" />\r\n          <i class=\"la la-search\" style=\"position: absolute; top: 7px; right: 10px; color: #ddd; font-size: 18px; \"\r\n            (click)=\"loadDropdown(item)\"></i>\r\n        </div>\r\n        <table class=\"table table-bordered table-striped table-hover\">\r\n          <thead>\r\n            <tr>\r\n              <td style=\"width: 40px;\"></td>\r\n              <td *ngFor=\"let col of dropDownColumn$[item.Description] | Unique\">\r\n                {{col}}\r\n              </td>\r\n            </tr>\r\n          </thead>\r\n          <tbody>\r\n            <tr\r\n              *ngFor=\"let val of (dropDown$[item.Description] | async | filter:item.AutoSearchText) | paginate: {itemsPerPage:defineItemsPerPage, currentPage:pageStartFrom} \">\r\n              <td style=\"width: 40px;\">\r\n                <span (click)=\"item.showTable =!item.showTable;selectDropDownRow(val,item)\">\r\n                  <!-- <i class=\"la la-check-square themecolor\"></i> -->\r\n                  <input class=\"themecolor\" name=\"{{item.Description}}\" type=\"radio\">\r\n                </span>\r\n              </td>\r\n              <ng-container *ngFor=\"let col of dropDownColumn$[item.Description] | Unique\">\r\n                <td> {{val[col]}} </td>\r\n              </ng-container>\r\n\r\n            </tr>\r\n          </tbody>\r\n\r\n\r\n        </table>\r\n\r\n        <ng-container *ngIf=\"(dropDown$[item.Description]| async ) as list\">\r\n\r\n          <div class=\"bootom-pagenations clearfix row m-0\" *ngIf=\"list \">\r\n            <!-- && list.length > 10 -->\r\n\r\n            <pagination-controls class=\"inline-block pull-left col padding-0\" style=\"max-width: 100%;\"\r\n              (pageChange)=\"pageStartFrom = $event\">\r\n            </pagination-controls>\r\n\r\n            <div class=\"inline-block page-style pull-right col padding-0\" style=\"max-width: 50px;\">\r\n              <!-- <label class=\"pageLabel\">{{'Page Size'|translate}}: </label> -->\r\n              <select class=\"form-control form-control-sm pageSize inline-block m-0\" style=\"width: 50px;\"\r\n                [(ngModel)]=\"defineItemsPerPage\" [ngModelOptions]=\"{standalone: true}\"\r\n                (change)=\"defineRecordCount($event)\">\r\n                <option value=\"10\">10</option>\r\n                <option value=\"15\">15</option>\r\n                <option value=\"20\">20</option>\r\n                <option value=\"25\">25</option>\r\n              </select>\r\n            </div>\r\n\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n\r\n    </div>\r\n\r\n    <span *ngSwitchCase=\"_dataType.image\" class=\"image-view\">\r\n      <img class=\"form-control-img img-responsive\" [src]=\"getdatainResponseView(PageGroupValues,item)\">\r\n    </span>\r\n\r\n    <span *ngSwitchCase=\"_dataType.CheckList\">\r\n\r\n      <table class=\"w-100\">\r\n        <tbody>\r\n          <tr *ngFor=\"let cList of getCheckListData(PageGroupValues[item.Description])\">\r\n            <td style=\"width: 35px;\">\r\n              <ng-container *ngIf=\"cList.isCheck; else elseisCheckTemplate\">\r\n                <span style=\"font-family:Wingdings; color:#404040;\"></span>\r\n              </ng-container>\r\n              <ng-template #elseisCheckTemplate>\r\n                <span style=\"font-family:'MS Gothic'; color:#404040;\">☐</span>\r\n              </ng-template>\r\n\r\n            </td>\r\n            <td>\r\n              <span>\r\n                {{cList.isCheckValue}}\r\n              </span>\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n\r\n    </span>\r\n\r\n    <span *ngSwitchDefault>\r\n\r\n      <ng-container *ngIf=\"item.ResponseView\">\r\n        {{ getdatainResponseView(PageGroupValues,item)}}\r\n      </ng-container>\r\n      <ng-container *ngIf=\"!item.ResponseView\">\r\n\r\n        <ng-container *ngIf=\"item.Description=='StatusId'; else allPageGroupValues\">\r\n          {{PageGroupValues[item.Description+\"En\"]}}\r\n        </ng-container>\r\n        <ng-template #allPageGroupValues>\r\n          {{ globalService.CurrentLanguage=='Ar'?(PageGroupValues[item.Description+\"_DescAr\"] ?\r\n          PageGroupValues[item.Description+\"_DescAr\"] : PageGroupValues[item.Description])\r\n          :(PageGroupValues[item.Description+\"_Desc\"] ? PageGroupValues[item.Description+\"_Desc\"] :\r\n          PageGroupValues[item.Description]) }}\r\n        </ng-template>\r\n      </ng-container>\r\n\r\n    </span>\r\n  </ng-container>\r\n</ng-template>\r\n\r\n\r\n<!-- <div class=\"\" id=\"detailtooltip\" style=\"display: block;\"\r\n  *ngIf=\"showtooltipPopup && CurrentEntityTypeRecId && CurrentPrimaryKey && CurrentPrimaryKeyValue\">\r\n  <div class=\"tooltip-overly\" (click)=\"closeDetailsPopup('Tooltip')\"></div>\r\n  <div [ngStyle]=\"{'left': elementPosition.X+'px','top':elementPosition.Y+'px'}\" class=\"tooltip in tooltip-modal\">\r\n\r\n    <app-dynamic-tool-tip-details [ViewType]=\"'View'\" [EntityTypeId]=\"CurrentEntityTypeRecId\"\r\n      [PrimaryKey]=\"CurrentPrimaryKey\" [PrimaryKeyValue]=\"CurrentPrimaryKeyValue\"\r\n      [EntityFieldGroupId]=\"CurrentEntityFieldGroupId\"\r\n      (LoadRelationDetailsPopup)=\"LoadRelationDetailsPopup()\"></app-dynamic-tool-tip-details>\r\n\r\n  </div>\r\n</div> -->","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { E_DataType, E_DatasourceType, E_FieldGroupType, E_FormType, EntityTypeFieldVM, EntityTypeFormVM, FieldValidators, Field_config, GetFormattedDateWithTime, ISearchCriteria, PageDetailsRow, PageForm, PageGroup, Validation, ePageViewType, errorMessageType, generateId } from '../../core/common-interface-enum-classes-functions';\r\nimport * as Handlebars from 'handlebars';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-entity-dynamic-view',\r\n  templateUrl: './entity-dynamic-view.component.html',\r\n  styleUrls: ['./entity-dynamic-view.component.scss'],\r\n})\r\nexport class EntityDynamicViewComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private fb: FormBuilder,\r\n    private globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit(): void {\r\n    // this.route.queryParams.subscribe((res) => {\r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    registerHandlebarHelperMethods();\r\n    this.getFieldGroupList();\r\n    if (this.EntityFormId) this.getEntityForm();\r\n    else {\r\n      if (this.EntityTypeId) {\r\n        this.getAllRules(this.EntityTypeId);\r\n        this.getFieldListByEntityType(this.EntityTypeId);\r\n      }\r\n    }\r\n  }\r\n\r\n  @Input() RequestorField: any = null;\r\n  @Input() RequestorFieldValue: any = null;\r\n\r\n  @Input() EntityFormId: number = 0;\r\n  @Input() EntityTypeId: number = 0;\r\n\r\n  @Input() Type: any;\r\n  @Input() FormTemplateValues: any = null;\r\n  @Input() DefaultForm: any = null;\r\n  @Input() ViewFrom: string = '';\r\n  @Input() ModalSize: any = 'modal-lg';\r\n  @Output() closeDynamicViewPopup: any = new EventEmitter();\r\n  @Output() submitFormValue: any = new EventEmitter<{\r\n    formdata: any;\r\n    pageForm: any;\r\n    forms?: any;\r\n    CurrentFormPageGroupObjects?: any;\r\n  }>();\r\n  @Input() PageGroupValues: any = {};\r\n  CurrentFormPageGroupObjects: any = {};\r\n\r\n  @Input() ParameterData: any = null;\r\n  @Input() designConfig: any;\r\n  @Input() ProcessStageId: any;\r\n  closePopup() {\r\n    this.closeDynamicViewPopup.emit();\r\n  }\r\n\r\n  _submitFormValue() {\r\n    let formvalue = this._PageForm.form.value;\r\n    for (let key in formvalue) {\r\n      if (Object.prototype.toString.call(formvalue[key]) === '[object Date]') {\r\n        formvalue[key] = GetFormattedDateWithTime(\r\n          formvalue[key]\r\n        );\r\n      }\r\n    }\r\n\r\n    let _forms = {\r\n      PageGroup: this.pageGroups,\r\n      defaultPageGroups: this.defaultPageGroups,\r\n      PageGroupValues: formvalue,\r\n      EntityFormId: this.EntityFormId,\r\n      OnSaveRules: this.OnSaveRules,\r\n      EntityTypeForm: this.EntityTypeForm,\r\n      fieldFiles: this.fieldFiles,\r\n    };\r\n    this.submitFormValue.emit({\r\n      formdata: formvalue,\r\n      pageForm: this._PageForm.form,\r\n      forms: _forms,\r\n      CurrentFormPageGroupObjects: this.CurrentFormPageGroupObjects,\r\n    });\r\n  }\r\n\r\n  OnSaveRules: any;\r\n  EntityTypeForm: EntityTypeFormVM | null = null;\r\n  pageGroups: PageDetailsRow[] = [];\r\n  defaultPageGroups: PageDetailsRow[] = [];\r\n\r\n  fieldFiles: any[] = [];\r\n\r\n  EntityTypeTemplateId = null;\r\n  getEntityForm() {\r\n    debugger;\r\n    let getSingleEntityTypeFormById = this.dynamicAppsService\r\n      .getSingleEntityTypeFormById(this.EntityFormId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.EntityTypeForm = res;\r\n          if (this.EntityTypeForm?.FormData) {\r\n            let _FormData = JSON.parse(this.EntityTypeForm.FormData);\r\n\r\n            if (_FormData.PageGroupValues) {\r\n              this.CurrentFormPageGroupObjects = _FormData.PageGroupValues;\r\n            }\r\n\r\n            if (_FormData.PageGroup) {\r\n              if (Array.isArray(_FormData.PageGroup)) {\r\n                this.pageGroups = _FormData.PageGroup;\r\n                this.getAllDefaultFieldGroup();\r\n              }\r\n            }\r\n            if (_FormData.defaultPageGroups) {\r\n              this.EntityTypeTemplateId = _FormData.defaultPageGroups;\r\n              this.getAllDefaultEntityTypeForm(_FormData.defaultPageGroups);\r\n            } else this.defaultPageGroups = [];\r\n\r\n            this.getAllRules(this.EntityTypeForm.EntityTypeId);\r\n            this.getFieldListByEntityType(this.EntityTypeForm.EntityTypeId);\r\n\r\n            if (this.Type != 'Edit' && this.Type != 'Workflow') {\r\n              if (this.FormTemplateValues) {\r\n                this.PageGroupValues = this.FormTemplateValues;\r\n              } else {\r\n                if (_FormData.PageGroupValues)\r\n                  this.PageGroupValues = _FormData.PageGroupValues;\r\n                else if (\r\n                  !this.PageGroupValues ||\r\n                  typeof this.PageGroupValues != 'object'\r\n                )\r\n                  this.PageGroupValues = {};\r\n              }\r\n            }\r\n          } else if (this.DefaultForm && this.DefaultForm.FormData) {\r\n            if (this.DefaultForm.FormData) {\r\n              let _FormData = JSON.parse(this.DefaultForm.FormData);\r\n\r\n              if (_FormData.PageGroupValues) {\r\n                this.CurrentFormPageGroupObjects = _FormData.PageGroupValues;\r\n              }\r\n\r\n              if (_FormData.PageGroup) {\r\n                if (Array.isArray(_FormData.PageGroup)) {\r\n                  this.pageGroups = _FormData.PageGroup;\r\n                  this.getAllDefaultFieldGroup();\r\n                }\r\n              }\r\n              this.EntityTypeTemplateId = this.DefaultForm.EntityTypeRecId;\r\n              this.defaultPageGroups = [];\r\n\r\n              if (this.Type != 'Edit' && this.Type != 'Workflow') {\r\n                if (this.FormTemplateValues) {\r\n                  this.PageGroupValues = this.FormTemplateValues;\r\n                } else {\r\n                  if (_FormData.PageGroupValues)\r\n                    this.PageGroupValues = _FormData.PageGroupValues;\r\n                  else if (\r\n                    !this.PageGroupValues ||\r\n                    typeof this.PageGroupValues != 'object'\r\n                  )\r\n                    this.PageGroupValues = {};\r\n                }\r\n              }\r\n            }\r\n\r\n            this.getAllRules(this.DefaultForm.EntityTypeRecId);\r\n            this.getFieldListByEntityType(this.DefaultForm.EntityTypeRecId);\r\n          } else if (this.EntityTypeId) {\r\n            this.getAllRules(this.EntityTypeId);\r\n            this.getFieldListByEntityType(this.EntityTypeId);\r\n          }\r\n\r\n          this.loaderService.hideLoading();\r\n          getSingleEntityTypeFormById.unsubscribe();\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  EntityFieldList: EntityTypeFieldVM[] = [];\r\n  getFieldListByEntityType(EntityTypeId: any) {\r\n    let getAllEntityTypeField = this.dynamicAppsService\r\n      .getAllEntityTypeField(null, EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _datas = res.Data ? res.Data : res;\r\n          this.EntityFieldList = _datas;\r\n\r\n          if (this.EntityTypeId) {\r\n            this.getAllDefaultFieldGroup();\r\n          }\r\n\r\n          this.buildReactiveForm();\r\n\r\n          this.loaderService.hideLoading();\r\n          getAllEntityTypeField.unsubscribe();\r\n        },\r\n        (error) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  getAllDefaultEntityTypeForm(EntityTypeId: any) {\r\n    debugger;\r\n    let getActiveEntityForm = this.dynamicAppsService\r\n      .getActiveEntityFormByDetails(EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          if (res && res.FormData) {\r\n            let _FormData = JSON.parse(res.FormData);\r\n\r\n            if (_FormData.PageGroup) {\r\n              if (Array.isArray(_FormData.PageGroup)) {\r\n                this.defaultPageGroups = _FormData.PageGroup;\r\n              }\r\n            }\r\n\r\n            this.buildReactiveForm();\r\n          }\r\n\r\n          this.loaderService.hideLoading();\r\n          getActiveEntityForm.unsubscribe();\r\n        },\r\n        (error) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          Swal.fire({\r\n            title: this.translatePipe.transform('Template form not found'),\r\n          });\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  _PageForm: PageForm = new PageForm(new FormGroup({}));\r\n  dynamicFormGroup!: FormGroup;\r\n  submitted: boolean = false;\r\n\r\n  validationError(name: string, errorName: string) {\r\n    if (name && errorName)\r\n      return this.dynamicFormGroup.get(name)?.errors?.[errorName]\r\n        ? true\r\n        : false;\r\n    else return this.dynamicFormGroup.get(name)?.errors ? true : false;\r\n  }\r\n\r\n  getType(_dataType: E_DataType | number) {\r\n    switch (_dataType) {\r\n      case E_DataType.int:\r\n      case E_DataType.decimal:\r\n        return 'number';\r\n      case E_DataType.date:\r\n        return 'date';\r\n      case E_DataType.dateTime:\r\n        return 'datetime-local';\r\n      case E_DataType.timespan:\r\n        return 'time';\r\n      case E_DataType.bool:\r\n        return 'checkbox';\r\n      case E_DataType.string:\r\n        return 'text';\r\n      case E_DataType.image:\r\n        return 'file';\r\n\r\n      default:\r\n        return 'text';\r\n    }\r\n  }\r\n\r\n  getAllFields() {\r\n    let fields: EntityTypeFieldVM[] = [];\r\n\r\n    for (let index = 0; index < this.pageGroups.length; index++) {\r\n      let Groups = this.pageGroups[index].Groups;\r\n      for (let i = 0; i < Groups.length; i++) {\r\n        fields.push(...Groups[i].Fields);\r\n      }\r\n    }\r\n\r\n    for (let index = 0; index < this.defaultPageGroups.length; index++) {\r\n      let Groups = this.defaultPageGroups[index].Groups;\r\n      for (let i = 0; i < Groups.length; i++) {\r\n        fields.push(...Groups[i].Fields);\r\n      }\r\n    }\r\n    return fields;\r\n  }\r\n\r\n  isFullyPageFormBuilded: boolean = false;\r\n  buildReactiveForm() {\r\n    if (!(this.EntityFieldList && this.EntityFieldList.length > 0)) return;\r\n\r\n    if (!this.AllRules) return;\r\n\r\n    let fields: EntityTypeFieldVM[] = this.getAllFields();\r\n\r\n    this._PageForm = new PageForm(this.createFormGroup(fields));\r\n    this.isFullyPageFormBuilded = true;\r\n    this.BindDesignFormData();\r\n\r\n    if (this.ViewFrom == 'Details') {\r\n      this._submitFormValue();\r\n    }\r\n    this.setFieldsInPageGroupsForm();\r\n\r\n    if (this.Type != 'Edit') {\r\n      debugger;\r\n      if (this.ParameterData) {\r\n        debugger;\r\n        for (var key in this._PageForm.form.value) {\r\n          if (this.ParameterData[key]) {\r\n            this._PageForm?.form?.get(key)?.setValue(this.ParameterData[key], {\r\n              onlySelf: false,\r\n              entitySelf: true,\r\n            });\r\n          }\r\n        }\r\n      }\r\n\r\n      if (this.RequestorField && this.RequestorFieldValue) {\r\n        debugger;\r\n        if (this._PageForm?.form?.get(this.RequestorField))\r\n          this._PageForm?.form\r\n            ?.get(this.RequestorField)\r\n            ?.setValue(this.RequestorFieldValue, {\r\n              onlySelf: false,\r\n              entitySelf: true,\r\n            });\r\n      }\r\n\r\n      if (this.EntityTypeForm && this.EntityTypeForm.FormData)\r\n        this.onFormInit(this.EntityTypeForm);\r\n      else if (this.DefaultForm && this.DefaultForm.FormData)\r\n        this.onFormInit(this.DefaultForm);\r\n    }\r\n    this.onFormSave(this.EntityTypeForm);\r\n\r\n    this.setDDLValueOnEditMode();\r\n  }\r\n\r\n  setDyanamicPageGroup() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      return;\r\n    } else if (this.DefaultForm && this.DefaultForm.FormData) {\r\n      return;\r\n    }\r\n\r\n    if (!(this.EntityFieldList && this.EntityFieldList.length > 0)) return;\r\n\r\n    let _Groups: PageGroup | any = {\r\n      Alignment: null,\r\n      Class: null,\r\n      Direction: null,\r\n      Fields: this.EntityFieldList,\r\n      ID: '1',\r\n      Name: null,\r\n      Groups: null,\r\n      Height: null,\r\n      Position: null,\r\n      ViewType: null,\r\n      Width: null,\r\n    };\r\n    let _pageGroups: PageDetailsRow | any = {\r\n      Groups: [_Groups],\r\n      ID: '1',\r\n      Height: null,\r\n      Width: null,\r\n    };\r\n\r\n    this.pageGroups = [_pageGroups];\r\n  }\r\n\r\n  setFieldsInPageGroupsForm() {\r\n    if (!(this.EntityFieldList && this.EntityFieldList.length > 0)) return;\r\n\r\n    this.pageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields = group.Fields.map((PGF) => {\r\n          let _field =\r\n            this.EntityFieldList.find(\r\n              (f) => f.Description === PGF.Description\r\n            ) || PGF;\r\n          _field.Config = PGF.Config ? PGF.Config : new Field_config();\r\n          return _field;\r\n        });\r\n        group.Groups.map((grp) => {\r\n          if (grp.ViewType == ePageViewType.FieldGroup) {\r\n            if (this.FieldGroups.find((g) => g.RecId == grp.ID)) {\r\n              let _field = this.FieldGroups.filter((g) => g.RecId == grp.ID)[0]\r\n                .DetailsViewData;\r\n              grp.Fields = [];\r\n              let _Headerfield: EntityTypeFieldVM = {\r\n                RecId: -1,\r\n                ClientGUID: generateId(),\r\n                DataType: E_DataType.Header,\r\n                Description: grp.Name,\r\n                Label: grp.Name,\r\n              };\r\n              grp.Fields.push(_Headerfield);\r\n              grp.Fields.push(\r\n                ..._field.map((PGF: any) => {\r\n                  let _innerField =\r\n                    this.EntityFieldList.find(\r\n                      (f) => f.Description === PGF.Description\r\n                    ) || PGF;\r\n                  _innerField.Config = PGF.Config\r\n                    ? PGF.Config\r\n                    : new Field_config();\r\n                  return _innerField;\r\n                })\r\n              );\r\n            }\r\n          }\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields = group.Fields.map(\r\n          (PGF) =>\r\n            this.EntityFieldList.find(\r\n              (f) => f.Description === PGF.Description\r\n            ) || PGF\r\n        );\r\n      });\r\n    });\r\n  }\r\n\r\n  setDDLValueOnEditMode() {\r\n    if (this.PageGroupValues && this.PageGroupValues.RecId) {\r\n      this.pageGroups.map((PG) => {\r\n        PG.Groups.map((groups) => {\r\n          groups.Fields.map((x) => {\r\n            if (x.DataType == E_DataType.dropdown) {\r\n              debugger;\r\n              let _field = x.Description + '_Desc';\r\n              if (_field in this.PageGroupValues) {\r\n                debugger;\r\n                x.showSelectedValues = this.PageGroupValues[_field];\r\n              } else {\r\n                x.showSelectedValues = this.PageGroupValues[x.Description];\r\n              }\r\n            }\r\n            if (\r\n              x.DataType == E_DataType.date ||\r\n              x.DataType == E_DataType.dateTime\r\n            ) {\r\n              if (this.PageGroupValues[x.Description]) {\r\n                let _value = this.PageGroupValues[x.Description];\r\n                let _Fdata = new Date(_value);\r\n                this._PageForm?.form\r\n                  ?.get(x.Description)\r\n                  ?.setValue(_Fdata, { entitySelf: true });\r\n              }\r\n            }\r\n          });\r\n\r\n          groups.Groups.map((group) => {\r\n            group.Fields.map((x) => {\r\n              if (x.DataType == E_DataType.dropdown) {\r\n                debugger;\r\n                let _field = x.Description + '_Desc';\r\n                if (_field in this.PageGroupValues) {\r\n                  debugger;\r\n                  x.showSelectedValues = this.PageGroupValues[_field];\r\n                } else {\r\n                  x.showSelectedValues = this.PageGroupValues[x.Description];\r\n                }\r\n              }\r\n              if (\r\n                x.DataType == E_DataType.date ||\r\n                x.DataType == E_DataType.dateTime\r\n              ) {\r\n                if (this.PageGroupValues[x.Description]) {\r\n                  let _value = this.PageGroupValues[x.Description];\r\n                  let _Fdata = new Date(_value);\r\n                  this._PageForm?.form\r\n                    ?.get(x.Description)\r\n                    ?.setValue(_Fdata, { entitySelf: true });\r\n                }\r\n              }\r\n            });\r\n          });\r\n        });\r\n      });\r\n      this.defaultPageGroups.map((PG) => {\r\n        PG.Groups.map((group) => {\r\n          group.Fields.map((x) => {\r\n            if (x.DataType == E_DataType.dropdown) {\r\n              debugger;\r\n              let _field = x.Description + '_Desc';\r\n              if (_field in this.PageGroupValues) {\r\n                debugger;\r\n                x.showSelectedValues = this.PageGroupValues[_field];\r\n              } else {\r\n                x.showSelectedValues = this.PageGroupValues[x.Description];\r\n              }\r\n            }\r\n            if (\r\n              x.DataType == E_DataType.date ||\r\n              x.DataType == E_DataType.dateTime\r\n            ) {\r\n              if (this.PageGroupValues[x.Description]) {\r\n                let _value = this.PageGroupValues[x.Description];\r\n                let _Fdata = new Date(_value);\r\n                this._PageForm?.form\r\n                  ?.get(x.Description)\r\n                  ?.setValue(_Fdata, { entitySelf: true });\r\n              }\r\n            }\r\n          });\r\n        });\r\n      });\r\n    }\r\n  }\r\n\r\n  createFormGroup(fields: EntityTypeFieldVM[]) {\r\n    let form = this.fb.group({});\r\n    if (Array.isArray(fields) && fields.length > 0) {\r\n      for (const field of fields) {\r\n        const value = null;\r\n        if (field.IsMandatory)\r\n          form.addControl(\r\n            field.Description,\r\n            this.fb.control(value, Validators.required)\r\n          );\r\n        else form.addControl(field.Description, this.fb.control(value));\r\n      }\r\n    }\r\n\r\n    if (this.EntityFieldList && this.EntityFieldList.length > 0) {\r\n      for (const field of this.EntityFieldList) {\r\n        const value = null;\r\n        if (!(field.Description in form.value))\r\n          form.addControl(field.Description, this.fb.control(value));\r\n      }\r\n    }\r\n    return form;\r\n  }\r\n\r\n  BindDesignFormData() {\r\n    this._PageForm.form.patchValue(this.PageGroupValues);\r\n    this.onValidation(this.EntityFieldList);\r\n  }\r\n\r\n  FieldChangeEvent(\r\n    FieldData: EntityTypeFieldVM,\r\n    RestData: any,\r\n    fieldFiles?: any\r\n  ) {\r\n    debugger;\r\n    this.fieldFiles = fieldFiles;\r\n    this._submitFormValue();\r\n    let _rulesField = null;\r\n    if (this.AllRules && this.AllRules.FieldRules) {\r\n      _rulesField = this.AllRules.FieldRules;\r\n      _rulesField = _rulesField.filter(\r\n        (x: any) =>\r\n          x.EntityTypeRecId == this.EntityTypeForm?.EntityTypeId ||\r\n          x.EntityTypeRecId == this.EntityTypeTemplateId\r\n      );\r\n    } else {\r\n      return;\r\n    }\r\n    let _currentFieldRule = _rulesField.filter(\r\n      (x: any) => x.Field == FieldData.Description\r\n    )[0];\r\n\r\n    if (_currentFieldRule && _currentFieldRule.Rules) {\r\n      let rulesData = JSON.parse(_currentFieldRule.Rules);\r\n\r\n      if (Array.isArray(rulesData)) {\r\n        rulesData = rulesData.filter((x) => x.Type == 'OnFieldChange');\r\n\r\n        let _rulesData = rulesData.filter((x: any) => {\r\n          return x;\r\n        });\r\n\r\n        for (let rI = 0; rI < _rulesData.length; rI++) {\r\n          this._fieldrulesImplement(_rulesData[rI], RestData, FieldData);\r\n        }\r\n      } else this._fieldrulesImplement(rulesData, RestData, FieldData);\r\n    }\r\n\r\n    this._submitFormValue();\r\n  }\r\n\r\n  FieldClickEvent(FieldData: EntityTypeFieldVM, RestData: any) {\r\n    debugger;\r\n    this._submitFormValue();\r\n    let _rulesField = null;\r\n    if (this.AllRules && this.AllRules.FieldRules) {\r\n      _rulesField = this.AllRules.FieldRules;\r\n      _rulesField = _rulesField.filter(\r\n        (x: any) =>\r\n          x.EntityTypeRecId == this.EntityTypeForm?.EntityTypeId ||\r\n          x.EntityTypeRecId == this.EntityTypeTemplateId\r\n      );\r\n    } else {\r\n      return;\r\n    }\r\n    let _currentFieldRule = _rulesField.filter(\r\n      (x: any) => x.Field == FieldData.Description\r\n    )[0];\r\n\r\n    if (_currentFieldRule && _currentFieldRule.Rules) {\r\n      let rulesData = JSON.parse(_currentFieldRule.Rules);\r\n\r\n      if (Array.isArray(rulesData)) {\r\n        rulesData = rulesData.filter((x) => x.Type == 'OnFieldClick');\r\n        let _rulesData = rulesData.filter((x: any) => {\r\n          return x;\r\n        });\r\n\r\n        for (let rI = 0; rI < _rulesData.length; rI++) {\r\n          this._fieldrulesImplement(\r\n            _rulesData[rI],\r\n            RestData,\r\n            FieldData,\r\n            'Click'\r\n          );\r\n        }\r\n      } else this._fieldrulesImplement(rulesData, RestData, FieldData, 'Click');\r\n    }\r\n    this._submitFormValue();\r\n  }\r\n\r\n  _fieldrulesImplement(\r\n    rulesData: any,\r\n    RestData: any,\r\n    FieldData: any,\r\n    EventType?: any\r\n  ) {\r\n    if (!rulesData || !rulesData.Condtion) {\r\n      return false;\r\n    }\r\n\r\n    let _condition = this.onRulesConditionCheck(rulesData, RestData, FieldData);\r\n\r\n    if (_condition) {\r\n      this.OnRulesApply(rulesData, RestData, FieldData);\r\n      if (EventType == 'Click') this.OnEventApply(rulesData, RestData);\r\n    } else {\r\n      if (rulesData.child && rulesData.child.length > 0) {\r\n        let _elseIfRulescondition = false;\r\n        let _elseIfRules = rulesData.child.filter(\r\n          (x: any) => x.Type == 'OnElseIf'\r\n        );\r\n\r\n        for (let index = 0; index < _elseIfRules.length; index++) {\r\n          _elseIfRulescondition = this.onRulesConditionCheck(\r\n            _elseIfRules[index],\r\n            RestData,\r\n            FieldData\r\n          );\r\n          if (_elseIfRulescondition) {\r\n            this.OnRulesApply(_elseIfRules[index], RestData);\r\n            if (EventType == 'Click')\r\n              this.OnEventApply(_elseIfRules[index], RestData);\r\n            break;\r\n          }\r\n        }\r\n        if (!_elseIfRulescondition) {\r\n          let _elseRules = rulesData.child.filter(\r\n            (x: any) => x.Type == 'OnElse'\r\n          );\r\n          if (_elseRules && _elseRules.length > 0) {\r\n            this.OnRulesApply(_elseRules[0], RestData);\r\n            if (EventType == 'Click') {\r\n              this.OnEventApply(_elseRules[0], RestData);\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    return _condition;\r\n  }\r\n\r\n  onFormSave(FormData: any) {\r\n    if (FormData.RulesData) {\r\n      let _formInitRule = JSON.parse(FormData.RulesData);\r\n      this.OnSaveRules = _formInitRule.filter((x: any) => x.Type == 'OnSubmit');\r\n    }\r\n  }\r\n\r\n  onValidation(FieldList: EntityTypeFieldVM[]) {\r\n    for (let i = 0; i < FieldList.length; i++) {\r\n      let _Field = FieldList[i];\r\n      if (_Field.Validation) {\r\n        let _Validation: Validation = JSON.parse(_Field.Validation);\r\n        if (_Validation) {\r\n          let validateArry: any[] = [];\r\n\r\n          if (_Validation.Required) {\r\n            validateArry = [Validators.required];\r\n          }\r\n          if (_Validation.MinValue) {\r\n            validateArry.push(Validators.min(_Validation.MinValue));\r\n          }\r\n          if (_Validation.MaxValue) {\r\n            validateArry.push(Validators.max(_Validation.MaxValue));\r\n          }\r\n\r\n          if (_Validation.MinLength) {\r\n            validateArry.push(Validators.minLength(_Validation.MinLength));\r\n          }\r\n          if (_Validation.MaxLength) {\r\n            validateArry.push(Validators.maxLength(_Validation.MaxLength));\r\n          }\r\n          if (_Validation.Pattern) {\r\n            validateArry.push(Validators.pattern(_Validation.Pattern));\r\n          }\r\n\r\n          this._PageForm.form.controls[_Field.Description].setValidators(\r\n            validateArry\r\n          );\r\n          this._PageForm.form.controls[\r\n            _Field.Description\r\n          ].updateValueAndValidity();\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  onFormInit(FormData: any, RestData?: any) {\r\n    if (FormData.RulesData) {\r\n      let _formInitRule = JSON.parse(FormData.RulesData);\r\n\r\n      let onInitRules = _formInitRule.filter((x: any) => x.Type == 'OnInit');\r\n\r\n      for (let index = 0; index < onInitRules.length; index++) {\r\n        let rulesData = onInitRules[index];\r\n\r\n        if (!rulesData) {\r\n          return;\r\n        }\r\n\r\n        let _condition = this.onRulesConditionCheck(rulesData, RestData);\r\n\r\n        if (_condition) {\r\n          this.OnRulesApply(rulesData, RestData);\r\n        } else {\r\n          if (rulesData.child && rulesData.child.length > 0) {\r\n            let _elseIfRulescondition = false;\r\n            let _elseIfRules = rulesData.child.filter(\r\n              (x: any) => x.Type == 'OnElseIf'\r\n            );\r\n\r\n            for (let index = 0; index < _elseIfRules.length; index++) {\r\n              _elseIfRulescondition = this.onRulesConditionCheck(\r\n                _elseIfRules[index],\r\n                RestData\r\n              );\r\n              if (_elseIfRulescondition) {\r\n                this.OnRulesApply(_elseIfRules[index], RestData);\r\n                break;\r\n              }\r\n            }\r\n            if (!_elseIfRulescondition) {\r\n              let _elseRules = rulesData.child.filter(\r\n                (x: any) => x.Type == 'OnElse'\r\n              );\r\n              if (_elseRules && _elseRules.length > 0) {\r\n                this.OnRulesApply(_elseRules[0], RestData);\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n    this._submitFormValue();\r\n  }\r\n\r\n  onRulesConditionCheck(rulesData: any, RestData?: any, FieldData?: any) {\r\n    let _condition = true;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = this._PageForm.form.value[_con.Field];\r\n      if (FieldData && FieldData.DataType == E_DataType.bool)\r\n        _fieldValue = _fieldValue.toString();\r\n\r\n      if (_con.FieldType && _con.FieldType == 'Value') {\r\n        let _handleData = this._PageForm.form.value;\r\n        _handleData.data = RestData;\r\n        _handleData.currentLang = this.globalService.CurrentLanguage;\r\n        if (this.ParameterData) _handleData.params = this.ParameterData;\r\n        _fieldValue = this.hanbleBarHtml(_con.Field, _handleData);\r\n      }\r\n\r\n      let value =\r\n        _con.Value == 'FieldValue'\r\n          ? this._PageForm.form.value[_con.ValueTwo]\r\n          : _con.ValueTwo;\r\n\r\n      switch (_con.Type) {\r\n        case 'Equal': {\r\n          _Icondition = _fieldValue == value ? true : false;\r\n          break;\r\n        }\r\n        case 'NotEqual': {\r\n          _Icondition = _fieldValue != value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue < value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue <= value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue > value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue >= value ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNull': {\r\n          _Icondition = _fieldValue == null ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotNull': {\r\n          _Icondition = _fieldValue != null ? true : false;\r\n          break;\r\n        }\r\n        case 'IsEmpty': {\r\n          _Icondition = _fieldValue == '' ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotEmpty': {\r\n          _Icondition = _fieldValue != '' ? true : false;\r\n          break;\r\n        }\r\n\r\n        // String Data\r\n        case 'Length': {\r\n          _Icondition = _fieldValue.length == value ? true : false;\r\n          break;\r\n        }\r\n        case 'Contains': {\r\n          //Contains\r\n          _Icondition = _fieldValue.includes(value) ? true : false;\r\n          break;\r\n        }\r\n        case 'NotContains': {\r\n          //Contains\r\n          _Icondition = !_fieldValue.includes(value) ? true : false;\r\n          break;\r\n        }\r\n        case 'StartsWith': {\r\n          _Icondition = _fieldValue.startsWith(value) ? true : false;\r\n          break;\r\n        }\r\n        case 'EndsWith': {\r\n          _Icondition = _fieldValue.endsWith(value) ? true : false;\r\n          break;\r\n        }\r\n        default:\r\n          _Icondition = false;\r\n          break;\r\n      }\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = _condition && _Icondition ? true : false;\r\n        } else {\r\n          _condition = _condition || _Icondition ? true : false;\r\n        }\r\n      } else {\r\n        _condition = _Icondition;\r\n      }\r\n    }\r\n\r\n    return _condition;\r\n  }\r\n\r\n  OnRulesApply(rulesData: any, RestData: any, FieldData?: EntityTypeFieldVM) {\r\n    debugger;\r\n    let rulesList = rulesData;\r\n    if (rulesData.action) rulesList = rulesData.action;\r\n\r\n    let _handleData = this._PageForm.form.value;\r\n    _handleData.data = RestData;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n    if (this.ParameterData) _handleData.params = this.ParameterData;\r\n\r\n    for (let index = 0; index < rulesList.length; index++) {\r\n      let rules = rulesList[index];\r\n\r\n      if (rules.Condition == 'ClearFieldValue') {\r\n        this._PageForm?.form\r\n          ?.get(rules.Field)\r\n          ?.setValue('', { entitySelf: true });\r\n        this.setDDLFieldDesc(rules.Field, '');\r\n      }\r\n      if (rules.Condition == 'SetFieldValue') {\r\n        let _rulesValue = rules.Value;\r\n        try {\r\n          let _rulesValueArr: any[] = rules.Value.split('<br>');\r\n\r\n          _rulesValue = this.hanbleBarHtml(_rulesValueArr[0], _handleData);\r\n\r\n          let SelectedValues = this._PageForm?.form?.get(rules.Field)?.value;\r\n\r\n          let JsonItem = null;\r\n          if (FieldData && FieldData.FieldData)\r\n            JsonItem = JSON.parse(FieldData.FieldData);\r\n\r\n          if (\r\n            SelectedValues != null &&\r\n            SelectedValues != '' &&\r\n            JsonItem &&\r\n            JsonItem.rest &&\r\n            JsonItem.rest.IsMultipleSelect\r\n          ) {\r\n            let duplicatedata = SelectedValues.includes(_rulesValue + ',');\r\n            let hascomma = true;\r\n            if (!duplicatedata) {\r\n              hascomma = false;\r\n              duplicatedata = SelectedValues.includes(_rulesValue);\r\n            }\r\n\r\n            if (duplicatedata) {\r\n              if (hascomma) {\r\n                SelectedValues = SelectedValues.replace(_rulesValue + ',', '');\r\n              } else {\r\n                SelectedValues = SelectedValues.replace(_rulesValue, '');\r\n              }\r\n              _rulesValue = SelectedValues;\r\n\r\n              let removecomma = _rulesValue.slice(-1);\r\n              if (removecomma == ',') {\r\n                _rulesValue = _rulesValue.substring(0, _rulesValue.length - 1);\r\n              }\r\n            }\r\n            if (!duplicatedata) {\r\n              _rulesValue = SelectedValues.concat(',' + _rulesValue);\r\n            }\r\n          }\r\n          this._PageForm?.form\r\n            ?.get(rules.Field)\r\n            ?.setValue(_rulesValue, { entitySelf: true });\r\n\r\n          if (_rulesValueArr.length > 1) {\r\n            let _rulesValueDes = this.hanbleBarHtml(\r\n              _rulesValueArr[1],\r\n              _handleData\r\n            );\r\n            this.setDDLFieldDesc(rules.Field, _rulesValueDes);\r\n          }\r\n        } catch (err) {\r\n          alert('SetFieldValueerr -' + err);\r\n          console.log(err);\r\n        }\r\n      }\r\n\r\n      if (rules.Condition == 'CopyFieldValue') {\r\n        if (rules.Value)\r\n          this._PageForm?.form\r\n            ?.get(rules.Value)\r\n            ?.setValue(this._PageForm?.form?.get(rules.Field)?.value, {\r\n              entitySelf: true,\r\n            });\r\n      }\r\n\r\n      if (rules.Condition == 'RemoveValidation') {\r\n        this._PageForm.form.controls[rules.Field].setValidators([]);\r\n        this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n\r\n        this.fieldValidation.map((x) => {\r\n          if (x.Field == rules.Field) {\r\n            x.Validators = [];\r\n          }\r\n        });\r\n      }\r\n\r\n      if (rules.Condition == 'AddValidation') {\r\n        if (rules.Type == 'Required') {\r\n          this._PageForm.form.controls[rules.Field].setValidators([\r\n            Validators.required,\r\n          ]);\r\n          this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n        }\r\n        if (rules.Type == 'MinMax') {\r\n          let validateArry = [Validators.required];\r\n          if (rules.Value) validateArry.push(Validators.min(rules.Value));\r\n          if (rules.ValueTwo) validateArry.push(Validators.max(rules.ValueTwo));\r\n\r\n          this._PageForm.form.controls[rules.Field].setValidators(validateArry);\r\n          this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n        }\r\n\r\n        if (rules.Type == 'MinLength') {\r\n          let validateArry = [Validators.required];\r\n          if (rules.Value) validateArry.push(Validators.minLength(rules.Value));\r\n\r\n          this._PageForm.form.controls[rules.Field].setValidators(validateArry);\r\n          this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n        }\r\n        if (rules.Type == 'MaxLength') {\r\n          let validateArry = [Validators.required];\r\n          if (rules.Value) validateArry.push(Validators.maxLength(rules.Value));\r\n\r\n          this._PageForm.form.controls[rules.Field].setValidators(validateArry);\r\n          this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n        }\r\n        if (rules.Type == 'Pattern') {\r\n          this._PageForm.form.controls[rules.Field].setValidators([\r\n            Validators.pattern(rules.Value),\r\n          ]);\r\n          this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n        }\r\n        this.setValidationOnField(\r\n          rules.Field,\r\n          rules.ValidationMessage,\r\n          rules.ValidationMessageAr,\r\n          rules.Type\r\n        );\r\n\r\n        if (\r\n          this.fieldValidation.filter((x) => x.Field == rules.Field).length < 1\r\n        ) {\r\n          this.fieldValidation.push({ Field: rules.Field, Validators: [] });\r\n        }\r\n        this.fieldValidation.map((x) => {\r\n          if (x.Field == rules.Field) {\r\n            if (rules.Type == 'Required') {\r\n              x.Validators.push(Validators.required);\r\n            } else if (rules.Type == 'MinMax') {\r\n              if (rules.Value) x.Validators.push(Validators.min(rules.Value));\r\n              if (rules.ValueTwo)\r\n                x.Validators.push(Validators.max(rules.ValueTwo));\r\n            } else if (rules.Type == 'MinLength') {\r\n              if (rules.Value)\r\n                x.Validators.push(Validators.minLength(rules.Value));\r\n            } else if (rules.Type == 'MaxLength') {\r\n              if (rules.Value)\r\n                x.Validators.push(Validators.maxLength(rules.Value));\r\n            } else if (rules.Type == 'Pattern') {\r\n              if (rules.Value)\r\n                x.Validators.push(Validators.pattern(rules.Value));\r\n            }\r\n          }\r\n        });\r\n\r\n        let _Validators = this.fieldValidation.filter(\r\n          (x) => x.Field == rules.Field\r\n        )[0].Validators;\r\n\r\n        this._PageForm.form.controls[rules.Field].setValidators(_Validators);\r\n        this._PageForm.form.controls[rules.Field].updateValueAndValidity();\r\n      }\r\n\r\n      if (rules.Condition == 'IsEditable') {\r\n        if (rules.Value == 'true') {\r\n          this.setReadOnlyOnField(rules.Field, true);\r\n        } else if (rules.Value == 'false') {\r\n          this.setReadOnlyOnField(rules.Field, false);\r\n        }\r\n      }\r\n      if (rules.Condition == 'IsVisible') {\r\n        if (rules.Value == 'true') {\r\n          this.setIsHideOnField(rules.Field, false);\r\n        } else if (rules.Value == 'false') {\r\n          this.setIsHideOnField(rules.Field, true);\r\n        }\r\n      }\r\n\r\n      if (rules.Condition == 'IsCheckList') {\r\n        if (rules.Value == 'true') {\r\n          this.setIsCheckListOnField(rules.Field, true);\r\n        } else if (rules.Value == 'false') {\r\n          this.setIsCheckListOnField(rules.Field, false);\r\n        }\r\n      }\r\n\r\n      if (rules.Condition == 'Datasource') {\r\n        this.getDatasoureData(rules.Value, rules.ValueTwo, rules.ValueThree);\r\n      }\r\n\r\n      if (rules.Condition == 'Alert') {\r\n        let Title = this.hanbleBarHtml(rules.Title, _handleData);\r\n        let Message = this.hanbleBarHtml(rules.Message, _handleData);\r\n        //this.toaster.warning(Message, Title);\r\n      }\r\n\r\n      if (rules.Condition == 'TriggerField') {\r\n        if (rules.Field) {\r\n          let _field = this.EntityFieldList.filter(\r\n            (x) => x.Description == rules.Field\r\n          )[0];\r\n          this.FieldChangeEvent(_field, null);\r\n        }\r\n      }\r\n    }\r\n  }\r\n  OnEventApply(rulesData: any, RestData: any) {\r\n    debugger;\r\n    if (!rulesData.event) return;\r\n    let rulesEvent = {\r\n      IsNeedConfirm: false,\r\n      ConfirmMsg: '',\r\n      ActionType: null,\r\n      NavigationTarget: null,\r\n      NavigationURL: null,\r\n      DataSourceRecId: null,\r\n      RestSuccessMsg: null,\r\n      RestFailureMsg: null,\r\n      FormRecId: null,\r\n      FormType: null,\r\n      ViewType: null,\r\n      ViewRefRecId: null,\r\n    };\r\n    if (rulesData.event) rulesEvent = rulesData.event;\r\n\r\n    if (rulesEvent.ActionType) {\r\n      if (rulesEvent.IsNeedConfirm) {\r\n        Swal.fire({\r\n          title: rulesEvent.ConfirmMsg,\r\n          icon: 'warning',\r\n          showCancelButton: true,\r\n          confirmButtonColor: '#3085d6',\r\n          cancelButtonColor: '#d33',\r\n          cancelButtonText: 'Cancel',\r\n          confirmButtonText: 'Yes!',\r\n        }).then((result) => {\r\n          if (result.isConfirmed) {\r\n            this.OnFieldClickEventAction(rulesEvent, RestData);\r\n          }\r\n        });\r\n      } else this.OnFieldClickEventAction(rulesEvent, RestData);\r\n    }\r\n  }\r\n\r\n  OnFieldClickEventAction(rulesEvent: any, RestData: any) {\r\n    debugger;\r\n    let _handleData = this._PageForm.form.value;\r\n    _handleData.data = RestData;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n    if (this.ParameterData) _handleData.params = this.ParameterData;\r\n\r\n    if (rulesEvent.ActionType == 'Navigation') {\r\n      let _url = this.hanbleBarHtml(rulesEvent.NavigationURL, _handleData);\r\n      window.open(_url, rulesEvent.NavigationTarget);\r\n    } else if (rulesEvent.ActionType == 'RestApi') {\r\n      this.fieldRestCall(\r\n        rulesEvent.DataSourceRecId,\r\n        rulesEvent.RestSuccessMsg,\r\n        rulesEvent.RestFailureMsg\r\n      );\r\n    } else if (rulesEvent.ActionType == 'Form') {\r\n      this.FieldActionEventFormType = rulesEvent.FormType;\r\n      this.FieldActionEventViewType = rulesEvent.ViewType;\r\n      this.FieldActionEventViewRefRecId = rulesEvent.ViewRefRecId;\r\n      if (rulesEvent.FormType) {\r\n        this.FieldActionEventFormRecId = rulesEvent.FormRecId;\r\n        this.showFieldActionEventForm = true;\r\n        // this.getFieldFormDetails(rulesEvent.FormRecId)\r\n      }\r\n    } else if (rulesEvent.ActionType == 'LoadController') {\r\n      debugger;\r\n      let controllerIds: string[] = rulesEvent.ControllerId.split(';');\r\n      let _ParamsData: any = null;\r\n      if (rulesEvent.FormParams) {\r\n        rulesEvent.FormParams = this.hanbleBarHtml(\r\n          rulesEvent.FormParams,\r\n          _handleData\r\n        );\r\n        let _params = JSON.parse(JSON.parse(rulesEvent.FormParams));\r\n        _ParamsData = {};\r\n        _params.forEach((x: any) => {\r\n          let _val = x.Value;\r\n          if (x.Type == 'Field') _val = _handleData[x.Value];\r\n          _ParamsData[x.Params] = _val;\r\n        });\r\n      }\r\n\r\n      // let  currentschma = this.globalService.pageScema.filter(x=>x.ID==controllerId)[0];\r\n      controllerIds.forEach((controllerId) => {\r\n        debugger;\r\n        if (_ParamsData) {\r\n          this.globalService.PageAllData = this.globalService.PageAllData.map(\r\n            (x:any) => {\r\n              if (x.ID == controllerId) {\r\n                x.ParamsData = _ParamsData;\r\n              }\r\n              return x;\r\n            }\r\n          );\r\n        }\r\n        this.globalService.onControllerTrigger.next({\r\n          ControllerId: controllerId,\r\n          Type: 'Load',\r\n        });\r\n      });\r\n    }\r\n\r\n    // return\r\n  }\r\n\r\n  getDatasoureData(EntityFormId: any, Fields: any, Triggr: any) {\r\n    this.dynamicAppsService.getSingleEntityTypeFormById(EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        let _EntityTypeForm = res;\r\n        this.callRestApiAction(_EntityTypeForm, Fields, Triggr);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  callRestApiAction(_EntityTypeForm: any, Fields: any, Triggr: any) {\r\n    let _handleData = this._PageForm.form.value;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n    _handleData.FormData = this._PageForm.form.value;\r\n    if (this.ParameterData) _handleData.params = this.ParameterData;\r\n\r\n    if (_EntityTypeForm.DataSource) {\r\n      if (_EntityTypeForm.DataSourceType == E_DatasourceType.Query) {\r\n        if (_EntityTypeForm.DataSourceId) {\r\n          let Parameter = [];\r\n          if (_EntityTypeForm.DataSource) {\r\n            let _param = [];\r\n            let _QueryData = JSON.parse(_EntityTypeForm.DataSource);\r\n            if (Array.isArray(_QueryData)) {\r\n              _param = _QueryData;\r\n            } else {\r\n              _param = _QueryData.DSQueryParamsList;\r\n            }\r\n\r\n            Parameter = _param.map((x: any) => {\r\n              x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n              return x;\r\n            });\r\n          }\r\n\r\n          let Tabcondition = null;\r\n\r\n          let _queryData = JSON.parse(_EntityTypeForm.DataSource);\r\n          if (!Array.isArray(_queryData)) {\r\n            if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n              let _condition = {\r\n                Condtion: _queryData.Condtion,\r\n                CondtionOperator: _queryData.CondtionOperator,\r\n              };\r\n              Tabcondition = JSON.stringify(_condition);\r\n              Tabcondition = this.hanbleBarHtml(Tabcondition, _handleData);\r\n            }\r\n          }\r\n\r\n          this.dynamicAppsService\r\n            .getDyamicQueryData(\r\n              _EntityTypeForm.DataSourceId,\r\n              null,\r\n              null,\r\n              Tabcondition\r\n            )\r\n            .subscribe(\r\n              (res: any) => {\r\n                debugger;\r\n                let _data: any = res.Data ? res.Data : res;\r\n                this.RestApiActionSuccess(_data, _queryData, Fields, Triggr);\r\n                this.loaderService.hideLoading();\r\n              },\r\n              (error) => {\r\n                debugger;\r\n                this.loaderService.hideLoading();\r\n                console.log(error);\r\n              }\r\n            );\r\n        }\r\n      } else if (_EntityTypeForm.DataSourceType == E_DatasourceType.Entity) {\r\n        if (_EntityTypeForm.DataSourceId) {\r\n          let QueryString = [];\r\n          if (_EntityTypeForm.DataSource) {\r\n            let _param = [];\r\n            let _entityData = JSON.parse(_EntityTypeForm.DataSource);\r\n\r\n            if (Array.isArray(_entityData)) {\r\n              _param = _entityData;\r\n            } else {\r\n              _param = _entityData.QueryStrings;\r\n            }\r\n\r\n            QueryString = _param.map((x: any) => {\r\n              x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n              return x;\r\n            });\r\n          }\r\n          let _QueryString: any[] = [];\r\n\r\n          let storeCriteria: any = {\r\n            Pagging: {\r\n              PageNo: 1,\r\n              PageSize: 0,\r\n            },\r\n            Where: [],\r\n            SortOrder: { field: null, direction: null },\r\n          };\r\n\r\n          if (QueryString.length > 0) {\r\n            QueryString.map((x: any) => {\r\n              let filterobj: any = {\r\n                Field: '',\r\n                Operator: 'eq',\r\n                TableAlias: '',\r\n                Value: '',\r\n              };\r\n              (filterobj.Field = x.Name),\r\n                (filterobj.Value = x.Value),\r\n                _QueryString.push(filterobj);\r\n            });\r\n            storeCriteria.Where.push(..._QueryString);\r\n          }\r\n\r\n          let condition = null;\r\n          let _queryData = JSON.parse(_EntityTypeForm.DataSource);\r\n          if (!Array.isArray(_queryData)) {\r\n            if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n              let _condition = {\r\n                Condtion: _queryData.Condtion,\r\n                CondtionOperator: _queryData.CondtionOperator,\r\n              };\r\n              condition = JSON.stringify(_condition);\r\n              condition = this.hanbleBarHtml(condition, _handleData);\r\n            }\r\n          }\r\n\r\n          this.dynamicAppsService\r\n            .getDynamicAll(\r\n              storeCriteria,\r\n              _EntityTypeForm.DataSourceId,\r\n              null,\r\n              null,\r\n              null,\r\n              condition\r\n            )\r\n            .subscribe(\r\n              (res: any) => {\r\n                debugger;\r\n                let _data = res.Data ? res.Data : res;\r\n                this.RestApiActionSuccess(_data, _queryData, Fields, Triggr);\r\n                this.loaderService.hideLoading();\r\n              },\r\n              (error) => {\r\n                debugger;\r\n                this.loaderService.hideLoading();\r\n                console.log(error);\r\n              }\r\n            );\r\n        }\r\n      } else if (\r\n        _EntityTypeForm.DataSourceType == E_DatasourceType.SQLConnector\r\n      ) {\r\n        if (_EntityTypeForm.DataSourceId) {\r\n          let _objectType = JSON.parse(_EntityTypeForm.DataSource);\r\n\r\n          let condition = null;\r\n          if (_objectType.Condtion && _objectType.Condtion.length > 0) {\r\n            let _condition = {\r\n              Condtion: _objectType.Condtion,\r\n              CondtionOperator: _objectType.CondtionOperator,\r\n            };\r\n            condition = JSON.stringify(_condition);\r\n\r\n            condition = this.hanbleBarHtml(condition, _handleData);\r\n          }\r\n\r\n          this.dynamicAppsService\r\n            .getSQLExecute(\r\n              null,\r\n              _EntityTypeForm.DataSourceId,\r\n              _objectType.Type,\r\n              _objectType.Name,\r\n              condition\r\n            )\r\n            .subscribe(\r\n              (res: any) => {\r\n                debugger;\r\n                let _data: any = res.Data ? res.Data : res;\r\n                this.RestApiActionSuccess(_data, _objectType, Fields, Triggr);\r\n                this.loaderService.hideLoading();\r\n              },\r\n              (error: any) => {\r\n                debugger;\r\n                this.loaderService.hideLoading();\r\n                console.log(error);\r\n              }\r\n            );\r\n        }\r\n      } else {\r\n        let RestData = JSON.parse(_EntityTypeForm.DataSource);\r\n\r\n        RestData.URL = this.hanbleBarHtml(RestData.URL, _handleData);\r\n        RestData.Body = this.hanbleBarHtml(RestData.Body, _handleData);\r\n        if (\r\n          RestData.Body &&\r\n          RestData.BodyType == 'json' &&\r\n          typeof RestData.Body == 'string'\r\n        ) {\r\n          RestData.Body = JSON.parse(RestData.Body);\r\n        }\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x: any) => {\r\n          x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n\r\n          if (x.Value) return x;\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x: any) => {\r\n          x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n          return x;\r\n        });\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData).subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n            let _data: any = res;\r\n            this.RestApiActionSuccess(_data, RestData, Fields, Triggr);\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n            Swal.fire(errorMessageType(error));\r\n          }\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  RestApiActionSuccess(_data: any, RestData: any, Fields: any, Triggr: any) {\r\n    if (RestData && RestData.ResponseView) {\r\n      let _rview = RestData.ResponseView.split('.');\r\n      _rview.forEach((x: any) => {\r\n        _data = _data[x];\r\n      });\r\n    }\r\n\r\n    try {\r\n      if (Fields) {\r\n        let _Fields = JSON.parse(JSON.parse(Fields));\r\n        _Fields.forEach((x: any) => {\r\n          debugger;\r\n          if (_data[x.Value] != null) {\r\n            let _value = _data[x.Value];\r\n            if (x.Value.includes('{{')) {\r\n              let _hanbleBardata: any = {};\r\n              _hanbleBardata.FormData = this._PageForm.form.value;\r\n              _hanbleBardata.RestData = _data;\r\n              if (this.ParameterData)\r\n                _hanbleBardata.params = this.ParameterData;\r\n              _value = this.hanbleBarHtml(x.Value, _hanbleBardata);\r\n            }\r\n            let currentfield = this.EntityFieldList.filter(\r\n              (y) => y.Description == x.Field\r\n            )[0];\r\n\r\n            if (\r\n              currentfield.DataType == E_DataType.date ||\r\n              currentfield.DataType == E_DataType.dateTime\r\n            ) {\r\n              _value = new Date(_data[x.Value]);\r\n            }\r\n            this._PageForm?.form\r\n              ?.get(x.Field)\r\n              ?.setValue(_value, { entitySelf: true });\r\n          }\r\n        });\r\n      }\r\n      if (Triggr) {\r\n        let _TriggrFields = JSON.parse(JSON.parse(Triggr));\r\n        _TriggrFields.forEach((x: any) => {\r\n          debugger;\r\n          let _Triggrfield = this.EntityFieldList.filter(\r\n            (y) => y.Description == x.Field\r\n          )[0];\r\n          if (_Triggrfield) this.FieldChangeEvent(_Triggrfield, null);\r\n        });\r\n      }\r\n      this._submitFormValue();\r\n    } catch (err) {\r\n      debugger;\r\n      alert(err);\r\n    }\r\n  }\r\n\r\n  AllRules: any = null;\r\n  getAllRules(EntityTypeId: any) {\r\n    debugger;\r\n    let getAllRulesWithTemplateData = this.dynamicAppsService\r\n      .getAllRulesWithTemplateData(EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.AllRules = res;\r\n          this.buildReactiveForm();\r\n          this.loaderService.hideLoading();\r\n          getAllRulesWithTemplateData.unsubscribe();\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  @Input() queryParams: any = null;\r\n  hanbleBarHtml(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n    data.Local = localStorage;\r\n    data.Current = this;\r\n    data.ListData = this.PageGroupValues;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    data.PageData = this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  setValidationOnField(\r\n    Field: any,\r\n    ValidationMessage: any,\r\n    ValidationMessageAr: any,\r\n    Type: any\r\n  ) {\r\n    this.pageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            let temp = {\r\n              MsgEn: ValidationMessage,\r\n              MsgAr: ValidationMessageAr,\r\n              Type: Type,\r\n            };\r\n            if (PGF.ValidationMessage) {\r\n              if (\r\n                PGF.ValidationMessage.filter(\r\n                  (x) => x.Type == temp.Type && x.MsgEn == temp.MsgEn\r\n                ).length < 1\r\n              )\r\n                PGF.ValidationMessage.push(temp);\r\n            } else PGF.ValidationMessage = [temp];\r\n          }\r\n        });\r\n        group.Groups.map((grp) => {\r\n          grp.Fields.map((PGF) => {\r\n            if (PGF.Description == Field) {\r\n              let temp = {\r\n                MsgEn: ValidationMessage,\r\n                MsgAr: ValidationMessageAr,\r\n                Type: Type,\r\n              };\r\n              if (PGF.ValidationMessage) {\r\n                if (\r\n                  PGF.ValidationMessage.filter(\r\n                    (x) => x.Type == temp.Type && x.MsgEn == temp.MsgEn\r\n                  ).length < 1\r\n                )\r\n                  PGF.ValidationMessage.push(temp);\r\n              } else PGF.ValidationMessage = [temp];\r\n            }\r\n          });\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            let temp = {\r\n              MsgEn: ValidationMessage,\r\n              MsgAr: ValidationMessageAr,\r\n              Type: Type,\r\n            };\r\n            if (PGF.ValidationMessage) {\r\n              if (\r\n                PGF.ValidationMessage.filter(\r\n                  (x) => x.Type == temp.Type && x.MsgEn == temp.MsgEn\r\n                ).length < 1\r\n              )\r\n                PGF.ValidationMessage.push(temp);\r\n            } else PGF.ValidationMessage = [temp];\r\n          }\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  setDDLFieldDesc(Field: any, value: any) {\r\n    this.pageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.showSelectedValues = value;\r\n          }\r\n        });\r\n        group.Groups.map((grp) => {\r\n          grp.Fields.map((PGF) => {\r\n            if (PGF.Description == Field) {\r\n              PGF.showSelectedValues = value;\r\n            }\r\n          });\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.showSelectedValues = value;\r\n          }\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  setReadOnlyOnField(Field: any, IsReadonly: boolean) {\r\n    this.pageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.IsReadonly = IsReadonly;\r\n          }\r\n        });\r\n        group.Groups.map((grp) => {\r\n          grp.Fields.map((PGF) => {\r\n            if (PGF.Description == Field) {\r\n              PGF.IsReadonly = IsReadonly;\r\n            }\r\n          });\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.IsReadonly = IsReadonly;\r\n          }\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  setIsHideOnField(Field: any, IsHide: boolean) {\r\n    this.pageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.IsHide = IsHide;\r\n          }\r\n        });\r\n        group.Groups.map((grp) => {\r\n          grp.Fields.map((PGF) => {\r\n            if (PGF.Description == Field) {\r\n              PGF.IsHide = IsHide;\r\n            }\r\n          });\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.IsHide = IsHide;\r\n          }\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  setIsCheckListOnField(Field: any, IsCheckList: boolean) {\r\n    this.pageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.IsCheckList = IsCheckList;\r\n          }\r\n        });\r\n        group.Groups.map((grp) => {\r\n          grp.Fields.map((PGF) => {\r\n            if (PGF.Description == Field) {\r\n              PGF.IsCheckList = IsCheckList;\r\n            }\r\n          });\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields.map((PGF) => {\r\n          if (PGF.Description == Field) {\r\n            PGF.IsCheckList = IsCheckList;\r\n          }\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  FieldGroups: any[] = [];\r\n  getFieldGroupList() {\r\n    debugger;\r\n    let Criteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n\r\n    if (this.EntityTypeId) {\r\n      let filterObj = {\r\n        Field: 'FormType',\r\n        Operator: '=',\r\n        TableAlias: '',\r\n        Value: '=' + E_FormType.FieldGroup,\r\n      };\r\n      Criteria.Where.push(filterObj);\r\n      this.dynamicAppsService\r\n        .getAllEntityTypeFormByEntityTypeIdORAll(Criteria, 0, this.EntityTypeId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n            res.Data = res.Data.map((x: any) => {\r\n              debugger;\r\n              x.DetailsViewData = x.DetailsViewData\r\n                ? JSON.parse(x.DetailsViewData)\r\n                : [];\r\n              return x;\r\n            });\r\n            this.FieldGroups = res.Data;\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error: any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n            Swal.fire({\r\n              icon: 'error',\r\n              title: this.translatePipe.transform(\r\n                error.error?.ExceptionMessage\r\n              ),\r\n              text: this.translatePipe.transform(error?.message),\r\n            });\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  fieldValidation: FieldValidators[] = [];\r\n\r\n  fieldRestCall(EntityFormId: any, SuccessMsg: any, FailureMsg: any) {\r\n    this.dynamicAppsService.getSingleEntityTypeFormById(EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        let _EntityTypeForm = res;\r\n        if (_EntityTypeForm.DataSource) {\r\n          let RestData = JSON.parse(_EntityTypeForm.DataSource);\r\n\r\n          let _hanbleBardata: any = this._PageForm.form.value;\r\n          _hanbleBardata.FormData = this._PageForm.form.value;\r\n          if (this.ParameterData) _hanbleBardata.params = this.ParameterData;\r\n\r\n          RestData.URL = this.hanbleBarHtml(RestData.URL, _hanbleBardata);\r\n          RestData.Body = this.hanbleBarHtml(RestData.Body, _hanbleBardata);\r\n          RestData.QueryStrings = RestData.QueryStrings.map((x: any) => {\r\n            x.Value = this.hanbleBarHtml(x.Value, _hanbleBardata);\r\n\r\n            if (x.Value) return x;\r\n          });\r\n\r\n          RestData.Headers = RestData.Headers.map((x: any) => {\r\n            x.Value = this.hanbleBarHtml(x.Value, _hanbleBardata);\r\n            return x;\r\n          });\r\n\r\n          this.dynamicAppsService.dynamicAPi(RestData).subscribe(\r\n            (res: any) => {\r\n              debugger;\r\n\r\n              let _data: any = res;\r\n              if (RestData.ResponseView) {\r\n                let _rview = RestData.ResponseView.split('.');\r\n                _rview.forEach((x: any) => {\r\n                  _data = _data[x];\r\n                });\r\n              }\r\n\r\n              if (RestData?.IsFileDownload) {\r\n                var downloadURL = window.URL.createObjectURL(_data);\r\n                let extension: string = _data?.type.split('/')[1];\r\n                var link = document.createElement('a');\r\n                link.href = downloadURL;\r\n                link.download = '';\r\n                link.click();\r\n              }\r\n              let _SuccessMsg = '';\r\n              if (SuccessMsg) {\r\n                _hanbleBardata.data = _data;\r\n\r\n                _SuccessMsg = this.hanbleBarHtml(SuccessMsg, _hanbleBardata);\r\n              }\r\n              Swal.fire('Success', _SuccessMsg, 'success');\r\n              this.loaderService.hideLoading();\r\n            },\r\n            (error) => {\r\n              debugger;\r\n              this.loaderService.hideLoading();\r\n              console.log('RestCall-' + error);\r\n              if (FailureMsg) {\r\n                let _FailureMsg = this.hanbleBarHtml(\r\n                  FailureMsg,\r\n                  _hanbleBardata\r\n                );\r\n                Swal.fire('error', _FailureMsg, 'error');\r\n              }\r\n            }\r\n          );\r\n        }\r\n        this.loaderService.hideLoading();\r\n      },\r\n\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  FieldActionEventForm: any;\r\n  FieldActionEventFormType: any;\r\n  FieldActionEventFormRecId: any;\r\n  FieldActionEventViewType: any;\r\n  FieldActionEventViewRefRecId: any;\r\n  showFieldActionEventForm: boolean = false;\r\n  getFieldFormDetails(EntityFormId: any) {\r\n    this.FieldActionEventForm = null;\r\n    this.dynamicAppsService.getSingleEntityTypeFormById(EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.FieldActionEventForm = res;\r\n        this.showFieldActionEventForm = true;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n  closeFieldActionEventForm() {\r\n    this.showFieldActionEventForm = false;\r\n  }\r\n\r\n  emitSubmitFormValue(CreateData: any, pageForm: any) {\r\n    debugger;\r\n  }\r\n\r\n  primaryFieldGroups: EntityTypeFormVM[] = [];\r\n\r\n  getAllDefaultFieldGroup() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      return;\r\n    } else if (this.DefaultForm && this.DefaultForm.FormData) {\r\n      return;\r\n    }\r\n\r\n    this.dynamicAppsService\r\n      .getEntityTypeForm(null, this.EntityTypeId, E_FormType.FieldGroup)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          let _datas: EntityTypeFormVM[] = res.Data ? res.Data : res;\r\n          this.primaryFieldGroups = _datas.filter(\r\n            (x) => x.FieldControlType == E_FieldGroupType.Primary\r\n          );\r\n          this.setFormDesignWithDefaultFieldGroup();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  setFormDesignWithDefaultFieldGroup() {\r\n    if (this.primaryFieldGroups && this.primaryFieldGroups.length > 0) {\r\n      this.pageGroups = [];\r\n\r\n      let _isrow = false;\r\n      let _allGroups: PageGroup[] = [];\r\n      for (let index = 0; index < this.primaryFieldGroups.length; index++) {\r\n        let FG = this.primaryFieldGroups[index];\r\n\r\n        let _titleField: EntityTypeFieldVM | any = {\r\n          DataType: 31,\r\n          Description: FG.FormName,\r\n          Label: FG.FormName,\r\n          RecId: 0,\r\n        };\r\n        let _Groups: PageGroup | any = {\r\n          Alignment: null,\r\n          Class: 'm-b-10',\r\n          Direction: null,\r\n          Fields: [],\r\n          ID: '1',\r\n          Name: null,\r\n          Groups: null,\r\n          Height: null,\r\n          Position: null,\r\n          ViewType: null,\r\n          Width: 50,\r\n        };\r\n        _Groups.Fields.push(_titleField);\r\n        if (FG.DetailsViewData) {\r\n          let _fieldgroups = JSON.parse(FG.DetailsViewData);\r\n          _Groups.Fields.push(..._fieldgroups);\r\n        }\r\n        _allGroups.push(_Groups);\r\n      }\r\n\r\n      let _pageGroups: PageDetailsRow | any = {\r\n        Groups: _allGroups,\r\n        ID: '1',\r\n        Height: null,\r\n        Width: null,\r\n      };\r\n      this.pageGroups.push(_pageGroups);\r\n\r\n      this.buildReactiveForm();\r\n    } else {\r\n      this.setDyanamicPageGroup();\r\n    }\r\n  }\r\n}\r\n","<ng-container *ngIf=\"ViewFrom=='Details'; else elseTemplate\">\r\n\r\n\r\n  <form [formGroup]=\"_PageForm.form\">\r\n\r\n    <div class=\"row \" *ngFor=\"let row of pageGroups; let rowIndex = index\">\r\n      <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n        <div\r\n          class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n          [style.flex-basis]=\"group.Width + '%'\" [ngClass]=\"{'dd-size':row.Groups.length > 1, 'dd-right':groupIndex>0}\">\r\n\r\n          <ng-container [ngTemplateOutlet]=\"pagegroup\"\r\n            [ngTemplateOutletContext]=\"{group:group,rowIndex:rowIndex,groupIndex:groupIndex,row:row}\">\r\n          </ng-container>\r\n\r\n\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n    <ng-container *ngIf=\"defaultPageGroups && defaultPageGroups.length > 0\">\r\n      <hr>\r\n      <br>\r\n      <h2 class=\"stage-title\">{{'Identification Details'|translate}}</h2>\r\n\r\n      <br>\r\n\r\n      <div class=\"row \" *ngFor=\"let row of defaultPageGroups; let rowIndex = index\">\r\n        <div\r\n          class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n          [style.flex-basis]=\"group.Width + '%'\" *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n\r\n          <ng-container *ngIf=\"group.Fields && group.Fields.length > 0 && isFullyPageFormBuilded\">\r\n            <!-- *ngIf=\"group.Fields && group.Fields.length > 0\" -->\r\n            <app-entity-dynamic-field [fieldsList]=\"group.Fields\" [dynamicFormGroup]=\"_PageForm.form\"\r\n              [pageForm]=\"_PageForm\" [submitted]=\"submitted\" [Type]=\"'View'\" [PageGroupValues]=\"PageGroupValues\"\r\n              [ParameterData]=\"ParameterData\" [RequestorField]=\"RequestorField\"\r\n              [RequestorFieldValue]=\"RequestorFieldValue\"\r\n              (FieldChangeEvent)=\"FieldChangeEvent($event.FieldData,$event.RestData,$event.fieldFiles)\"\r\n              (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\" [ProcessStageId]=\"ProcessStageId\">\r\n            </app-entity-dynamic-field>\r\n          </ng-container>\r\n\r\n        </div>\r\n      </div>\r\n\r\n    </ng-container>\r\n\r\n  </form>\r\n\r\n\r\n</ng-container>\r\n<ng-template #elseTemplate>\r\n\r\n  <div class=\"modal showpopup\">\r\n    <div class=\"modal-dialog\" [ngClass]=\"[designConfig?.PopupSize,designConfig?.ClassName]\">\r\n      <div class=\"modal-content task\">\r\n\r\n        <!-- Modal Header -->\r\n        <div class=\"modal-header\">\r\n          <h4 class=\"modal-title\" style=\"padding-left: 5px;\">{{'Dynamic Form'|translate}} </h4>\r\n          <button type=\"button\" class=\"close\" (click)=\"closePopup()\">&times;</button>\r\n        </div>\r\n\r\n        <!-- Modal body -->\r\n        <div class=\"modal-body\" style=\"background: #eee;\">\r\n          <div class=\"row\">\r\n            <div class=\"col col-lg-12\">\r\n              <div class=\"card\" style=\"margin: 0;\">\r\n                <div class=\"header clearfix\">\r\n                  <h2 class=\"float-left\">{{'Design View'|translate}} </h2>\r\n\r\n                </div>\r\n                <div class=\"body\">\r\n\r\n                  <section class=\"\">\r\n\r\n                    <form [formGroup]=\"_PageForm.form\">\r\n\r\n                      <div class=\"row detail-row\" *ngFor=\"let row of pageGroups; let rowIndex = index\">\r\n                        <div\r\n                          class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n                          [style.flex-basis]=\"group.Width + '%'\"\r\n                          *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n\r\n\r\n                          <ng-container *ngIf=\"group.Fields && group.Fields.length > 0 && isFullyPageFormBuilded\">\r\n                            <!-- *ngIf=\"group.Fields && group.Fields.length > 0\" -->\r\n                            <app-entity-dynamic-field [fieldsList]=\"group.Fields\" [dynamicFormGroup]=\"_PageForm.form\"\r\n                              [pageForm]=\"_PageForm\" [submitted]=\"submitted\" [Type]=\"'View'\"\r\n                              [PageGroupValues]=\"PageGroupValues\"\r\n                              (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\"\r\n                              [ProcessStageId]=\"ProcessStageId\">\r\n\r\n                            </app-entity-dynamic-field>\r\n\r\n                          </ng-container>\r\n\r\n\r\n\r\n                        </div>\r\n\r\n\r\n                      </div>\r\n\r\n\r\n\r\n\r\n                    </form>\r\n\r\n                  </section>\r\n\r\n\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n\r\n\r\n\r\n          </div>\r\n\r\n\r\n        </div>\r\n\r\n        <div class=\"modal-footer\" *ngIf=\"Type=='Create'\">\r\n          <button type=\"button\" class=\"btn btn-theme\" (click)=\"_submitFormValue()\">{{'Submit'|translate}}</button>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"showFieldActionEventForm\">\r\n\r\n  <!-- <app-dynamic-action-form [FieldActionEventFormRecId]=\"FieldActionEventFormRecId\"\r\n    [FieldActionEventFormType]=\"FieldActionEventFormType\" [FieldActionEventViewType]=\"FieldActionEventViewType\"\r\n    [FieldActionEventViewRefRecId]=\"FieldActionEventViewRefRecId\" [EditFormData]=\"PageGroupValues\"\r\n    [PageGroupValues]=\"PageGroupValues\" [FormValue]=\"_PageForm.form.value\"\r\n    (closeFieldActionEventForm)=\"closeFieldActionEventForm()\">\r\n  </app-dynamic-action-form> -->\r\n\r\n</ng-container>\r\n\r\n\r\n<ng-template #pagegroup let-group='group' let-rowIndex='rowIndex' let-groupIndex='groupIndex' let-row='row'>\r\n\r\n  <ng-container *ngIf=\"group.Fields && group.Fields.length > 0 && isFullyPageFormBuilded\">\r\n    <!-- *ngIf=\"group.Fields && group.Fields.length > 0\" -->\r\n    <app-entity-dynamic-field [fieldsList]=\"group.Fields\" [dynamicFormGroup]=\"_PageForm.form\" [pageForm]=\"_PageForm\"\r\n      [submitted]=\"submitted\" [Type]=\"'View'\" [PageGroupValues]=\"PageGroupValues\" [ParameterData]=\"ParameterData\"\r\n      [RequestorField]=\"RequestorField\" [RequestorFieldValue]=\"RequestorFieldValue\"\r\n      (FieldChangeEvent)=\"FieldChangeEvent($event.FieldData,$event.RestData,$event.fieldFiles)\"\r\n      (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\" [ProcessStageId]=\"ProcessStageId\">\r\n    </app-entity-dynamic-field>\r\n  </ng-container>\r\n\r\n  <div class=\"row\" *ngIf=\"group.Groups.length>0\">\r\n    <ng-container *ngFor=\"let innergroup of group.Groups; let groupIndex = index\">\r\n      <div\r\n        class=\"detail-group col clearfix {{innergroup.Class}} col-width-{{innergroup.Width}} {{innergroup.Direction}} {{innergroup.Alignment}} {{innergroup.Position}}\"\r\n        [style.flex-basis]=\"innergroup.Width + '%'\"\r\n        [ngClass]=\"{'dd-size':row.Groups.length > 1, 'dd-right':groupIndex>0}\">\r\n\r\n        <ng-container [ngTemplateOutlet]=\"pagegroup\"\r\n          [ngTemplateOutletContext]=\"{group:innergroup,rowIndex:rowIndex,groupIndex:groupIndex,row:group}\">\r\n        </ng-container>\r\n\r\n\r\n      </div>\r\n    </ng-container>\r\n  </div>\r\n\r\n\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { EntityTypeFormVM, FieldFiles, FieldValidators, GetFormattedDateWithTime, IDocumentTypeFile, IRestConfig, PageContentGroup, PageDetailsRow } from '../../core/common-interface-enum-classes-functions';\r\nimport * as Handlebars from 'handlebars';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-ticket-create',\r\n  templateUrl: './ticket-create.component.html',\r\n  styleUrls: ['./ticket-create.component.scss'],\r\n})\r\nexport class TicketCreateComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  params: any;\r\n  ngOnInit(): void {\r\n    this.loadEntityForm = false;\r\n    if (this.EntityFormId) this.loadEntityForm = true;\r\n\r\n    if (this.FormTemplateValues) {\r\n      this.workItemDefaultValues = this.FormTemplateValues;\r\n    }\r\n\r\n    registerHandlebarHelperMethods();\r\n\r\n    // this.params = this.route.paramMap.subscribe((res:any) => {\r\n    //   debugger;\r\n    //   if (this.ViewFrom != 'Popup') {\r\n    //     this.EntityTypeId = res.get('EntityTypeId');\r\n    //   }\r\n    // });\r\n    debugger;\r\n    this.ParameterData = {\r\n      Channel: 1,\r\n      ChannelEn: 'Phone',\r\n      Source: 'ERP',\r\n      CreatedByUserType: null,\r\n      UserType: 'ERP',\r\n      CustomerId: null,\r\n    };\r\n\r\n    if (this.Params) {\r\n      for (var key in this.Params) {\r\n        this.ParameterData[key] = this.Params[key];\r\n      }\r\n    }\r\n\r\n    this.getcategoryrequestertype();\r\n    this.RequestorFieldValue = localStorage.getItem(\"CustomerId\");\r\n\r\n    if (this.FormGetType == 'Local' && !this.EntityFormId) {\r\n      Swal.fire('Error', 'Form not found', 'warning');\r\n    }\r\n\r\n    if (this.FormGetType != 'Local') {\r\n      this.getActiveEntityForm(this.EntityTypeId);\r\n    }\r\n\r\n    this.getAssignedDocumentList();\r\n  }\r\n  ngOnDestroy() {\r\n    this.params?.unsubscribe();\r\n  }\r\n\r\n  @Input() EntityFormId: any = null;\r\n  @Input() FormGetType: any = null;\r\n\r\n  @Input() EntityTypeId: any = null;\r\n  @Input() EntityType: any = null;\r\n  @Input() WorkItemTypeDetails: any = null;\r\n  @Input() WorkItemTemplateList: any[] = [];\r\n  @Input() AppEntityTypeId: any = null;\r\n  @Input() ViewFrom: any = 'Page';\r\n  @Input() FormTitle: any = '';\r\n  @Input() Description: any = null;\r\n  @Input() Type: any = 'Create';\r\n  @Input() FormValues: any = null;\r\n  @Input() FormTemplateValues: any = null;\r\n  @Input() DefaultForm: any = null;\r\n  @Input() Params: any = null;\r\n  @Input() queryParams: any = null;\r\n\r\n  @Input() showTemplete: boolean = false;\r\n\r\n  @Input() hideCanelBtn: boolean = false;\r\n  @Input() hideAction: boolean|null = false;\r\n  @Input() group: PageContentGroup | null = null;\r\n\r\n  @Output() closeCreate = new EventEmitter<{ Type: any; Data?: any }>();\r\n\r\n  loadEntityForm: boolean = false;\r\n\r\n  WorkItemTemplateId: any = null;\r\n\r\n  getActiveEntityForm(EntityTypeId: any) {\r\n    debugger;\r\n\r\n    if (this.EntityType == 150) {\r\n      this.getAllEntityTypeForm();\r\n    } else {\r\n      let getActiveEntityFormByDetails = this.dynamicAppsService\r\n        .getActiveEntityFormByDetails(EntityTypeId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n            if (res && res.RecId) this.EntityFormId = res.RecId;\r\n            this.loadEntityForm = true;\r\n            this.loaderService.hideLoading();\r\n            getActiveEntityFormByDetails.unsubscribe();\r\n          },\r\n          (error: any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  getAllEntityTypeForm() {\r\n    let subscription = this.dynamicAppsService\r\n      .getAllEntityTypeForm(null, this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          let data = [];\r\n          let _datas = res.Data ? res.Data : res;\r\n          data = _datas;\r\n          let detailsEntityTypeForm = data.filter(\r\n            (x: any) => x.FormType == '2'\r\n          );\r\n          if (this.Type == 'Create') {\r\n            let _EntityForm = detailsEntityTypeForm.filter(\r\n              (x: any) => x.IsActive == true\r\n            );\r\n            if (_EntityForm && _EntityForm.length > 0) {\r\n              this.EntityFormId = _EntityForm[0].RecId;\r\n            } else {\r\n              Swal.fire(\r\n                'Form setup',\r\n                'Form setup not found please create the form setup',\r\n                'warning'\r\n              );\r\n            }\r\n          } else if (this.Type == 'Edit') {\r\n            let _EntityForm = detailsEntityTypeForm.filter(\r\n              (x: any) => x.AllowEdit == true\r\n            );\r\n            if (_EntityForm && _EntityForm.length > 0) {\r\n              this.EntityFormId = _EntityForm[0].RecId;\r\n            } else {\r\n              Swal.fire(\r\n                'Form setup',\r\n                'Form setup not found please create the form setup',\r\n                'warning'\r\n              );\r\n            }\r\n          }\r\n\r\n          this.loadEntityForm = true;\r\n          this.loaderService.hideLoading();\r\n          subscription.unsubscribe();\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  DocumentList: IDocumentTypeFile[]|any[] = [];\r\n  getAssignedDocumentList() {\r\n    let _entityRecid = this.EntityTypeId;\r\n    if (this.WorkItemTypeDetails && this.WorkItemTypeDetails.RecId) {\r\n      _entityRecid = this.WorkItemTypeDetails.RecId;\r\n      if (this.FormTitle == 'Folder' || this.FormTitle == 'Department') {\r\n        return;\r\n      }\r\n    }\r\n\r\n    debugger;\r\n    this.dynamicAppsService.getAttachmentList(_entityRecid, 2).subscribe(\r\n      (success: any) => {\r\n        debugger;\r\n        this.DocumentList = success;\r\n        this.DocumentList.map((x) => {\r\n          x.FileList = [];\r\n          return x;\r\n        });\r\n        this.checkAnyOneFileShow();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  docFileChange(event: any, item: IDocumentTypeFile) {\r\n    debugger;\r\n    let _file = event.target.files;\r\n    item.FileList = [];\r\n    if (_file && _file.length > 0) {\r\n      let _Sfile = _file;\r\n      for (let index = 0; index < _file.length; index++) {\r\n        let _file = {\r\n          File: _Sfile.item(index),\r\n          FileName: _Sfile.item(index).name,\r\n        };\r\n        item.FileList.push(_file);\r\n      }\r\n\r\n      item.File = _file.item(0);\r\n      item.FileName = _file.item(0).name;\r\n    } else {\r\n      item.FileList = [];\r\n      item.File = null;\r\n      item.FileName = null;\r\n    }\r\n  }\r\n\r\n  closeCreatePage() {\r\n    this.closeCreate.emit({ Type: 'Cancel' });\r\n  }\r\n\r\n  createFormData: any = {};\r\n  pageForm: any = {};\r\n  saveRules: any = [];\r\n  rulesActionReturn: boolean = false;\r\n  pageGroups: PageDetailsRow[] = [];\r\n  defaultPageGroups: PageDetailsRow[] = [];\r\n  fieldValidation: FieldValidators[] = [];\r\n  fieldFiles: FieldFiles[] = [];\r\n\r\n  SupportRequestUser: any;\r\n  RequestorField: any;\r\n  RequestorFieldValue: any;\r\n  getcategoryrequestertype() {\r\n    let _userInfo = localStorage.getItem('userInfo');\r\n    let userInfo: any = null;\r\n    if (_userInfo) userInfo = JSON.parse(_userInfo);\r\n\r\n    if (!userInfo?.UserType && !this.globalService.UserType) return;\r\n    let Searchcriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [\r\n        {\r\n          Field: 'UserType',\r\n          Operator: 'Contains',\r\n          TableAlias: '',\r\n          Value: (userInfo?.UserType ? userInfo.UserType : this.globalService.UserType),\r\n        },\r\n      ],\r\n      SortOrder: { field: null, direction: null },\r\n    };\r\n\r\n    this.dynamicAppsService.getcategoryrequestertype(Searchcriteria).subscribe(\r\n      (res: any) => {\r\n        if (res && res.Data && res.Data.length > 0)\r\n          this.SupportRequestUser = res.Data[0];\r\n        if (this.SupportRequestUser) {\r\n          this.RequestorField = this.SupportRequestUser.FieldTypeIdEn;\r\n          this.ParameterData.CreatedByUserType =\r\n            this.SupportRequestUser.RequesterTypeId;\r\n        }\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  ParameterData: any = null;\r\n\r\n  submitTicketCreate() {\r\n    debugger;\r\n    let CreateData = this.createFormData;\r\n    if (!this.pageForm.valid) {\r\n      Swal.fire(\r\n        this.translatePipe.transform('Fill all mandatory fields'),\r\n        '',\r\n        'warning'\r\n      );\r\n      return;\r\n    }\r\n    this.rulesActionReturn = false;\r\n    this.CheckValidationFormSave();\r\n    if (this.rulesActionReturn) {\r\n      return;\r\n    }\r\n    if (this.EntityTypeId == 153) {\r\n      if (\r\n        !this.createFormData.AgentInterview ||\r\n        !this.createFormData.CustomerInterview ||\r\n        !this.createFormData.CompanyInterview ||\r\n        !this.createFormData.TestId\r\n      ) {\r\n        Swal.fire({\r\n          title: 'TestId and Interviews are not selected, Are you sure Create?',\r\n          icon: 'warning',\r\n          showCancelButton: true,\r\n          confirmButtonColor: '#3085d6',\r\n          cancelButtonColor: '#d33',\r\n          cancelButtonText: 'Cancel',\r\n          confirmButtonText: 'Yes!',\r\n        }).then((result) => {\r\n          if (result.isConfirmed) {\r\n            this.dynamicformCreate();\r\n          }\r\n        });\r\n      } else {\r\n        this.dynamicformCreate();\r\n      }\r\n    } else this.dynamicformCreate();\r\n  }\r\n\r\n  dynamicformCreate() {\r\n    let CreateData = this.createFormData;\r\n\r\n    if ('data' in CreateData) delete CreateData.data;\r\n    if ('params' in CreateData) delete CreateData.params;\r\n    if ('Cookies' in CreateData) delete CreateData.Cookies;\r\n    if ('Local' in CreateData) delete CreateData.Local;\r\n    if ('System' in CreateData) delete CreateData.System;\r\n    if ('Global' in CreateData) delete CreateData.Global;\r\n\r\n    CreateData.EntityType = this.EntityType;\r\n    CreateData.ETFormRecId = this.EntityFormId;\r\n\r\n    if (\r\n      this.EntityTypeId !=\r\n      this.globalService.systemConfig.EntityId.EnvironmentId\r\n    ) {\r\n      CreateData.EnvironmentId = this.globalService.EnvironmentId;\r\n    }\r\n\r\n    if (this.Type == 'Edit') {\r\n      if (!this.FormValues || !this.FormValues.RecId) {\r\n        Swal.fire(\r\n          '',\r\n          this.translatePipe.transform('Form record not found'),\r\n          'warning'\r\n        );\r\n        return;\r\n      }\r\n\r\n      CreateData.EntityTypeId = this.AppEntityTypeId\r\n        ? this.AppEntityTypeId\r\n        : this.EntityTypeId;\r\n      CreateData.RecId = this.FormValues.RecId;\r\n\r\n      for (let key in CreateData) {\r\n        if (\r\n          Object.prototype.toString.call(CreateData[key]) === '[object Date]'\r\n        ) {\r\n          CreateData[key] = GetFormattedDateWithTime(\r\n            CreateData[key]\r\n          );\r\n        }\r\n      }\r\n\r\n      let _data = JSON.stringify(CreateData);\r\n\r\n      this.dynamicAppsService.updateDynamic(_data).subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          Swal.fire(this.translatePipe.transform('Updated sucessfully'));\r\n          this.pageForm.reset();\r\n          this.loaderService.hideLoading();\r\n          this.closeCreate.emit({ Type: 'Edit', Data: res });\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n    } else {\r\n      CreateData.EntityTypeId = this.AppEntityTypeId\r\n        ? this.AppEntityTypeId\r\n        : this.EntityTypeId;\r\n\r\n      if (this.FormValues) {\r\n        if (this.FormValues.WorkItemTypeId) {\r\n          CreateData.WorkItemTypeId = this.FormValues.WorkItemTypeId;\r\n        }\r\n        if (this.FormValues.WorkItemType) {\r\n          CreateData.WorkItemType = this.FormValues.WorkItemType;\r\n        }\r\n        if (this.FormValues.ParentId) {\r\n          CreateData.ParentId = this.FormValues.ParentId;\r\n        }\r\n        if (this.FormValues.Path) {\r\n          CreateData.Path = this.FormValues.Path;\r\n        }\r\n      }\r\n      CreateData.Source = this.ParameterData.Source;\r\n      CreateData.CreatedByUserType = this.ParameterData.CreatedByUserType;\r\n      if (!CreateData.Channel) CreateData.Channel = this.ParameterData.Channel;\r\n      if (this.RequestorField && this.RequestorFieldValue) {\r\n        CreateData[this.RequestorField] = this.RequestorFieldValue;\r\n      }\r\n\r\n      if (CreateData.MultipleIdField) {\r\n        CreateData.MultipleId = CreateData[CreateData.MultipleIdField];\r\n        CreateData[CreateData.MultipleIdField] = '@@MultipleId';\r\n      }\r\n\r\n      for (let key in CreateData) {\r\n        if (\r\n          Object.prototype.toString.call(CreateData[key]) === '[object Date]'\r\n        ) {\r\n          CreateData[key] = GetFormattedDateWithTime(\r\n            CreateData[key]\r\n          );\r\n        }\r\n      }\r\n      let _data = JSON.stringify(CreateData);\r\n\r\n      let checkFileMandatory = true;\r\n      for (let index = 0; index < this.DocumentList.length; index++) {\r\n        let doc = this.DocumentList[index];\r\n        if (doc.IsManatory) {\r\n          if (!(doc.FileList && doc.FileList.length > 0)) {\r\n            checkFileMandatory = false;\r\n            break;\r\n          }\r\n        }\r\n      }\r\n      if (!checkFileMandatory) {\r\n        Swal.fire(\r\n          this.translatePipe.transform('Attach mandatory Files'),\r\n          '',\r\n          'warning'\r\n        );\r\n        return;\r\n      }\r\n\r\n      let fileObj: any[] = [];\r\n      this.DocumentList.map((x) => {\r\n        if (x.FileList && x.FileList.length > 0) {\r\n          for (let index = 0; index < x.FileList.length; index++) {\r\n            const element = x.FileList[index];\r\n            let temp = { File: element.File, DoctypeRecId: x.RecId };\r\n            fileObj.push(temp);\r\n          }\r\n        }\r\n      });\r\n\r\n      fileObj = fileObj.filter((x) => x && x.DoctypeRecId);\r\n\r\n      let FormFieldFile = [];\r\n      for (let key in CreateData) {\r\n        if (CreateData[key] && CreateData[key].length > 0) {\r\n          let _fileList: FileList = CreateData[key];\r\n          for (let index = 0; index < _fileList.length; index++) {\r\n            let _file: File = _fileList[index];\r\n            if (_file.size && _file.name) {\r\n              let formFile = { Field: key, File: _file };\r\n              FormFieldFile.push(formFile);\r\n            }\r\n          }\r\n        }\r\n      }\r\n\r\n      if (this.WorkItemTemplateId) {\r\n        this.DynamicSubmitinstancetemplate(\r\n          _data,\r\n          CreateData.EntityTypeId,\r\n          fileObj,\r\n          FormFieldFile\r\n        );\r\n      } else {\r\n        this.DynamicInsert(\r\n          _data,\r\n          fileObj,\r\n          FormFieldFile,\r\n          CreateData.EntityTypeId,\r\n          CreateData\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  emitTicketCreateForm(CreateData: any, pageForm: any, forms?: any) {\r\n    debugger;\r\n    this.createFormData = CreateData;\r\n\r\n    if (this.group && this.group.ControlData)\r\n      this.group.ControlData.FormData = CreateData;\r\n\r\n    this.pageForm = pageForm;\r\n    if (forms && forms.OnSaveRules) this.saveRules = forms.OnSaveRules;\r\n\r\n    if (forms && forms.EntityTypeForm) {\r\n      this.CurrentEntityForm = forms.EntityTypeForm;\r\n    }\r\n    this.fieldFiles = forms.fieldFiles;\r\n    if (this.fieldFiles && this.fieldFiles.length > 0) {\r\n      this.fieldFiles.forEach((fields: any) => {\r\n        this.createFormData[fields.FieldName] = fields.File;\r\n      });\r\n    }\r\n  }\r\n\r\n  CheckValidationFormSave() {\r\n    if (!(this.saveRules && this.saveRules.length > 0)) {\r\n      return;\r\n    }\r\n\r\n    for (let index = 0; index < this.saveRules.length; index++) {\r\n      let rulesData = this.saveRules[index];\r\n\r\n      if (!rulesData) {\r\n        return;\r\n      }\r\n\r\n      let _condition = this.onRulesConditionCheck(rulesData);\r\n\r\n      if (_condition) {\r\n        this.OnRulesApply(rulesData);\r\n        if (this.rulesActionReturn) {\r\n          break;\r\n        }\r\n      } else {\r\n        if (rulesData.child && rulesData.child.length > 0) {\r\n          let _elseIfRulescondition = false;\r\n          let _elseIfRules = rulesData.child.filter(\r\n            (x: any) => x.Type == 'OnElseIf'\r\n          );\r\n\r\n          for (let index = 0; index < _elseIfRules.length; index++) {\r\n            _elseIfRulescondition = this.onRulesConditionCheck(\r\n              _elseIfRules[index]\r\n            );\r\n            if (_elseIfRulescondition) {\r\n              this.OnRulesApply(_elseIfRules[index]);\r\n              break;\r\n            }\r\n          }\r\n          if (!_elseIfRulescondition) {\r\n            let _elseRules = rulesData.child.filter(\r\n              (x: any) => x.Type == 'OnElse'\r\n            );\r\n            if (_elseRules && _elseRules.length > 0) {\r\n              this.OnRulesApply(_elseRules[0]);\r\n              if (this.rulesActionReturn) {\r\n                break;\r\n              }\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  onRulesConditionCheck(rulesData: any) {\r\n    let _condition = true;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = this.createFormData[_con.Field];\r\n\r\n      if (_con.FieldType && _con.FieldType == 'Value') {\r\n        let _handleData = this.createFormData;\r\n\r\n        _handleData.currentLang = this.globalService.CurrentLanguage;\r\n        if (this.ParameterData) _handleData.params = this.ParameterData;\r\n        _fieldValue = this.hanbleBarHtml(_con.Field, _handleData);\r\n      }\r\n\r\n      let value =\r\n        _con.Value == 'FieldValue'\r\n          ? this.createFormData[_con.ValueTwo]\r\n          : _con.ValueTwo;\r\n\r\n      switch (_con.Type) {\r\n        case 'Equal': {\r\n          _Icondition = _fieldValue == value ? true : false;\r\n          break;\r\n        }\r\n        case 'NotEqual': {\r\n          _Icondition = _fieldValue != value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue < value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue <= value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue > value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue >= value ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNull': {\r\n          _Icondition = _fieldValue == null ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotNull': {\r\n          _Icondition = _fieldValue != null ? true : false;\r\n          break;\r\n        }\r\n        case 'IsEmpty': {\r\n          _Icondition = _fieldValue == '' ? true : false;\r\n          break;\r\n        }\r\n        case 'IsTrue': {\r\n          _Icondition = _fieldValue == true ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotTrue': {\r\n          _Icondition = _fieldValue != true ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotEmpty': {\r\n          _Icondition = _fieldValue != '' ? true : false;\r\n          break;\r\n        }\r\n\r\n        // String Data\r\n        case 'Length': {\r\n          _Icondition = _fieldValue.length == value ? true : false;\r\n          break;\r\n        }\r\n        case 'Contains': {\r\n          //Contains\r\n          _Icondition = _fieldValue.includes(value) ? true : false;\r\n          break;\r\n        }\r\n        case 'NotContains': {\r\n          //Contains\r\n          _Icondition = !_fieldValue.includes(value) ? true : false;\r\n          break;\r\n        }\r\n        case 'StartsWith': {\r\n          _Icondition = _fieldValue.startsWith(value) ? true : false;\r\n          break;\r\n        }\r\n        case 'EndsWith': {\r\n          _Icondition = _fieldValue.endsWith(value) ? true : false;\r\n          break;\r\n        }\r\n        default:\r\n          _Icondition = false;\r\n          break;\r\n      }\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = _condition && _Icondition ? true : false;\r\n        } else {\r\n          _condition = _condition || _Icondition ? true : false;\r\n        }\r\n      } else {\r\n        _condition = _Icondition;\r\n      }\r\n    }\r\n\r\n    return _condition;\r\n  }\r\n\r\n  OnRulesApply(rulesData: any) {\r\n    debugger;\r\n    let rulesList = rulesData;\r\n    if (rulesData.action) rulesList = rulesData.action;\r\n\r\n    let _handleData = this.createFormData;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesList.length; index++) {\r\n      let rules = rulesList[index];\r\n\r\n      if (rules.Condition == 'ClearFieldValue') {\r\n        this.createFormData[rules.Field] = null;\r\n      }\r\n\r\n      if (rules.Condition == 'CopyFieldValue') {\r\n        if (rules.Value)\r\n          this.createFormData[rules.Field] = this.createFormData[rules.Value];\r\n      }\r\n\r\n      if (rules.Condition == 'Alert') {\r\n        let Title = this.hanbleBarHtml(rules.Title, _handleData);\r\n        let Message = this.hanbleBarHtml(rules.Message, _handleData);\r\n        //this.toaster.warning(Message, Title);\r\n      }\r\n      if (rules.Condition == 'Return') {\r\n        if (rules.Value == 'true') {\r\n          this.rulesActionReturn = true;\r\n        } else if (rules.Value == 'false') {\r\n          this.rulesActionReturn = false;\r\n        } else {\r\n          this.rulesActionReturn = false;\r\n        }\r\n      }\r\n\r\n      if (this.rulesActionReturn) {\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n  IsConfirmAction: boolean = true;\r\n  OnEventApply(rulesData: any) {\r\n    debugger;\r\n    if (!rulesData.event) return;\r\n    let rulesEvent = {\r\n      IsNeedConfirm: false,\r\n      ConfirmMsg: '',\r\n    };\r\n    if (rulesData.event) rulesEvent = rulesData.event;\r\n    this.IsConfirmAction = true;\r\n\r\n    if (rulesEvent.IsNeedConfirm) {\r\n      this.IsConfirmAction = false;\r\n      Swal.fire({\r\n        title: rulesEvent.ConfirmMsg,\r\n        icon: 'warning',\r\n        showCancelButton: true,\r\n        confirmButtonColor: '#3085d6',\r\n        cancelButtonColor: '#d33',\r\n        cancelButtonText: 'Cancel',\r\n        confirmButtonText: 'Yes!',\r\n      }).then((result) => {\r\n        if (result.isConfirmed) {\r\n          this.IsConfirmAction = true;\r\n          this.OnRulesApply(rulesData);\r\n        } else {\r\n          this.IsConfirmAction = false;\r\n        }\r\n      });\r\n    } else {\r\n      this.OnRulesApply(rulesData);\r\n    }\r\n  }\r\n\r\n  hanbleBarHtml(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n\r\n    data.PageData = this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  workItemDefaultValues: any = null;\r\n\r\n  selectWorkItemTemplate(event: any) {\r\n    debugger;\r\n    this.loadEntityForm = false;\r\n    this.EntityFormId = null;\r\n\r\n    this.workItemDefaultValues.IsTemplate = false;\r\n    this.workItemDefaultValues.TemplateId = this.WorkItemTemplateId;\r\n    this.workItemDefaultValues.CaseId = null;\r\n    if (event)\r\n      this.workItemDefaultValues = { ...event, ...this.FormTemplateValues };\r\n    else this.workItemDefaultValues = { ...this.FormTemplateValues };\r\n\r\n    let _entityid = event.WorkItemTypeId\r\n      ? event.WorkItemTypeId\r\n      : this.EntityTypeId;\r\n    this.getActiveEntityForm(_entityid);\r\n  }\r\n\r\n  DynamicInsert(\r\n    data: any,\r\n    fileObj: any,\r\n    FormFieldFile: any,\r\n    EntityTypeId: any,\r\n    CreateData: any\r\n  ) {\r\n    debugger;\r\n    if (this.CurrentEntityForm && this.CurrentEntityForm.OnSaveDSData) {\r\n      this.dynamicInsertWithDataSource(\r\n        CreateData,\r\n        fileObj,\r\n        FormFieldFile,\r\n        EntityTypeId\r\n      );\r\n    } else {\r\n      this.dynamicAppsService\r\n        .createDynamic(data, fileObj, FormFieldFile)\r\n        .subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n            Swal.fire(\r\n              this.translatePipe.transform('Created Successfully'),\r\n              'Success'\r\n            );\r\n\r\n            this.pageForm.reset();\r\n            this.loaderService.hideLoading();\r\n            this.closeCreate.emit({ Type: 'Create', Data: res });\r\n          },\r\n          (error: any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  CurrentEntityForm: EntityTypeFormVM | null = null;\r\n\r\n  dynamicInsertWithDataSource(\r\n    data: any,\r\n    fileObj: any,\r\n    FormFieldFile: any,\r\n    EntityTypeId: any\r\n  ) {\r\n    if (this.CurrentEntityForm?.OnSaveDSData) {\r\n      let RestData: IRestConfig = JSON.parse(\r\n        this.CurrentEntityForm.OnSaveDSData\r\n      );\r\n\r\n      let _handleData: any = data;\r\n\r\n      RestData.URL = this.hanbleBarHtml(RestData.URL, _handleData);\r\n      RestData.Body = this.hanbleBarHtml(RestData.Body, _handleData);\r\n      if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n      }\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x) => {\r\n        x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n        return x;\r\n      });\r\n\r\n      RestData.Headers = RestData.Headers.map((x) => {\r\n        x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n        return x;\r\n      });\r\n\r\n      let formData: FormData | null = null;\r\n\r\n      if (\r\n        RestData.Files &&\r\n        RestData.Files.length > 0 &&\r\n        FormFieldFile &&\r\n        FormFieldFile.length > 0\r\n      ) {\r\n        formData = new FormData();\r\n        RestData.Files.forEach((x: any) => {\r\n          x.Value = this.hanbleBarHtml(x.Value, _handleData);\r\n          if (FormFieldFile && FormFieldFile.length > 0) {\r\n            let _field = FormFieldFile.filter(\r\n              (f: any) => f.Field == x.Value\r\n            )[0];\r\n            if (_field && formData)\r\n              formData.append(x.Name, _field.File, _field.File.name);\r\n          }\r\n        });\r\n        if (RestData.Body) formData.append('FromBody', RestData.Body);\r\n      }\r\n\r\n      this.dynamicAppsService\r\n        .dynamicAPi(RestData, null, null, true, false, formData)\r\n        .subscribe(\r\n          (res: any) => {\r\n            Swal.fire(\r\n              this.translatePipe.transform('Created Successfully'),\r\n              'Success'\r\n            );\r\n            this.pageForm.reset();\r\n            this.loaderService.hideLoading();\r\n            this.closeCreate.emit({ Type: 'Create', Data: res });\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return;\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  DynamicSubmitinstancetemplate(\r\n    data: any,\r\n    baseentitytypeId: any,\r\n    fileObj: any,\r\n    FormFieldFile: any\r\n  ) {\r\n    this.dynamicAppsService\r\n      .DynamicSubmitinstancetemplate(\r\n        data,\r\n        baseentitytypeId,\r\n        this.WorkItemTemplateId,\r\n        fileObj,\r\n        FormFieldFile\r\n      )\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          Swal.fire(\r\n            this.translatePipe.transform('Created Successfully'),\r\n            'Success'\r\n          );\r\n          this.pageForm.reset();\r\n          this.loaderService.hideLoading();\r\n          this.closeCreate.emit({ Type: 'Create', Data: res });\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  public isShowForm:boolean = false;\r\n  checkAnyOneFileShow(){\r\n      this.isShowForm = this.DocumentList.some((fileObj:any) => fileObj.IsShowForm);\r\n  }\r\n}\r\n","<div class=\"body\">\r\n  <div class=\"request-create\">\r\n\r\n\r\n    <ng-container *ngIf=\"Type=='Create' && EntityType=='250' && showTemplete\">\r\n\r\n      <div class=\"form-group m-b-10 row\">\r\n        <div class=\"clearfix col col-md-3\">\r\n          <label class=\"control-label\" style=\"padding-right: 0px;\">{{\"Template\" | translate }}\r\n          </label>\r\n        </div>\r\n        <div class=\"control-input col\">\r\n          <ng-select [(ngModel)]=\"WorkItemTemplateId\" [items]=\"WorkItemTemplateList\" bindLabel=\"Title\" bindValue=\"RecId\"\r\n            (change)=\"selectWorkItemTemplate($event)\">\r\n          </ng-select>\r\n        </div>\r\n      </div>\r\n\r\n      <hr>\r\n\r\n    </ng-container>\r\n\r\n\r\n\r\n    <ng-container *ngIf=\"loadEntityForm || EntityFormId\">\r\n      <app-entity-dynamic-view [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"EntityFormId\"\r\n        [PageGroupValues]=\"FormValues\" [FormTemplateValues]=\"workItemDefaultValues\" [DefaultForm]=\"DefaultForm\"\r\n        [ViewFrom]=\"'Details'\" [Type]=\"Type\" [ParameterData]=\"ParameterData\" [RequestorField]=\"RequestorField\"\r\n        [RequestorFieldValue]=\"RequestorFieldValue\" [queryParams]=\"queryParams\"\r\n        (submitFormValue)=\"emitTicketCreateForm($event.formdata,$event.pageForm,$event.forms)\">\r\n      </app-entity-dynamic-view>\r\n    </ng-container>\r\n\r\n    <hr>\r\n\r\n    <div class=\"m-b-20\" *ngIf=\"DocumentList && DocumentList.length > 0 && Type != 'Edit'\">\r\n\r\n      <h6 class=\"m-b-20\" *ngIf=\"isShowForm\">{{'Files'|translate}} :</h6>\r\n\r\n      <ul class=\"attached_lists\">\r\n        <li *ngFor=\"let doc of DocumentList\">\r\n          <a class=\"\" [ngClass]=\"{'border-red': doc.IsManatory && !(doc.FileName) }\" *ngIf=\"doc.IsShowForm\">\r\n            <span class=\"row m-0\">\r\n              <span class=\"col padding-0 themecolor\" style=\"max-width: 65px;\">\r\n                <button class=\"btn btn-outline attach-file-btn\"\r\n                  [ngClass]=\"{'btn-outline-danger':!(doc.FileName),'btn-success':doc.FileName }\">\r\n                  <i class=\"la la-upload\" style=\"font-size:25px;\"></i>\r\n                  <input class=\"attach-file\" type=\"file\" id=\"file_{{doc.RecId}}\" multiple\r\n                    (change)=\"docFileChange($event,doc)\" [(ngModel)]=\"doc.File\" [ngModelOptions]=\"{standalone: true}\">\r\n                </button>\r\n              </span>\r\n              <span class=\"col padding-0 attached_lists_name\">\r\n                <span [ngClass]=\"{'red': doc.IsManatory && !(doc.FileName) }\">{{doc.DocumentName}}\r\n                  <code class=\"red\" *ngIf=\"doc.IsManatory\">*</code></span>\r\n\r\n                <ng-container *ngIf=\"doc.FileList.length >0; else elseTemplate\">\r\n                  <span class=\"themecolor\">{{doc.FileList.length}} {{'files are Selected' | translate }}</span>\r\n                  <br>\r\n                  <ng-container *ngFor=\"let _file of doc.FileList\">\r\n                    <span class=\"themecolor\">{{_file.FileName}}</span><br>\r\n                  </ng-container>\r\n\r\n                </ng-container>\r\n                <ng-template #elseTemplate>\r\n                  <span class=\"red\">{{'Files are not selected' | translate }}</span>\r\n                </ng-template>\r\n              </span>\r\n            </span>\r\n          </a>\r\n        </li>\r\n      </ul>\r\n\r\n\r\n\r\n    </div>\r\n\r\n    <div class=\"text-align-right\" *ngIf=\"!hideAction\">\r\n\r\n      <button class=\"btn btn-small btn-theme color-white m-l-5 m-r-5\" (click)=\"submitTicketCreate()\">\r\n        {{(Type=='Edit'?'Update':'Add')|translate}}\r\n      </button>\r\n\r\n      <button *ngIf=\"!hideCanelBtn\" class=\"btn btn-small btn-outline-danger m-l-5 m-r-5\" (click)=\"closeCreatePage()\">\r\n        {{'Cancel'|translate}}\r\n      </button>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport * as Handlebars from 'handlebars';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { E_FormType, EntityTypeFormVM, EntityTypeSetUpVM, ISearchCriteria, ISysMenuItemsMap } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'dynamic-entity-create',\r\n  templateUrl: './dynamic-entity-create.component.html',\r\n  styleUrls: ['./dynamic-entity-create.component.scss'],\r\n})\r\nexport class DynamicEntityCreateComponent implements OnInit {\r\n  constructor(\r\n    public globalService: GlobalService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  @Input() menuText: any;\r\n  @Input() LoadFrom: any;\r\n  @Input() EntityTypeRecId: number = 0;\r\n  @Input() SetupDetails: EntityTypeSetUpVM | null = null;\r\n  @Input() EntityCreateForm: EntityTypeFormVM | null = null;\r\n  @Input() DetailsPageUrl: string | null = null;\r\n\r\n  @Output() closeCreate = new EventEmitter<{ Type: any }>();\r\n\r\n  CollectionType: string = 'Create';\r\n  formConfig: any;\r\n  FormTitle: any = 'Add ';\r\n  CreateEntityFormId: number | any = 0;\r\n  formData: any = {};\r\n\r\n  hideCanelBtn: boolean = false;\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    if (this.LoadFrom != 'PageView') {\r\n      if (this.menuText) {\r\n        this.getMenuDetails();\r\n      }\r\n      this.hideCanelBtn = true;\r\n\r\n      this.CreateEntityFormId = 0;\r\n      this.SetupDetails = null;\r\n      this.EntityCreateForm = null;\r\n    }\r\n    if (this.SetupDetails && this.EntityCreateForm) {\r\n      this.openCreatPop();\r\n    } else {\r\n      if (!this.SetupDetails) {\r\n        this.getSetupDetails();\r\n      } else if (!this.EntityCreateForm) this.getCreateEntityForm();\r\n    }\r\n  }\r\n\r\n  getMenuDetails() {\r\n    this.dynamicAppsService.GetMenuByAction(this.menuText).subscribe(\r\n      (res: ISysMenuItemsMap) => {\r\n        if (res && res.RecId) {\r\n          if (res.ReftableName) {\r\n            this.EntityTypeRecId = Number(res.ReftableName);\r\n            this.getSetupDetails();\r\n          }\r\n        }\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        if (error.status == 401) {\r\n          return;\r\n        }\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  getSetupDetails() {\r\n    debugger;\r\n    if (!this.EntityTypeRecId) {\r\n      return;\r\n    }\r\n    this.dynamicAppsService\r\n      .getSingleEntityTypeSetupById(this.EntityTypeRecId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.SetupDetails = res;\r\n          if (!this.EntityCreateForm) {\r\n            this.getCreateEntityForm();\r\n          } else {this.openCreatPop()};\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  getCreateEntityForm() {\r\n    let _Criteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 200,\r\n      },\r\n      Where: [],\r\n      SortOrder: { field: null, direction: null },\r\n    };\r\n\r\n    this.dynamicAppsService\r\n      .getAllEntityTypeActionForm(_Criteria, this.EntityTypeRecId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _datas = res.Data ? res.Data : res;\r\n          this.EntityCreateForm = _datas.filter(\r\n            (x: any) => x.FormType == E_FormType.Create\r\n          )[0];\r\n          this.openCreatPop();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          if (error.status == 401) {\r\n            return;\r\n          }\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  openCreatPop() {\r\n    this.CollectionType = 'Create';\r\n    this.FormTitle = this.EntityCreateForm?.FormName;\r\n    this.CreateEntityFormId = this.EntityCreateForm?.RecId;\r\n    if (this.EntityCreateForm?.DataSourceLink) {\r\n      this.formConfig = JSON.parse(this.EntityCreateForm.DataSourceLink);\r\n    } else {\r\n      this.formConfig = {};\r\n    }\r\n  }\r\n\r\n  closePopupCreateView(Type?: any, data?: any) {\r\n    debugger;\r\n    if (Type) {\r\n      if (Type == 'Cancel') {\r\n        if (this.LoadFrom == 'PageView') {\r\n          this.closeCreate.emit({ Type: Type });\r\n        }\r\n      } else {\r\n        if (this.DetailsPageUrl) {\r\n          let _urls = this.DetailsPageUrl.split('?');\r\n          let url = _urls[0];\r\n          let queryParamsobj: any = {};\r\n          if (_urls[1]) {\r\n            if (_urls[1]) {\r\n              let _menuParamslist = _urls[1].split('&');\r\n              _menuParamslist.forEach((params) => {\r\n                let _paramdata = params.split('=');\r\n                if (_paramdata.length > 0) {\r\n                  queryParamsobj[_paramdata[0]] = this.hanbleBarData(\r\n                    _paramdata[1],\r\n                    data\r\n                  );\r\n                }\r\n              });\r\n            }\r\n          }\r\n          url = this.hanbleBarData(url, data);\r\n          //this.router.navigate([url], { queryParams: queryParamsobj });\r\n        } else if (this.LoadFrom == 'PageView') {\r\n          this.closeCreate.emit({ Type: Type });\r\n        } else {\r\n        \r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  queryParams: any = null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n\r\n    data.Current = this;\r\n\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.EnvironmentId = this.globalService.EnvironmentId;\r\n    data.Global = this.globalService;\r\n\r\n    data.PageData = this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n}\r\n","<div class=\"wrapper row m-t-10 create_in_details\">\r\n\r\n    <div class=\"col-sm-12\">\r\n        <div class=\"card card-table-details m-b-10 details_top\">\r\n            <div class=\"body p-15\">\r\n                <div class=\"row\">\r\n\r\n                    <div class=\"col col-12\">\r\n                        <p class=\"m-b-5 pull-left\">\r\n                            <span class=\"iconbox\">\r\n                                <i *ngIf=\"SetupDetails?.ImageUrl\" class=\"{{SetupDetails?.ImageUrl}}\"></i>\r\n                                <i *ngIf=\"!SetupDetails?.ImageUrl\" class=\"icon-layers\"></i>\r\n                            </span>\r\n                            <span class=\"form-title\">\r\n                                {{(SetupDetails?.Label ? SetupDetails?.Label : SetupDetails?.Description) | translate}}\r\n                            </span>\r\n\r\n                        </p>\r\n                        <span class=\"pull-right m-t-5\">\r\n                            <span class=\"close\" (click)=\"closePopupCreateView('Cancel')\">\r\n                                <i class=\"la la-times\"></i>\r\n                            </span>\r\n                        </span>\r\n                    </div>\r\n\r\n\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n    <div class=\"col-sm-12 m-b-20\">\r\n        <div class=\"row\">\r\n            <div id=\"\" class=\"col-sm-12\">\r\n                <div class=\"row\">\r\n                    <div class=\"col-sm-12 dynamic_request_details\">\r\n                        <div class=\"card m-0\">\r\n                            <div class=\"body p-0\">\r\n                                <div class=\"request-details\" *ngIf=\"CreateEntityFormId && EntityTypeRecId\">\r\n\r\n                                    <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"CollectionType\"\r\n                                        [AppEntityTypeId]=\"EntityTypeRecId\" [EntityTypeId]=\"EntityTypeRecId\"\r\n                                        [EntityType]=\"(SetupDetails?.EntityType)\" [FormValues]=\"formData\"\r\n                                        [FormTitle]=\"FormTitle\" [FormGetType]=\"'Local'\"\r\n                                        [EntityFormId]=\"CreateEntityFormId\" [hideCanelBtn]=\"hideCanelBtn\"\r\n                                        (closeCreate)=\"closePopupCreateView($event.Type,$event.Data)\">\r\n                                    </app-ticket-create>\r\n\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport * as Handlebars from 'handlebars';\r\nimport { Observable } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { E_DataType, E_FieldGroupType, E_FormType, EntityTypeFieldVM, EntityTypeFormUVM, EntityTypeFormVM, EntityTypeSetUpVM, ISearchCriteria, PageDetailsRow,  PageForm,  PageGroup, ePageViewType, generateId, isNotNullNotUndefined, moveItem } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dynamic-details-view',\r\n  templateUrl: './dynamic-details-view.component.html',\r\n  styleUrls: ['./dynamic-details-view.component.scss'],\r\n})\r\nexport class DynamicDetailsViewComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private globalService: GlobalService,\r\n    private fb: FormBuilder,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  ngOnInit(): void {\r\n    registerHandlebarHelperMethods();\r\n    // this.route.paramMap.subscribe((res) => {\r\n\r\n    //   if (this.EntityTypeId && this.ViewType != 'Details') {\r\n    //     this.getFieldListByEntityType();\r\n    //     this.buildReactiveForm();\r\n    //   }\r\n    // });\r\n    if (this.FormGetType == 'Local' && !this.EntityTypeForm) {\r\n      Swal.fire('Error', 'Form not found', 'warning');\r\n    }\r\n\r\n    if (this.FormGetType == 'Local' && this.EntityTypeForm) {\r\n      this.BuildFormData();\r\n    }\r\n\r\n    if (this.EntityFormId && this.FormGetType != 'Local') {\r\n      this.getEntityForm();\r\n    }\r\n\r\n    this.getFieldGroupList();\r\n  }\r\n\r\n  @Input() ViewType: string = '';\r\n  @Input() EntityTypeId: number = 0;\r\n  @Input() EntityFormId: number = 0;\r\n  @Input() pageGroups: PageDetailsRow[] = [];\r\n  @Input() defaultPageGroups: PageDetailsRow[] = [];\r\n  @Input() PageGroupValues: any = {};\r\n\r\n  @Input() EntityTypeForm: EntityTypeFormVM | any = null;\r\n  @Input() FormGetType: any = null;\r\n\r\n  EntityTypeDetail: EntityTypeSetUpVM | any = null;\r\n  getEntityTypeDetails() {\r\n    this.dynamicAppsService\r\n      .getSingleEntityTypeSetupById(this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          this.EntityTypeDetail = res;\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  saveDesignForm() {\r\n    let pagedesign = JSON.stringify(this.pageGroups);\r\n    const data: EntityTypeFormUVM = {\r\n      RecId: this.EntityTypeForm.RecId,\r\n      EntityTypeId: this.EntityTypeForm.EntityTypeRecId,\r\n      FieldId: this.EntityTypeForm.FieldId,\r\n      FieldControlType: this.EntityTypeForm.FieldControlType,\r\n      DataSourceLink: this.EntityTypeForm.DataSourceLink,\r\n      CascadeFieldId: this.EntityTypeForm.CascadeFieldId,\r\n      IsVisible: this.EntityTypeForm.IsVisible,\r\n      OrderId: this.EntityTypeForm.OrderId,\r\n      FormType: this.EntityTypeForm.FormType,\r\n      FormData: pagedesign,\r\n    };\r\n\r\n    this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n      (res) => {\r\n      this.getEntityForm();\r\n      this.loaderService.hideLoading();\r\n    },(error:any) => {\r\n      this.loaderService.hideLoading();\r\n    });\r\n  }\r\n\r\n  EntityFieldList: EntityTypeFieldVM[] = [];\r\n\r\n  getFieldListByEntityType() {\r\n    this.dynamicAppsService\r\n      .getAllEntityTypeField(null, this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          this.EntityFieldList = res.Data;\r\n\r\n          if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n            this.setFieldsInPageGroupsForm();\r\n          } else {\r\n            this.getAllDefaultFieldGroup();\r\n          }\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  getEntityForm() {\r\n    this.dynamicAppsService\r\n      .getSingleEntityTypeFormById(this.EntityFormId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          this.EntityTypeForm = res;\r\n          this.BuildFormData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  BuildFormData() {\r\n    debugger;\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      let _FormData = JSON.parse(this.EntityTypeForm.FormData);\r\n\r\n      if (_FormData.PageGroup) this.pageGroups = _FormData.PageGroup;\r\n\r\n      if (_FormData.ProfileMainview)\r\n        this.pageGroups = _FormData.ProfileMainview;\r\n\r\n      if (_FormData.defaultPageGroups)\r\n        this.getAllDefaultEntityTypeForm(_FormData.defaultPageGroups);\r\n      else this.defaultPageGroups = [];\r\n\r\n      if (this.ViewType != 'Details') {\r\n        if (_FormData.PageGroupValues)\r\n          this.PageGroupValues = _FormData.PageGroupValues;\r\n        else this.PageGroupValues = {};\r\n\r\n        this.buildReactiveForm();\r\n      }\r\n    }\r\n\r\n    if (this.EntityTypeId) {\r\n      this.getFieldListByEntityType();\r\n    }\r\n  }\r\n\r\n  addRow() {\r\n    this.pageGroups.push(new PageDetailsRow());\r\n    let row = this.pageGroups[this.pageGroups.length - 1];\r\n    this.addGroup(row);\r\n  }\r\n\r\n  addGroup(row: PageDetailsRow) {\r\n    let group = new PageGroup();\r\n    row.Groups.push(group);\r\n    this.buildReactiveForm();\r\n    this.setGroupWidth(row);\r\n  }\r\n\r\n  setGroupWidth(row: PageDetailsRow) {\r\n    for (let index = 0; index < row.Groups.length; index++) {\r\n      let Width = 100 / row.Groups.length;\r\n      row.Groups[index].Width = Width;\r\n      row.Groups[index].Height = Width;\r\n    }\r\n  }\r\n\r\n  _PageForm: PageForm = new PageForm(new FormGroup({}));\r\n  dynamicFormGroup!: FormGroup;\r\n  submitted: boolean = false;\r\n\r\n  getFieldFormGroup(): FormGroup {\r\n    this.generateDropDownFields();\r\n    if (this.EntityFieldList.length == 0) return this.fb.group({});\r\n    const dynamicFormGroup = this.fb.group({});\r\n    for (const iterator of this.EntityFieldList) {\r\n      if (iterator.IsMandatory && iterator.DataType != E_DataType.file)\r\n        dynamicFormGroup.addControl(\r\n          iterator.Description,\r\n          this.fb.control('', Validators.required)\r\n        );\r\n      else\r\n        dynamicFormGroup.addControl(iterator.Description, this.fb.control(''));\r\n    }\r\n    return dynamicFormGroup;\r\n  }\r\n\r\n  dropDown$ = Object.assign({});\r\n  generateDropDownFields() {\r\n    for (const iterator of this.EntityFieldList) {\r\n      if (iterator.DataType == E_DataType.dropdown) {\r\n        this.dropDown$[iterator.Description] = new Observable((obx) => {\r\n          if (iterator.FieldData) {\r\n            var jsonItem = JSON.parse(iterator.FieldData);\r\n            if (jsonItem.isDynamic && jsonItem.api && jsonItem.api.url) {\r\n              const url = jsonItem.api.url;\r\n              this.dynamicAppsService.getDyamicUrl(url).subscribe((res: any) => {\r\n                if (res && Array.isArray(res) && res.length > 0) {\r\n                  obx.next(\r\n                    res.map((x: any) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.api.valueField],\r\n                        Description: x[jsonItem.api.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else if (\r\n                  Object.keys(res).length > 0 &&\r\n                  Object.keys(res).includes('List')\r\n                ) {\r\n                  obx.next(\r\n                    res['List'].map((x: any) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.api.valueField],\r\n                        Description: x[jsonItem.api.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else obx.next([]);\r\n                this.loaderService.hideLoading();\r\n              });\r\n            } else {\r\n              if (\r\n                jsonItem.options &&\r\n                Array.isArray(jsonItem.options) &&\r\n                jsonItem.options.length > 0\r\n              ) {\r\n                obx.next(\r\n                  jsonItem.options.map((x: any) =>\r\n                    Object.assign({\r\n                      Id: x.value,\r\n                      Description: x.text,\r\n                    })\r\n                  )\r\n                );\r\n              } else obx.next([]);\r\n            }\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  validationError(name: string, errorName: string) {\r\n    if (name && errorName)\r\n      return this.dynamicFormGroup?.get(name)?.errors?.[errorName]\r\n        ? true\r\n        : false;\r\n    else return this.dynamicFormGroup?.get(name)?.errors ? true : false;\r\n  }\r\n\r\n  getType(_dataType: E_DataType | number) {\r\n    switch (_dataType) {\r\n      case E_DataType.int:\r\n      case E_DataType.decimal:\r\n        return 'number';\r\n      case E_DataType.date:\r\n        return 'date';\r\n      case E_DataType.dateTime:\r\n        return 'datetime-local';\r\n      case E_DataType.timespan:\r\n        return 'time';\r\n      case E_DataType.bool:\r\n        return 'checkbox';\r\n      case E_DataType.string:\r\n        return 'text';\r\n      case E_DataType.image:\r\n        return 'file';\r\n\r\n      default:\r\n        return 'text';\r\n    }\r\n  }\r\n\r\n  changeTextEvent(event: any) {}\r\n\r\n  SelectedFiles: any = null;\r\n  selectedFileItem: any = null;\r\n\r\n  changeFile(event: any, item: any) {\r\n    this.selectedFileItem = item;\r\n    this.SelectedFiles = event.target.files;\r\n  }\r\n\r\n  selectRowIndex: any;\r\n  selectGroupIndex: any;\r\n\r\n  addNestedGroup(rowIndex: any, groupIndex: any) {\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n  }\r\n\r\n  groupSetting(rowIndex: any, groupIndex: any) {\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n  }\r\n\r\n  deleteGroup(rowIndex: any, groupIndex: any) {\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n\r\n    this.pageGroups[this.selectRowIndex].Groups.splice(\r\n      this.selectGroupIndex,\r\n      1\r\n    );\r\n    if (this.pageGroups[this.selectRowIndex].Groups.length == 0)\r\n      this.pageGroups.splice(this.selectRowIndex, 1);\r\n  }\r\n\r\n  /* #region  DataFIleds */\r\n\r\n  showDataFiledPopup: boolean = false;\r\n  openDataField(rowIndex: any, groupIndex: any) {\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n    this.showDataFiledPopup = true;\r\n  }\r\n\r\n  closeDataField() {\r\n    this.showDataFiledPopup = false;\r\n  }\r\n\r\n  submitDataFields(Fields: EntityTypeFieldVM[]) {\r\n    for (let index = 0; index < Fields.length; index++) {\r\n      this.pageGroups[this.selectRowIndex].Groups[\r\n        this.selectGroupIndex\r\n      ].Fields.push(Fields[index]);\r\n    }\r\n\r\n    this.buildReactiveForm();\r\n    this.showDataFiledPopup = false;\r\n  }\r\n\r\n  /* #endregion */\r\n\r\n  /* #region  Field Actions */\r\n\r\n  deleteField(fieldIndex: any, groupIndex: any, rowIndex: any) {\r\n    this.pageGroups[rowIndex].Groups[groupIndex].Fields.splice(fieldIndex, 1);\r\n    this.buildReactiveForm();\r\n  }\r\n  downField(fieldIndex: any, groupIndex: any, rowIndex: any) {\r\n    if (\r\n      fieldIndex !=\r\n      this.pageGroups[rowIndex].Groups[groupIndex].Fields.length - 1\r\n    )\r\n      moveItem(\r\n        this.pageGroups[rowIndex].Groups[groupIndex].Fields,\r\n        fieldIndex,\r\n        fieldIndex + 1\r\n      );\r\n    this.buildReactiveForm();\r\n  }\r\n\r\n  upField(fieldIndex: any, groupIndex: any, rowIndex: any) {\r\n    if (fieldIndex != 0)\r\n      moveItem(\r\n        this.pageGroups[rowIndex].Groups[groupIndex].Fields,\r\n        fieldIndex,\r\n        fieldIndex - 1\r\n      );\r\n    this.buildReactiveForm();\r\n  }\r\n\r\n  /* #endregion */\r\n\r\n  /* #region DynamicViewPopup */\r\n\r\n  showDynamicViewPopup: boolean = false;\r\n  openDynamicViewPopup() {\r\n    this.showDynamicViewPopup = true;\r\n  }\r\n  closeDynamicViewPopup() {\r\n    this.showDynamicViewPopup = false;\r\n  }\r\n  /* #endregion */\r\n\r\n  getAllFields() {\r\n    let fields: EntityTypeFieldVM[] = [];\r\n\r\n    for (let index = 0; index < this.pageGroups.length; index++) {\r\n      let Groups = this.pageGroups[index].Groups;\r\n      for (let i = 0; i < Groups.length; i++) {\r\n        fields.push(...Groups[i].Fields);\r\n      }\r\n    }\r\n    return fields;\r\n  }\r\n\r\n  buildReactiveForm() {\r\n    let fields: EntityTypeFieldVM[] = this.getAllFields();\r\n\r\n    this._PageForm = new PageForm(this.createFormGroup(fields));\r\n\r\n    this.BindDesignFormData();\r\n    this.setFieldsInPageGroupsForm();\r\n  }\r\n\r\n  createFormGroup(fields: EntityTypeFieldVM[]) {\r\n    let form = this.fb.group({});\r\n    if (Array.isArray(fields) && fields.length > 0) {\r\n      for (const field of fields) {\r\n        const value = null;\r\n        if (field.IsMandatory)\r\n          form.addControl(\r\n            field.Description,\r\n            this.fb.control(value, Validators.required)\r\n          );\r\n        else form.addControl(field.Description, this.fb.control(value));\r\n      }\r\n    }\r\n    return form;\r\n  }\r\n\r\n  getAllDefaultEntityTypeForm(EntityTypeId: any) {\r\n    this.dynamicAppsService.getActiveEntityFormByDetails(EntityTypeId).subscribe(\r\n      (res: any) => {\r\n        if (res && res.FormData) {\r\n          let _FormData = JSON.parse(res.FormData);\r\n\r\n          if (_FormData.PageGroup) {\r\n            if (Array.isArray(_FormData.PageGroup)) {\r\n              this.defaultPageGroups = _FormData.PageGroup;\r\n            }\r\n          }\r\n\r\n          this.buildReactiveForm();\r\n        }\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  getFieldFormValue(field: any) {\r\n    return this._PageForm.form.get(field);\r\n  }\r\n\r\n  setDyanamicPageGroup() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      return;\r\n    }\r\n    // else if(this.DefaultForm && this.DefaultForm.FormData) {\r\n    //   return\r\n    // }\r\n\r\n    if (!(this.EntityFieldList && this.EntityFieldList.length > 0)) return;\r\n\r\n    let _Groups: PageGroup | any = {\r\n      Alignment: null,\r\n      Class: null,\r\n      Direction: null,\r\n      Fields: this.EntityFieldList,\r\n      ID: '1',\r\n      Name: null,\r\n      Groups: null,\r\n      Height: null,\r\n      Position: null,\r\n      ViewType: null,\r\n      Width: null,\r\n    };\r\n    let _pageGroups: PageDetailsRow | any = {\r\n      Groups: [_Groups],\r\n      ID: '1',\r\n      Height: null,\r\n      Width: null,\r\n    };\r\n\r\n    this.pageGroups = [_pageGroups];\r\n  }\r\n\r\n  setFieldsInPageGroupsForm() {\r\n    if (!(this.EntityFieldList && this.EntityFieldList.length > 0)) return;\r\n\r\n    this.pageGroups.map((PG:any) => {\r\n      PG.Groups.map((group:any) => {\r\n        group.Fields = group.Fields.map(\r\n          (PGF:any) =>\r\n            this.EntityFieldList.find(\r\n              (f) => f.Description === PGF.Description\r\n            ) || PGF\r\n        );\r\n        group.Groups.map((grp:any) => {\r\n          if (grp.ViewType == ePageViewType.FieldGroup) {\r\n            if (this.FieldGroups.find((g:any) => g.RecId == grp.ID)) {\r\n              let _field = this.FieldGroups.filter((g:any) => g.RecId == grp.ID)[0]\r\n                .DetailsViewData;\r\n              grp.Fields = [];\r\n              let _Headerfield: EntityTypeFieldVM = {\r\n                RecId: -1,\r\n                ClientGUID: generateId(),\r\n                DataType: E_DataType.Header,\r\n                Description: grp.Name,\r\n                Label: grp.Name,\r\n              };\r\n              grp.Fields.push(_Headerfield);\r\n              grp.Fields.push(\r\n                ..._field.map(\r\n                  (PGF: any) =>\r\n                    this.EntityFieldList.find(\r\n                      (f) => f.Description === PGF.Description\r\n                    ) || PGF\r\n                )\r\n              );\r\n            }\r\n          }\r\n        });\r\n      });\r\n    });\r\n    this.defaultPageGroups.map((PG) => {\r\n      PG.Groups.map((group) => {\r\n        group.Fields = group.Fields.map(\r\n          (PGF) =>\r\n            this.EntityFieldList.find(\r\n              (f) => f.Description === PGF.Description\r\n            ) || PGF\r\n        );\r\n      });\r\n    });\r\n  }\r\n\r\n  saveDesignFormData() {\r\n    let formvalue = this._PageForm.form.value;\r\n\r\n    alert('values----/n' + JSON.stringify(formvalue));\r\n  }\r\n\r\n  BindDesignFormData() {\r\n    let _data = {\r\n      textbox: 'ASASAS',\r\n      textboxNumber: '1234',\r\n      DateField: '06/13/2021',\r\n      DateTime: '06/13/2025',\r\n      textArea: 'xzxx cscc',\r\n      Bolean: true,\r\n    };\r\n    this._PageForm.form.patchValue(this.PageGroupValues);\r\n  }\r\n\r\n  FieldClickEvent(FieldData: EntityTypeFieldVM, RestData: any) {\r\n    debugger;\r\n\r\n    if (FieldData.RulesData) {\r\n      let rulesData = JSON.parse(FieldData.RulesData);\r\n\r\n      if (Array.isArray(rulesData)) {\r\n        rulesData = rulesData.filter((x) => x.Type == 'OnFieldClick');\r\n        let _rulesData = rulesData.filter((x: any) => {\r\n          return x;\r\n        });\r\n\r\n        for (let rI = 0; rI < _rulesData.length; rI++) {\r\n          this._fieldrulesImplement(\r\n            _rulesData[rI],\r\n            RestData,\r\n            FieldData,\r\n            'Click'\r\n          );\r\n        }\r\n      } else this._fieldrulesImplement(rulesData, RestData, FieldData, 'Click');\r\n    }\r\n  }\r\n\r\n  _fieldrulesImplement(\r\n    rulesData: any,\r\n    RestData: any,\r\n    FieldData: any,\r\n    EventType?: any\r\n  ) {\r\n    if (!rulesData || !rulesData.Condtion) {\r\n      return;\r\n    }\r\n\r\n    let _condition = true;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = this.PageGroupValues[_con.Field];\r\n      if (FieldData.DataType == E_DataType.bool)\r\n        _fieldValue = _fieldValue.toString();\r\n\r\n      if (_con.FieldType && _con.FieldType == 'Value') {\r\n        let _handleData = this.PageGroupValues;\r\n        _handleData.data = RestData;\r\n        _handleData.currentLang = this.globalService.CurrentLanguage;\r\n        _fieldValue = this.hanbleBarHtml(_con.Field, _handleData);\r\n      }\r\n\r\n      let value =\r\n        _con.Value == 'FieldValue'\r\n          ? this.PageGroupValues[_con.ValueTwo]\r\n          : _con.ValueTwo;\r\n\r\n      switch (_con.Type) {\r\n        case 'Equal': {\r\n          _Icondition = _fieldValue == value ? true : false;\r\n          break;\r\n        }\r\n        case 'NotEqual': {\r\n          _Icondition = _fieldValue != value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue < value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue <= value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue > value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue >= value ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNull': {\r\n          _Icondition = _fieldValue == null ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotNull': {\r\n          _Icondition = _fieldValue != null ? true : false;\r\n          break;\r\n        }\r\n\r\n        default:\r\n          _Icondition = false;\r\n          break;\r\n      }\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = _condition && _Icondition ? true : false;\r\n        } else {\r\n          _condition = _condition || _Icondition ? true : false;\r\n        }\r\n      } else {\r\n        _condition = _Icondition;\r\n      }\r\n    }\r\n\r\n    if (_condition) {\r\n      if (EventType == 'Click') {\r\n        this.OnEventApply(rulesData, RestData);\r\n      }\r\n    }\r\n  }\r\n\r\n  OnEventApply(rulesData: any, RestData: any) {\r\n    debugger;\r\n    if (!rulesData.event) return;\r\n    let rulesEvent = {\r\n      IsNeedConfirm: false,\r\n      ConfirmMsg: '',\r\n      ActionType: null,\r\n      NavigationTarget: null,\r\n      NavigationURL: null,\r\n      DataSourceRecId: null,\r\n      RestSuccessMsg: null,\r\n      RestFailureMsg: null,\r\n      FormRecId: null,\r\n      FormType: null,\r\n      ViewType: null,\r\n      ViewRefRecId: null,\r\n    };\r\n    if (rulesData.event) rulesEvent = rulesData.event;\r\n\r\n    if (rulesEvent.ActionType) {\r\n      if (rulesEvent.IsNeedConfirm) {\r\n        Swal.fire({\r\n          title: rulesEvent.ConfirmMsg,\r\n          icon: 'warning',\r\n          showCancelButton: true,\r\n          confirmButtonColor: '#3085d6',\r\n          cancelButtonColor: '#d33',\r\n          cancelButtonText: 'Cancel',\r\n          confirmButtonText: 'Yes!',\r\n        }).then((result) => {\r\n          if (result.isConfirmed) {\r\n            this.OnFieldClickEventAction(rulesEvent, RestData);\r\n          }\r\n        });\r\n      } else this.OnFieldClickEventAction(rulesEvent, RestData);\r\n    }\r\n  }\r\n\r\n  OnFieldClickEventAction(rulesEvent: any, RestData: any) {\r\n    debugger;\r\n    let _handleData = this._PageForm.form.value;\r\n    _handleData.data = RestData;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    if (rulesEvent.ActionType == 'Navigation') {\r\n      let _url = this.hanbleBarHtml(rulesEvent.NavigationURL, _handleData);\r\n      window.open(_url, rulesEvent.NavigationTarget);\r\n    } else if (rulesEvent.ActionType == 'RestApi') {\r\n      this.fieldRestCall(\r\n        rulesEvent.DataSourceRecId,\r\n        rulesEvent.RestSuccessMsg,\r\n        rulesEvent.RestFailureMsg\r\n      );\r\n    } else if (rulesEvent.ActionType == 'Form') {\r\n      this.FieldActionEventFormType = rulesEvent.FormType;\r\n      this.FieldActionEventViewType = rulesEvent.ViewType;\r\n      this.FieldActionEventViewRefRecId = rulesEvent.ViewRefRecId;\r\n      if (rulesEvent.FormType) {\r\n        this.FieldActionEventFormRecId = rulesEvent.FormRecId;\r\n        this.showFieldActionEventForm = true;\r\n      }\r\n    }\r\n    // return\r\n  }\r\n\r\n  fieldRestCall(EntityFormId: any, SuccessMsg: any, FailureMsg: any) {\r\n    this.dynamicAppsService.getSingleEntityTypeFormById(EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        let _EntityTypeForm = res;\r\n        if (_EntityTypeForm.DataSource) {\r\n          let RestData = JSON.parse(_EntityTypeForm.DataSource);\r\n\r\n          let _hanbleBardata: any = this.PageGroupValues;\r\n          _hanbleBardata.FormData = this._PageForm.form.value;\r\n\r\n          RestData.URL = this.hanbleBarHtml(RestData.URL, _hanbleBardata);\r\n          RestData.Body = this.hanbleBarHtml(RestData.Body, _hanbleBardata);\r\n          RestData.QueryStrings = RestData.QueryStrings.map((x: any) => {\r\n            x.Value = this.hanbleBarHtml(x.Value, _hanbleBardata);\r\n\r\n            if (x.Value) return x;\r\n          });\r\n\r\n          RestData.Headers = RestData.Headers.map((x: any) => {\r\n            x.Value = this.hanbleBarHtml(x.Value, _hanbleBardata);\r\n            return x;\r\n          });\r\n\r\n          this.dynamicAppsService.dynamicAPi(RestData).subscribe(\r\n            (res: any) => {\r\n              debugger;\r\n              let _data: any = res;\r\n              if (RestData.ResponseView) {\r\n                let _rview = RestData.ResponseView.split('.');\r\n                _rview.forEach((x: any) => {\r\n                  _data = _data[x];\r\n                });\r\n              }\r\n              let _SuccessMsg = '';\r\n              if (SuccessMsg) {\r\n                let _SuccessMsgdata = this._PageForm.form.value;\r\n                _SuccessMsgdata.data = _data;\r\n                _SuccessMsg = this.hanbleBarHtml(SuccessMsg, _SuccessMsgdata);\r\n              }\r\n              Swal.fire('Success', _SuccessMsg, 'success');\r\n            },\r\n            (error) => {\r\n              debugger;\r\n              console.log('RestCall-' + error);\r\n              if (FailureMsg) {\r\n                let _FailureMsgdata = this._PageForm.form.value;\r\n                let _FailureMsg = this.hanbleBarHtml(\r\n                  FailureMsg,\r\n                  _FailureMsgdata\r\n                );\r\n                Swal.fire('error', _FailureMsg, 'error');\r\n              }\r\n            }\r\n          );\r\n        }\r\n        this.loaderService.hideLoading();\r\n      },\r\n\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  FieldActionEventForm: any = null;\r\n  FieldActionEventFormType: any = null;\r\n  FieldActionEventFormRecId: any = null;\r\n  FieldActionEventViewType: any = null;\r\n  FieldActionEventViewRefRecId: any = null;\r\n  showFieldActionEventForm: boolean = false;\r\n  getFieldFormDetails(EntityFormId: any) {\r\n    this.FieldActionEventForm = null;\r\n    this.dynamicAppsService.getSingleEntityTypeFormById(EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.FieldActionEventForm = res;\r\n        this.showFieldActionEventForm = true;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n  closeFieldActionEventForm() {\r\n    this.showFieldActionEventForm = false;\r\n  }\r\n\r\n  emitSubmitFormValue(CreateData: any, pageForm: any) {\r\n    debugger;\r\n  }\r\n\r\n  primaryFieldGroups: EntityTypeFormVM[] = [];\r\n\r\n  getAllDefaultFieldGroup() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      return;\r\n    }\r\n\r\n    this.dynamicAppsService\r\n      .getEntityTypeForm(null, this.EntityTypeId, E_FormType.FieldGroup)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          let _datas: EntityTypeFormVM[] = res.Data ? res.Data : res;\r\n          this.primaryFieldGroups = _datas.filter(\r\n            (x) => x.FieldControlType == E_FieldGroupType.Primary\r\n          );\r\n          this.setFormDesignWithDefaultFieldGroup();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  setFormDesignWithDefaultFieldGroup() {\r\n    if (this.primaryFieldGroups && this.primaryFieldGroups.length > 0) {\r\n      this.pageGroups = [];\r\n\r\n      let _isrow = false;\r\n      let _allGroups: PageGroup[] = [];\r\n      for (let index = 0; index < this.primaryFieldGroups.length; index++) {\r\n        let FG: any = this.primaryFieldGroups[index];\r\n\r\n        let _titleField: EntityTypeFieldVM = {\r\n          DataType: 31,\r\n          Description: FG.FormName,\r\n          Label: FG.FormName,\r\n          RecId: 0,\r\n        };\r\n        let _Groups: PageGroup | any = {\r\n          Alignment: null,\r\n          Class: 'm-b-10',\r\n          Direction: null,\r\n          Fields: [],\r\n          ID: '1',\r\n          Name: null,\r\n          Groups: null,\r\n          Height: null,\r\n          Position: null,\r\n          ViewType: null,\r\n          Width: 50,\r\n        };\r\n        _Groups.Fields.push(_titleField);\r\n        if (FG.DetailsViewData) {\r\n          let _fieldgroups = JSON.parse(FG.DetailsViewData);\r\n          _Groups.Fields.push(..._fieldgroups);\r\n        }\r\n        _allGroups.push(_Groups);\r\n      }\r\n\r\n      let _pageGroups: PageDetailsRow | any = {\r\n        Groups: _allGroups,\r\n        ID: '1',\r\n        Height: null,\r\n        Width: null,\r\n      };\r\n      this.pageGroups.push(_pageGroups);\r\n\r\n      this.setFieldsInPageGroupsForm();\r\n    } else {\r\n      this.setDyanamicPageGroup();\r\n    }\r\n  }\r\n\r\n  FieldGroups: any[] = [];\r\n  getFieldGroupList() {\r\n    debugger;\r\n    let Criteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n\r\n    if (this.EntityTypeId) {\r\n      let filterObj = {\r\n        Field: 'FormType',\r\n        Operator: '=',\r\n        TableAlias: '',\r\n        Value: '=' + E_FormType.FieldGroup,\r\n      };\r\n      Criteria.Where.push(filterObj);\r\n      this.dynamicAppsService\r\n        .getAllEntityTypeFormByEntityTypeIdORAll(Criteria, 0, this.EntityTypeId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n            res.Data = res.Data.map((x: any) => {\r\n              debugger;\r\n              x.DetailsViewData = x.DetailsViewData\r\n                ? JSON.parse(x.DetailsViewData)\r\n                : [];\r\n              return x;\r\n            });\r\n            this.FieldGroups = res.Data;\r\n            this.setFieldsInPageGroupsForm();\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error: any) => {\r\n            debugger;\r\n            console.log(error);\r\n            Swal.fire({\r\n              icon: 'error',\r\n              title: this.translatePipe.transform(\r\n                error.error?.ExceptionMessage\r\n              ),\r\n              text: this.translatePipe.transform(error?.message),\r\n            });\r\n            this.loaderService.hideLoading();\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  hanbleBarHtml(_code: any, data?: any) {\r\n    debugger;\r\n    if (!data || typeof data != 'object') data = {};\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n}\r\n","<ng-container *ngIf=\"ViewType=='Details'; else elseTemplate\">\r\n\r\n  <div class=\"row form-view-columns\" *ngFor=\"let row of pageGroups; let rowIndex = index\">\r\n\r\n    <div\r\n      class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n      [style.flex-basis]=\"group.Width + '%'\" *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n\r\n      <ng-container [ngTemplateOutlet]=\"pagegroup\"\r\n        [ngTemplateOutletContext]=\"{group:group,rowIndex:rowIndex,groupIndex:groupIndex,row:row}\">\r\n      </ng-container>\r\n\r\n\r\n\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n  <ng-container *ngIf=\"defaultPageGroups && defaultPageGroups.length > 0\">\r\n    <br>\r\n    <hr>\r\n    <h2 class=\"stage-title\">{{'Identification Details'|translate}}</h2>\r\n    <br>\r\n\r\n    <div class=\"row\" *ngFor=\"let row of defaultPageGroups; let rowIndex = index\">\r\n\r\n      <div\r\n        class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n        [style.flex-basis]=\"group.Width + '%'\" *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n\r\n        <ng-container *ngIf=\"group.Fields && group.Fields.length > 0\">\r\n          <app-entity-dynamic-field [fieldsList]=\"group.Fields\" [Type]=\"'Details'\" [PageGroupValues]=\"PageGroupValues\"\r\n            (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\">\r\n          </app-entity-dynamic-field>\r\n\r\n        </ng-container>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </ng-container>\r\n</ng-container>\r\n<ng-template #elseTemplate>\r\n\r\n\r\n\r\n  <div class=\"row dynamic-form-detail\">\r\n    <div class=\"col col-lg-12\">\r\n      <div class=\"card\">\r\n        <div class=\"header clearfix\">\r\n          <h2 class=\"float-left\">{{EntityTypeDetail?.Description}} {{'Design Form'|translate}}</h2>\r\n\r\n          <a href=\"javascript:void(0)\" class=\"pull-right themecolor action-btn m-l-5\" (click)=\"getEntityForm()\">\r\n            <i class=\"la la-refresh\"></i>\r\n          </a>\r\n\r\n\r\n        </div>\r\n        <div class=\"page-details design-group-body\">\r\n\r\n          <form [formGroup]=\"_PageForm.form\">\r\n            <section class=\"details-wrapper engine-dev col-sm-12\" style=\"background: #eee;padding-top: 15px;\">\r\n              <div class=\"row detail-row\" *ngFor=\"let row of pageGroups; let rowIndex = index\"\r\n                style=\"background: #eee;\">\r\n\r\n                <div\r\n                  class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n                  [style.flex-basis]=\"group.Width + '%'\" *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n\r\n                  <div class=\"card\">\r\n\r\n                    <ng-container *ngIf=\"group.Fields && group.Fields.length > 0\">\r\n                      <div class=\"body\">\r\n                        <!-- *ngIf=\"group.Fields && group.Fields.length > 0\" -->\r\n                        <app-entity-dynamic-field [fieldsList]=\"group.Fields\" [pageForm]=\"_PageForm\"\r\n                          [dynamicFormGroup]=\"_PageForm.form\" [submitted]=\"submitted\" [rowIndex]=\"rowIndex\"\r\n                          [groupIndex]=\"groupIndex\" [Type]=\"'Details'\" [PageGroupValues]=\"PageGroupValues\"\r\n                          (deleteField)=\"deleteField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                          (upField)=\"upField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                          (downField)=\"downField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\">\r\n\r\n                        </app-entity-dynamic-field>\r\n                      </div>\r\n                    </ng-container>\r\n\r\n                  </div>\r\n\r\n\r\n                </div>\r\n\r\n              </div>\r\n            </section>\r\n          </form>\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n\r\n\r\n</ng-template>\r\n\r\n\r\n<ng-container *ngIf=\"showFieldActionEventForm\">\r\n\r\n  <!-- <app-dynamic-action-form [FieldActionEventFormRecId]=\"FieldActionEventFormRecId\"\r\n    [FieldActionEventFormType]=\"FieldActionEventFormType\" [FieldActionEventViewType]=\"FieldActionEventViewType\"\r\n    [FieldActionEventViewRefRecId]=\"FieldActionEventViewRefRecId\" [EditFormData]=\"PageGroupValues\"\r\n    [PageGroupValues]=\"PageGroupValues\" [FormValue]=\"PageGroupValues\"\r\n    (closeFieldActionEventForm)=\"closeFieldActionEventForm()\">\r\n  </app-dynamic-action-form> -->\r\n\r\n</ng-container>\r\n\r\n\r\n<ng-template #pagegroup let-group='group' let-rowIndex='rowIndex' let-groupIndex='groupIndex' let-row='row'>\r\n\r\n  <ng-container *ngIf=\"group.Fields && group.Fields.length > 0\">\r\n    <div class=\"form-view-group\">\r\n      <app-entity-dynamic-field [fieldsList]=\"group.Fields\" [Type]=\"'Details'\" [PageGroupValues]=\"PageGroupValues\"\r\n        (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\">\r\n      </app-entity-dynamic-field>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <div class=\"row  form-view-columns\" *ngIf=\"group.Groups.length>0\">\r\n    <ng-container *ngFor=\"let innergroup of group.Groups; let groupIndex = index\">\r\n      <div\r\n        class=\"detail-group col clearfix {{innergroup.Class}} col-width-{{innergroup.Width}} {{innergroup.Direction}} {{innergroup.Alignment}} {{innergroup.Position}}\"\r\n        [style.flex-basis]=\"innergroup.Width + '%'\"\r\n        [ngClass]=\"{'dd-size':row.Groups.length > 1, 'dd-right':groupIndex>0}\">\r\n\r\n        <ng-container [ngTemplateOutlet]=\"pagegroup\"\r\n          [ngTemplateOutletContext]=\"{group:innergroup,rowIndex:rowIndex,groupIndex:groupIndex,row:group}\">\r\n        </ng-container>\r\n\r\n\r\n      </div>\r\n    </ng-container>\r\n  </div>\r\n\r\n\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-activities-view',\r\n  templateUrl: './activities-view.component.html',\r\n  styleUrls: ['./activities-view.component.scss'],\r\n})\r\nexport class ActivitiesViewComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.getActiveEntityForm();\r\n  }\r\n  @Input() EntityFormId: any = null;\r\n  @Input() EntityTypeId: number = 0;\r\n  @Input() ActivityTypeId: any = null;\r\n  @Input() RefTypeId: any = null;\r\n  @Input() FormData: any = null;\r\n\r\n  getActiveEntityForm() {\r\n    debugger;\r\n    this.dynamicAppsService.getActiveEntityForm(this.EntityTypeId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.EntityFormId = res.RecId;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  createFormData: any = {};\r\n  pageForm: any = {};\r\n\r\n  emitTicketCreateForm(CreateData: any, pageForm: any) {\r\n    debugger;\r\n    this.createFormData = CreateData;\r\n    this.pageForm = pageForm;\r\n  }\r\n}\r\n","<div class=\"row \">\r\n    <div class=\"col col-sm-12\">\r\n        <div class=\"row\">\r\n            <div class=\"col-sm-12 dynamic_request_details activity-details-view\">\r\n                <div class=\"card\">\r\n                    <div class=\"body\" style=\"padding: 0;\">\r\n                        <div class=\"request-create \">\r\n                            <ng-container *ngIf=\"EntityFormId \">\r\n                                <app-dynamic-details-view [EntityFormId]=\"EntityFormId\" [EntityTypeId]=\"EntityTypeId\"\r\n                                    [PageGroupValues]=\"FormData\" [ViewType]=\"'Details'\">\r\n                                </app-dynamic-details-view>\r\n                            </ng-container>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { E_DataType, E_FormType, GetFormattedDateWithTime, IColumnDef, ISearchCriteria, ISortingField, IUploadFile, PageForm, WorkflowStageCompletePopup, isNotNullNotUndefined } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-workflow-dynamic-popup',\r\n  templateUrl: './workflow-dynamic-popup.component.html',\r\n  styleUrls: ['./workflow-dynamic-popup.component.scss'],\r\n})\r\nexport class WorkflowDynamicPopupComponent implements OnInit {\r\n  @Input() currentStage: any;\r\n  @Input() ProcessId: any;\r\n  @Input() showWorkflowPopups: boolean|undefined = false;\r\n  @Input() isUpdateFields: boolean = false;\r\n  @Input() pageForm: PageForm|any=null;\r\n  @Input() columnDefs: IColumnDef[]=[];\r\n  @Input() caller: WorkflowStageCompletePopup|any = null;\r\n\r\n  Type:any =\"Workflow\";\r\n  @Input() EntityFormId: any = null;\r\n  @Input() EntityTypeId: any = null;\r\n  @Input() PageGroupValues:any =null;\r\n  @Input() ActionName: any = \"Complete\";\r\n  @Input() ActionType: any = null;\r\n  @Input() CurrentStageName: any = \"Workflow\";\r\n\r\n  @Output() getWorkflowActionComments = new EventEmitter<{\r\n    comments: any;\r\n    updateFileds?: any;\r\n    updateFieldsObject?: any;\r\n  }>();\r\n\r\n  @Output() getWorkflowActionClose= new EventEmitter<{\r\n    type?:any\r\n  }>();\r\n  updateFileds: any = {};\r\n  submitted: boolean=false;\r\n  dynamicFormGroup!: FormGroup;\r\n\r\n  constructor(\r\n    private fb: FormBuilder,\r\n    public dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n\r\n  fieldConfig: any = [];\r\n  ActionCondition: any = null;\r\n\r\n  isFileAttach: boolean = false;\r\n  MenuRecId: number = 0;\r\n  GridRecId: number = 0;\r\n  pageAttachList: any[] = [];\r\n  SelectedFiles: File|any = null;\r\n  DocumentItem: any = null;\r\n  isFileUpload: boolean = false;\r\n\r\n  workflowComments: any;\r\n\r\n  ngOnInit(): void {\r\n    this.dynamicAppsService.onshowWorkflowPopup.subscribe((resData) => {\r\n      try {\r\n        debugger;\r\n        this.isFileAttach = false;\r\n        this.MenuRecId = 0;\r\n        this.GridRecId = 0;\r\n        this.workflowFormData ={};\r\n        this.pageAttachList = [];\r\n        this.SelectedFiles = null;\r\n        this.DocumentItem = null;\r\n        this.isFileUpload = false;\r\n        if (resData) {\r\n          if (resData.fieldConfig && resData.fieldConfig.length !== 0) {\r\n            this.fieldConfig = resData.fieldConfig;\r\n          }\r\n          this.dynamicFormGroup = this.getFieldFormGroup();\r\n          this.submitted = false;\r\n          this.showWorkflowPopups = resData.showWorkflowPopup;\r\n          this.workflowComments = null;\r\n        }\r\n      } catch (error) {\r\n        console.error(error);\r\n      }\r\n    });\r\n    if (this.EntityFormId)\r\n      this.getWorkflowform()\r\n    else\r\n      this.workflowEntityForm = null;\r\n\r\n    if (this.currentStage) {\r\n      this.ParameterData.CurrentStageId = this.currentStage.StageId;\r\n      this.ParameterData.CurrentStageName = this.CurrentStageName;\r\n      this.ParameterData.ActionName = this.ActionName;\r\n      this.ParameterData.ActionType = this.ActionType;\r\n    }\r\n\r\n  }\r\n\r\n  getFieldFormGroup(): FormGroup {\r\n    this.generateDropDownFields();\r\n    if (this.fieldConfig.length == 0) return this.fb.group({});\r\n    const dynamicFormGroup = this.fb.group({});\r\n    for (const iterator of this.fieldConfig) {\r\n      if (iterator.IsMandatory && iterator.Datatype != E_DataType.file)\r\n        dynamicFormGroup.addControl(\r\n          iterator.FieldName,\r\n          this.fb.control('', Validators.required)\r\n        );\r\n      else dynamicFormGroup.addControl(iterator.FieldName, this.fb.control(''));\r\n    }\r\n    return dynamicFormGroup;\r\n  }\r\n\r\n\r\n  onSubmit() {\r\n    debugger;\r\n    if (this.EntityFormId) {\r\n    \r\n      if (!this.workflowpageForm.valid) {\r\n        Swal.fire(this.translatePipe.transform('Fill all mandatory fields'), '', 'warning');\r\n        return;\r\n      }\r\n    }\r\n\r\n    for (let key in this.workflowFormData) {\r\n      if (Object.prototype.toString.call(this.workflowFormData[key]) === '[object Date]') {\r\n        this.workflowFormData[key] = GetFormattedDateWithTime(this.workflowFormData[key]);    \r\n      }\r\n    }\r\n\r\n\r\n    if (!this.EntityFormId || this.workflowpageForm.valid)\r\n      this.getWorkflowActionComments.emit({\r\n        comments: this.workflowComments,\r\n        updateFileds: this.workflowFormData ? JSON.stringify(this.workflowFormData) : null,\r\n        updateFieldsObject: this.workflowFormData,\r\n      });\r\n    else return;\r\n\r\n    this.closePopup();\r\n  }\r\n\r\n  closePopup() {\r\n    this.showWorkflowPopups = false;\r\n    this.getWorkflowActionClose.emit({type:\"Close\"});\r\n    this.dynamicAppsService.onshowWorkflowPopup.next(\r\n      {\r\n        showWorkflowPopup:false,\r\n        fieldConfig:[]\r\n      }\r\n    );\r\n  }\r\n\r\n  getType(_dataType: E_DataType | number) {\r\n    switch (_dataType) {\r\n      case E_DataType.int:\r\n      case E_DataType.decimal:\r\n        return 'number';\r\n      case E_DataType.date:\r\n        return 'date';\r\n      case E_DataType.dateTime:\r\n        return 'datetime-local';\r\n      case E_DataType.timespan:\r\n        return 'time';\r\n      case E_DataType.bool:\r\n        return 'checkbox';\r\n      case E_DataType.string:\r\n        return 'text';\r\n      case E_DataType.image:\r\n        return 'file';\r\n\r\n      default:\r\n        return 'text';\r\n    }\r\n  }\r\n\r\n  dropDown$ = Object.assign({});\r\n\r\n  generateDropDownFields() {\r\n    for (const iterator of this.fieldConfig) {\r\n      if (iterator.Datatype == E_DataType.dropdown) {\r\n        this.dropDown$[iterator.FieldName] = new Observable((obx) => {\r\n          if (iterator.FieldOptions) {\r\n            var jsonItem = JSON.parse(iterator.FieldOptions);\r\n            if (jsonItem.isDynamic && jsonItem.api && jsonItem.api.url) {\r\n              const url = this.dynamicAppsService.serverURL + jsonItem.api.url;\r\n              this.dynamicAppsService.getMethod(url).subscribe((res: any) => {\r\n                if (res && Array.isArray(res) && res.length > 0) {\r\n                  obx.next(\r\n                    res.map((x) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.api.valueField],\r\n                        Description: x[jsonItem.api.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else if (\r\n                  Object.keys(res).length > 0 &&\r\n                  Object.keys(res).includes('List')\r\n                ) {\r\n                  obx.next(\r\n                    res['List'].map((x: any) =>\r\n                      Object.assign({\r\n                        Id: x[jsonItem.api.valueField],\r\n                        Description: x[jsonItem.api.textField],\r\n                      })\r\n                    )\r\n                  );\r\n                } else obx.next([]);\r\n                this.loaderService.hideLoading();\r\n              });\r\n            } else {\r\n              if (\r\n                jsonItem.options &&\r\n                Array.isArray(jsonItem.options) &&\r\n                jsonItem.options.length > 0\r\n              ) {\r\n                debugger;\r\n                if (this.ActionCondition == 'hidecustomer') {\r\n                  jsonItem.options = jsonItem.options.filter((x: any) => {\r\n                    if (x.value != '1') return x;\r\n                  });\r\n                }\r\n                debugger;\r\n                obx.next(\r\n                  jsonItem.options.map((x: any) =>\r\n                    Object.assign({\r\n                      Id: x.value,\r\n                      Description: x.text,\r\n                    })\r\n                  )\r\n                );\r\n              } else obx.next([]);\r\n            }\r\n          }\r\n        });\r\n      }\r\n    }\r\n  }\r\n\r\n  uploadFile(event: any) {\r\n    debugger;\r\n    if (event.target && event.target.files && event.target.files.length > 0) {\r\n      const file: IUploadFile = event.target.files[0];\r\n      try {\r\n        this.dynamicAppsService\r\n          .uploadFiles(file, {\r\n            docName: file.name,\r\n            docType: file.type,\r\n            recId: 0,\r\n          })\r\n          .subscribe(\r\n            (res: any) => {this.loaderService.hideLoading();},\r\n            (err: any) => {this.loaderService.hideLoading();console.log(err)}\r\n          );\r\n      } catch (error) {\r\n        console.log(error);\r\n      }\r\n    }\r\n  }\r\n\r\n  changeFile(files: FileList, item: any) {\r\n    debugger;\r\n    this.DocumentItem = item;\r\n    this.SelectedFiles = files.item(0);\r\n  }\r\n\r\n  activeInputId: any;\r\n\r\n  typeInTextarea(el: any, newText: any) {\r\n    var start = el.prop('selectionStart');\r\n    var end = el.prop('selectionEnd');\r\n    var text = el.val();\r\n    var before = text.substring(0, start);\r\n    var after = text.substring(end, text.length);\r\n    el.val(before + newText + after);\r\n    el[0].selectionStart = el[0].selectionEnd = start + newText.length;\r\n    el.focus();\r\n\r\n    this.workflowComments = el.val();\r\n\r\n    return false;\r\n  }\r\n\r\n  showshortcode: boolean = false;\r\n  shortcode: any[] = [];\r\n  shortcutkey: any = [];\r\n  getShortCodeCannedResponse(event?: any) {\r\n    debugger;\r\n    event = '';\r\n    if (this.showshortcode && (!this.shortcode || this.shortcode.length < 1)) {\r\n      this.dynamicAppsService\r\n        .getShortKeyCannedResponse(event)\r\n        .subscribe((res: any) => {\r\n          debugger;\r\n          this.shortcode = res;\r\n          this.shortcutkey = res;\r\n          this.loaderService.hideLoading();\r\n        },(error:any) => {\r\n          this.loaderService.hideLoading();\r\n        });\r\n    }\r\n  }\r\n\r\n  closeShortCanned: boolean = false;\r\n  closeShortKey() {\r\n    this.closeShortCanned = false;\r\n  }\r\n\r\n  shortkey: any;\r\n  selectShortKey(item: any) {\r\n    debugger;\r\n    debugger;\r\n    if (this.activeInputId)\r\n      return false; //this.typeInTextarea($('#' + this.activeInputId), item.Message);\r\n    return false;\r\n  }\r\n\r\n  showShortKey(item: any) {\r\n    if (this.shortkey && this.shortkey.length > 0) {\r\n      this.shortkey.map((x: any) => {\r\n        if (x.Message != item.Message) x.showshort = false;\r\n      });\r\n    }\r\n    item.showshort = !item.showshort;\r\n    this.getShortCodeCannedResponse(item);\r\n  }\r\n\r\n\r\n  ParameterData = {\r\n    Channel: 1,\r\n    ChannelEn: \"Phone\",\r\n    Source:\"ERP\",\r\n    CreatedByUserType:null,\r\n    UserType:\"ERP\",\r\n    CustomerId:null,\r\n    CurrentStageId:null,\r\n    CurrentStageName:null,\r\n    ActionName:null,\r\n    ActionType:null\r\n  }\r\n  \r\n  workflowEntityForm: any;\r\n  getWorkflowform() { debugger\r\n\r\n this.dynamicAppsService.getSingleEntityTypeFormById(this.EntityFormId).subscribe(\r\n    (res: any) => {\r\n     debugger\r\n     let _data = res;\r\n     let data = res.DataSourceLink;\r\n     this.workflowEntityForm = JSON.parse(data);\r\n     this.loaderService.hideLoading(); \r\n      },\r\n        (error: any) => {\r\n          debugger\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      )\r\n    \r\n  }\r\n\r\n  getActiveEntityForm() {\r\n    debugger;\r\n    if(this.EntityTypeId) {\r\n\r\n      let SortingField: ISortingField = { field: null, direction: null } as any;\r\n      let Searchcriteria: ISearchCriteria = {\r\n        Pagging: {\r\n          PageNo: 1,\r\n          PageSize: 100,\r\n        },\r\n        Where: [],\r\n        SortOrder: SortingField,\r\n      };\r\n      let filteredObj = {\r\n        Field: 'FormType',\r\n        Operator: '',\r\n        TableAlias: '',\r\n        Value: E_FormType.Workflow,\r\n      };\r\n      Searchcriteria.Where.push(filteredObj);\r\n\r\n    this.dynamicAppsService.getAllEntityTypeForm(Searchcriteria,this.EntityTypeId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.EntityFormId = res.RecId;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n    }\r\n  }\r\n\r\n  workflowFormAllFieldData: any = null;\r\n  workflowFormData: any = {};\r\n  workflowpageForm:any = {};\r\n\r\n  emitSubmitForm(CreateData: any, pageForm: any, forms?: any,CurrentFormPageGroupObjects?: any) {\r\n    debugger;\r\n    this.workflowFormAllFieldData = CreateData;\r\n    this.workflowpageForm = pageForm;\r\n\r\n    Object.keys(CurrentFormPageGroupObjects).forEach(key => {\r\n      CurrentFormPageGroupObjects[key] = CreateData[key];\r\n    });\r\n    \r\n    this.workflowFormData = CurrentFormPageGroupObjects;\r\n\r\n  }\r\n\r\n}","<div>\r\n  <div class=\"modal fade show\" [ngClass]=\"{'showPop':showWorkflowPopups}\" id=\"exampleModal\" tabindex=\"-1\"\r\n    aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog {{workflowEntityForm?.PopupSize ? workflowEntityForm?.PopupSize : 'modal-lg'}} {{workflowEntityForm?.ClassName}}\">\r\n      <div class=\"modal-content\">\r\n        <div class=\"modal-header\">\r\n          <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{(CurrentStageName+\" - \"+ActionName+\" - \"+\"Action\")|translate}}</h5>\r\n          <button type=\"button\" (click)=\"closePopup()\" class=\"close\" data-bs-dismiss=\"modal\"\r\n            aria-label=\"Close\">&times;</button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n\r\n\r\n          <ng-container *ngIf=\"EntityFormId && showWorkflowPopups \">\r\n            <app-entity-dynamic-view [EntityFormId]=\"EntityFormId\"\r\n              [PageGroupValues]=\"PageGroupValues\"\r\n              [ViewFrom]=\"'Details'\"\r\n              [Type]=\"Type\"\r\n              [ParameterData]=\"ParameterData\"\r\n              (submitFormValue)=\"emitSubmitForm($event.formdata,$event.pageForm,$event.forms,$event.CurrentFormPageGroupObjects)\"></app-entity-dynamic-view>\r\n          </ng-container>\r\n\r\n          <form *ngIf=\"fieldConfig.length != 0\" [formGroup]=\"dynamicFormGroup\">\r\n            <ng-container *ngIf=\"fieldConfig.length != 0\">\r\n              <ng-container *ngFor=\"let item of fieldConfig; let i = index\">\r\n                <!-- textarea, image, file -->\r\n                <ng-container\r\n                  *ngIf=\"(item.Datatype == 10 || item.Datatype == 7 || item.Datatype == 8 || item.Datatype == 11) else thenBlack\">\r\n                  <ng-container *ngIf=\"item.IsVisible\">\r\n\r\n                    <!-- Drop Down -->\r\n                    <div class=\"form-group\" *ngIf=\"item.Datatype == 8\"\r\n                      [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n                      <div class=\"col-xs-6 col-sm-6 col-md-6 col-lg-6\">\r\n                        <div class=\"clearfix\">\r\n                          <label class=\"control-label\"\r\n                            style=\"padding-right: 0px;\">{{item.DisplayLabel || item.FieldName  | translate }}\r\n                            <span class=\"red\" *ngIf=\"item.IsMandatory\">*</span>\r\n                          </label>\r\n                        </div>\r\n                        <div class=\"control-input\">\r\n                          <ng-select [items]=\"dropDown$[item.FieldName] | async\" [formControlName]=\"item.FieldName\"\r\n                            bindLabel=\"Description\" bindValue=\"Id\"\r\n                            [ngClass]=\"{'is-invalid': submitted && dynamicFormGroup.get(item.FieldName)?.errors?.['required'] }\">\r\n                          </ng-select>\r\n                          <ng-container *ngIf=\"submitted && dynamicFormGroup.get(item.FieldName)?.errors?.['required']\"\r\n                            class=\"invalid-feedback\">\r\n                            <span *ngIf=\"submitted && dynamicFormGroup?.get(item.FieldName)?.['errors']?.['required']\"\r\n                              style=\"color: red\">{{item.DisplayLabel + ' is required'  | translate }}</span>\r\n                          </ng-container>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n\r\n                    <!-- text-area -->\r\n                    <div class=\"form-group\" *ngIf=\"item.Datatype == 10\"\r\n                      [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n                      <div class=\"col-xs-6 col-sm-6 col-md-6 col-lg-6\">\r\n                        <div class=\"clearfix\">\r\n                          <label class=\"control-label\"\r\n                            style=\"padding-right: 0px;\">{{item.DisplayLabel || item.FieldName  | translate }}\r\n                            <span class=\"red\" *ngIf=\"item.IsMandatory\">*</span>\r\n                          </label>\r\n                        </div>\r\n                        <div class=\"control-input\">\r\n                          <textarea class=\"dy-text-area\" [name]=\"item.FieldName\" [formControlName]=\"item.FieldName\"\r\n                            class=\"form-control\"\r\n                            [ngClass]=\"{'is-invalid': submitted && dynamicFormGroup.get(item.FieldName)?.errors?.['required'] }\"></textarea>\r\n                          <ng-container *ngIf=\"submitted && dynamicFormGroup?.get(item.FieldName)?.errors?.['required']\"\r\n                            class=\"invalid-feedback\">\r\n                            <span style=\"color: red\">{{item.DisplayLabel + ' is required'  | translate }}</span>\r\n                          </ng-container>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n\r\n                    <!-- Image -->\r\n                    <div class=\"form-group\" *ngIf=\"item.Datatype == 7\"\r\n                      [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\">\r\n                      <div class=\"col-xs-6 col-sm-6 col-md-6 col-lg-6\">\r\n                        <div class=\"clearfix\">\r\n                          <label class=\"control-label\"\r\n                            style=\"padding-right: 0px;\">{{item.DisplayLabel || item.FieldName | translate }}\r\n                            <span class=\"red\" *ngIf=\"item.IsMandatory\">*</span>\r\n                          </label>\r\n                        </div>\r\n                        <div class=\"control-input\">\r\n                          <input autocomplete=\"off\" [placeholder]=\"item.DisplayLabel\" type=\"file\"\r\n                            [name]=\"item.FieldName\" [formControlName]=\"item.FieldName\" class=\"form-control\"\r\n                            (change)=\"uploadFile($event)\" accept=\"image/x-png,image/gif,image/jpeg\"\r\n                            [ngClass]=\"{'is-invalid': submitted && dynamicFormGroup.get(item.FieldName)?.errors?.['required'] }\" />\r\n                          <ng-container *ngIf=\"submitted && dynamicFormGroup?.get(item.FieldName)?.errors?.['required']\"\r\n                            class=\"invalid-feedback\">\r\n                            <span style=\"color: red\">{{item.DisplayLabel + ' is required'  | translate }}</span>\r\n                          </ng-container>\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </ng-container>\r\n                </ng-container>\r\n\r\n                <ng-template #thenBlack>\r\n                  <div class=\"form-group\" [ngClass]=\"{hide: item.IsHide,inactiveLink:item.IsReadonly}\"\r\n                    *ngIf=\"item.IsVisible\">\r\n                    <div class=\"col-xs-6 col-sm-6 col-md-6 col-lg-6\">\r\n                      <div class=\"clearfix\">\r\n                        <label class=\"control-label\" style=\"padding-right: 0px;\">{{item.DisplayLabel | translate }}\r\n                          <span class=\"red\" *ngIf=\"item.IsMandatory\">*</span>\r\n                        </label>\r\n                      </div>\r\n                      <!-- string, int, decimal, time, checkbox, image -->\r\n                      <div class=\"control-input\"\r\n                        *ngIf=\"item.Datatype == 1 || item.Datatype == 2 || item.Datatype == 5 || item.Datatype == 6 || item.Datatype == 9\">\r\n                        <input min=\"0\" autocomplete=\"off\" [placeholder]=\"item.DisplayLabel\"\r\n                          [type]=\"getType(item.Datatype)\" [name]=\"item.FieldName\" [formControlName]=\"item.FieldName\"\r\n                          class=\"form-control\"\r\n                          [ngClass]=\"{'is-invalid': submitted && dynamicFormGroup.get(item.FieldName)?.errors?.['required'] }\" />\r\n                        <ng-container *ngIf=\"submitted && dynamicFormGroup.get(item.FieldName)?.errors?.['required']\"\r\n                          class=\"invalid-feedback\">\r\n                          <span style=\"color: red\">{{item.DisplayLabel + ' is required'  | translate }}</span>\r\n                        </ng-container>\r\n                      </div>\r\n\r\n                    </div>\r\n                  </div>\r\n                </ng-template>\r\n\r\n              </ng-container>\r\n            </ng-container>\r\n          </form>\r\n\r\n          <div class=\"clearfix\">\r\n            <div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12\">\r\n              <div class=\"row\">\r\n                <div class=\"col text-right\" style=\"max-width: 167px;\">\r\n                  <label class=\"control-label\"\r\n                    style=\"padding-right: 0px;\">{{'Comments' | translate}}</label>\r\n                </div>\r\n                <div class=\"col control-input\">\r\n                  <textarea id=\"comments\"\r\n                    class=\"form-control\"\r\n                    rows=\"4\"\r\n                    [ngModelOptions]=\"{standalone: true}\"\r\n                    [(ngModel)]=\"workflowComments\"\r\n                    (click)=\"activeInputId = 'comments'\"></textarea>\r\n                </div>\r\n                <div class=\"canned-response\">\r\n          \r\n                  <button type=\"button\"\r\n                    (click)=\"showshortcode =!showshortcode; getShortCodeCannedResponse()\"\r\n                    class=\"btn-outline-success badge bg-white\">\r\n                    <i class=\"la la-envelope-open-text themecolor\"\r\n                      style=\"font-size: 25px;\"></i> </button>\r\n                  <ul role=\"menu\"\r\n                    class=\"dropdown-menu show\"\r\n                    *ngIf=\"showshortcode\">\r\n                    <li *ngFor=\"let short of shortcode\"><a class=\"dropdown-item\"\r\n                        (click)=\"selectShortKey(short)\">{{short.Message}}</a></li>\r\n                  </ul>\r\n          \r\n          \r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n        </div>\r\n        <div class=\"modal-footer\">\r\n          <button type=\"submit\" class=\"btn btn-primary\" data-bs-dismiss=\"modal\" (click)=\"onSubmit()\">{{'Submit'|translate}}</button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport * as Handlebars from 'handlebars';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { GridService } from '../../Templates/grid/grid.service';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { E_DatasourceType, EntityTypeFormVM, IColumnDef, INameTypeVal, IRestConfig, errorMessageType } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'entity-assignment',\r\n  templateUrl: './entity-assignment.component.html',\r\n  styleUrls: ['./entity-assignment.component.scss'],\r\n})\r\nexport class EntityAssignmentComponent implements OnInit {\r\n  constructor(\r\n    public gridService: GridService,\r\n    public dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    registerHandlebarHelperMethods();\r\n    // this.route.queryParams.subscribe((res:any) => {\r\n    //   debugger;\r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    this.assignmenFromRefresh();\r\n    debugger;\r\n  }\r\n\r\n  @Input() EntityTypeId: any;\r\n  @Input() AssignmentCurrentData: any;\r\n  @Input() EntityTypeForm: EntityTypeFormVM | any = null;\r\n  @Output() closeAssignment = new EventEmitter<{ Type: any }>();\r\n\r\n  closeAssignmentPopup(Type?: any) {\r\n    this.closeAssignment.emit({ Type: Type });\r\n  }\r\n\r\n  assignmenFromRefresh() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.DataSource) {\r\n      let _data = JSON.parse(this.EntityTypeForm.DataSource);\r\n      this.RemainingList = _data.RemainingList;\r\n      this.AddedList = _data.AddedList;\r\n      this.AddActionLabel = _data.AddActionLabel;\r\n      this.RemoveActionLabel = _data.RemoveActionLabel;\r\n      this.AddAction = _data.AddAction;\r\n      this.RemoveAction = _data.RemoveAction;\r\n\r\n      this.getRemaingList();\r\n      this.setRemainingListColumn();\r\n      this.getAddedList();\r\n      this.setAddedListColumn();\r\n    }\r\n  }\r\n  RemainingList: IRestConfig = {\r\n    valueField: null,\r\n    textField: null,\r\n    Body: null,\r\n    ResponseView: null,\r\n    Headers: [],\r\n    Path: [],\r\n    URL: null,\r\n    Method: null,\r\n    QueryStrings: [],\r\n    Havecriteria: false,\r\n    TextboxShowData: [],\r\n    QueryParameter: null,\r\n    DataSourceType: null,\r\n    DataSourceId: null,\r\n    TreeView: { ChildKey: null, ExpandedKey: null, ParentKey: null },\r\n  };\r\n\r\n  AddedList: IRestConfig = {\r\n    valueField: null,\r\n    textField: null,\r\n    Body: null,\r\n    ResponseView: null,\r\n    Headers: [],\r\n    Path: [],\r\n    URL: null,\r\n    Method: null,\r\n    QueryStrings: [],\r\n    Havecriteria: false,\r\n    TextboxShowData: [],\r\n    QueryParameter: null,\r\n    DataSourceType: null,\r\n    DataSourceId: null,\r\n    TreeView: { ChildKey: null, ExpandedKey: null, ParentKey: null },\r\n  };\r\n\r\n  AddActionLabel: string | any = null;\r\n  RemoveActionLabel: string | any = null;\r\n\r\n  AddAction: IRestConfig = {\r\n    valueField: null,\r\n    textField: null,\r\n    Body: null,\r\n    ResponseView: null,\r\n    Headers: [],\r\n    Path: [],\r\n    URL: null,\r\n    Method: null,\r\n    QueryStrings: [],\r\n    QueryParameter: null,\r\n    DataSourceType: null,\r\n    DataSourceId: null,\r\n    TreeView: { ChildKey: null, ExpandedKey: null, ParentKey: null },\r\n  };\r\n\r\n  RemoveAction: IRestConfig = {\r\n    valueField: null,\r\n    textField: null,\r\n    Body: null,\r\n    Headers: [],\r\n    Path: [],\r\n    URL: null,\r\n    Method: null,\r\n    QueryStrings: [],\r\n    QueryParameter: null,\r\n    DataSourceType: null,\r\n    DataSourceId: null,\r\n    TreeView: { ChildKey: null, ExpandedKey: null, ParentKey: null },\r\n  };\r\n\r\n  RemainingListData: any[] = [];\r\n  getRemaingList() {\r\n    this.RemainingListData = [];\r\n    if (!this.RemainingList) {\r\n      return;\r\n    }\r\n\r\n    if (this.RemainingList.DataSourceType == E_DatasourceType.Query) {\r\n      if (this.RemainingList.DataSourceId) {\r\n        let Parameter = null;\r\n        if (this.RemainingList) {\r\n          let _param = this.RemainingList.QueryParameter;\r\n          Parameter = _param.map((x: any) => {\r\n            x.Value = this.hanbleBarData(x.Value);\r\n            return x;\r\n          });\r\n        }\r\n        this.dynamicAppsService\r\n          .getDyamicQueryData(\r\n            this.RemainingList.DataSourceId,\r\n            this.EntityTypeForm.RecId,\r\n            null,\r\n            Parameter\r\n          )\r\n          .subscribe(\r\n            (res: any) => {\r\n              debugger;\r\n\r\n              let _data: any = res.Data ? res.Data : res;\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0) {\r\n                this.RemainingListData = _data;\r\n                this.TempRemainGridData = _data;\r\n              }\r\n              this.loaderService.hideLoading();\r\n            },\r\n            (error:any) => {\r\n              debugger;\r\n              this.loaderService.hideLoading();\r\n              if (error.status == 401) {\r\n                return;\r\n              }\r\n              console.log(error);\r\n              this.RemainingListData = [];\r\n              Swal.fire(errorMessageType(error));\r\n            }\r\n          );\r\n      }\r\n    } else {\r\n      if (this.RemainingList) {\r\n        let RestData = this.RemainingList;\r\n\r\n        RestData.URL = this.hanbleBarData(RestData.URL);\r\n        RestData.Body = this.hanbleBarData(RestData.Body);\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x) => {\r\n          x.Value = this.hanbleBarData(x.Value);\r\n          return x;\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x) => {\r\n          x.Value = this.hanbleBarData(x.Value);\r\n          return x;\r\n        });\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData, null, null, true).subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n\r\n            let _data: any = res;\r\n            if (RestData.ResponseView) {\r\n              let _rview = RestData.ResponseView.split('.');\r\n              _rview.forEach((x: any) => {\r\n                _data = _data[x];\r\n              });\r\n            }\r\n\r\n            if (_data && Array.isArray(_data) && _data.length > 0) {\r\n              this.RemainingListData = _data;\r\n              this.TempRemainGridData = _data;\r\n            } else {\r\n              this.RemainingListData = [];\r\n            }\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error:any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return;\r\n            }\r\n            console.log(error);\r\n            this.RemainingListData = [];\r\n            Swal.fire(errorMessageType(error));\r\n          }\r\n        );\r\n      }\r\n    }\r\n  }\r\n  RemainingListColumn: IColumnDef[] = [];\r\n  setRemainingListColumn() {\r\n    debugger;\r\n\r\n    this.RemainingListColumn = [];\r\n\r\n    if (this.RemainingList.Column && this.RemainingList.Column.length > 0) {\r\n      this.RemainingListColumn.push(...this.RemainingList.Column);\r\n    } else {\r\n      let _data: string[] | any = this.RemainingList?.textField?.split(',');\r\n      _data.map((x: any) => {\r\n        let _col: IColumnDef = { Field: x, Name: x };\r\n        this.RemainingListColumn.push(_col);\r\n      });\r\n    }\r\n  }\r\n\r\n  RemainingListCheckAll: boolean = false;\r\n  RemainingselectedCount: number = 0;\r\n  checkIsAllRemainingListSelected() {\r\n    debugger;\r\n    let _RemainingList = this.RemainingListData.filter((x) => !x.IsSelected);\r\n\r\n    this.RemainingselectedCount = this.RemainingListData.filter(\r\n      (x) => x.IsSelected\r\n    ).length;\r\n    if (_RemainingList.length > 0) {\r\n      this.RemainingListCheckAll = false;\r\n    } else {\r\n      this.RemainingListCheckAll = true;\r\n    }\r\n  }\r\n\r\n  getRemainingListCheckAll(event: any) {\r\n    if (event.target.checked) {\r\n      this.RemainingListSetSelect(true);\r\n    } else {\r\n      this.RemainingListSetSelect(false);\r\n    }\r\n  }\r\n  RemainingListSetSelect(value: boolean) {\r\n    this.RemainingListData = this.RemainingListData.map((x) => {\r\n      x.IsSelected = value;\r\n      return x;\r\n    });\r\n    if (value) {\r\n      this.RemainingselectedCount = this.RemainingListData.length;\r\n    } else {\r\n      this.RemainingselectedCount = 0;\r\n    }\r\n  }\r\n\r\n  AddedListCheckAll: boolean = false;\r\n  AddedListSelectedCount: number = 0;\r\n  checkIsAllAddedListSelected() {\r\n    debugger;\r\n    let _AddedList = this.AddedListData.filter((x) => !x.IsSelected);\r\n    this.AddedListSelectedCount = this.AddedListData.filter(\r\n      (x) => x.IsSelected\r\n    ).length;\r\n    if (_AddedList.length > 0) {\r\n      this.AddedListCheckAll = false;\r\n    } else {\r\n      this.AddedListCheckAll = true;\r\n    }\r\n  }\r\n\r\n  getAddedListCheckAll(event: any) {\r\n    if (event.target.checked) {\r\n      this.AddedListSetSelect(true);\r\n    } else {\r\n      this.AddedListSetSelect(false);\r\n    }\r\n  }\r\n  AddedListSetSelect(value: boolean) {\r\n    this.AddedListData = this.AddedListData.map((x) => {\r\n      x.IsSelected = value;\r\n      return x;\r\n    });\r\n    if (value) {\r\n      this.AddedListSelectedCount = this.AddedListData.length;\r\n    } else {\r\n      this.AddedListSelectedCount = 0;\r\n    }\r\n  }\r\n\r\n  AddedListData: any[] = [];\r\n  getAddedList() {\r\n    this.AddedListData = [];\r\n    if (!this.AddedList) {\r\n      return;\r\n    }\r\n\r\n    if (this.AddedList.DataSourceType == E_DatasourceType.Query) {\r\n      if (this.AddedList.DataSourceId) {\r\n        let Parameter = null;\r\n        if (this.AddedList) {\r\n          let _param = this.AddedList.QueryParameter;\r\n          Parameter = _param.map((x: any) => {\r\n            x.Value = this.hanbleBarData(x.Value);\r\n            return x;\r\n          });\r\n        }\r\n        this.dynamicAppsService\r\n          .getDyamicQueryData(\r\n            this.AddedList.DataSourceId,\r\n            this.EntityTypeForm.RecId,\r\n            null,\r\n            Parameter\r\n          )\r\n          .subscribe(\r\n            (res: any) => {\r\n              debugger;\r\n\r\n              let _data: any = res.Data ? res.Data : res;\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0) {\r\n                this.AddedListData = _data;\r\n                this.TempAddedGridData = _data;\r\n              }\r\n              this.loaderService.hideLoading();\r\n            },\r\n            (error) => {\r\n              debugger;\r\n              this.loaderService.hideLoading();\r\n              if (error.status == 401) {\r\n                return;\r\n              }\r\n              console.log(error);\r\n              this.AddedListData = [];\r\n              Swal.fire(errorMessageType(error));\r\n            }\r\n          );\r\n      }\r\n    } else {\r\n      if (this.AddedList) {\r\n        let RestData = this.AddedList;\r\n\r\n        RestData.URL = this.hanbleBarData(RestData.URL);\r\n        RestData.Body = this.hanbleBarData(RestData.Body);\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x) => {\r\n          x.Value = this.hanbleBarData(x.Value);\r\n          return x;\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x) => {\r\n          x.Value = this.hanbleBarData(x.Value);\r\n          return x;\r\n        });\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData, null, null, true).subscribe(\r\n          (res: any) => {\r\n            debugger;\r\n\r\n            let _data: any = res;\r\n            if (RestData.ResponseView) {\r\n              let _rview = RestData.ResponseView.split('.');\r\n              _rview.forEach((x: any) => {\r\n                _data = _data[x];\r\n              });\r\n            }\r\n\r\n            if (_data && Array.isArray(_data) && _data.length > 0) {\r\n              this.AddedListData = _data;\r\n              this.TempAddedGridData = _data;\r\n            } else {\r\n              this.AddedListData = [];\r\n            }\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return;\r\n            }\r\n            console.log(error);\r\n            this.AddedListData = [];\r\n            Swal.fire(errorMessageType(error));\r\n          }\r\n        );\r\n      }\r\n    }\r\n  }\r\n\r\n  AddedListColumn: IColumnDef[] = [];\r\n  setAddedListColumn() {\r\n    debugger;\r\n\r\n    this.AddedListColumn = [];\r\n\r\n    if (this.AddedList.Column && this.AddedList.Column.length > 0) {\r\n      this.AddedListColumn.push(...this.AddedList.Column);\r\n    } else {\r\n      let _data: string[] | any = this.AddedList?.textField?.split(',');\r\n      _data.map((x: any) => {\r\n        let _col: IColumnDef = { Field: x, Name: x };\r\n        this.AddedListColumn.push(_col);\r\n      });\r\n    }\r\n  }\r\n\r\n  RemainingListSearchText: string | any = null;\r\n  public TempRemainGridData: any[] = [];\r\n  RemainingGridFilter: any = {};\r\n  filterRemianingList(Index: any) {\r\n    debugger;\r\n\r\n    this.RemainingListData = this.TempRemainGridData;\r\n    for (let key in this.RemainingGridFilter) {\r\n      debugger;\r\n      this.RemainingListData = this.RemainingListData.filter((x) => {\r\n        if (\r\n          x[key] &&\r\n          x[key]\r\n            .toLowerCase()\r\n            .indexOf(this.RemainingGridFilter[key].toLowerCase()) > -1\r\n        ) {\r\n          return x;\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  AddedListSearchText: string | any = null;\r\n\r\n  public TempAddedGridData: any[] = [];\r\n  AddedGridFilter: any = {};\r\n  filterAddedList(Index: any) {\r\n    this.AddedListData = this.TempAddedGridData;\r\n    for (let key in this.AddedGridFilter) {\r\n      this.AddedListData = this.AddedListData.filter((x) => {\r\n        if (\r\n          x[key] &&\r\n          x[key]\r\n            .toLowerCase()\r\n            .indexOf(this.AddedGridFilter[key].toLowerCase()) > -1\r\n        ) {\r\n          return x;\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  callAddAction() {\r\n    debugger;\r\n\r\n    let RemainingListSelected = this.RemainingListData.filter(\r\n      (x) => x.IsSelected == true\r\n    );\r\n    if (RemainingListSelected.length == 0) {\r\n      Swal.fire('No Selected', 'Atlest select one rows', 'warning');\r\n      return;\r\n    }\r\n\r\n    let selectedId = RemainingListSelected.map((x: any) => {\r\n      if (\r\n        this.RemainingList.valueField !== null &&\r\n        this.RemainingList.valueField !== undefined\r\n      )\r\n        return x[this.RemainingList.valueField];\r\n    });\r\n\r\n    this.SelectedId = selectedId.toString();\r\n\r\n    if (this.AddAction) {\r\n      let RestData: IRestConfig = this.AddAction;\r\n\r\n      RestData.QueryStrings = RestData.QueryStrings.filter(\r\n        (x) => !(x.Name == RestData.valueField)\r\n      );\r\n\r\n      RestData.URL = this.hanbleBarData(RestData.URL);\r\n      RestData.Body = this.hanbleBarData(RestData.Body);\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x) => {\r\n        x.Value = this.hanbleBarData(x.Value);\r\n        return x;\r\n      });\r\n\r\n      for (let index = 0; index < selectedId.length; index++) {\r\n        let _val: INameTypeVal = { Name: null, Value: null };\r\n        if (RestData.valueField !== null && RestData.valueField !== undefined)\r\n          _val = {\r\n            Name: RestData.valueField,\r\n            Type: 'Value',\r\n            Value: selectedId[index],\r\n          };\r\n\r\n        RestData.QueryStrings.push(_val);\r\n      }\r\n\r\n      RestData.Headers = RestData.Headers.map((x) => {\r\n        x.Value = this.hanbleBarData(x.Value);\r\n        return x;\r\n      });\r\n\r\n      this.dynamicAppsService.dynamicAPi(RestData, null, null, true).subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.assignmenFromRefresh();\r\n          if (res && res.ErrorMsg) Swal.fire(res.ErrorMsg);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          if (error.status == 401) {\r\n            return;\r\n          }\r\n          console.log(error);\r\n          Swal.fire(errorMessageType(error));\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  SelectedId: any = null;\r\n\r\n  callRemoveAction() {\r\n    debugger;\r\n\r\n    let AddedListSelected = this.AddedListData.filter(\r\n      (x) => x.IsSelected == true\r\n    );\r\n    if (AddedListSelected.length == 0) {\r\n      Swal.fire('No Selected', 'Atlest select one rows', 'warning');\r\n      return;\r\n    }\r\n\r\n    let selectedId = AddedListSelected.map((x) => {\r\n      if (\r\n        this.AddedList.valueField !== null &&\r\n        this.AddedList.valueField !== undefined\r\n      )\r\n        return x[this.AddedList.valueField];\r\n    });\r\n\r\n    this.SelectedId = selectedId.toString();\r\n\r\n    if (this.RemoveAction) {\r\n      let RestData: IRestConfig = this.RemoveAction;\r\n\r\n      RestData.QueryStrings = RestData.QueryStrings.filter(\r\n        (x) => !(x.Name == RestData.valueField)\r\n      );\r\n\r\n      RestData.URL = this.hanbleBarData(RestData.URL);\r\n      RestData.Body = this.hanbleBarData(RestData.Body);\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x) => {\r\n        x.Value = this.hanbleBarData(x.Value);\r\n        return x;\r\n      });\r\n\r\n      for (let index = 0; index < selectedId.length; index++) {\r\n        let _val: INameTypeVal = { Name: null, Value: null };\r\n        if (RestData.valueField !== null && RestData.valueField !== undefined)\r\n          _val = {\r\n            Name: RestData.valueField,\r\n            Type: 'Value',\r\n            Value: selectedId[index],\r\n          };\r\n\r\n        RestData.QueryStrings.push(_val);\r\n      }\r\n\r\n      RestData.Headers = RestData.Headers.map((x) => {\r\n        x.Value = this.hanbleBarData(x.Value);\r\n        return x;\r\n      });\r\n\r\n      this.dynamicAppsService.dynamicAPi(RestData, null, null, true).subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.assignmenFromRefresh();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n          if (error.status == 401) {\r\n            return;\r\n          }\r\n          console.log(error);\r\n          Swal.fire(errorMessageType(error));\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  @Input() queryParams: any = null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.EnvironmentId = this.globalService.EnvironmentId;\r\n    data.CurrentData = this.AssignmentCurrentData;\r\n    data.SelectedId = this.SelectedId;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n}\r\n","<div class=\"modal fade show showPop\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog modal-lg\" role=\"document\" style=\"min-width: 96%;width: 96%;max-width: 96%;\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{'Assignement' | translate}}\r\n                    <span class=\"text-success\"></span>\r\n                </h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n                    (click)=\"closeAssignmentPopup()\">\r\n                    <span aria-hidden=\"true\">&times;</span>\r\n                </button>\r\n            </div>\r\n            <div class=\"modal-body\">\r\n\r\n                <div class=\"inner_content\">\r\n                    <div class=\"roleUserContent\">\r\n                        <div class=\"row\">\r\n                            <div class=\"col-5\" style=\"padding-right: 0;\">\r\n                                <div class=\"count-header clearfix\">\r\n                                    <h5 class=\"d-inline-block\">{{\"Remianing List\" |translate}}</h5>\r\n                                    <span class=\"tot-count\"> {{'Total Count' | translate}}\r\n                                        <a>{{RemainingListData.length}}</a>\r\n                                    </span>\r\n                                    <a class=\"add_req_btn float-right\" href=\"javascript:void(0)\" (click)=\"getRemaingList();getAddedList();\">\r\n                                        <i class=\"la la-refresh\"></i>\r\n                                    </a>\r\n                                </div>\r\n                                <div class=\"roleUserBody\">\r\n                                    <div class=\"\">\r\n                                        <table class=\"table table-bordered table-striped table-hover\">\r\n                                            <thead>\r\n                                                <tr>\r\n                                                    <td style=\"width: 40px;\"></td>\r\n                                                    <td *ngFor=\"let col of RemainingListColumn; let i = index\">\r\n                                                        {{col.Name}}\r\n                                                        <div>\r\n                                                            <input type=\"search\" class=\"mb-1 mt-1\"\r\n                                                                (keyup)=\"filterRemianingList(i)\"\r\n                                                                [(ngModel)]=\"RemainingGridFilter[col.Field]\">\r\n                                                        </div>\r\n                                                    </td>\r\n                                                </tr>\r\n                                            </thead>\r\n                                            <tbody>\r\n                                                <tr *ngFor=\"let remianing of RemainingListData\">\r\n                                                    <td style=\"width: 40px;\">\r\n                                                        <input type=\"checkbox\" [(ngModel)]=\"remianing.IsSelected\"\r\n                                                            (change)=\"checkIsAllRemainingListSelected()\"\r\n                                                            name=\"checkbox\">\r\n                                                    </td>\r\n                                                    <ng-container *ngFor=\"let col of RemainingListColumn \">\r\n                                                        <td> {{remianing[col.Field]}} </td>\r\n                                                    </ng-container>\r\n\r\n                                                </tr>\r\n                                            </tbody>\r\n\r\n                                        </table>\r\n\r\n                                    </div>\r\n                                </div>\r\n                                <div class=\"count-footer mt-2\">\r\n                                    <input [(ngModel)]=\"RemainingListCheckAll\"\r\n                                        (change)=\"getRemainingListCheckAll($event)\" type=\"checkbox\" name=\"checkbox\">\r\n                                    <span class=\"ml-1\">{{\"Select All\" |translate}}</span>\r\n                                    <span class=\"tot-count\"> {{'Selected Count' | translate}}\r\n                                        <a>{{RemainingselectedCount}}</a>\r\n                                    </span>\r\n                                </div>\r\n                            </div>\r\n                            <div class=\"col-2 align-item-center justify-content-center\">\r\n\r\n                                <div class=\"clearfix arrow-icon-design \">\r\n                                    <button class=\"add_req_btn \" (click)=\"callAddAction()\">\r\n                                        <i class=\"fa fa-forward\"></i>\r\n                                        <span *ngIf=\"AddActionLabel\" class=\"m-r-5 m-l-5\">{{AddActionLabel}}</span>\r\n                                    </button>\r\n                                    <button class=\"add_req_btn mt-2\" (click)=\"callRemoveAction()\"\r\n                                        *ngIf=\"RemoveAction.valueField\">\r\n                                        <i class=\"fa fa-backward\"></i>\r\n                                        <span *ngIf=\"RemoveActionLabel\" class=\"m-r-5 m-l-5\">{{RemoveActionLabel}}</span>\r\n                                    </button>\r\n                                </div>\r\n                            </div>\r\n                            <div class=\"col-5\" style=\"padding-right: 0;\">\r\n                                <div class=\"count-header clearfix\">\r\n                                    <h5 class=\"d-inline-block\">{{\"Added List\" | translate}}</h5>\r\n                                    <span class=\"tot-count\"> {{'Total Count' | translate}}\r\n                                        <a>{{AddedListData.length}}</a>\r\n                                    </span>\r\n                                </div>\r\n                                <div class=\"roleUserBody\">\r\n                                    <div class=\"\">\r\n                                        <table class=\"table table-bordered table-striped table-hover\">\r\n                                            <thead>\r\n                                                <tr>\r\n                                                    <td style=\"width: 40px;\"></td>\r\n                                                    <td *ngFor=\"let col of AddedListColumn; let i=index\">\r\n                                                        {{col.Name}}\r\n                                                        <div>\r\n                                                            <input type=\"search\" class=\"mb-1 mt-1\"\r\n                                                                (keyup)=\"filterAddedList(i)\"\r\n                                                                [(ngModel)]=\"AddedGridFilter[col.Field]\">\r\n                                                        </div>\r\n                                                    </td>\r\n                                                </tr>\r\n                                            </thead>\r\n                                            <tbody>\r\n                                                <tr *ngFor=\"let remianing of AddedListData\">\r\n                                                    <td style=\"width: 40px;\">\r\n                                                        <input type=\"checkbox\" [(ngModel)]=\"remianing.IsSelected\"\r\n                                                            (change)=\"checkIsAllAddedListSelected()\" name=\"checkbox\">\r\n                                                    </td>\r\n                                                    <ng-container *ngFor=\"let col of AddedListColumn\">\r\n                                                        <td> {{remianing[col.Field]}} </td>\r\n                                                    </ng-container>\r\n\r\n                                                </tr>\r\n                                            </tbody>\r\n\r\n                                        </table>\r\n\r\n                                    </div>\r\n                                </div>\r\n                                <div class=\"count-footer mt-2\">\r\n                                    <input [(ngModel)]=\"AddedListCheckAll\" (change)=\"getAddedListCheckAll($event)\"\r\n                                        type=\"checkbox\" name=\"checkbox\">\r\n                                    <span class=\"ml-1\">{{\"Select All\" |translate}}</span>\r\n                                    <span class=\"tot-count\"> {{'Selected Count' | translate}}\r\n                                        <a>{{AddedListSelectedCount}}</a>\r\n                                    </span>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport * as Handlebars from 'handlebars';\r\nimport Swal from 'sweetalert2';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { GridService } from '../../Templates/grid/grid.service';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { DynamicWfActionDataVm, E_DataType, E_DatasourceType, E_FormType, E_SelectMode, EntityTypeFieldVM, EntityTypeFormVM, EntityTypeSetUpActionVM, EntityTypeSetUpVM, FormConfig, IActionDef, IColumnDef, INameVal, ISearchCriteria, ISortingField, PageContentGroup, PageContentsRow, PageDetailsRow, StageType, errorMessageType, slide } from '../../core/common-interface-enum-classes-functions';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { environment } from '../../core/environment';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-detail-dynamic-entity-details',\r\n  templateUrl: './detail-dynamic-entity-details.component.html',\r\n  styleUrls: ['./detail-dynamic-entity-details.component.scss']\r\n})\r\nexport class DetailDynamicEntityDetailsComponent implements OnInit, OnDestroy {\r\n  constructor(\r\n    public fb: FormBuilder,\r\n    public globalService: GlobalService,\r\n    private gridService: GridService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n  \r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  @Input() RecId: any;\r\n  @Input() ViewFrom: any = 'Page';\r\n  @Input() PageViewFrom: any = null;\r\n  @Input() EntityTypeRecId: any;\r\n  @Input() FormRecId: any; // need to impletement \r\n\r\n  @Input() menuText: any;\r\n  @Input() PageData: any;\r\n  @Input() contentGroups: PageContentsRow[]=[];\r\n\r\n  @Input() group:PageContentGroup|any=null;\r\n\r\n\r\n  @Input() PrimaryKey: any;\r\n  @Input() PrimaryKeyValue: any;\r\n\r\n\r\n  @Input() hideHeader: boolean=false;\r\n\r\n  SetupDetails:EntityTypeSetUpVM|any =null;\r\n  TicketData: any;\r\n\r\n  ComponentLine:any[] = [];\r\n\r\n  setComponentLine() {\r\n    this.ComponentLine=[];\r\n   if(this.TicketData && this.TicketData.ComponentForm) {\r\n\r\n    for (let i = 0; i < this.TicketData.ComponentForm.length; i++) {\r\n\r\n      let _Component = {\r\n        Formdata:this.TicketData.ComponentForm[i],\r\n        PageGroupValues:{}\r\n      }\r\n      _Component.PageGroupValues = this.TicketData.ComponentLines.find((f:any) => f.EntityTypeId ==_Component.Formdata.EntityTypeRecId) || {};\r\n      this.ComponentLine.push(_Component);\r\n    }\r\n\r\n   }\r\n\r\n  }\r\n\r\n\r\n  showWorkflowPopup: boolean = false;\r\n  leftSideWidth = 70;\r\n\r\n  RefTypeId: number=0;\r\n\r\n  environment:any = environment;\r\n  params:any;\r\n  ngOnInit(): void {\r\n    //  this.actRoute.queryParams.subscribe((res) => {\r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    //  this.params =this.actRoute.paramMap.subscribe((res) => {\r\n      \r\n    //   console.log(res);\r\n    //   if (this.ViewFrom != 'Popup') {\r\n\r\n    //     this.RecId = null;\r\n    //     if (res.get('RecId'))\r\n    //       this.RecId = Number(res.get('RecId'));\r\n\r\n    //     this.PrimaryKey = null;\r\n    //     if (res.get('PrimaryKey'))\r\n    //       this.PrimaryKey = (res.get('PrimaryKey'));\r\n\r\n    //     this.PrimaryKeyValue = null;\r\n    //     if (res.get('PrimaryKeyValue'))\r\n    //       this.PrimaryKeyValue = (res.get('PrimaryKeyValue'));\r\n\r\n    //     let _EntityTypeId: any = (res.get('EntityTypeRecId'));\r\n    //     if (isNaN(_EntityTypeId)) {\r\n    //       this.EntityTypeRecId = this.globalService.SystemConfigs.EntityTypeId[_EntityTypeId];\r\n    //       this.EntityTypeId = this.EntityTypeRecId;\r\n    //     }\r\n    //     else {\r\n    //       this.EntityTypeRecId = Number(res.get('EntityTypeRecId'));\r\n    //       this.EntityTypeId = this.EntityTypeRecId;\r\n    //     }\r\n\r\n    //     if (res.get('FormRecId'))\r\n    //     this.FormRecId = (res.get('FormRecId'));\r\n\r\n    //     if (res.get('menuText'))\r\n    //     this.menuText = (res.get('menuText'));\r\n\r\n    //   }\r\n    //   this.getEntityAllSetupData();\r\n    // });\r\n\r\n    this.dynamicAppsService.showpopup.subscribe((x:any) => {\r\n      this.displayPopupCreateView = x;\r\n    });\r\n    this.getEntityAllSetupData();\r\n    registerHandlebarHelperMethods();\r\n  }\r\n\r\n  getEntityAllSetupData() {\r\n\r\n    if (this.EntityTypeRecId) {\r\n\r\n      this.dynamicAppsService.getEntityAllSetupData(this.EntityTypeRecId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.SetupDetails = res.Setup;\r\n            this.getDependedOnEntity()\r\n            this.CaseTypeDescription = this.globalService.CurrentLanguage =='Ar' ? (this.SetupDetails.DescriptionAr ? this.SetupDetails.DescriptionAr : this.SetupDetails.Description) : this.SetupDetails.Description\r\n\r\n            this.EntityAllFormList = res.Form;\r\n            this.EntityFieldList = res.Fields;\r\n            this.EntityActionList = res.ActionForm;\r\n\r\n            if (this.SetupDetails.IsWorkFlow || this.SetupDetails.EntityType == 40) {\r\n              this.StatusAndStageList = res.WfStage;\r\n            }\r\n\r\n            if (this.SetupDetails.IsWorkFlow || this.SetupDetails.EntityType == 40) {\r\n              this.getWorkflowStatusWithStage()\r\n            }\r\n\r\n            this.getEntityFormActionList();\r\n            this.getEntityFormDetails();\r\n\r\n            if (this.SetupDetails.EntityType != 150) {\r\n\r\n              if (res.Activity) {\r\n                this.ActivityFields = res.Activity;\r\n                this.ActivityAction();\r\n              }\r\n              else {\r\n                this.getActivity();\r\n              }\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  IsAttach:boolean = false;\r\n  IsAction:boolean = false;\r\n  IsBack:boolean = false;\r\n  IsLoadFile:boolean = false;\r\n\r\n  getAppAction() {\r\n    if (this.EntityFormData && this.EntityFormData.Configure) {\r\n      let _formconfig: FormConfig = JSON.parse(this.EntityFormData.Configure);\r\n      this.IsAttach = _formconfig.IsAttach;\r\n      this.IsAction = _formconfig.IsAction;\r\n      this.IsBack = _formconfig.IsBack\r\n      this.BackURL = _formconfig.BackURL;\r\n      this.isEdit = _formconfig.IsEdit;\r\n      this.IsLoadFile = _formconfig.IsLoadFile;\r\n      if (this.IsAction) {\r\n        if (_formconfig.ActionList && _formconfig.ActionList.length > 0) {\r\n          let filteredArray:any[] = [];\r\n          this.MinEntityActionList.forEach((x:any) => {\r\n            if (_formconfig.ActionList.find((y:any) => y.RecId == x.RecId))\r\n              filteredArray.push(x);\r\n          });\r\n          this.MinEntityActionList = filteredArray\r\n        }\r\n      }\r\n    }\r\n    else {\r\n    }\r\n  }\r\n\r\n\r\n  BackURL: any = null;\r\n  goBack() {\r\n    \r\n    // if (this.BackURL) {\r\n    //   let _backURL: any = this.BackURL;\r\n\r\n    //   if (this.globalService.appId == \"System\")\r\n    //     _backURL = \"/System/\" + this.BackURL;\r\n    //   else if (this.globalService.appId == \"Platform\")\r\n    //     _backURL = \"/Platform/\" + this.BackURL;\r\n\r\n    //   //this.route.navigate([_backURL]);\r\n    // }\r\n  }\r\n\r\n  EntityAllFormList:EntityTypeFormVM[] = [];\r\n  EntityFieldList:EntityTypeFieldVM[] =[];\r\n\r\n  CaseTypeDescription:string|any = null;\r\n  stageId: number = 0;\r\n  EntityTypeId: number = 0;\r\n  EntityFormId: number = 0;\r\n  EntityFormData: EntityTypeFormVM|any = null;\r\n  refRecId: number = 0;\r\n  displayPopupCreateView: boolean = false;\r\n  EntityPageGroupsData: PageDetailsRow[] = [];\r\n  EntityDefaultPageGroupsData: PageDetailsRow[] = [];\r\n  sourceId: string|any=null;\r\n\r\n\r\n  getTicketDetails() {\r\n    \r\n    if (this.RecId != null || this.PrimaryKeyValue != null) {\r\n      this.dynamicAppsService.getDynamicById(this.EntityTypeRecId, this.RecId, null, this.PrimaryKey, this.PrimaryKeyValue,this.IsLoadFile)\r\n        .subscribe((x: any) => {          \r\n          if(x)\r\n          this.setPageData(x);\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          error.error;\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n\r\n  setPageData(data:any) {\r\n    this.TicketData = data;\r\n    this.CurrentStageName = this.TicketData.ProcessStageEn;\r\n    this.setComponentLine();\r\n    this.stageId = data.ProcessStage;\r\n    this.EntityTypeId = this.EntityTypeRecId;\r\n    if (this.group && this.group.ControlData)\r\n    this.group.ControlData.FormData = data;\r\n\r\n    this.globalService.getAllPageData();\r\n\r\n    this.refRecId = data.RecId;\r\n    this.GetPageList(this.storeCriteria);\r\n\r\n    this.getDocumentTemplate();\r\n    if (data.ProcessStage){\r\n      let _stage:any = this.StatusAndStageList.find((x:any)=>x.StageId==data.ProcessStage)\r\n      this.selectedStageObj = _stage;\r\n      if (_stage && _stage.StageType == StageType.Auto)\r\n        this.wfActionData = [];\r\n      else\r\n        this.getWfStageAction(this.EntityTypeRecId, data.ProcessStage);\r\n    }\r\n    this.getActivities();\r\n  }\r\n\r\n\r\n  getRemoteList() {\r\n    \r\n\r\n    if (!this.EntityFormData) {\r\n      return\r\n    }\r\n\r\n    let isCallRemote: boolean = false;\r\n    if (this.EntityFormData) {\r\n      if (this.EntityFormData.DataSourceType && (this.EntityFormData.DataSource || this.EntityFormData.DataSourceId)) {\r\n        isCallRemote = true\r\n      }\r\n    }\r\n\r\n    if (isCallRemote) {\r\n      if (this.EntityFormData.DataSourceType == E_DatasourceType.Query) {\r\n\r\n        if (this.EntityFormData.DataSourceId) {\r\n\r\n          let Parameter = []\r\n          if (this.EntityFormData.DataSource) {\r\n            let _param = JSON.parse(this.EntityFormData.DataSource)\r\n            Parameter = _param.map((x:any) => {\r\n              x.Value = this.hanbleBarData(x.Value);\r\n              return x\r\n            });\r\n\r\n          }\r\n\r\n          let _QueryParameter: INameVal[] = [];\r\n          Parameter.forEach((x:any) => {\r\n            _QueryParameter.push({ Name: x.Field, Value: x.Value })\r\n          });\r\n\r\n\r\n          this.dynamicAppsService.getDyamicQueryData(this.EntityFormData.DataSourceId, this.EntityFormData.RecId, this.storeCriteria, Parameter)\r\n            .subscribe((res: any) => {\r\n              \r\n              let _data: any = res.Data ? res.Data : res;\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0)\r\n                this.setPageData(_data[0]);\r\n              else\r\n                this.setPageData(_data);\r\n                this.loaderService.hideLoading();\r\n            },\r\n              (error) => {\r\n                this.loaderService.hideLoading();\r\n                if (error.status == 401) {\r\n                  return\r\n                }\r\n                console.log(error);\r\n              });\r\n        }\r\n      }\r\n      else if (this.EntityFormData.DataSourceType == E_DatasourceType.Entity) {\r\n        if (this.EntityFormData.DataSourceId) {\r\n\r\n          this.getTicketDetails()\r\n        }\r\n      }\r\n      else if(this.EntityFormData.DataSourceType == E_DatasourceType.SQLConnector) {\r\n\r\n        if(this.EntityFormData.DataSourceId){\r\n\r\n          let _objectType = JSON.parse(this.EntityFormData.DataSource);\r\n\r\n          let condition = null;\r\n          if (_objectType.Condtion && _objectType.Condtion.length > 0) {\r\n            let _condition = {\r\n              Condtion:_objectType.Condtion,\r\n              CondtionOperator:_objectType.CondtionOperator\r\n            }\r\n            condition = JSON.stringify(_condition)\r\n            condition = this.hanbleBarData(condition);\r\n          }\r\n\r\n          this.dynamicAppsService.getSQLExecute(this.storeCriteria,this.EntityFormData.DataSourceId,_objectType.Type,_objectType.Name,condition )\r\n          .subscribe((res: any) => {\r\n\r\n            let _data: any = res.Data ? res.Data : res;\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0)\r\n                this.setPageData(_data[0]);\r\n              else\r\n                this.setPageData(_data);\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n            (error) => {\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n            });\r\n\r\n        }\r\n\r\n      }\r\n      else {\r\n\r\n        if (this.EntityFormData.DataSource) {\r\n          let RestData = JSON.parse(this.EntityFormData.DataSource)\r\n\r\n          RestData.URL = this.hanbleBarData(RestData.URL);\r\n          RestData.Body = this.hanbleBarData(RestData.Body);\r\n          if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n            RestData.Body = JSON.parse(RestData.Body);\r\n          }\r\n          RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value);\r\n            return x\r\n          });\r\n\r\n          RestData.Headers = RestData.Headers.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value);\r\n            return x\r\n          });\r\n\r\n          this.dynamicAppsService.dynamicAPi(RestData, this.storeCriteria, null, true)\r\n            .subscribe((res: any) => {\r\n              \r\n\r\n              let _data: any = res;\r\n              if (RestData.ResponseView) {\r\n                let _rview = RestData.ResponseView.split(\".\");\r\n                _rview.forEach((x:any) => {\r\n                  _data = _data[x];\r\n                });\r\n              }\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0)\r\n                this.setPageData(_data[0]);\r\n              else\r\n                this.setPageData(_data);\r\n\r\n              this.loaderService.hideLoading();\r\n            },\r\n              (error) => {\r\n                this.loaderService.hideLoading();\r\n                if (error.status == 401) {\r\n                  return\r\n                }\r\n                Swal.fire(errorMessageType(error));\r\n              });\r\n        }\r\n      }\r\n    }\r\n    else {\r\n      this.getTicketDetails()\r\n    }\r\n\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n\r\n  getEntityFormDetails() {\r\n    \r\n    this.EntityDefaultPageGroupsData = [];\r\n    this.EntityPageGroupsData = [];\r\n    this.EntityTypeId = this.EntityTypeRecId;\r\n\r\n        \r\n         let res = this.EntityAllFormList.filter(x => x.FormType == 2)[0];\r\n\r\n        if (res.FormData) {\r\n          let _FormData = JSON.parse(res.FormData);\r\n\r\n          if (_FormData.PageGroup) {\r\n            if (Array.isArray(_FormData.PageGroup)) {\r\n              this.EntityPageGroupsData = _FormData.PageGroup;\r\n            }\r\n          }\r\n          if (_FormData.defaultPageGroups) {\r\n            if (Array.isArray(_FormData.defaultPageGroups)) {\r\n              this.EntityDefaultPageGroupsData = _FormData.defaultPageGroups;\r\n            }\r\n          }\r\n        }\r\n        this.EntityFormData = res;\r\n        this.EntityFormId = res.RecId;\r\n        this.getAppAction();\r\n        this.getRemoteList();\r\n\r\n  }\r\n\r\n  wfActionData: DynamicWfActionDataVm[] = [];\r\n\r\n  wfActivities: any[] = [];\r\n  getWfStageAction(EntityTypeId:any, StageId:any) {\r\n    this.dynamicAppsService.urlGetWfStageAction(EntityTypeId,StageId).subscribe(\r\n      (res: any) => {        \r\n        this.wfActionData = res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();       \r\n        error.error;\r\n      }\r\n    );\r\n  }\r\n\r\n  wfStatusFields: any[]=[];\r\n  action: number = 0;\r\n  ActionName:any = \"Complete\";\r\n  CurrentStageName:any = \"Workflow\";\r\n  selectedStageObj: any;\r\n\r\n  workflowEntityFormId:any = null;\r\n  getStatusField(data: DynamicWfActionDataVm) {\r\n    this.ActionName = data.ActionDescription;\r\n    this.action = data.ActionRecId;\r\n    this.workflowEntityFormId = data.WorkFlowForm;\r\n    \r\n    this.showWorkflowPopup = true;\r\n    this.dynamicAppsService.onshowWorkflowPopup.next({\r\n      showWorkflowPopup: true,\r\n      fieldConfig: [],\r\n    });\r\n  }\r\n\r\n  showActionForm:boolean = false;\r\n  ActionEntityForm:EntityTypeFormVM|any = null;\r\n  ActionEntityFormData:any = null;\r\n  changeActionEntityForm(CreateData:any, pageForm:any, forms:any) {\r\n\r\n    let FormData = forms;\r\n    this.ActionEntityFormData = FormData.PageGroupValues\r\n  }\r\n\r\n  openEntityAction(Item:EntityTypeFormVM){\r\n\r\n     if(Item.FormType == E_FormType.Action){\r\n      this.ActionEntityForm = Item;\r\n      this.showActionForm = true;\r\n    }\r\n\r\n  }\r\n\r\n\r\n  saveActionEntityForm() { \r\n\r\n    let griddataObj:any ={};\r\n    if(this.TicketData){\r\n       let _rowData = this.TicketData;\r\n       for (let key in _rowData) {\r\n        let crrentKeyData:any[] = [];\r\n        let _TicketData:any[] = [];\r\n        _TicketData.push(this.TicketData)\r\n        _TicketData.forEach(x => {\r\n          crrentKeyData.push(x[key]);\r\n        });\r\n\r\n        griddataObj[key]=crrentKeyData.toString()\r\n       }\r\n    }\r\n\r\n    let _handleData: any = {};\r\n    if (this.ActionEntityFormData) {\r\n      _handleData.FormData = this.ActionEntityFormData;\r\n      _handleData.Data= griddataObj\r\n    }\r\n\r\n    if (this.ActionEntityForm.DataSource) {\r\n      let RestData = JSON.parse(this.ActionEntityForm.DataSource)\r\n\r\n      RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n      RestData.Body = this.hanbleBarData(RestData.Body,_handleData);\r\n      if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n      }\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n      RestData.Headers = RestData.Headers.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n\r\n      this.dynamicAppsService.dynamicAPi(RestData,this.storeCriteria,null,true)\r\n        .subscribe((res: any) => {\r\n\r\n          let _resdata = {\r\n            ResponseData:res\r\n          }\r\n\r\n          if(RestData.SuccessFormat && RestData.SuccessFormat.Condtion.length>0){\r\n            let isSuccess:boolean = false;\r\n\r\n            isSuccess = this.onRulesConditionCheck(RestData.SuccessFormat, _resdata);\r\n\r\n            if (isSuccess) {\r\n              if (RestData.SuccessMessage) {\r\n                let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n                Swal.fire('', sccMsg, 'success');\r\n              }\r\n              else {\r\n                Swal.fire(\"Action Completed\");\r\n              }              \r\n            }\r\n            else {\r\n              if (RestData.ErrorMessage) {\r\n                let errorMsg = this.hanbleBarData(RestData.ErrorMessage, _resdata) ;;\r\n                Swal.fire('', errorMsg, 'error');\r\n              }\r\n              else {\r\n                Swal.fire('', JSON.stringify(res), 'error');\r\n              }\r\n            }\r\n          }\r\n          else {\r\n            if (RestData.SuccessMessage) {\r\n              let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n              Swal.fire('', sccMsg, 'success');\r\n            }\r\n            Swal.fire(\"Action Completed\");\r\n          }\r\n          this.showActionForm =  false;\r\n          this.getTicketDetails();\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n\r\n          });\r\n    }\r\n\r\n\r\n  }\r\n\r\n  ActivityType: any[] = [];\r\n  TotalActivity: number = 0;\r\n\r\n  SortingField: ISortingField = { field: null, direction: null } as any;\r\n  activitySearchcriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 100,\r\n    },\r\n    Where: [],\r\n    SortOrder: this.SortingField,\r\n  };\r\n\r\n  loadMoreActivities() {\r\n    this.activitySearchcriteria.Pagging.PageSize += 10;\r\n    this.getActivities();\r\n  }\r\n\r\n  getActivities() {   \r\n\r\n    if(this.SetupDetails.EntityType ==150) {\r\n      return\r\n    }\r\n    this.dynamicAppsService.getDynamicByEntityRefrecid(\r\n      this.EntityTypeRecId,\r\n      this.refRecId,\r\n      this.activitySearchcriteria,\r\n      this.Activity\r\n    ).subscribe((res: any) => {      \r\n      this.ActivityType = res.Data;\r\n      this.setTimeline();\r\n      this.TotalActivity = res.TotalCount;\r\n      this.loaderService.hideLoading();\r\n    });\r\n    (error:any) => {\r\n      this.loaderService.hideLoading();\r\n      error.error;\r\n    };\r\n  }\r\n\r\n\r\n  ActivityFields: any[]=[];\r\n  activity: any = null;\r\n  activities: string |any= null;\r\n\r\n  EntityType: number = 30;\r\n\r\n  Searchcriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 100,\r\n    },\r\n    Where: [],\r\n    SortOrder: 1,\r\n  };\r\n\r\n  getActivity() {\r\n    \r\n    this.dynamicAppsService.getAllAssinedActivites(this.Searchcriteria,this.EntityTypeRecId)\r\n      .subscribe((res: any) => {\r\n        \r\n        this.ActivityFields = res.Data;\r\n        this.ActivityAction();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n      });\r\n  }\r\n\r\n  ActivityAction() {\r\n    if (this.ActivityFields.length > 0) {\r\n      const sortBy = [ 'SMS', 'Email', 'Notes', 'Comments']; //sort by descending order\r\n\r\n      this.ActivityFields = this.ActivityFields.sort(\r\n        (a, b) =>\r\n          sortBy.indexOf(b.Description) - sortBy.indexOf(a.Description)\r\n      );\r\n\r\n      this.openDefaultComments();\r\n    }\r\n  }\r\n\r\n  getActivityFileUploads(item:any) {\r\n    \r\n    if(item.showform && item.RecId && item.ActivityTypeId) {\r\n    this.dynamicAppsService.getActivityUploadFile(item.RecId,this.EntityTypeRecId,item.ActivityTypeId)\r\n    .subscribe((res: any) => {\r\n\r\n      if(res && res.length > 0) {\r\n        item.uploadFiles = res;\r\n      }\r\n      this.loaderService.hideLoading();\r\n    },\r\n    (error:any)=> {\r\n      this.loaderService.hideLoading();\r\n    });\r\n  }\r\n\r\n  }\r\n\r\n  openDefaultComments() {\r\n    \r\n    this.commentsActivityItem = this.ActivityFields.filter(\r\n      (x) => x.ActionType == '5'\r\n    )[0];\r\n\r\n  }\r\n\r\n  isSubmit: boolean = false;\r\n\r\n  ClosepopUp: boolean = false;\r\n\r\n  WfActionForm: FormGroup = this.fb.group({\r\n    comments: ['', [Validators.required]],\r\n  });\r\n\r\n  backToList() {    \r\n    //this.route.navigate(['/EntityTypeSetup/ticket', this.EntityTypeRecId]);\r\n    this.RecId = null;\r\n  }\r\n\r\n  getWorkflowActionComments(comments:any, updateFileds:any, updateFieldsObject:any) {\r\n\r\n    this.dynamicAppsService.urlPostTicketWfAction(\r\n      this.RecId,\r\n      this.stageId,\r\n      this.action,\r\n      comments,\r\n      updateFileds,\r\n      updateFieldsObject,\r\n      this.EntityTypeId\r\n    ).subscribe(\r\n      (res: any) => {\r\n        this.getRemoteList();\r\n        Swal.fire('Action Updated Successfully');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        error.error;\r\n        if(error.error?.status == false){\r\n          let msg = JSON.parse(error.error?.msg);\r\n          if(msg && msg.msg){\r\n            msg = msg.msg;\r\n          }else{\r\n            msg = error.error?.msg\r\n          }\r\n          Swal.fire(\"Error\",this.translatePipe.transform(msg),\"error\");\r\n        }else{\r\n          Swal.fire(this.translatePipe.transform(error.ExceptionMessage),this.translatePipe.transform(error.message),\"error\");\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  addEvents(data: any) {\r\n    this.openPopupCreatePage(data);\r\n  }\r\n\r\n  pageTitle = 'Process Stage';\r\n  pageDesp = 'Process Stage';\r\n  selectMode: E_SelectMode = E_SelectMode.None;\r\n  isAttach: boolean = false;\r\n  isCreate: boolean = false;\r\n  isEdit: boolean = false;\r\n  isDelete: boolean = false;\r\n  isExport: boolean = false;\r\n  gridActionList: IActionDef[] = [];\r\n  columnDefs: IColumnDef[] = [\r\n    { Field: 'ProcessStage', Name: 'Stage Id' },\r\n    { Field: 'ProcessStageEn', Name: 'Description' },\r\n    { Field: 'Comments', Name: 'Comments' },\r\n    { Field: 'CreatedBy', Name: 'Created By' },\r\n    { Field: 'ModifiedBy', Name: 'Action By' },\r\n    { Field: 'StartDate', Name: 'Start Date', DataType: E_DataType.date },\r\n    { Field: 'EndDate', Name: 'End Date', DataType: E_DataType.date },\r\n  ];\r\n\r\n  storeCriteria: ISearchCriteria={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 100,\r\n    },\r\n    Where: [],\r\n    SortOrder: this.SortingField,\r\n  };\r\n\r\n  ProcessStageList: any = [];\r\n\r\n  GetPageList(Criteria: ISearchCriteria) {\r\n\r\n    if(this.SetupDetails.EntityType ==150) {\r\n      return\r\n    }\r\n\r\n    if (this.EntityTypeId != null && this.refRecId !=null) {\r\n      \r\n      this.storeCriteria = Criteria;\r\n      this.dynamicAppsService.getWfInsProcessStageComments(\r\n        Criteria,\r\n        this.EntityTypeId,\r\n        this.refRecId\r\n      ).subscribe(\r\n        (res: any) => {          \r\n          this.ProcessStageList = res.Data;\r\n          this.getValidateSkipOrCompleteProcessStage();\r\n          this.loadGrid(res.Data, res.TotalCount,100);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n          this.loadGrid([], 0,100);\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  getValidateSkipOrCompleteProcessStage(){ \r\n    this.StatusAndStageList = this.StatusAndStageList.map((x:any,i:number)=>{\r\n    let data =  this.ProcessStageList.filter((y:any)=> y.ProcessStage == x.StageId).length\r\n      if(data){\r\n      x.classname = \"complete\";\r\n      }\r\n      if(x.StageId == this.TicketData?.ProcessStage){\r\n        x.classname = \"selected\";\r\n      }\r\n      return x ;\r\n    });\r\n  }\r\n\r\n  loadGrid(data: any, TotalRecord: number, grid?: number) {\r\n    \r\n    let _grid = grid ? grid : 1;\r\n    if (data) {\r\n      if (data.length > 0)\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          list: data,\r\n          count: data.length,\r\n          grid: _grid,\r\n          totalRecordCount: TotalRecord,\r\n        });\r\n      else\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          grid: _grid,\r\n          list: [],\r\n          count: 0,\r\n          totalRecordCount: 0,\r\n        });\r\n    } else\r\n      this.gridService.onGridRefresh.next({\r\n        isTrue: true,\r\n        grid: _grid,\r\n        list: [],\r\n        count: 0,\r\n        totalRecordCount: 0,\r\n      });\r\n  }\r\n\r\n  showStageDetails: boolean = false;\r\n  selectedProcess: any;\r\n  selectedProcessList: any[] = [];\r\n  selectProcess(item: any) {\r\n    \r\n    if (this.selectedProcess) this.showStageDetails = false;\r\n\r\n    if (\r\n      this.selectedProcess &&\r\n      this.selectedProcess.ProcessStage == item.StageId\r\n    ) {\r\n      setTimeout(() => (this.selectedProcess = null), 500);\r\n    } else {\r\n      this.showStageDetails = true;\r\n      this.selectedProcessList = this.ProcessStageList.filter(\r\n        (x: any) => x.ProcessStage == item.StageId\r\n      );\r\n      this.selectedProcess =\r\n        this.selectedProcessList[this.selectedProcessList.length - 1];\r\n    }\r\n  }\r\n  closeProcess() {\r\n    this.showStageDetails = false;\r\n    setTimeout(() => (this.selectedProcess = null), 500);\r\n  }\r\n\r\n  commentsData = [];\r\n  commentsDataCount: number = 0;\r\n\r\n  getComments() {\r\n    \r\n    if (this.refRecId != null) {\r\n      this.dynamicAppsService.urlGetTicketUpdateByRecId(this.refRecId).subscribe(\r\n        (x: any) => {\r\n          this.commentsData = x.Data;\r\n          this.commentsDataCount = x.TotalCount;\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          Swal.fire(this.translatePipe.transform(error.error));\r\n          error.error;\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  CreateItemId: number = 0;\r\n  selectedActivityItem: any = null;\r\n  commentsActivityItem: any = null;\r\n  detailsEntityTypeId: number = 0;\r\n  Activity: number = 0;\r\n\r\n  openPopupCreatePage(item: any) {\r\n    \r\n    this.CreateItemId = 0;\r\n    setTimeout(() => (this.CreateItemId = item.RecId), 0);\r\n\r\n    this.selectedActivityItem = item;\r\n    if (item.Description != 'Comments') this.displayPopupCreateView = true;\r\n  }\r\n\r\n  closePopupCreateView(Type?: any) {\r\n    this.CreateItemId = 0;\r\n    this.displayPopupCreateView = false;\r\n    if (Type == 'Create') {\r\n      this.getActivities();\r\n      this.openDefaultComments();\r\n    }\r\n  }\r\n\r\n  /* #region  Activity */\r\n\r\n  ActivityTypeId: any = null;\r\n  allActivities: any = [];\r\n  ActivityList: any[] = [];\r\n\r\n  getDynamicAllActivity() {\r\n    \r\n\r\n    let SortingField: ISortingField = { field: null, direction: null } as any;\r\n    let Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [],\r\n      SortOrder: SortingField,\r\n    };\r\n\r\n    let filterobj = {\r\n      Field: 'EntityType',\r\n      Operator: 'Contains',\r\n      TableAlias: '',\r\n      Value: 30,\r\n    };\r\n    Searchcriteria.Where.push(filterobj);\r\n\r\n    this.dynamicAppsService.getAllEntityTypeSetup(Searchcriteria).subscribe(\r\n      (x: any) => {\r\n        this.ActivityList = x.Data;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  getDynamicAllActivityList() {\r\n    \r\n\r\n    let SortingField: ISortingField = { field: null, direction: null } as any;\r\n    let Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [],\r\n      SortOrder: SortingField,\r\n    };\r\n\r\n    this.dynamicAppsService.getDynamicAllActivity(\r\n      Searchcriteria,\r\n      this.EntityTypeRecId,\r\n      this.ActivityTypeId\r\n    ).subscribe(\r\n      (x: any) => {\r\n        this.allActivities = x.Data;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  changeactivity(event: any) {\r\n    this.getDynamicAllActivityList();\r\n  }\r\n\r\n\r\n  /* #region  EDIT */\r\n  PopupEditView: boolean = false;\r\n  openPopupEditView() {\r\n    \r\n    this.PopupEditView = true;\r\n    // this.Activity=item.RecId;\r\n  }\r\n\r\n  closePopupEditView(Type?: any) {\r\n    this.PopupEditView = false;\r\n    if (Type == 'Edit') {\r\n      this.getRemoteList();\r\n    }\r\n  }\r\n\r\n  /* #endregion */\r\n\r\n  /* #endregion */\r\n  TaskCommentFile: any = null;\r\n\r\n  CommentsText: any = null;\r\n\r\n  commentSubmit() {\r\n    \r\n    let data = {\r\n      comments: this.CommentsText,\r\n      refernceFields: 'Ticket',\r\n      refRecId: this.refRecId,\r\n    };\r\n\r\n    // this.service.urlComments(data).subscribe(\r\n    //   (x: any) => this.taskAssignData = x);\r\n\r\n    let formData: FormData = new FormData();\r\n\r\n    if (this.fileList && this.fileList.length > 0) {\r\n      let file: File = this.fileList[0];\r\n      formData.append('Files', file, file.name);\r\n    }\r\n\r\n    this.dynamicAppsService.postTicketComments(\r\n      this.fileList,\r\n      data\r\n    ).subscribe(\r\n      (x: any) => {\r\n        \r\n        this.CommentsText = null;\r\n        this.TaskCommentFile = null;\r\n        this.fileList = null;\r\n        this.getComments();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  fileList: any;\r\n\r\n  fileChange(event: any) {\r\n    \r\n    this.fileList = event.target.files;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.globalService.showBackIcon = false;\r\n    this.params?.unsubscribe();\r\n  }\r\n\r\n  StatusAndStageList: any[] = [];\r\n\r\n  getWorkflowStatusWithStage() {\r\n    \r\n    this.StatusAndStageList = this.StatusAndStageList.sort((a, b) => {\r\n      if (a.OrderId < b.OrderId) return -1;\r\n      else if (a.OrderId > b.OrderId) return 1;\r\n      else return 0;\r\n    });\r\n    setTimeout(() => {\r\n      this.overflowActive();\r\n    }, 100);\r\n\r\n  }\r\n\r\n  tabDisplayView: number = 2;\r\n\r\n  gridChangeTabs(data: any) {\r\n    this.tabDisplayView = Number(data);\r\n    if(this.tabDisplayView==4){\r\n      this.getManPowerAttachList();\r\n    }\r\n  }\r\n\r\n\r\n  TimelineList: any[] = [];\r\n  setTimeline() {\r\n    \r\n    this.TimelineList = [];\r\n\r\n\r\n    if (Array.isArray(this.ActivityType)) {\r\n      if (this.ActivityType.length > 0)\r\n        this.TimelineList.push(...this.ActivityType);\r\n    }\r\n\r\n\r\n\r\n    if (Array.isArray(this.ProcessStageList)) {\r\n      if (this.ProcessStageList.length > 0) {\r\n        this.ProcessStageList = this.ProcessStageList.map((x) => {\r\n          x.Type = 'Workflow';\r\n          x.ActivityTypeIdEn = 'Comments';\r\n          return x;\r\n        });\r\n        this.TimelineList.push(...this.ProcessStageList);\r\n      }\r\n    }\r\n\r\n    this.TimelineList.sort((a, b) => {\r\n      if (a.CreatedDatetime < b.CreatedDatetime) return -1;\r\n      else if (a.CreatedDatetime > b.CreatedDatetime) return 1;\r\n      else return 0;\r\n    });\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n  showAttachPopup: boolean = false;\r\n  ViewName: string|any=null;\r\n  TableName: string|any=null;\r\n  Permission: string|any= null;\r\n  RefTableName: any=null;\r\n  referRecId: number = 0;\r\n  TypeId: number = 0;\r\n  attachmentType: number = 0;\r\n\r\n  attachMethod() {\r\n    \r\n    this.showAttachPopup = true;\r\n    this.TypeId = this.EntityTypeRecId; //from side menu get RecId//getCurrentMenuId(); temproraly use this menuid 532;\r\n    this.referRecId = this.TicketData.RecId;\r\n    this.ViewName = this.TicketData.SequenceId ? this.TicketData.SequenceId : this.TicketData.CaseId // this.EntityTypeRecId;\r\n    this.Permission = 'Delete';\r\n    this.TableName = this.SetupDetails.Description;\r\n    this.RefTableName = this.EntityTypeRecId;\r\n    this.attachmentType = 2; //from side menu get MenuType;\r\n    this.gridService.onattachShow.next({ attach: true });\r\n  }\r\n  closeAttach(Switch:boolean){ \r\n    this.showAttachPopup = Switch;\r\n    this.gridService.onattachShow.next({ attach: Switch });\r\n  }\r\n\r\n\r\n  manPowerAttachList:any[]=[];\r\n\r\n  getManPowerAttachList() {\r\n    this.dynamicAppsService.getManPowerAttachList(this.RecId,this.EntityTypeRecId,this.TicketData.UploadTableName)\r\n    .subscribe(\r\n      (res: any) => {        \r\n        this.manPowerAttachList = res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {        \r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      });\r\n\r\n  }\r\n\r\n  public EntityActionList:EntityTypeFormVM[]=[];\r\n  MinEntityActionList:EntityTypeFormVM[]=[];\r\n  filteredMinEntityActionList: EntityTypeFormVM[] = [];\r\n\r\n  public IsAssignment:boolean = false;\r\n  getEntityFormActionList() {\r\n    \r\n          this.MinEntityActionList = this.EntityActionList.filter(x => x.FormType != E_FormType.Create && x.FormType != E_FormType.Update\r\n          && x.FormType != E_FormType.Delete && x.FormType != E_FormType.Assignment)\r\n\r\n        if (this.EntityActionList.find(x => x.FormType == E_FormType.Assignment)) {\r\n          this.IsAssignment = true;\r\n          this.AssignmentEntityForm = this.EntityActionList.filter(x => x.FormType == E_FormType.Assignment)[0];\r\n        }\r\n\r\n  }\r\n  AssignmentConfig: boolean = false;\r\n  AssignmentCurrentData: any = null;\r\n  AssignmentEntityForm: EntityTypeFormVM | any = null;\r\n  showAssignmentConfig() { \r\n    if(this.TicketData) {\r\n      this.AssignmentCurrentData = this.TicketData;\r\n    }\r\n    else {\r\n    if (!this.TicketData || this.TicketData.length != 1) {\r\n      Swal.fire(\"Error\", \"Data is Empty\", \"warning\");\r\n      return;\r\n    }\r\n  }\r\n    this.AssignmentConfig = true;\r\n  }\r\n  closeAssignmentConfig() {\r\n    this.AssignmentConfig = false;\r\n  }\r\n\r\n  TemplateDropdown: any[]=[];\r\n\r\n  getDocumentTemplate() {\r\n    \r\n\r\n\r\n    this.dynamicAppsService.getpermissiontemplateactivitybycaseid(this.EntityTypeId,null).subscribe(\r\n        (success: any) => {\r\n\r\n          \r\n          let data = success;\r\n          if (success.Data) data = success.Data;\r\n\r\n          this.TemplateDropdown = data;\r\n\r\n          this.TemplateDropdown = this.TemplateDropdown.filter((x: any)=> x.IsActive && (x.StageId==\"All\" || x.StageId== this.stageId));\r\n\r\n        this.TemplateDropdown = this.TemplateDropdown.filter((template: any) => {\r\n          if (template.Condition) {\r\n            let _cond= JSON.parse(template.Condition)\r\n            let _conditionResult = this.onRulesConditionCheck(_cond, this.TicketData);\r\n            if (_conditionResult)\r\n              return template\r\n          }\r\n          else\r\n            return template\r\n        });\r\n\r\n\r\n        var _sd =  this.TemplateDropdown;\r\n        this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          Swal.fire(this.translatePipe.transform(errorMessageType(error)));\r\n        }\r\n      );\r\n  }\r\n  downloadDocumentTemplate(event: any) {\r\n   this.dynamicAppsService.downloadDocumentTemplate(this.EntityTypeId,this.TicketData?.RecId,event.TemplateRecId).subscribe(\r\n    (res : any) =>{\r\n      let blob : Blob= res.body;\r\n        let filename = res.headers.get('content-disposition') != null? res.headers.get('content-disposition'): \"DocumentTemplate\";\r\n        var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n            var matches = filenameRegex.exec(filename);\r\n            if (matches != null && matches[1]) {\r\n              filename = matches[1].replace(/['\"]/g, '');\r\n            }\r\n      this.gridService.downloadFile(blob,blob.type,filename);\r\n      this.loaderService.hideLoading();\r\n    },\r\n    (error : any) =>{\r\n      this.loaderService.hideLoading();\r\n    });\r\n  }\r\n\r\n\r\n  CheckedGridData(gridData: any,group:PageContentGroup) {\r\n    group.ControlData.GridSelectedData = (gridData);\r\n  }\r\n\r\n\r\n  @Input() queryParams:any=null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n\r\n      data.Current = this;\r\n      data.DetailsData = this.TicketData;\r\n\r\n      data.Local = localStorage;\r\n      if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n        data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n      data.Cookies = this.Cookies;\r\n      data.System = this.globalService.systemConfig;\r\n      data.EnvironmentId = this.globalService.EnvironmentId;\r\n      data.Global = this.globalService;\r\n      data.PageData =this.globalService.PageAllData;\r\n\r\n      if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  hasHorizontalScrollbar: boolean=false;\r\n  overflowActive() {\r\n\r\n    let div = document.getElementById(\"slider-arrow\");\r\n      if(div != null)\r\n     this.hasHorizontalScrollbar = div.scrollWidth > div.clientWidth;\r\n  }\r\n\r\n  slider(direction: any,Id: any){\r\n    slide(direction, Id);\r\n  }\r\n\r\n\r\n  DependedEntityList:EntityTypeSetUpActionVM[]=[];\r\n\r\n  setDependedValue() {\r\n    let _DependedField =  this.EntityFieldList.filter(x=>x.IsPrimarykey)[0];\r\n    this.DependedEntityList = this.DependedEntityList.map(x => {\r\n      x.DependedValue =  this.TicketData[_DependedField.Description];\r\n      return x\r\n    });\r\n  }\r\n\r\n  getDependedOnEntity(){\r\n    this.dynamicAppsService.getDependedOnEntity(null, this.SetupDetails.RecId).subscribe(\r\n      (res: any) => {        \r\n        this.DependedEntityList = res.Data ? res.Data : res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  entityDepandentsLoad(item: EntityTypeSetUpActionVM, i: any) {\r\n    item.initLoad = false;\r\n    setTimeout(() => {\r\n      item.initLoad = true;\r\n    }, 10);\r\n  }\r\n\r\n  RelationSideView: boolean = false;\r\n  openRelation() {\r\n    this.RelationSideView = !this.RelationSideView;\r\n    if (this.RelationSideView)\r\n      this.setDependedValue()\r\n  }\r\n\r\n  get rightSidebarClass() {\r\n    let _ret1 =\"hide fadeOutRight\";\r\n    if(this.RelationSideView) {\r\n      _ret1 = \"open_app_menu fadeInRight\"\r\n    }\r\n    if(this.globalService.CurrentLanguageDirection == 'RTL') {\r\n      if(this.RelationSideView) {\r\n        _ret1 = \"open_app_menu fadeInLeft\"\r\n      }\r\n      else {\r\n        _ret1 =\"hide fadeOutLeft\"\r\n      }\r\n    }\r\n    return _ret1;\r\n  }\r\n  get rightSidebarScrollClass() {\r\n    let _ret1 =\"fadeOutRight\";\r\n    if(this.RelationSideView) {\r\n      _ret1 = \"fadeInRight\"\r\n    }\r\n    if(this.globalService.CurrentLanguageDirection == 'RTL') {\r\n      if(this.RelationSideView) {\r\n        _ret1 = \"fadeInLeft\"\r\n      }\r\n      else {\r\n        _ret1 =\"fadeOutLeft\"\r\n      }\r\n    }\r\n    return _ret1;\r\n  }\r\n\r\n  onRulesConditionCheck(rulesData: any,CurrentRow: any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      if(_con.hasOwnProperty('ValueType')) {\r\n        _con.ValueTwo = _con.Value;\r\n        _con.Value = _con.ValueType;\r\n        delete _con.ValueType;\r\n      }\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n\r\n         if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n\r\n      }\r\n\r\n      let value = CurrentRow[_con.ValueTwo];\r\n\r\n      if(_con.Value) {\r\n\r\n         if( _con.Value == \"Value\") {\r\n          value = this.hanbleBarData(_con.ValueTwo, _handleData)\r\n        }\r\n\r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n  displayFormPopup: boolean = false;\r\n  DetailsViewPopup = false;\r\n  Tab: number = 1;\r\n  IsEventLog:boolean = false;\r\n  ChangeTab(data: any) {\r\n    this.Tab = Number(data);\r\n  }\r\n\r\n  openConfigurationPopUp() { \r\n    this.displayFormPopup = true;\r\n    this.DetailsViewPopup = true;\r\n  }\r\n  closeConfigurationPopUp() { \r\n    this.displayFormPopup = false;\r\n    this.DetailsViewPopup = false;\r\n  }\r\n  OpenEventLogPopUp(){\r\n    this.IsEventLog = true;\r\n  }\r\n  closeEventLogPopUp(Switch:boolean){\r\n    this.IsEventLog = Switch;\r\n  }\r\n\r\n  checkGroupCondition(group: PageContentGroup) {\r\n    let ret = true;\r\n    if (group.Condition)\r\n      ret = this.onRulesConditionCheck(group.Condition, {});\r\n    return ret;\r\n  }\r\n\r\n  getWorkflowActionClose(type?: any) {\r\n    this.showWorkflowPopup = false;\r\n  }\r\n  checkActionCondition(){\r\n    debugger;\r\n    this.filteredMinEntityActionList = [];\r\n    this.MinEntityActionList.forEach((x:any) => {\r\n      if(x.Configure){\r\n        let data = JSON.parse(x.Configure);\r\n        if(data?.ActionVisible && data.ActionCondition && data.ActionCondition.Condtion && data.ActionCondition.Condtion.length > 0){\r\n        let isConditionPassed:boolean = this.onRulesConditionCheck(data.ActionCondition, this.TicketData);\r\n        if(isConditionPassed){\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n        }else{\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n      }else{\r\n        this.filteredMinEntityActionList.push(x);\r\n      }\r\n    });\r\n  }\r\n  \r\n  uploadFilesDownload(RecId: number, filename: string) {\r\n    this.dynamicAppsService.uploadFilesDownload(RecId).subscribe(\r\n      (res: Blob) => {\r\n        debugger;\r\n        this.gridService.downloadFile(res, res.type, filename);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n        Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"wrapper row m-t-10 position-relative\" [ngClass]=\"{'d-none':PopupEditView && PageViewFrom =='Studio'}\">\r\n  <ng-container *ngIf=\"!hideHeader\">\r\n    <div id=\"workflow-container\" style=\"display: contents;\"\r\n      *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n\r\n      <div class=\"step-1\" id=\"workflow-progress\" data-current-step=\"1\">\r\n        <div class=\"progress-bar\" [ngClass]=\"{'checkLength' :StatusAndStageList && StatusAndStageList.length > 6}\"\r\n          id=\"slider-arrow\">\r\n          <ng-container *ngFor=\"let item of StatusAndStageList; let i = index\">\r\n            <div class=\"step step-1\" [ngClass]=\"{'active': item.StageId == selectedProcess?.ProcessStage,\r\n        'selected': item.StageId == TicketData?.ProcessStage,'complete':item.classname == 'complete'}\"\r\n              (click)=\"selectProcess(item)\">\r\n              <span class=\"material-icons\">\r\n                <img *ngIf=\"item.StageId != TicketData?.ProcessStage\"\r\n                  src=\"https://cdn-icons-png.flaticon.com/128/833/833602.png\" alt=\"Pending\">\r\n                <img *ngIf=\"item.StageId == TicketData?.ProcessStage\" src=\"{{globalService.ServerHost}}/System/assets/images/location.png\" alt=\"active\">\r\n              </span>\r\n              <div class=\"fa fa-check opaque\">\r\n              </div>\r\n              <div class=\"step-label\">\r\n                <div class=\"step-label-name themecolor\" id=\"1\" title=\"{{item.StageDescription}}\">\r\n                  {{item.StageDescription|translate}}</div>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n\r\n      <div *ngIf=\"selectedProcess && selectedProcess.ProcessStage\" class=\"breadcrumb-details animated\"\r\n        [ngClass]=\"(showStageDetails)?'fadeIn':'fadeOut'\" style=\"padding: 20px;\">\r\n\r\n\r\n        <div class=\"row\">\r\n          <ng-container *ngFor=\"let item of selectedProcessList\">\r\n            <div class=\"d-block field position-relative dynamic-view col col-12 col-sm-12 col-md-6 col-xl-4  m-b-20\">\r\n              <span class=\"pull-right la la-times m-r-20\"\r\n                style=\"font-size: 20px;position: absolute;right: 0;z-index: 111;\" (click)=\"closeProcess()\"></span>\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'StageId'|translate}} </label>\r\n                <span class=\"col\">: {{item.ProcessStage | translate}} </span>\r\n              </div>\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Description'|translate}} </label>\r\n                <span class=\"col\">: {{item?.ProcessStageEn| translate}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Created User'|translate}} </label>\r\n                <span class=\"col\">: {{item?.CreatedBy| translate}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Start Date'|translate}} </label>\r\n                <span class=\"col\">: {{item?.StartDate | date}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'End Date'|translate}} </label>\r\n                <span class=\"col\">: {{item?.EndDate | date}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Comments'|translate}} </label>\r\n                <span class=\"col\">: {{item?.Comments| translate}} </span>\r\n              </div>\r\n\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n\r\n        <div class=\"d-block field position-relative dynamic-view\" *ngIf=\"false\">\r\n          <span class=\"pull-right la la-times m-r-20\" style=\"font-size: 20px;\" (click)=\"closeProcess()\"></span>\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'StageId'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess.ProcessStage| translate}} </span>\r\n          </div>\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Description'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.ProcessStageEn| translate}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Created User'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.CreatedBy| translate}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Start Date'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.StartDate | date}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'End Date'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.EndDate | date}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Comments'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.Comments| translate}} </span>\r\n          </div>\r\n\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"float-right arrow-border\" [ngClass]=\"hasHorizontalScrollbar ==true ?'d-block':'d-none'\"\r\n      *ngIf=\"StatusAndStageList&& StatusAndStageList.length > 6\">\r\n      <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('left','slider-arrow')\"><i\r\n          class=\"fa fa-arrow-left\"></i></a>\r\n      <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('right','slider-arrow')\"><i\r\n          class=\"fa fa-arrow-right\"></i></a>\r\n    </div>\r\n  </ng-container>\r\n  <!-- new details app -->\r\n  <div class=\"col-12 col-sm-12 col-lg-12 my-3\" *ngIf=\"!hideHeader\">\r\n    <div class=\"d-block text-right details-Tool clearfix\">\r\n\r\n      <span class=\"add_req_btn view_text_inner_text mr-2\" *ngIf=\"isEdit || PageViewFrom =='Studio'\"\r\n      (click)=\"openPopupEditView()\">\r\n        <i class=\"la la-edit\"></i>\r\n    </span>\r\n\r\n      <span class=\"add_req_btn view_text_inner_text mr-2\" *ngIf=\"IsAttach\"\r\n        (click)=\"attachMethod()\">\r\n        <i class=\"fa fa-paperclip\"></i>\r\n      </span>\r\n\r\n      <!-- <a href=\"javascript:void(0)\" *ngIf=\"DependedEntityList&& DependedEntityList.length > 0\"\r\n        class=\"add_req_btn mr-2 pull-right\" (click)=\"openRelation()\" title=\"Related Data\">\r\n        <i class=\"tabler-ti ti-fidget-spinner\"></i>\r\n      </a> -->\r\n\r\n      <a href=\"javascript:void(0)\" *ngIf=\"IsBack && BackURL && (ViewFrom !='Popup' || PageViewFrom !='Popup')\"\r\n        class=\"add_req_btn mr-2 pull-right\" (click)=\"goBack()\">\r\n        <i class=\"icon-arrow-left-circle\"></i>\r\n      </a>\r\n\r\n      <span *ngIf=\"IsAssignment\" class=\"add_req_btn mr-2 pull-right\"\r\n        (click)=\"showAssignmentConfig()\">\r\n        <i class=\"fa fa-plus-square mr-1\"></i>\r\n        {{(AssignmentEntityForm.FormName?AssignmentEntityForm.FormName:\"Assignment\") | translate}}\r\n      </span>\r\n\r\n      <a href=\"javascript:void(0)\" *ngIf=\"globalService.devMode\" class=\"add_req_btn mr-2\"\r\n        data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\"\r\n        (click)=\"openConfigurationPopUp()\">\r\n        <span class=\"tabler-ti ti-settings-code\"></span>\r\n      </a>\r\n      <a href=\"javascript:void(0)\" *ngIf=\"globalService.devMode\" class=\"add_req_btn mr-2\"\r\n        data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"OpenEventLogPopUp()\">\r\n        <span class=\"tabler-ti ti-timeline-event-exclamation\"></span>\r\n      </a>\r\n\r\n      <div class=\"pull-right user-account action_part\">\r\n        <div class=\"dropdown view_type m-0\">\r\n\r\n          <span class=\"add_req_btn view_text_inner_text mr-2\" *ngIf=\"wfActionData.length > 0 || (IsAction && MinEntityActionList.length > 0)\"\r\n           data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\"\r\n            aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"checkActionCondition()\">\r\n            {{\"Action\"| translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n          </span>\r\n\r\n          <ul class=\"dropdown-menu action_menu p-0 m-4\">\r\n            <ul class=\"clearfix p-0 m-0 list-unstyled\">\r\n\r\n              <ng-container *ngIf=\"IsAction\">\r\n                <ng-container *ngFor=\"let item of filteredMinEntityActionList; let i = index\">\r\n                  <li class=\"p-0 m-0\">\r\n                    <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openEntityAction(item)\">\r\n                      {{ item.FormName |translate}}\r\n                    </a>\r\n                  </li>\r\n                </ng-container>\r\n              </ng-container>\r\n\r\n              <ng-container *ngFor=\"let item of wfActionData\">\r\n                <li>\r\n                  <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"getStatusField(item)\">\r\n                    {{item.ActionDescription| translate}}</a>\r\n                </li>\r\n              </ng-container>\r\n            </ul>\r\n          </ul>\r\n\r\n        </div>\r\n      </div>\r\n      <div class=\"pull-right\" *ngIf=\"TemplateDropdown.length > 0\">\r\n        <div class=\"dropdown view_type\">\r\n\r\n          <a href=\"javascript:void(0)\" class=\"add_req_btn mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n            role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n            {{'Documents'|translate}}\r\n          </a>\r\n\r\n          <ul class=\"dropdown-menu action_menu\">\r\n            <ul class=\"clearfix p-0 m-0\">\r\n              <ng-container *ngFor=\"let item of TemplateDropdown\">\r\n                <li class=\"\">\r\n                  <a class=\"d-block py-1\" href=\"javascript:void(0);\" (click)=\"downloadDocumentTemplate(item)\">\r\n                    {{(item?.Name ? item?.Name: item?.TemplateName)|translate}}\r\n                  </a>\r\n                </li>\r\n              </ng-container>\r\n            </ul>\r\n          </ul>\r\n\r\n        </div>\r\n      </div>      \r\n      <span class=\"add_req_btn view_text_inner_text mr-2\"\r\n        (click)=\"getRemoteList()\">\r\n        <i class=\"la la-refresh\"></i>\r\n      </span>\r\n    </div>\r\n  </div>\r\n  <div class=\"col-sm-12\" *ngIf=\"!hideHeader\">\r\n    <div class=\"card card-table-details m-b-10 details_top\">\r\n      <div class=\"body p-15\">\r\n        <div class=\"row\">\r\n\r\n          <div class=\"col col-12 col-sm-6 col-md-6 col-lg-6\">\r\n            <p class=\"m-b-5\">\r\n              <span class=\"iconbox\">\r\n                <i *ngIf=\"SetupDetails?.ImageUrl\" class=\"{{SetupDetails?.ImageUrl}}\"></i>\r\n                <i *ngIf=\"!SetupDetails?.ImageUrl\" class=\"icon-layers\"></i>\r\n              </span>\r\n              <span class=\"form-title\">\r\n                {{(SetupDetails?.Label? SetupDetails?.Label:SetupDetails?.Description) | translate}}\r\n              </span>\r\n              <span class=\"form-title d-block\" *ngIf=\"SetupDetails?.EntityType != 150\">\r\n                #{{ TicketData?.SequenceId? TicketData?.SequenceId: TicketData?.CaseId|\r\n                translate}}|{{TicketData?.Subject| translate}}\r\n              </span>\r\n            </p>\r\n          </div>\r\n          <div class=\"col col-12 col-sm-6 col-md-6 col-lg-6\" *ngIf=\"SetupDetails?.EntityType != 150\">\r\n            <ng-container *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n\r\n              <div class=\"w-100 m-b-5 clearfix\">\r\n                <span class=\"pull-left m-l-15 m-r-15\" style=\"width: 110px;\">{{'ProcessStage'|translate}} :</span>\r\n                <span class=\"pull-left\">{{TicketData?.ProcessStageEn| translate}}</span>\r\n              </div>\r\n            </ng-container>\r\n\r\n            <div class=\"w-100 m-b-5 clearfix\">\r\n              <span class=\"pull-left m-l-15 m-r-15\" style=\"width: 110px;\">{{'Created By'|translate}} :</span>\r\n              <span class=\"pull-left requestor\">{{TicketData?.CreatedBy| translate}}</span>\r\n            </div>\r\n\r\n            <div class=\"w-100 m-b-5 clearfix\">\r\n              <span class=\"pull-left m-l-15 m-r-15\" style=\"width: 110px;\">{{'Created Date'|translate}} :</span>\r\n              <span class=\"pull-left\">\r\n                {{TicketData?.CreatedDatetime | date :'dd/MM/yyyy h:mm a'}}\r\n              </span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <!-- end -->\r\n  <div class=\"col-sm-12 m-b-20\">\r\n    <div class=\"row\">\r\n      <div id=\"\" class=\"col-sm-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-sm-12 dynamic_request_details\">\r\n            <div class=\"card m-0\">\r\n              <div class=\"body\">\r\n                <div class=\"request-details\">\r\n\r\n                  <app-dynamic-details-view *ngIf=\"EntityFormId && TicketData\" [EntityFormId]=\"EntityFormId\"\r\n                    [EntityTypeId]=\"EntityTypeId\" [PageGroupValues]=\"TicketData\" [EntityTypeForm]=\"EntityFormData\"\r\n                    [FormGetType]=\"'Local'\" [ViewType]=\"'Details'\" [pageGroups]=\"EntityPageGroupsData\"\r\n                    [defaultPageGroups]=\"EntityDefaultPageGroupsData\">\r\n                  </app-dynamic-details-view>\r\n\r\n\r\n                </div>\r\n\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n        </div>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"col-sm-12 m-t-20\" *ngIf=\"ComponentLine && ComponentLine.length > 0\">\r\n    <div class=\"row\">\r\n      <div id=\"\" class=\"col-sm-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-sm-12 dynamic_request_details\">\r\n            <div class=\"card\">\r\n\r\n              <div class=\"body\">\r\n                <div class=\"request-details\">\r\n\r\n\r\n                  <div class=\"box\" *ngFor=\"let item of ComponentLine\">\r\n                    <div class=\"box-inner\">\r\n                      <div class=\"box-header\">\r\n                        <h2>{{item.Formdata.SetupName?item.Formdata.SetupName:\"Component\"}}</h2>\r\n                      </div>\r\n                      <div class=\"box-body\">\r\n\r\n                        <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"'Edit'\" [FormGetType]=\"'Local'\"\r\n                          [hideCanelBtn]=\"true\" [Params]=\"TicketData\" [FormValues]=\"item.PageGroupValues\"\r\n                          [EntityFormId]=\"item.Formdata.RecId\" [EntityTypeId]=\"item.Formdata.EntityTypeRecId\"\r\n                          (closeCreate)=\"closePopupEditView($event.Type)\">\r\n                        </app-ticket-create>\r\n\r\n\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n\r\n                </div>\r\n\r\n\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n\r\n\r\n        </div>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"col-sm-12 m-t-20\" *ngIf=\"TicketData && contentGroups && contentGroups.length > 0\">\r\n    <div class=\"content-row row\" *ngFor=\"let row of contentGroups; let rowIndex = index\">\r\n\r\n      <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n        <ng-container *ngIf=\"checkGroupCondition(group)\">\r\n          <div class=\"content_add col clearfix {{group.Class}}\" *ngIf=\"group.ControlType && !group.IsDefault\"\r\n            [ngClass]=\"{'vertical-group': group.Direction == 1,'horizontal-group': group.Direction == 2}\"\r\n            [style.flex-basis]=\"group.Width + '%'\">\r\n\r\n            <!-- <detail-page-controller [menuText]=\"menuText\" [ViewType]=\"'viewer'\" [group]=\"group\" [contentGroups]=\"contentGroups\"\r\n              [PageData]=\"PageData\" [queryParams]=\"queryParams\"></detail-page-controller> -->\r\n\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n  <div class=\"col-sm-12 m-t-20 request-Conversation\" *ngIf=\"SetupDetails?.EntityType !=150\">\r\n\r\n    <ul class=\"nav nav-tabs\">\r\n\r\n      <li class=\"nav-item\" *ngIf=\"ActivityFields && ActivityFields.length > 0\">\r\n        <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#Timeline'\" (click)=\"gridChangeTabs('1')\"\r\n          [ngClass]=\"{'active': tabDisplayView==1}\">\r\n          {{'Timeline'|translate}}</a>\r\n      </li>\r\n\r\n      <li class=\"nav-item\" *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n        <a class=\"nav-link active\" data-toggle=\"tab\" [attr.data-target]=\"'#Process'\" (click)=\"gridChangeTabs('2')\"\r\n          [ngClass]=\"{'active': tabDisplayView==2}\">\r\n          {{'Process Stage'|translate}}</a>\r\n      </li>\r\n\r\n    </ul>\r\n    <div class=\"tab-content\" style=\"padding: 0;\">\r\n\r\n      <div class=\"tab-pane animated active\" *ngIf=\"ActivityFields && ActivityFields.length > 0\" id=\"Timeline\"\r\n        [ngClass]=\"{'active': tabDisplayView==1}\">\r\n\r\n        <div class=\"card select2-drop\">\r\n          <div class=\"header clearfix\">\r\n            <h2 class=\"pull-left\">{{'Timeline'|translate}}</h2>\r\n\r\n            <!-- <i class=\"la la-refresh\" (click)=\"getActivities()\"></i> -->\r\n          </div>\r\n          <div class=\"body activity-timeline clearfix\">\r\n\r\n            <ng-container *ngFor=\"let item of TimelineList;let i = index\">\r\n\r\n              <div class=\" timeline-item animated fadeIn  {{item.ActivityTypeIdEn}}\" [ngClass]=\"{'warning': !(item.ActivityTypeIdEn=='SMS' || item.ActivityTypeIdEn=='Email'\r\n                                                          || item.ActivityTypeIdEn=='Notes' || item.ActivityTypeIdEn=='Comments' || item.ActivityTypeIdEn=='Task' ),\r\n                          'blue': item.ActivityTypeIdEn=='SMS',\r\n                          'green':  item.ActivityTypeIdEn=='Email',\r\n                          'danger':  item.ActivityTypeIdEn=='Notes',\r\n                          'dark':  item.ActivityTypeIdEn=='Comments',\r\n                          'pomegranate':  item.ActivityTypeIdEn=='Task',\r\n                          'faster':  i ==0,\r\n                          'slower':  i ==1,\r\n                          'slow':  i >1\r\n                        }\">\r\n\r\n                <div class=\"timeline-body\" [ngClass]=\"{'fullview': item.showform}\">\r\n                  <span class=\"con-pointer\"></span>\r\n                  <h5 (click)=\"item.showform = !item.showform;item.loadForm = true;getActivityFileUploads(item) \">\r\n                    {{item.ActivityTypeIdEn|translate}} <span class=\"m-l-10 m-r-10\"\r\n                      *ngIf=\"item.ActivityTypeIdEn =='Task'\">#{{item.TaskId}}</span>\r\n                    <span class=\"pull-right date\">\r\n                      <span\r\n                        *ngIf=\"item.ActivityTypeIdEn=='Comments'|| item.ActivityTypeIdEn=='DefaultComments'\">{{item.CreatedBy}}\r\n                        |</span>\r\n                      {{item.CreatedDatetime | date:'dd/MM/yyyy h:mm a'}}\r\n                    </span>\r\n                  </h5>\r\n                  <div class=\"msg p-3 bg-white\" *ngIf=\"item.loadForm\" [ngClass]=\"{'d-none': !item.showform}\">\r\n\r\n\r\n                    <ng-container *ngIf=\"item.ActivityTypeId\">\r\n\r\n                      <app-activities-view [EntityTypeId]=\"item.ActivityTypeId\" [RefTypeId]=\"refRecId\"\r\n                        [ActivityTypeId]=\"item.ActivityTypeId\" [FormData]=\"item\">\r\n                      </app-activities-view>\r\n\r\n                      <div class=\"d-block field position-relative dynamic-view\"\r\n                        *ngIf=\"item.ActivityTypeIdEn=='Comments'|| item.ActivityTypeIdEn=='DefaultComments'\">\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-lg-3 col-md-3 col-sm-6\">{{'Created User'|translate}} </label>\r\n                          <span class=\"col\">: &nbsp; &nbsp; <span> {{item.CreatedBy|translate}}</span> </span>\r\n                        </div>\r\n\r\n                      </div>\r\n                      <ng-container *ngIf=\"item?.uploadFiles &&item?.uploadFiles.length >0;\">\r\n                        <h6 class=\"attach-title\">{{'Attachments'|translate}}\r\n                          <!-- <i (click)=\"attachMethod()\" class=\"fa fa-paperclip themecolor ml-1\"></i> -->\r\n                        </h6>\r\n                        <ul class=\"attached_lists\">\r\n                          <li *ngFor=\"let item of item.uploadFiles\">\r\n                            <!-- {{item?.Path}} -->\r\n                            <a id=\"nofile\" (click)=\"uploadFilesDownload(item.RecId,item?.Name)\" class=\"\">\r\n                              <span class=\"row m-0\">\r\n                                <span class=\"col padding-0 themecolor\" style=\"max-width: 50px;\">\r\n\r\n                                  <ng-container [ngSwitch]=\"item.ExtSm\">\r\n                                    <i class=\"la la-file-pdf\" *ngSwitchCase=\"'pdf'\" style=\"font-size:45px;\"></i>\r\n\r\n                                    <i class=\"la la-file-csv\" *ngSwitchCase=\"'csv'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-excel\" *ngSwitchCase=\"'xlsx'\" style=\"font-size:45px;\"></i>\r\n\r\n\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'png'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'svg'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'jpeg'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'jpg'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n\r\n                                    <i class=\"la la-file-alt\" *ngSwitchCase=\"'txt'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-word\" *ngSwitchCase=\"'docx'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-archive\" *ngSwitchCase=\"'zip'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-archive\" *ngSwitchCase=\"'rar'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-signature\" *ngSwitchCase=\"'sql'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-code\" *ngSwitchCase=\"'json'\" style=\"font-size:45px;\"></i>\r\n\r\n                                    <i class=\"la la-file\" *ngSwitchDefault style=\"font-size:45px;\"></i>\r\n                                  </ng-container>\r\n                                </span>\r\n                                <span class=\"col padding-0 attached_lists_name\">\r\n                                  <span>{{item?.Name|translate}}</span>\r\n                                  <span>{{item.Ext| translate}}&emsp;{{'download' | translate}}</span>\r\n                                </span>\r\n                              </span>\r\n                            </a>\r\n                          </li>\r\n                        </ul>\r\n                      </ng-container>\r\n\r\n\r\n\r\n\r\n                    </ng-container>\r\n\r\n                    <ng-container>\r\n\r\n                      <div class=\"d-block field position-relative dynamic-view\">\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'StageId'|translate}} </label>\r\n                          <span class=\"col\">: {{item.ProcessStage|translate}} </span>\r\n                        </div>\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Description'|translate}} </label>\r\n                          <span class=\"col\">: {{item.ProcessStageEn|translate}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Start Date'|translate}} </label>\r\n                          <span class=\"col\">: {{item.StartDate | date}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Started By'|translate}} </label>\r\n                          <span class=\"col\">: {{item.CreatedBy|translate}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{\"End Date\"|translate}} </label>\r\n                          <span class=\"col\">: {{item.EndDate | date}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Ended By'|translate}} </label>\r\n                          <span class=\"col\">: {{item.ModifiedBy|translate}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Ended Comments'|translate}} </label>\r\n                          <span class=\"col\">: {{item.Comments|translate}} </span>\r\n                        </div>\r\n                      </div>\r\n\r\n\r\n                    </ng-container>\r\n\r\n\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </ng-container>\r\n\r\n            <div class=\"activity-create m-t-20\" *ngIf=\"commentsActivityItem && commentsActivityItem.RecId\">\r\n\r\n              <div class=\"header clearfix\">\r\n                <h2 class=\"pull-left\" style=\"color: #17191c;\">\r\n                  <i class=\"icon icon-bubble m-r-10\"></i>\r\n                  {{'Comments'|translate}}\r\n                </h2>\r\n\r\n              </div>\r\n\r\n              <ng-container>\r\n                <!-- <app-activities-create [ViewFrom]=\"'Popup'\" [RefEntityTypeId]=\"EntityTypeId\" [TicketData]=\"TicketData\"\r\n                  [EntityTypeId]=\"commentsActivityItem.RecId\" [RefTypeId]=\"refRecId\"\r\n                  [ActivityTypeId]=\"commentsActivityItem.RecId\"\r\n                  (closeActivityCreate)=\"closePopupCreateView($event.Type)\">\r\n                </app-activities-create> -->\r\n              </ng-container>\r\n\r\n            </div>\r\n\r\n\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n\r\n      <div class=\"tab-pane animated active\" id=\"Process\" [ngClass]=\"{'active': tabDisplayView==2}\"\r\n        *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n        <app-grid [columnDefs]=\"columnDefs\" [GridTitle]=\"pageTitle\" [GridDescription]=\"pageDesp\"\r\n          [columnDefs]=\"columnDefs\" [gridActionList]=\"gridActionList\" [selectMode]=\"selectMode\" [IsCreate]=\"isCreate\"\r\n          [IsDelete]=\"isDelete\" [IsEdit]=\"isEdit\" [grid]=\"100\" (getPageList)=\"GetPageList($event.Criteria)\">\r\n        </app-grid>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n<ng-container *ngIf=\"showWorkflowPopup\">\r\n\r\n  <app-workflow-dynamic-popup [showWorkflowPopups]=\"showWorkflowPopup\" [ActionName]=\"ActionName\"\r\n    [ActionType]=\"'Details'\" [CurrentStageName]=\"CurrentStageName\" [currentStage]=\"selectedStageObj\"\r\n    [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"workflowEntityFormId\" [PageGroupValues]=\"TicketData\"\r\n    (getWorkflowActionComments)=\"getWorkflowActionComments($event.comments, $event.updateFileds, $event.updateFieldsObject)\"\r\n    (getWorkflowActionClose)=\"getWorkflowActionClose($event.type)\">\r\n  </app-workflow-dynamic-popup>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"CreateItemId\" [ngClass]=\"{'showPop':displayPopupCreateView}\" tabindex=\"-1\"\r\n  role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"max-width: 700px;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupCreateView()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n        <!-- <app-activities-create [ViewAction]=\"selectedActivityItem.Type\" [ViewFrom]=\"'Popup'\" [TicketData]=\"TicketData\"\r\n          [RefEntityTypeId]=\"EntityTypeId\" [EntityTypeId]=\"CreateItemId\" [RefTypeId]=\"refRecId\"\r\n          [ActivityTypeId]=\"CreateItemId\" (closeActivityCreate)=\"closePopupCreateView($event.Type)\">\r\n        </app-activities-create> -->\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n<div class=\"modal fade show\" *ngIf=\"PopupEditView\"\r\n  [ngClass]=\"{'showPop':PopupEditView, 'popup-inline-view':PageViewFrom =='Studio' }\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{('Edit'+' '+SetupDetails.Description) | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupEditView()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <app-ticket-create [ViewFrom]=\"'Popup'\" [Description]=\"CaseTypeDescription\" [Type]=\"'Edit'\"\r\n          [FormValues]=\"TicketData\" [EntityTypeId]=\"EntityTypeId\"\r\n          (closeCreate)=\"closePopupEditView($event.Type)\"></app-ticket-create>\r\n\r\n\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<app-attach-popup *ngIf=\"showAttachPopup\" [showAttachPopup]=\"showAttachPopup\" [ViewName]=\"ViewName\"\r\n  [TableName]=\"TableName\" [Permission]=\"Permission\" [refRecId]=\"referRecId\" [TypeId]=\"TypeId\"\r\n  [RefTableName]=\"RefTableName\" [attachmentType]=\"attachmentType\" (closeAttach)=\"closeAttach($event.Switch)\">\r\n</app-attach-popup>\r\n\r\n<ng-container *ngIf=\"AssignmentConfig && AssignmentEntityForm && AssignmentEntityForm.RecId\">\r\n  <entity-assignment [EntityTypeId]=\"EntityTypeId\" [AssignmentCurrentData]=\"AssignmentCurrentData\"\r\n    [EntityTypeForm]=\"AssignmentEntityForm\" (closeAssignment)=\"closeAssignmentConfig()\">\r\n  </entity-assignment>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showActionForm && ActionEntityForm && ActionEntityForm.RecId\"\r\n  [ngClass]=\"{'showPop': showActionForm}\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Action ' + ActionEntityForm.FormName | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"showActionForm = false\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" style=\"overflow:initial;\">\r\n\r\n        <app-entity-dynamic-view [EntityFormId]=\"ActionEntityForm.RecId\" [ViewFrom]=\"'Details'\" [Type]=\"'Create'\"\r\n          [ParameterData]=\"TicketData\"\r\n          (submitFormValue)=\"changeActionEntityForm($event.formdata,$event.pageForm,$event.forms)\">\r\n        </app-entity-dynamic-view>\r\n\r\n      </div>\r\n      <div class=\"modal-footer\">\r\n\r\n        <div class=\"text-align-right\">\r\n\r\n          <button class=\"btn btn-small btn-theme color-white m-l-5 m-r-5\" (click)=\"saveActionEntityForm()\">\r\n            {{'Save'|translate}}\r\n          </button>\r\n\r\n          <button class=\"btn btn-small btn-outline-danger m-l-5 m-r-5\" (click)=\"showActionForm = false\">\r\n            {{'Cancel'|translate}}\r\n          </button>\r\n\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n\r\n\r\n\r\n<div id=\"details_right_panel\" class=\"off-screen-dtl animated faster\" [ngClass]=\"rightSidebarClass\">\r\n  <span class=\"resize_element\"></span>\r\n  <ng-container *ngIf=\"DependedEntityList && DependedEntityList.length > 0\">\r\n\r\n    <div class=\"card rounded-0  animated faster \" [ngClass]=\"rightSidebarScrollClass\">\r\n      <div class=\"header p-2\">\r\n        <h5 class=\"modal-title d-inline-block\" id=\"exampleModalLabel\">{{'Related Data'| translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"openRelation()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n\r\n      </div>\r\n      <div class=\"body right_panel-body\">\r\n\r\n        <div class=\"card p-0\" *ngFor=\"let entity of DependedEntityList; let i = index\">\r\n          <div class=\"header clearfix p-2 border-bottom\">\r\n            <h2 class=\"pull-left\">\r\n              <span>\r\n                {{(entity.Label?entity.Label: entity.Description) |translate}}\r\n              </span>\r\n            </h2>\r\n            <a href=\"javascript:void(0)\" *ngIf=\"entity.IsExpand\" (click)=\"entity.IsExpand=false\"\r\n              class=\"pull-right themecolor action-btn m-l-5\">\r\n              <i class=\"la la-angle-up\"></i>\r\n            </a>\r\n\r\n            <a href=\"javascript:void(0)\" *ngIf=\"!entity.IsExpand\" (click)=\"entity.IsExpand=true;entity.initLoad= true\"\r\n              class=\"pull-right themecolor action-btn m-l-5\">\r\n              <i class=\"la la-angle-down\"></i>\r\n            </a>\r\n\r\n            <a href=\"javascript:void(0)\" *ngIf=\"entity.initLoad\" (click)=\"entityDepandentsLoad(entity,i)\"\r\n              class=\"pull-right themecolor action-btn m-l-5\">\r\n              <i class=\"la la-refresh\"></i>\r\n            </a>\r\n\r\n\r\n          </div>\r\n          <div class=\"body p-0 clearfix\" [ngClass]=\"{'d-none': !entity.IsExpand}\">\r\n\r\n            <ng-container *ngIf=\"entity.initLoad\">\r\n\r\n              <!-- <app-dynamic-list [EntityTypeId]=\"entity.RecId\" [isHideHeader]=\"true\" [PageViewFrom]=\"'Popup'\"\r\n                [RelatedEntity]=\"SetupDetails.RecId\" [RelatedEntityValue]=\"entity.DependedValue\"></app-dynamic-list> -->\r\n\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n\r\n\r\n<!-- <div class=\"modal fade show\" [ngClass]=\"{'showPop':displayFormPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n    aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\" style=\"max-width: 95%;\">\r\n      <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n        <div class=\"modal-header\">\r\n  \r\n          <div id=\"details\" *ngIf=\"DetailsViewPopup\">\r\n            <ul class=\"nav nav-tabs\">\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#FormConfig'\" (click)=\"ChangeTab('11')\"\r\n                  [ngClass]=\"{'active': Tab == 11}\">\r\n                  {{'Configure'|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#Design'\" (click)=\"ChangeTab('1')\"\r\n                  [ngClass]=\"{'active': Tab == 1}\">\r\n                  {{'Design Page'|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#Rules'\" (click)=\"ChangeTab('2')\"\r\n                  [ngClass]=\"{'active': Tab == 2}\">\r\n                  {{'Rules'|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#DataSource'\" (click)=\"ChangeTab('4')\"\r\n                  [ngClass]=\"{'active': Tab == 4}\">\r\n                  {{'DataSource'|translate}}</a>\r\n              </li>  \r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#SubmitDataSource'\" (click)=\"ChangeTab('5')\"\r\n                  [ngClass]=\"{'active': Tab == 5}\">\r\n                  {{'On Submit DataSource'|translate}}</a>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n  \r\n\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeConfigurationPopUp()\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n    \r\n          <div id=\"details\" *ngIf=\"DetailsViewPopup\">\r\n\r\n            <div class=\"tab-content\" style=\"padding: 0;\">\r\n\r\n              <div class=\"tab-pane animated active\" id=\"Design\" *ngIf=\"Tab == 1\" [ngClass]=\"{'active':Tab == 1}\">\r\n                <ng-container>\r\n                <app-entity-dynamic-form [FormStatus]=\"EntityFormData.Status\" [EntityType]=\"EntityType\"\r\n                  [EntityFormId]=\"EntityFormId\" [EntityTypeId]=\"EntityTypeId\" [EntityTypeForm]=\"EntityFormData\">\r\n                </app-entity-dynamic-form>\r\n                </ng-container>                \r\n              </div>\r\n\r\n              <div class=\"tab-pane animated active\" id=\"Rules\" *ngIf=\"Tab == 2\" [ngClass]=\"{'active': Tab == 2}\">\r\n                <app-entity-field-rules [FormStatus]=\"EntityFormData.Status\" [EntityTypeId]=\"EntityTypeId\"\r\n                  [FormRecId]=\"EntityFormId\">\r\n                </app-entity-field-rules>\r\n              </div>\r\n    \r\n              <div class=\"tab-pane animated active\" id=\"DataSource\" *ngIf=\"Tab == 4\" [ngClass]=\"{'active': Tab == 4}\">\r\n                <app-datasource-create [EntityTypeForm]=\"EntityFormData\" \r\n                *ngIf=\"EntityFormData && EntityFormData.RecId\">\r\n              </app-datasource-create>\r\n              </div>\r\n    \r\n              <div class=\"tab-pane animated active\" id=\"SubmitDataSource\" *ngIf=\"Tab == 5\" [ngClass]=\"{'active': Tab == 5}\">\r\n                <app-datasource-create [EntityTypeForm]=\"EntityFormData\"  [ActionType]=\"'Submit'\" \r\n                *ngIf=\"EntityFormData && EntityFormData.RecId\">\r\n              </app-datasource-create>\r\n              </div>\r\n    \r\n              <div class=\"tab-pane animated active\" id=\"FormConfiq\" *ngIf=\"Tab == 11\" [ngClass]=\"{'active': Tab == 11}\">         \r\n                <form-config-view [EntityTypeForm]=\"EntityFormData\">\r\n                </form-config-view>  \r\n              </div>\r\n            </div>\r\n          </div>\r\n          \r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <ng-container *ngIf=\"IsEventLog\">\r\n    <app-event-logs [IsEventLogModal]=\"IsEventLog\" [RecId]=\"RecId\" [PageDescription]=\"SetupDetails.Description\"\r\n    (CloseEventLog)=\"closeEventLogPopUp($event.Switch)\"></app-event-logs>\r\n  </ng-container> -->","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { E_DataType, E_FieldType, E_GalaryViewFieldType, EntityTypeFieldCVM, EntityTypeFieldVM, EntityTypeFormUVM, EntityTypeFormVM, Field_config, IDropDown, ISearchCriteria, PageDetailsRow, PageForm, PageGroup, ProfileView, ProfileViewConfig, moveItem } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dynamic-profile',\r\n  templateUrl: './dynamic-profile.component.html',\r\n  styleUrls: ['./dynamic-profile.component.scss'],\r\n})\r\nexport class DynamicProfileComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private fb: FormBuilder,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  @Input() totalFilterCount: number = 0;\r\n  @Input() ListData: any[] = [];\r\n  @Input() ViewType: any = 'canvas';\r\n\r\n  @Input() EntityFieldList: EntityTypeFieldVM[] = [];\r\n  @Input() EntityTypeId: number = 0;\r\n  @Input() EntityTypeForm: EntityTypeFormVM | any = null;\r\n  @Input() EntityFormId: number = 0;\r\n\r\n  @Input() storeCriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 0,\r\n    },\r\n    Where: [],\r\n    SortOrder: {},\r\n  };\r\n  @Output() getFilterPageList = new EventEmitter<{ Criteria: any }>();\r\n\r\n  _FieldType = E_GalaryViewFieldType;\r\n  ProfileView: ProfileView = new ProfileView();\r\n  searchFilterFields: EntityTypeFieldVM[] = [];\r\n  _PageForm: PageForm = new PageForm(new FormGroup({}));\r\n  profileSettingConfig: boolean = false;\r\n\r\n  ngOnInit(): void {\r\n    this.loadStoreCriteria();\r\n\r\n    if (this.EntityFieldList && this.EntityFieldList.length > 0) {\r\n      this.buildReactiveForm();\r\n    } else this.getFieldListByEntityType();\r\n\r\n    if (!this.EntityTypeForm) {\r\n      this.getEntityForm();\r\n    } else {\r\n      this.setProfileView();\r\n    }\r\n    this.getAllRules(this.EntityTypeId);\r\n  }\r\n\r\n  showDataFiledPopup: boolean = false;\r\n  viewType: string | any = null;\r\n  openDataField(viewType?: any, rowIndex?: any, groupIndex?: any) {\r\n    debugger;\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n    this.viewType = viewType;\r\n    this.showDataFiledPopup = true;\r\n  }\r\n  closeDataField() {\r\n    this.showDataFiledPopup = false;\r\n  }\r\n\r\n  selectedField: any = null;\r\n  selectedFieldIndex: any = null;\r\n  showSettings: boolean = false;\r\n  settingViewType: string | any = null;\r\n  settings(index: any, settingViewType: any) {\r\n    debugger;\r\n    this.selectedFieldIndex = index;\r\n    this.settingViewType = settingViewType;\r\n    if (this.settingViewType == 'ProfileImageView') {\r\n      this.selectedField =\r\n        this.ProfileView.ProfileImageView[0].Groups[0].Fields[\r\n          this.selectedFieldIndex\r\n        ].Config;\r\n      this.getProfileViewTypeDropDown();\r\n    } else {\r\n      this.selectedField = this.ProfileView.Filter[this.selectedFieldIndex];\r\n      this.getFilterFieldDataTypeDropDown();\r\n    }\r\n    this.showSettings = true;\r\n  }\r\n  closeSettings() {\r\n    this.showSettings = false;\r\n    this.settingViewType = null;\r\n  }\r\n\r\n  updateFieldSettings() {\r\n    if (this.settingViewType == 'ProfileImageView') {\r\n      this.ProfileView.ProfileImageView[0].Groups[0].Fields[\r\n        this.selectedFieldIndex\r\n      ].Config = this.selectedField;\r\n    } else {\r\n      this.ProfileView.Filter[this.selectedFieldIndex] = this.selectedField;\r\n    }\r\n    this.selectedFieldIndex = null;\r\n    this.selectedField = null;\r\n    this.closeSettings();\r\n  }\r\n\r\n  _deleteField(index: any) {\r\n    this.ProfileView.ProfileImageView[0].Groups[0].Fields.splice(index, 1);\r\n  }\r\n\r\n  _downField(index: any) {\r\n    if (\r\n      index !=\r\n      this.ProfileView.ProfileImageView[0].Groups[0].Fields.length - 1\r\n    )\r\n      moveItem(\r\n        this.ProfileView.ProfileImageView[0].Groups[0].Fields,\r\n        index,\r\n        index + 1\r\n      );\r\n  }\r\n\r\n  _upField(index: any) {\r\n    if (index != 0)\r\n      moveItem(\r\n        this.ProfileView.ProfileImageView[0].Groups[0].Fields,\r\n        index,\r\n        index - 1\r\n      );\r\n  }\r\n\r\n  Filter_deleteField(index: any) {\r\n    this.ProfileView.Filter.splice(index, 1);\r\n  }\r\n\r\n  Filter_downField(index: any) {\r\n    if (index != this.ProfileView.Filter.length - 1)\r\n      moveItem(\r\n        this.ProfileView.Filter,\r\n        index,\r\n        index + 1\r\n      );\r\n  }\r\n\r\n  Filter_upField(index: any) {\r\n    if (index != 0)\r\n      moveItem(\r\n        this.ProfileView.Filter,\r\n        index,\r\n        index - 1\r\n      );\r\n  }\r\n\r\n  getFieldListByEntityType() {\r\n    debugger;\r\n    let _subscribe = this.dynamicAppsService\r\n      .getAllEntityTypeField(null, this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _datas = res.Data ? res.Data : res;\r\n          this.EntityFieldList = _datas;\r\n          this.loaderService.hideLoading();\r\n          _subscribe.unsubscribe();\r\n          this.buildReactiveForm();\r\n        },\r\n        (error) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  getEntityForm() {\r\n    debugger;\r\n\r\n    if (!this.EntityFormId) {\r\n      return;\r\n    }\r\n\r\n    this.dynamicAppsService\r\n      .getSingleEntityTypeFormById(this.EntityFormId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          this.EntityTypeForm = res;\r\n          this.setProfileView();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  setProfileView() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      let _FormData: ProfileView = JSON.parse(this.EntityTypeForm.FormData);\r\n      this.ProfileView = _FormData;\r\n      if (!this.ProfileView.Config) {\r\n        this.ProfileView.Config = new ProfileViewConfig();\r\n      }\r\n    }\r\n  }\r\n\r\n  ddlPosition: IDropDown[] = [\r\n    { Id: 'position-static', Description: 'Static' },\r\n    { Id: 'position-absolute', Description: 'Absolute' },\r\n    { Id: 'position-relative', Description: 'Relative' },\r\n  ];\r\n\r\n  ddlProfileViewType: any = [];\r\n  getProfileViewTypeDropDown() {\r\n    debugger;\r\n    this.ddlProfileViewType = [];\r\n    try {\r\n      for (let key in E_GalaryViewFieldType) {\r\n        let val = E_GalaryViewFieldType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlProfileViewType.push(temp);\r\n        }\r\n      }\r\n    } catch (e: any) {\r\n      console.log(e.message, 'error');\r\n    }\r\n  }\r\n\r\n  DataType: any = null;\r\n  ddlFilterFieldDataType: any[] = [];\r\n  getFilterFieldDataTypeDropDown() {\r\n    debugger;\r\n    this.ddlFilterFieldDataType = [];\r\n    try {\r\n      for (let key in E_DataType) {\r\n        let val = E_DataType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlFilterFieldDataType.push(temp);\r\n        }\r\n      }\r\n    } catch (e: any) {\r\n      console.log(e.message, 'error');\r\n    }\r\n  }\r\n\r\n  submitDataFields(Fields: EntityTypeFieldVM[], viewType?: any) {\r\n    debugger;\r\n    if (this.viewType == 'Filter') {\r\n      for (let i = 0; i < Fields.length; i++) {\r\n        let _field = {\r\n          // Order: this.GalaryViewFields.length + 1,\r\n          Field: Fields[i].Description,\r\n          Label: null,\r\n          FieldData: [Fields[i]],\r\n          Position: '',\r\n          top: 'auto',\r\n          left: 'auto',\r\n          right: 'auto',\r\n          bottom: 'auto',\r\n          bgcolor: null,\r\n          textcolor: null,\r\n          ProfileSearch: '',\r\n        };\r\n\r\n        this.ProfileView.Filter.push(_field);\r\n      }\r\n    } else if (this.viewType == 'ProfileImageView') {\r\n      for (let i = 0; i < Fields.length; i++) {\r\n        let _field = {\r\n          // Order: this.GalaryViewFields.length + 1,\r\n          Field: Fields[i].Description,\r\n          Label: null,\r\n          FieldData: Fields[i],\r\n          Type: E_GalaryViewFieldType.Description,\r\n          Position: '',\r\n          top: 'auto',\r\n          left: 'auto',\r\n          right: 'auto',\r\n          bottom: 'auto',\r\n          bgcolor: null,\r\n          textcolor: null,\r\n        };\r\n        if (Fields[i].DataType == E_DataType.button)\r\n          _field.Type = E_GalaryViewFieldType.Button;\r\n\r\n        if (\r\n          this.ProfileView.ProfileImageView == null ||\r\n          this.ProfileView.ProfileImageView.length == 0\r\n        ) {\r\n          this.ProfileView.ProfileImageView.push(new PageDetailsRow());\r\n          this.ProfileView.ProfileImageView[0].Groups.push(new PageGroup());\r\n        }\r\n\r\n        this.ProfileView.ProfileImageView[0].Groups[0].Fields.push(Fields[i]);\r\n\r\n        let data = this.ProfileView.ProfileImageView[0].Groups[0].Fields.map(\r\n          (x: any) => {\r\n            if (!x.hasOwnProperty('Config')) x.Config = new Field_config();\r\n          }\r\n        );\r\n      }\r\n    } else {\r\n      for (let index = 0; index < Fields.length; index++) {\r\n        this.ProfileView.ProfileMainview[this.selectRowIndex].Groups[\r\n          this.selectGroupIndex\r\n        ].Fields.push(Fields[index]);\r\n      }\r\n    }\r\n\r\n    this.showDataFiledPopup = false;\r\n    this.showClientDataFiledPopup = false;\r\n    this.viewType = null;\r\n    this.buildReactiveForm();\r\n  }\r\n  clearSearchFilter() {\r\n    debugger;\r\n    this.storeCriteria.Where = [];\r\n    this._PageForm.reset();\r\n    this._getFilterPageList();\r\n  }\r\n\r\n  _getFilterPageList() {\r\n    this.getFilterPageList.emit({ Criteria: this.storeCriteria });\r\n  }\r\n  buildReactiveForm() {\r\n    debugger;\r\n    this._PageForm = new PageForm(this.createFormGroup(this.EntityFieldList));\r\n  }\r\n\r\n  createFormGroup(fields: EntityTypeFieldVM[]) {\r\n    debugger;\r\n    let form = this.fb.group({});\r\n    if (Array.isArray(fields) && fields.length > 0) {\r\n      for (const field of fields) {\r\n        const value = null;\r\n        if (field.IsMandatory)\r\n          form.addControl(\r\n            field.Description,\r\n            this.fb.control(value, Validators.required)\r\n          );\r\n        else form.addControl(field.Description, this.fb.control(value));\r\n      }\r\n    }\r\n    return form;\r\n  }\r\n\r\n  loadStoreCriteria() {\r\n    this.storeCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 10,\r\n      },\r\n      Where: [],\r\n      SortOrder: { field: null, direction: null },\r\n    };\r\n  }\r\n  searchFilter() {\r\n    debugger;\r\n\r\n    let filterObj = this._PageForm.form.value;\r\n    this.storeCriteria.Where = [];\r\n    try {\r\n      for (let key in filterObj) {\r\n        let val = filterObj[key];\r\n        let filterobj = {\r\n          Field: key,\r\n          Operator: 'Contains',\r\n          TableAlias: '',\r\n          Value: '=' + val,\r\n        };\r\n\r\n        if (val != null && val != '') {\r\n          this.storeCriteria.Where.push(filterobj);\r\n        }\r\n      }\r\n    } catch (e: any) {\r\n      Swal.fire(e.message, 'error');\r\n    }\r\n    console.log('scsc', this.storeCriteria.Where);\r\n\r\n    this._getFilterPageList();\r\n  }\r\n\r\n  selectRowIndex: any;\r\n  selectGroupIndex: any;\r\n  deleteGroup(rowIndex: any, groupIndex: any) {\r\n    debugger;\r\n\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n\r\n    this.ProfileView.ProfileMainview[this.selectRowIndex].Groups.splice(\r\n      this.selectGroupIndex,\r\n      1\r\n    );\r\n    if (\r\n      this.ProfileView.ProfileMainview[this.selectRowIndex].Groups.length == 0\r\n    )\r\n      this.ProfileView.ProfileMainview.splice(this.selectRowIndex, 1);\r\n  }\r\n\r\n  downList(index: any, item: any) {\r\n    debugger;\r\n    moveItem(item, index, index + 1);\r\n  }\r\n\r\n  upList(index: any, item: any) {\r\n    debugger;\r\n    moveItem(item, index, index - 1);\r\n  }\r\n\r\n  /* #region Client DataField */\r\n  PageGroupClientFields: EntityTypeFieldCVM[] = [];\r\n  showClientDataFiledPopup: boolean = false;\r\n  openClientDataField(rowIndex: any, groupIndex: any) {\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n    this.showClientDataFiledPopup = true;\r\n    // this.dataFieldPopup = true;\r\n  }\r\n\r\n  closeClientDataField() {\r\n    this.showClientDataFiledPopup = false;\r\n\r\n    // this.dataFieldPopup = false;\r\n  }\r\n\r\n  updateClientFields(ClintField: EntityTypeFieldVM[]) {\r\n    debugger;\r\n    this.PageGroupClientFields = ClintField;\r\n  }\r\n  updateClientField(Field: EntityTypeFieldVM) {\r\n    debugger;\r\n\r\n    let indexofEditObj = this.PageGroupClientFields.findIndex(\r\n      (x) => x.Description == Field.Description\r\n    );\r\n    this.PageGroupClientFields.splice(indexofEditObj, 1, Field);\r\n    this.setClientFieldsInPageGroupsForm();\r\n  }\r\n  setClientFieldsInPageGroupsForm() {\r\n    if (!(this.PageGroupClientFields && this.PageGroupClientFields.length > 0))\r\n      return;\r\n\r\n    let _clientFields: any[] = this.PageGroupClientFields;\r\n\r\n    this.ProfileView.ProfileMainview.map((PG: any) => {\r\n      PG.Groups.map((group: any) => {\r\n        group.Fields = group.Fields.map(\r\n          (PGF: any) =>\r\n            _clientFields.find((f) => f.Description === PGF.Description) || PGF\r\n        );\r\n      });\r\n    });\r\n  }\r\n  /* #endregion */\r\n\r\n  addNestedGroup(rowIndex: any, groupIndex: any) {\r\n    this.selectRowIndex = rowIndex;\r\n    this.selectGroupIndex = groupIndex;\r\n  }\r\n\r\n  addRow() {\r\n    this.ProfileView.ProfileMainview.push(new PageDetailsRow());\r\n    let row =\r\n      this.ProfileView.ProfileMainview[\r\n        this.ProfileView.ProfileMainview.length - 1\r\n      ];\r\n    this.addGroup(row);\r\n  }\r\n\r\n  addGroup(row: PageDetailsRow) {\r\n    let group = new PageGroup();\r\n    row.Groups.push(group);\r\n    this.setGroupWidth(row);\r\n  }\r\n\r\n  setGroupWidth(row: PageDetailsRow) {\r\n    for (let index = 0; index < row.Groups.length; index++) {\r\n      let Width = 100 / row.Groups.length;\r\n      row.Groups[index].Width = Width;\r\n      row.Groups[index].Height = Width;\r\n    }\r\n  }\r\n\r\n  /* #region  Field Actions */\r\n\r\n  deleteField(fieldIndex: any, groupIndex: any, rowIndex: any) {\r\n    this.ProfileView.ProfileMainview[rowIndex].Groups[groupIndex].Fields.splice(\r\n      fieldIndex,\r\n      1\r\n    );\r\n  }\r\n  downField(fieldIndex: any, groupIndex: any, rowIndex: any) {\r\n    if (\r\n      fieldIndex !=\r\n      this.ProfileView.ProfileMainview[rowIndex].Groups[groupIndex].Fields\r\n        .length -\r\n        1\r\n    )\r\n      moveItem(\r\n        this.ProfileView.ProfileMainview[rowIndex].Groups[groupIndex].Fields,\r\n        fieldIndex,\r\n        fieldIndex + 1\r\n      );\r\n  }\r\n\r\n  upField(fieldIndex: any, groupIndex: any, rowIndex: any) {\r\n    if (fieldIndex != 0)\r\n      moveItem(\r\n        this.ProfileView.ProfileMainview[rowIndex].Groups[groupIndex].Fields,\r\n        fieldIndex,\r\n        fieldIndex - 1\r\n      );\r\n  }\r\n\r\n  saveProfileForm() {\r\n    debugger;\r\n    let _FormData = JSON.stringify(this.ProfileView);\r\n\r\n    const data: EntityTypeFormUVM = {\r\n      RecId: this.EntityTypeForm.RecId,\r\n      EntityTypeId: this.EntityTypeForm.EntityTypeRecId,\r\n      EntityTypeRecId: this.EntityTypeForm.EntityTypeRecId,\r\n      FormData: _FormData,\r\n      FormName: this.EntityTypeForm.FormName,\r\n      FormType: this.EntityTypeForm.FormType,\r\n    };\r\n    this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n      (res) => {\r\n        Swal.fire('', 'Form saved Successfully', 'success');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  _profileSettingConfig() {\r\n    this.profileSettingConfig = !this.profileSettingConfig;\r\n  }\r\n  PositionDDL = [\r\n    { Id: 'Top', Desc: 'Top' },\r\n    { Id: 'Left', Desc: 'Left' },\r\n  ];\r\n\r\n  TopFilter() {\r\n    debugger;\r\n    let element = document.getElementById('IsTopFilter');\r\n    let element1 = document.getElementById('IsTopFilterView');\r\n    if (element) {\r\n      element.classList.toggle('isTopFilter');\r\n    }\r\n\r\n    if (element1) element1.classList.toggle('isTopFilter');\r\n    if (element) element.classList.add('body');\r\n  }\r\n\r\n  FieldClickEvent(FieldData: EntityTypeFieldVM, RestData: any) {\r\n    debugger;\r\n    if (this.AllRules && this.AllRules.FieldRules) {\r\n      // _rulesField = this.AllRules.FieldRules;\r\n    }\r\n    if (this.AllRules && this.AllRules.FieldRules) {\r\n      let rulesData = this.AllRules.FieldRules;\r\n\r\n      if (Array.isArray(rulesData)) {\r\n        rulesData = rulesData.filter((x: any) => x.Type == 'OnFieldClick');\r\n        let _rulesData = rulesData.filter((x: any) => {\r\n          return x;\r\n        });\r\n\r\n        for (let rI = 0; rI < _rulesData.length; rI++) {\r\n          this._fieldrulesImplement(\r\n            _rulesData[rI],\r\n            RestData,\r\n            FieldData,\r\n            'Click'\r\n          );\r\n        }\r\n      } else this._fieldrulesImplement(rulesData, RestData, FieldData, 'Click');\r\n    }\r\n  }\r\n\r\n  _fieldrulesImplement(\r\n    rulesData: any,\r\n    RestData: any,\r\n    FieldData: any,\r\n    EventType?: any\r\n  ) {\r\n    debugger;\r\n\r\n    if (!rulesData || !rulesData.Condtion) {\r\n      return;\r\n    }\r\n\r\n    let _condition = true;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = this.ListData[_con.Field];\r\n      if (FieldData.DataType == E_DataType.bool)\r\n        _fieldValue = _fieldValue.toString();\r\n\r\n      if (_con.FieldType && _con.FieldType == 'Value') {\r\n      }\r\n\r\n      let value =\r\n        _con.Value == 'FieldValue'\r\n          ? this.ListData[_con.ValueTwo]\r\n          : _con.ValueTwo;\r\n\r\n      switch (_con.Type) {\r\n        case 'Equal': {\r\n          _Icondition = _fieldValue == value ? true : false;\r\n          break;\r\n        }\r\n        case 'NotEqual': {\r\n          _Icondition = _fieldValue != value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue < value ? true : false;\r\n          break;\r\n        }\r\n        case 'LessThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue <= value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThen': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue > value ? true : false;\r\n          break;\r\n        }\r\n        case 'GreaterThenEqual': {\r\n          _fieldValue = !isNaN(_fieldValue)\r\n            ? parseFloat(_fieldValue)\r\n            : _fieldValue;\r\n          value = !isNaN(value) ? parseFloat(value) : value;\r\n          _Icondition = _fieldValue >= value ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNull': {\r\n          _Icondition = _fieldValue == null ? true : false;\r\n          break;\r\n        }\r\n        case 'IsNotNull': {\r\n          _Icondition = _fieldValue != null ? true : false;\r\n          break;\r\n        }\r\n\r\n        default:\r\n          _Icondition = false;\r\n          break;\r\n      }\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = _condition && _Icondition ? true : false;\r\n        } else {\r\n          _condition = _condition || _Icondition ? true : false;\r\n        }\r\n      } else {\r\n        _condition = _Icondition;\r\n      }\r\n    }\r\n\r\n    if (_condition) {\r\n      if (EventType == 'Click') {\r\n        this.OnEventApply(rulesData, RestData);\r\n      }\r\n    }\r\n  }\r\n\r\n  AllRules: any = null;\r\n  getAllRules(EntityTypeId: any) {\r\n    debugger;\r\n    let getAllRulesWithTemplateData = this.dynamicAppsService\r\n      .getAllRulesWithTemplateData(EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          this.AllRules = res;\r\n          this.loaderService.hideLoading();\r\n          getAllRulesWithTemplateData.unsubscribe();\r\n        },\r\n        (error:any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n        }\r\n      );\r\n  }\r\n\r\n  OnEventApply(rulesData: any, RestData: any) {\r\n    debugger;\r\n    if (!rulesData.event) return;\r\n    let rulesEvent = {\r\n      IsNeedConfirm: false,\r\n      ConfirmMsg: '',\r\n      ActionType: null,\r\n      NavigationTarget: null,\r\n      NavigationURL: null,\r\n      DataSourceRecId: null,\r\n      RestSuccessMsg: null,\r\n      RestFailureMsg: null,\r\n      FormRecId: null,\r\n      FormType: null,\r\n      ViewType: null,\r\n      ViewRefRecId: null,\r\n    };\r\n    if (rulesData.event) rulesEvent = rulesData.event;\r\n\r\n    if (rulesEvent.ActionType) {\r\n      if (rulesEvent.IsNeedConfirm) {\r\n        Swal.fire({\r\n          title: rulesEvent.ConfirmMsg,\r\n          icon: 'warning',\r\n          showCancelButton: true,\r\n          confirmButtonColor: '#3085d6',\r\n          cancelButtonColor: '#d33',\r\n          cancelButtonText: 'Cancel',\r\n          confirmButtonText: 'Yes!',\r\n        }).then((result) => {\r\n          if (result.isConfirmed) {\r\n            //  this.OnFieldClickEventAction(rulesEvent,RestData);\r\n          }\r\n        });\r\n      }\r\n      // else\r\n      //   this.OnFieldClickEventAction(rulesEvent,RestData);\r\n    }\r\n  }\r\n\r\n  openDetails(_field:any,value:any){\r\n    debugger;\r\n    if (!_field.FieldType && _field.FieldTypeId && _field.FieldType_RelationEntity && _field.FieldType_RelationEntityField) {\r\n      this.PageType = 5;\r\n      this.DyamicPageRecId= _field.FieldType_RelationEntity;\r\n      this.DynamicTableField = _field.Description;\r\n      this.DynamicTableFieldValue = (value[_field.Description]);\r\n      this.openDynamicDetailsPopup();\r\n    }\r\n  }\r\n  IsShowDynamicDetailsPopup:boolean=false;\r\n  openDynamicDetailsPopup(){\r\n    this.IsShowDynamicDetailsPopup = true;\r\n  }\r\n\r\n  DyamicPageRecId:number=0;\r\n  PageType:number=0;\r\n  DynamicTableField:any=null;\r\n  DynamicTableFieldValue:any=null;\r\n  closeDynamicDetailsPopup(){\r\n    this.PageType = 5;\r\n    this.DyamicPageRecId = 0;\r\n    this.DynamicTableField = null;\r\n    this.DynamicTableFieldValue = null;\r\n    this.IsShowDynamicDetailsPopup = false;\r\n  }\r\n}\r\n","<ng-container *ngIf=\"ViewType=='view';else elseTemplate\">\r\n    <div class=\"profile-grid\">\r\n    <div class=\"profile-grid row m-0 Position-{{ProfileView.Config.FilterPosition}}\">\r\n        <div class=\"emp-search col-lg-3\" [ngClass]=\"{'d-none':ProfileView.Config.isHideFilter}\">\r\n                  \r\n            <div class=\"themeprimary heading\">\r\n              <h6 class=\"pull-left\"> {{ \"Filters\" | translate}} </h6>\r\n              <span class=\"pull-right TotalRecord\">{{ \"Total Records:\" | translate}} {{totalFilterCount}} </span>\r\n              <a href=\"javascript:void(0)\"\r\n                class=\"pull-right themecolor filter-action m-l-5\"\r\n                (click)=\"TopFilter()\">\r\n                <i class=\"tabler-ti ti-adjustments-horizontal\"></i>\r\n            </a>\r\n            </div>\r\n          \r\n            <div id=\"IsTopFilterView\" class=\"isTopFilter my-3\">\r\n            <div class=\"d-inline-block w-100\">\r\n              <button class=\"add_req_btn pull-left\" (click)=\"clearSearchFilter()\">{{ \"clear filter\" | translate}}</button>\r\n              <button (click)=\"searchFilter()\" class=\"add_req_btn pull-right\">{{ \"search\" | translate}}</button>\r\n            </div>\r\n            \r\n\r\n            <div class=\"row general\">\r\n                <ng-container *ngFor=\"let item of ProfileView.Filter; let i = index\">\r\n                    <div class=\"field\"\r\n                        [ngClass]=\"{'field-bg': item.bgcolor && (item.Type ==_FieldType.Header || item.Type ==_FieldType.Description)}\">\r\n                        <ng-container>\r\n                            <ng-container >\r\n                                <div class=\"row fields_box {{item.Position}}\" [style.top]=\"item.top\" [style.left]=\"item.left\"\r\n                                    [style.right]=\"item.right\" [style.bottom]=\"item.bottom\" [style.color]=\"item.textcolor\"\r\n                                    [style.background]=\"item.bgcolor\">\r\n                                    <label class=\"bg-themesecondary collapsed filter_label\" [style.color]=\"item.textcolor\"\r\n                                        [style.background]=\"item.bgcolor\" data-bs-toggle=\"collapse\" data-toggle=\"collapse\"\r\n                                        [attr.data-target]=\"'#Filter_'+item.FieldData[0].RecId\"\r\n                                        [attr.data-bs-target]=\"'#Filter_'+item.FieldData[0].RecId\">{{ item.Field |\r\n                                        translate}}</label>\r\n                                    <span class=\"whole collapse in\" [id]=\"'Filter_'+item.FieldData[0].RecId\">\r\n                                        <div class=\"full\">\r\n                                                \r\n                                                <app-entity-dynamic-field [fieldsList]=\"item.FieldData\" [pageForm]=\"_PageForm\"\r\n                                                 (deleteField)=\"deleteField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                (upField)=\"upField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                (downField)=\"downField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\" [IsViewType]=\"true\"\r\n                                                [ClientFields]=\"PageGroupClientFields\" (updateClientField)=\"updateClientField($event.ClientField)\">\r\n                                            \r\n                                            </app-entity-dynamic-field>\r\n\r\n                                        </div>\r\n                                    </span>\r\n                                </div>\r\n                            </ng-container>\r\n                           \r\n                        </ng-container>\r\n                    \r\n                        \r\n                    </div>\r\n\r\n                </ng-container>\r\n                \r\n            \r\n            </div>\r\n          \r\n          </div>\r\n          \r\n          \r\n    </div>\r\n    <div class=\"emp-body col-lg-9\" [ngClass]=\"{'is-Hide':ProfileView.Config.isHideFilter}\">\r\n        <ng-container *ngFor=\"let list of ListData; let listI = index\">\r\n            <div class=\"row general\">\r\n               \r\n                <div class=\"col-lg-12\">\r\n                    <section class=\"emp-box\" style=\"background-color: #eee;\">\r\n                        <div class=\"container py-2 px-2\">\r\n                          \r\n                          <div class=\"row mb-3\">\r\n                            <div class=\"col-lg-3 left_box p-r-0\">\r\n                              <div class=\"card\">\r\n                                <div class=\"card-body text-center\">\r\n                                    <ng-container *ngFor=\"let item of ProfileView.ProfileImageView; let _i = index\">\r\n                                        <ng-container *ngFor=\"let _item of item.Groups; let __i = index\">\r\n                                            <ng-container *ngFor=\"let _field of _item.Fields; let i = index\">\r\n                                        <div class=\"field\">\r\n                                            <ng-container [ngSwitch]=\"_field.Config?.Type\">\r\n                                \r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Image\">\r\n                                                    <div *ngIf=\"(list[_field.Description]);else insideElse\">\r\n                                                        <img src=\"{{globalService.rootUrl}}{{(list[_field.Description])}}\" [alt]=\"_field.Label\"\r\n                                                        class=\"rounded-circle img-fluid\">\r\n                                                    </div>\r\n                                                    <ng-template #insideElse>\r\n                                                        <img src=\"{{globalService.ServerHost}}/System/assets/images/avatar/avataricon1.png\" alt=\"avatar\"\r\n                                                        class=\"rounded-circle img-fluid\">\r\n                                                    </ng-template>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Header\">\r\n                                                    <div class=\"product-name {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                        [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                        [style.background]=\"_field.Config?.bgcolor\" (click)=\"openDetails(_field,list)\" [ngClass]=\"{'cursor-pointer link-color':(_field.FieldTypeId && _field.FieldType_RelationEntity && _field.FieldType_RelationEntityField)}\">\r\n                                                        <h5 class=\"my-1\" [style.color]=\"_field.Config?.textcolor\" [style.background]=\"_field.Config?.bgcolor\">{{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}</h5>\r\n                                                    </div>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Description\">\r\n                                                    <div class=\"product-name {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                        [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                        [style.background]=\"_field.Config?.bgcolor\" (click)=\"openDetails(_field,list)\" [ngClass]=\"{'cursor-pointer link-color':(_field.FieldTypeId && _field.FieldType_RelationEntity && _field.FieldType_RelationEntityField)}\">\r\n                                                        <p class=\"text-muted mb-1\" [style.color]=\"_field.Config?.textcolor\" [style.background]=\"_field.Config?.bgcolor\">{{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}</p>\r\n                                                    </div>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Tag\">\r\n                                                    <span class=\"profile-Tag {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                        [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                        [style.background]=\"_field.Config?.bgcolor\" (click)=\"openDetails(_field,list)\" [ngClass]=\"{'cursor-pointer link-color':(_field.FieldTypeId && _field.FieldType_RelationEntity && _field.FieldType_RelationEntityField)}\">\r\n                                                        <b class=\"\" [style.color]=\"_field.Config?.textcolor\">{{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}</b>\r\n                                                    </span>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Discount\">\r\n                                                    <span class=\"profile-discount {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                        [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                        [style.background]=\"_field.Config?.bgcolor\">\r\n                                                        <b [style.color]=\"_field.Config?.textcolor\">{{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}</b>\r\n                                                    </span>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Price\">\r\n                                                    <span class=\"profile-Price {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                        [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                        [style.background]=\"_field.Config?.bgcolor\">\r\n                                                        {{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}\r\n                                                    </span>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Diagonal\">\r\n                                                    <span class=\"profile-diagonal {{_field.Config?.Position}}\">\r\n                                                        <b class=\"\" [style.color]=\"_field.Config?.textcolor\">{{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}</b>\r\n                                                    </span>\r\n                                                </ng-container>\r\n                                                <ng-container *ngSwitchCase=\"_FieldType.Button\">\r\n                                                    <div class=\"d-flex justify-content-center\" [style.top]=\"_field.Config?.top\"\r\n                                                    [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\"\r\n                                                    [style.bottom]=\"_field.Config?.bottom\">\r\n                                                        <button type=\"button\" class=\"btn btn-primary\" [style.color]=\"_field.Config?.textcolor\" \r\n                                                        [style.border-color]=\"_field.Config?.bgcolor\" \r\n                                                        [style.border-color]=\"_field.Config?.bgcolor\" product-button\r\n                                                     [style.background]=\"_field.Config?.bgcolor\">{{(list[(_field.Description ? _field.Description : _field.Label)] | translate)}}</button>\r\n                                                    </div>\r\n                                                </ng-container>\r\n                                            </ng-container>\r\n                                         \r\n                                        </div>\r\n                                    </ng-container>\r\n                                    </ng-container>\r\n                                    </ng-container>\r\n    \r\n    \r\n                                </div>\r\n                              </div>\r\n                             \r\n                            </div>\r\n                            <div class=\"col-lg-9 rigt_box p-l-0\">\r\n                              <div class=\"card\">\r\n                                <div class=\"card-body\">\r\n                                    <div class=\"profile_mainview\">\r\n                                      \r\n                                          <div class=\"page-details design-group-body\">\r\n                                            <section class=\"details-wrapper engine-dev request-details\">\r\n                                              <form >\r\n                                    \r\n                                                <div class=\"row\" *ngFor=\"let row of ProfileView.ProfileMainview; let rowIndex = index\">\r\n                                                  <div class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n                                    \r\n                                                    [style.flex-basis]=\"group.Width + '%'\" *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n                                    \r\n                                                    <ng-container *ngIf=\"group.Fields && group.Fields.length > 0\">\r\n                                                        <div class=\"field\">\r\n                                                        <app-entity-dynamic-field [fieldsList]=\"group.Fields\" \r\n                                                        [PageGroupValues]=\"list\" [Type]=\"'Details'\" \r\n                                                        (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\"\r\n                                                        >\r\n                                                        <!-- (FieldClickEvent)=\"FieldClickEvent($event.FieldData,$event.RestData)\" -->\r\n                                                        \r\n                                                        </app-entity-dynamic-field>\r\n    \r\n                                                        </div>\r\n                                                    </ng-container>\r\n                                                                                      </div>\r\n                                                </div>                                    \r\n                                              </form>                                                                   \r\n                                            </section>\r\n                                          </div>\r\n                                    </div>\r\n                                </div>\r\n                              </div>\r\n                              \r\n                            </div>\r\n                          </div>\r\n                        </div>\r\n                      </section>\r\n                </div>\r\n            </div>\r\n        </ng-container>\r\n    </div>\r\n    </div>\r\n</div>\r\n</ng-container>\r\n\r\n<ng-template #elseTemplate>\r\n    <div class=\"card card_setting\">\r\n        <div class=\"header clearfix\">\r\n            <h2 class=\"float-left\"> Profile view Confiquration</h2>\r\n            <a href=\"javascript:void(0)\"\r\n                class=\"pull-right themecolor action-btn m-l-5\"\r\n                (click)=\"saveProfileForm()\">\r\n                <i class=\"la la-save\"></i>\r\n            </a>\r\n            <a href=\"javascript:void(0)\"\r\n                class=\"pull-right themecolor action-btn m-l-5\"\r\n                (click)=\"_profileSettingConfig()\">\r\n                <i class=\"la la-cog\"></i>\r\n            </a>\r\n            <div class=\"profile-setting\" *ngIf=\"profileSettingConfig\">\r\n                <div class=\"side_header\">\r\n                    <div class=\"row\">\r\n                        <div class=\"col-lg-6\">\r\n                            <label class=\"\">Is Hide Filter</label>\r\n                        </div>\r\n                        <div class=\"col-lg-6\">\r\n                            <div class=\"\">\r\n                                <a class=\"cursor-pointer color-white\"\r\n                                    (click)=\"ProfileView.Config.isHideFilter = !ProfileView.Config.isHideFilter\">\r\n                                    <div class=\"onOffButton\" [ngClass]=\"{'onNow':ProfileView.Config.isHideFilter}\">\r\n                                        <span [ngClass]=\"{'onn':ProfileView.Config.isHideFilter}\"></span>\r\n                                    </div>\r\n                                </a>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <div class=\"row\">\r\n                        <div class=\"col-lg-6\">\r\n                            <label class=\"\">Filter Position</label>\r\n                        </div>\r\n                        <div class=\"col-lg-6\">\r\n                          <ng-select [(ngModel)]=\"ProfileView.Config.FilterPosition\" [ngModelOptions]=\"{standalone: true}\"  [items]=\"PositionDDL\" bindLabel=\"Desc\" bindValue=\"Id\"></ng-select>\r\n                        </div>\r\n                    </div>\r\n                    <a href=\"javascript:void(0)\"\r\n                class=\"pull-right themecolor action-btn m-l-5\"\r\n                (click)=\"_profileSettingConfig()\">\r\n            </a>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n    <div class=\"Profile_Search design_mode\">\r\n    \r\n        <div class=\"row Position-{{ProfileView.Config.FilterPosition}}\">\r\n            <div class=\"emp-search col-lg-3\" [ngClass]=\"{'d-none':ProfileView.Config.isHideFilter}\">\r\n                  \r\n                    <div class=\"themeprimary heading\">\r\n                      <h6 class=\"pull-left\"> {{ \"Filters\" | translate}} </h6>\r\n                      <span class=\"pull-right TotalRecord\">{{ \"Total Records:\" | translate}}  </span>\r\n                      <a href=\"javascript:void(0)\"\r\n                class=\"pull-right themecolor filter-action m-l-5\"\r\n                (click)=\"TopFilter()\">\r\n                <i class=\"tabler-ti ti-adjustments-horizontal\"></i>\r\n            </a>\r\n                    </div>\r\n                  <div id=\"IsTopFilter\" class=\"isTopFilter \">\r\n                  \r\n                    <div class=\"d-inline-block w-100\">\r\n                      <button class=\"add_req_btn pull-left\" (click)=\"clearSearchFilter()\">{{ \"clear filter\" | translate}}</button>\r\n                      <button (click)=\"searchFilter()\" class=\"add_req_btn pull-right\">{{ \"search\" | translate}}</button>\r\n                    </div>\r\n                    \r\n\r\n                    <div class=\"row general\">\r\n                        <ng-container *ngFor=\"let item of ProfileView.Filter; let i = index\">\r\n                            <div class=\"field\"\r\n                                [ngClass]=\"{'field-bg': item.bgcolor && (item.Type ==_FieldType.Header || item.Type ==_FieldType.Description)}\">\r\n                                <ng-container>\r\n                                    <ng-container >\r\n                                        <div class=\"row fields_box {{item.Position}}\" [style.top]=\"item.top\" [style.left]=\"item.left\"\r\n                                            [style.right]=\"item.right\" [style.bottom]=\"item.bottom\" [style.color]=\"item.textcolor\"\r\n                                            [style.background]=\"item.bgcolor\">\r\n                                            <label class=\"bg-themesecondary collapsed filter_label\" [style.color]=\"item.textcolor\"\r\n                                                [style.background]=\"item.bgcolor\" data-toggle=\"collapse\"\r\n                                                [attr.data-target]=\"'#Filter_'+item.FieldData[0].RecId\">{{ item.Field |\r\n                                                translate}}</label>\r\n                                            <span class=\"whole collapse in\" [id]=\"'Filter_'+item.FieldData[0].RecId\">\r\n                                                <div class=\"full\">\r\n                            \r\n                                                        <app-entity-dynamic-field [fieldsList]=\"item.FieldData\" [pageForm]=\"_PageForm\"\r\n                                                         (deleteField)=\"deleteField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                        (upField)=\"upField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                        (downField)=\"downField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                        [ClientFields]=\"PageGroupClientFields\" (updateClientField)=\"updateClientField($event.ClientField)\">\r\n                                                    \r\n                                                    </app-entity-dynamic-field>\r\n\r\n                                                </div>\r\n                                            </span>\r\n                                        </div>\r\n                                    </ng-container>\r\n                               \r\n                                </ng-container>\r\n                            \r\n                                <ng-container>\r\n                                </ng-container>\r\n                            </div>\r\n\r\n                        </ng-container>\r\n                        <a class=\"themecolor addField\" style=\"text-decoration: underline;cursor: pointer;\" (click)=\"openDataField('Filter')\"> <i\r\n                                class=\"la la-plus m-l-5\"></i> {{'Add Field'|translate}}</a>\r\n                    \r\n                    </div>\r\n                  </div>\r\n                  \r\n                  \r\n                  \r\n            </div>\r\n            <div class=\"emp-body col-lg-9\" [ngClass]=\"{'is-Hide':ProfileView.Config.isHideFilter}\">\r\n                <section class=\"emp-box\" style=\"background-color: #eee;\">\r\n                    <div class=\"container py-2 px-2\">\r\n                      \r\n                      <div class=\"row mb-3\">\r\n                        <div class=\"col-lg-3 left_box p-r-0\">\r\n                          <div class=\"card\">\r\n                            <div class=\"card-body text-center\">\r\n                                <ng-container *ngFor=\"let item of ProfileView.ProfileImageView; let _i = index\">\r\n                                    <ng-container *ngFor=\"let _item of item.Groups; let __i = index\">\r\n                                        <ng-container *ngFor=\"let _field of _item.Fields; let i = index\">\r\n                                    <div class=\"field\">\r\n                                        <ng-container [ngSwitch]=\"_field.Config?.Type\">\r\n                            \r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Image\">\r\n                                                <img src=\"{{globalService.ServerHost}}/System/assets/images/avatar/avataricon1.png\" alt=\"profile_picture\"\r\n                                                    class=\"rounded-circle img-fluid\">\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Header\">\r\n                                                <div class=\"product-name {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                    [style.background]=\"_field.Config?.bgcolor\">\r\n                                                    <h5 class=\"my-1\" [style.color]=\"_field.Config?.textcolor\" [style.background]=\"_field.Config?.bgcolor\">{{(_field.Description ? _field.Description : _field.Label) | translate}}</h5>\r\n                                                </div>\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Description\">\r\n                                                <div class=\"product-name {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                    [style.background]=\"_field.Config?.bgcolor\">\r\n                                                    <p class=\"text-muted mb-1\" [style.color]=\"_field.Config?.textcolor\" [style.background]=\"_field.Config?.bgcolor\">{{(_field.Description ? _field.Description : _field.Label) | translate}}</p>\r\n                                                </div>\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Tag\">\r\n                                                <span class=\"profile-Tag {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                    [style.background]=\"_field.Config?.bgcolor\">\r\n                                                    <b class=\"\" [style.color]=\"_field.Config?.textcolor\">{{(_field.Description ? _field.Description : _field.Label) | translate}}</b>\r\n                                                </span>\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Discount\">\r\n                                                <span class=\"profile-discount {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                    [style.background]=\"_field.Config?.bgcolor\">\r\n                                                    <b [style.color]=\"_field.Config?.textcolor\">{{(_field.Description ? _field.Description : _field.Label) | translate}}</b>\r\n                                                </span>\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Price\">\r\n                                                <span class=\"profile-Price {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                    [style.background]=\"_field.Config?.bgcolor\">\r\n                                                    {{(_field.Description ? _field.Description : _field.Label) | translate}}\r\n                                                </span>\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Diagonal\">\r\n                                                <span class=\"profile-diagonal {{_field.Config?.Position}}\">\r\n                                                    <b class=\"\" [style.color]=\"_field.Config?.textcolor\">{{(_field.Description ? _field.Description : _field.Label) | translate}}</b>\r\n                                                </span>\r\n                                            </ng-container>\r\n                                            <ng-container *ngSwitchCase=\"_FieldType.Button\">\r\n                                                <div class=\"d-flex justify-content-center\" [style.top]=\"_field.Config?.top\"\r\n                                                [style.left]=\"_field.Config?.left\"\r\n                                                [style.right]=\"_field.Config?.right\"\r\n                                                [style.bottom]=\"_field.Config?.bottom\">\r\n                                                    <button type=\"button\" class=\"btn btn-primary\" [style.color]=\"_field.Config?.textcolor\" \r\n                                                    [style.border-color]=\"_field.Config?.bgcolor\" \r\n                                                    [style.border-color]=\"_field.Config?.bgcolor\" product-button\r\n                                                 [style.background]=\"_field.Config?.bgcolor\">{{(_field.Description ? _field.Description : _field.Label) | translate}}</button>\r\n                                                </div>\r\n                                            </ng-container>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t<ng-container *ngSwitchDefault>\r\n                                                <div class=\"product-name {{_field.Config?.Position}}\" [style.top]=\"_field.Config?.top\" [style.left]=\"_field.Config?.left\"\r\n                                                    [style.right]=\"_field.Config?.right\" [style.bottom]=\"_field.Config?.bottom\" [style.color]=\"_field.Config?.textcolor\"\r\n                                                    [style.background]=\"_field.Config?.bgcolor\">\r\n                                                    <p class=\"text-muted mb-1\" [style.color]=\"_field.Config?.textcolor\" [style.background]=\"_field.Config?.bgcolor\">\r\n                                                        {{(_field.Description ? _field.Description : _field.Label) | translate}}\r\n                                                    </p>\r\n                                                </div>\r\n                                            </ng-container>\r\n\r\n\r\n                                        </ng-container>\r\n                                        \r\n                                        <ng-container >\r\n\r\n                                          </ng-container>\r\n\r\n                                    </div>\r\n                                </ng-container>\r\n                                </ng-container>\r\n                                </ng-container>\r\n\r\n                                <a class=\"themecolor\"\r\n                style=\"text-decoration: underline;cursor: pointer;\"\r\n                (click)=\"openDataField('ProfileImageView')\"> <i class=\"la la-plus m-l-5\"></i> {{'Add Field'|translate}}</a>\r\n\r\n                            </div>\r\n                          </div>\r\n                         \r\n                        </div>\r\n                        <div class=\"col-lg-9 rigt_box p-l-0\">\r\n                          <div class=\"card\">\r\n                            <div class=\"card-body\">\r\n                                <div class=\"profile_mainview\">\r\n                              \r\n                               \r\n                                    <div class=\"page-details design-group-body\">\r\n\r\n\r\n                                        <section class=\"details-wrapper engine-dev request-details\">\r\n                                \r\n                                          <form >\r\n                                \r\n                                            <div class=\"detail-row\" *ngFor=\"let row of ProfileView.ProfileMainview; let rowIndex = index\">\r\n                                              <div class=\"detail-group col clearfix {{group.Class}} col-width-{{group.Width}} {{group.Direction}} {{group.Alignment}} {{group.Position}}\"\r\n                                \r\n                                                [style.flex-basis]=\"group.Width + '%'\" *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n                                \r\n                                                <ng-container *ngIf=\"group.Fields && group.Fields.length > 0\">\r\n                                                    <div class=\"field\">\r\n                                                    <app-entity-dynamic-field [fieldsList]=\"group.Fields\" \r\n                                                        [rowIndex]=\"rowIndex\" [groupIndex]=\"groupIndex\" \r\n                                                         (deleteField)=\"deleteField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                        (upField)=\"upField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\"\r\n                                                        (downField)=\"downField($event.fieldIndex,$event.groupIndex,$event.rowIndex)\" [Type]=\"'Details'\" [IsViewType]=\"true\"\r\n                                                        [ClientFields]=\"PageGroupClientFields\" (updateClientField)=\"updateClientField($event.ClientField)\" [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"EntityFormId\">\r\n                                                    \r\n                                                    </app-entity-dynamic-field>\r\n\r\n                                                    </div>\r\n                                                </ng-container>\r\n                                \r\n                                                <!-- add filed list popup -->\r\n                                \r\n                                                <ng-container>\r\n                                \r\n                                                  <div class=\"group-setting\">\r\n                                                    <a (click)=\"openDataField('ProfileMainview',rowIndex,groupIndex)\">\r\n                                                      <i class=\"la la-plus-circle\" ></i>\r\n                                                    </a>\r\n                                                    <a (click)=\"openClientDataField(rowIndex,groupIndex)\">\r\n                                                        <i class=\"la la-user-plus\" ></i>\r\n                                                      </a>\r\n                                                    <!-- <i class=\"la la-trash-o m-l-5\" (click)=\"deleteGroup(rowIndex,groupIndex)\"></i>  -->\r\n                                                    <a >\r\n                                                      <common-delete [item]=\"rowIndex\" [nowDelete]=\"false\" (deleteMethod)=\"deleteGroup($event.data,groupIndex)\"></common-delete>\r\n                                                    </a>\r\n                                                    <a (click)=\"group.showGroupConfig = true\">\r\n                                                      <i class=\"la la-cog\" ></i>\r\n                                                    </a>\r\n                                             \r\n                                \r\n                                                    <a *ngIf=\"row.Groups.length > 1\" class=\"themecolor  m-l-5\" \r\n                                                      (click)=\"upList(groupIndex,row.Groups)\"> <i class=\"la la-arrow-left\"></i> </a>  \r\n                                \r\n                                                    <a *ngIf=\"row.Groups.length > 1\" class=\"themecolor  m-l-5\" \r\n                                                      (click)=\"downList(groupIndex,row.Groups)\"> <i class=\"la la-arrow-right\"></i></a>\r\n                                                    \r\n                                \r\n                                                  \r\n                                \r\n                                                    <span class=\"dropdown d-none\">\r\n                                                      <button class=\"dot dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"> <i\r\n                                                          class=\"la la-ellipsis-h \"></i></button>\r\n                                                      <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\r\n                                \r\n                                                        <a (click)=\"openDataField(rowIndex,groupIndex)\" class=\"dropdown-item\" style=\"min-width: 150px;\">\r\n                                                          <span style=\"width: 30px;\" class=\"p-r-5\">\r\n                                                            <i class=\"la la-crosshairs\"></i>\r\n                                                          </span>\r\n                                                          <span>{{'Add Data Field'|translate}}</span>\r\n                                                        </a>\r\n                                \r\n                                \r\n                                                        <a (click)=\"addNestedGroup(rowIndex,groupIndex)\" class=\"dropdown-item\"\r\n                                                          style=\"min-width: 150px;\">\r\n                                                          <span style=\"width: 30px;\" class=\"p-r-5\">\r\n                                                            <i class=\"la la-object-group\"></i>\r\n                                                          </span>\r\n                                                          <span>{{'Add Group'|translate}}</span>\r\n                                                        </a>\r\n                                                        <a (click)=\"group.showGroupConfig = true\" class=\"dropdown-item\" style=\"min-width: 150px;\">\r\n                                                          <span style=\"width: 30px;\" class=\"p-r-5\">\r\n                                                            <i class=\"la la-cog\"></i>\r\n                                                          </span>\r\n                                                          <span>{{'Group Settings'|translate}}</span>\r\n                                                        </a>\r\n                                                        <a (click)=\"deleteGroup(rowIndex,groupIndex)\" class=\"dropdown-item\" style=\"min-width: 150px;\">\r\n                                                          <span style=\"width: 30px;\" class=\"p-r-5\">\r\n                                                            <i class=\"la la-trash-o\"></i>\r\n                                                          </span>\r\n                                                          <span>{{'Delete'|translate}}</span>\r\n                                                        </a>\r\n                                                      </div>\r\n                                                    </span>\r\n                                                  </div>\r\n                                \r\n                                                <!-- <app-group-setting-config [group]=\"group\"></app-group-setting-config> -->\r\n                                                </ng-container>\r\n                                \r\n                                \r\n                                \r\n                                \r\n                                \r\n                                              </div>\r\n                                \r\n                                              <div *ngIf=\"row.Groups.length < 12\" class=\"add_button_box row-button\">\r\n                                                <button class=\"menu-btn SwitchProperty add_row_btn\" (click)=\"addGroup(row)\">\r\n                                                  <i class=\"menu-ico la la-plus SwitchProperty\"></i>\r\n                                                </button>\r\n                                                <button class=\"menu-btn SwitchProperty add_row_btn\">\r\n                                                  <i (click)=\"upList(rowIndex,ProfileView.ProfileMainview)\" class=\"la la-arrow-up\"></i>\r\n                                                </button>\r\n                                                <button class=\"menu-btn SwitchProperty add_row_btn\">\r\n                                                  <i (click)=\"downList(rowIndex,ProfileView.ProfileMainview)\" class=\"la la-arrow-down\"></i>\r\n                                                </button>\r\n                                              </div>\r\n                                \r\n                                            </div>\r\n                                \r\n                                            <br>\r\n                                            <div class=\"add_button_box\" >\r\n                                              <button class=\"menu-btn SwitchProperty add_row_btn\" (click)=\"addRow()\">\r\n                                                <i class=\"menu-ico la la-plus SwitchProperty\"></i>\r\n                                              </button>\r\n                                            </div>\r\n                                \r\n                                \r\n                                          </form>\r\n                                \r\n                                \r\n                                        </section>\r\n                                \r\n                                \r\n                                      </div>\r\n\r\n                                </div>\r\n                            </div>\r\n                          </div>\r\n                          \r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </section>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</ng-template>\r\n\r\n\r\n<ng-container *ngIf=\"showDataFiledPopup\">\r\n    <!-- <app-data-fields [DataSourceFields]=\"EntityFieldList\"\r\n        (submitDataFields)=\"submitDataFields($event.DataFields)\"\r\n        (closeDataFieldPopup)=\"closeDataField()\"></app-data-fields> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"showClientDataFiledPopup\">\r\n    <!-- <app-form-client-field [EntityTypeId]=\"EntityTypeId\" [DataSourceFields]=\"PageGroupClientFields\"\r\n     (submitDataFields)=\"submitDataFields($event.DataFields)\" (closeDataFieldPopup)=\"closeClientDataField()\"\r\n     (updateClientFields)=\"updateClientFields($event.ClientFields)\"\r\n     ></app-form-client-field> -->\r\n  </ng-container>\r\n\r\n<ng-container *ngIf=\"showSettings\">\r\n    <div class=\"modal showpopup\">\r\n        <div class=\"modal-dialog modal-sm\">\r\n            <div class=\"modal-content\">\r\n    \r\n                <!-- Modal Header -->\r\n                <div class=\"modal-header\">\r\n                    <h4 class=\"modal-title\" style=\"padding-left: 5px;\">{{'Field Settings'|translate}}</h4>\r\n                    <button type=\"button\" class=\"close\" (click)=\"closeSettings()\">&times;</button>\r\n                </div>\r\n    \r\n                <!-- Modal body -->\r\n                <div class=\"modal-body\">\r\n    \r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Type\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <ng-select [(ngModel)]=\"selectedField.Type\" [items]=\"ddlProfileViewType\" bindLabel=\"Description\"\r\n                                    bindValue=\"Id\">\r\n                                </ng-select>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Label\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.Label\" name=\"Label\" class=\"form-control\" />\r\n                                \r\n                                </div>\r\n                               \r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n    \r\n                    \r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                          <label class=\"control-label\">{{\"Position\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <ng-select [(ngModel)]=\"selectedField.Position\" [items]=\"ddlPosition\" bindLabel=\"Description\"\r\n                                    bindValue=\"Id\"></ng-select>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n    \r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Position=='position-absolute'\" >\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"top\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.top\" name=\"top\" class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n    \r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"left\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.left\" name=\"left\" class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n    \r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"right\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.right\" name=\"right\" class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n    \r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"bottom\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.bottom\" name=\"bottom\" class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    \r\n                    <div class=\"row m-b-15\" >\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Background color\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input  class=\"colorPicker\" type=\"color\" [(ngModel)]=\"selectedField.bgcolor\" [style.background]=\"selectedField.bgcolor\"/>  \r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n    \r\n                    <div class=\"row m-b-15\" >\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Text color\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input class=\"colorPicker\" type=\"color\" [(ngModel)]=\"selectedField.textcolor\" [style.background]=\"selectedField.textcolor\"/>  \r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    \r\n                </div>\r\n    \r\n                <div class=\"modal-footer\">\r\n                    <button type=\"submit\" class=\"btn btn-success\" (click)=\"updateFieldSettings()\">save</button>\r\n                </div>\r\n    \r\n            </div>\r\n        </div>\r\n    </div>\r\n    \r\n    </ng-container>\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':IsShowDynamicDetailsPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n    aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog modal-90 modal-dialog-scrollable\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{\"Details\"|translate}}</h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n                    (click)=\"closeDynamicDetailsPopup()\">\r\n                    <span aria-hidden=\"true\">&times;</span>\r\n                </button>\r\n            </div>\r\n            <div class=\"modal-body\" *ngIf=\"IsShowDynamicDetailsPopup\">\r\n\r\n                <ng-container [ngTemplateOutlet]=\"detailscontent\"\r\n                    [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsPopup'}\">\r\n                </ng-container>\r\n\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<ng-template #detailscontent let-type='type'>\r\n\r\n    <!-- <app-detail-dynamic-page *ngIf=\"PageType == 2\" [EntityTypeId]=\"DyamicPageRecId\"\r\n    [PageViewFrom]=\"'Popup'\" [EntityFormId]=\"DyamicFormId\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n    [TableRecId]=\"DyamicTableRecId\" [queryParams]=\"queryParams\"></app-detail-dynamic-page> -->\r\n\r\n    <ng-container *ngIf=\"DynamicTableField;else DynamicTableRecId\">\r\n\r\n        <app-detail-dynamic-entity-details *ngIf=\"PageType == 5\" [PrimaryKey]=\"DynamicTableField\"\r\n            [PrimaryKeyValue]=\"DynamicTableFieldValue\" [ViewFrom]=\"'Popup'\"\r\n            [EntityTypeRecId]=\"DyamicPageRecId\"></app-detail-dynamic-entity-details>\r\n\r\n    </ng-container>\r\n\r\n    <ng-template #DynamicTableRecId>\r\n    </ng-template>\r\n\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport * as Handlebars from 'handlebars';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { E_DatasourceType, E_FormType, EntityTypeFormVM, EntityTypeSetUpVM, IDropDown, ISearchCriteria, ISysMenuItemsMap, PageContentGroup, PageContentsRow, errorMessageType } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-detail-dynamic-page',\r\n  templateUrl: './detail-dynamic-page.component.html',\r\n  styleUrls: ['./detail-dynamic-page.component.scss']\r\n})\r\nexport class DetailDynamicPageComponent implements OnInit {\r\n\r\n  constructor(\r\n    public globalService: GlobalService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n\r\n  @Input() queryParams: any|null=null;\r\n\r\n  @Input() EntityFormName: string|null=null;\r\n  @Input() EntityFormId: number|null=null;\r\n  @Input() EntityTypeId: number|any=null;\r\n  @Input() TableRecId: number|any=null;\r\n  @Input() ParamsId: number|null=null;\r\n  @Input() PageViewFrom: any;\r\n\r\n  @Input() PrimaryKey: any;\r\n  @Input() PrimaryKeyValue: any;\r\n\r\n  @Input() menuText: any;\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    this.EntityTypeSetUp = null;\r\n    this.EntityTypeForm = null;\r\n    this.AllEntityFormList = [];\r\n    this.detailsEntityForm = null;\r\n    this.detailsEntityFormId = 0;\r\n    this.EntityDetailsData = null;\r\n    this.PageData = null;\r\n\r\n    this.loadStoreCriteria()\r\n    // this.route.queryParams.subscribe((res) => {\r\n     \r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    // this.params = this.route.paramMap.subscribe((res) => {\r\n    \r\n    //   if (this.PageViewFrom != \"Popup\") {\r\n    //     this.EntityTypeId = null;\r\n    //     this.EntityFormId = null;\r\n    //     this.TableRecId = null;\r\n    //     this.menuText = null;\r\n    //     this.isDefaultGroup = false;\r\n\r\n    //     if (res.get('EntityTypeId'))\r\n    //       this.EntityTypeId = Number(res.get('EntityTypeId'));\r\n    //     if (res.get('FormRecId'))\r\n    //       this.EntityFormId = Number(res.get('FormRecId'));\r\n    //     if (res.get('TableRecId'))\r\n    //       this.TableRecId = Number(res.get('TableRecId'));\r\n    //     if (res.get('ParamsId'))\r\n    //       this.ParamsId = Number(res.get('ParamsId'));\r\n    //     if (res.get('menuText'))\r\n    //       this.menuText = (res.get('menuText'));\r\n    //   }     \r\n    // });\r\n    if (this.EntityTypeId || this.EntityFormId)\r\n    this.getEntityAllSetupData()\r\n    else {\r\n    if (this.menuText) {\r\n      this.getMenuDetails();\r\n    }\r\n  }\r\n  }\r\n  params:any|null=null;\r\n  ngOnDestroy() {\r\n    this.EntityTypeId = null;\r\n    this.EntityFormId = null;\r\n    this.TableRecId = null;\r\n    this.menuText = null;\r\n    this.isDefaultGroup = false;\r\n    this.queryParams = null;\r\n    this.params?.unsubscribe();\r\n  }\r\n\r\n  detailsEntityFormId:number = 0;\r\n  detailsEntityForm:EntityTypeFormVM|null=null;\r\n\r\n  AllEntityFormList:EntityTypeFormVM[] = [];\r\n  EntityTypeForm: EntityTypeFormVM|null=null;\r\n  EntityTypeSetUp: EntityTypeSetUpVM|any=null;\r\n  MenuDetails: ISysMenuItemsMap|null=null;\r\n\r\n  FormViewType: string|null=null;\r\n  contentGroups: PageContentsRow[] = [];\r\n  sideContentGroups: PageContentsRow[] = [];\r\n  isDefaultGroup: boolean = false;\r\n\r\n  getMenuDetails() {\r\n  //     let ModuleId = this.globalService.appId\r\n  //     if (this.globalService.currentSystemModuleId) {\r\n  //       ModuleId = this.globalService.currentSystemModuleId\r\n  //     }\r\n\r\n  //  // let _menuText = \"Page/\" + this.menuText; //removed Page/menutext  \r\n  //   let _menuText = this.menuText; //\r\n\r\n  //     this.dynamicAppsService.GetMenuByAction(_menuText)\r\n  //       .subscribe(\r\n  //         (res: ISysMenuItemsMap) => {\r\n\r\n  //           this.MenuDetails = res;\r\n\r\n  //           if (this.MenuDetails && this.MenuDetails.RecId) {\r\n  //             if (this.MenuDetails.DetailsAction) {\r\n  //               this.EntityFormId = Number(this.MenuDetails.DetailsAction);\r\n  //             }\r\n  //             if (this.MenuDetails.ReftableName) {\r\n  //               this.EntityTypeId = Number(this.MenuDetails.ReftableName);\r\n  //             }\r\n  //             this.getEntityAllSetupData()\r\n  //           }\r\n  //           else {\r\n  //             Swal.fire(\"Page not found\", \"There is no page found \" + this.menuText, 'warning');\r\n  //             if (this.globalService.currentModule == \"Platform\") {\r\n  //               this.router.navigate([this.globalService.currentModule + \"/\" + this.globalService.EnvironmentId + \"/pageNotFound\"]);\r\n  //             }\r\n  //             else\r\n  //               this.router.navigate([this.globalService.currentModule + \"/pageNotFound\"]);\r\n  //           }\r\n\r\n  //         },\r\n  //         (error) => {\r\n  //           if (error.status == 401) {\r\n  //             return\r\n  //           }\r\n  //           console.log(error);\r\n  //         }\r\n  //       );\r\n  }\r\n  \r\n  getEntityAllSetupData() {\r\n\r\n    if (this.EntityTypeId || this.EntityFormId) {\r\n\r\n      this.dynamicAppsService.getEntityAllSetupData(this.EntityTypeId, this.EntityFormId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.EntityTypeSetUp = res.Setup;\r\n            if (!this.EntityTypeId) {\r\n              this.EntityTypeId =  this.EntityTypeSetUp?.RecId;\r\n            }\r\n\r\n            if (res.ActiveForm){\r\n              this.EntityTypeForm = res.ActiveForm;\r\n            }\r\n            this.AllEntityFormList = res.Form;\r\n            if (!this.EntityFormId) {\r\n              this.EntityFormId = this.AllEntityFormList.filter(x => x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage)[0].RecId;\r\n              if (this.EntityFormName) {\r\n                if (this.AllEntityFormList.find(x => (x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage) && x.FormName == this.EntityFormName))\r\n                  this.EntityFormId = this.AllEntityFormList.filter(x => (x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage) && x.FormName == this.EntityFormName)[0].RecId;\r\n              }\r\n            }\r\n            this.EntityTypeForm = this.AllEntityFormList.filter(x=>x.RecId==this.EntityFormId)[0];\r\n            this.EntityFormContentGroups();\r\n            this.getPageData();\r\n            \r\n            this.detailsEntityForm = this.AllEntityFormList.filter(x=>x.FormType==E_FormType.Details)[0];\r\n            if(this.detailsEntityForm)\r\n            this.detailsEntityFormId = this.detailsEntityForm.RecId;\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  EntityFormContentGroups() {debugger;\r\n\r\n    if (this.EntityTypeForm?.FormType == E_FormType.Page || this.EntityTypeForm?.FormType == E_FormType.EntityPage) {\r\n      this.contentGroups = [];\r\n      if (this.EntityTypeForm.FormData) {\r\n        // this.contentGroups = JSON.parse(this.EntityTypeForm.FormData);\r\n        let _formdata = JSON.parse(this.EntityTypeForm.FormData);\r\n        if (Array.isArray(_formdata))\r\n          this.contentGroups = _formdata;\r\n        else {\r\n          this.contentGroups = _formdata.contentGroups;\r\n          this.sideContentGroups = _formdata.sideContentGroups;\r\n        }\r\n        this.isDefaultGroup = false;\r\n        this.FormViewType = null;\r\n        this.contentGroups.forEach(row => {\r\n          row.Groups.forEach(group => {\r\n            if (group.IsDefault) {\r\n              this.isDefaultGroup = true;\r\n              this.FormViewType = group.PageEntity.FormViewType;\r\n              if(this.FormViewType == 'Details'){\r\n                this.currenGroup = group;\r\n                this.setContollData() \r\n              }\r\n             }\r\n            \r\n          });\r\n        });\r\n       \r\n      }\r\n      this.globalService.pageScema = this.contentGroups;\r\n      this.getAllControls()\r\n      this.loadEntityForm();\r\n    }\r\n\r\n\r\n  }\r\n\r\n  getAllControls() {\r\n    let _controls: IDropDown[] = [];\r\n    this.contentGroups.forEach(row => {\r\n      row.Groups.forEach(group => {\r\n        let _temp: IDropDown = { Id: group.ID, Description: group.ID };\r\n        _controls.push(_temp);\r\n        group.Tabs.forEach(tab => {\r\n          let _temp: IDropDown = { Id: tab.group.ID, Description: tab.group.ID };\r\n          _controls.push(_temp);\r\n        });\r\n        group.Section.forEach(tab => {\r\n          let _temp: IDropDown = { Id: tab.group.ID, Description: tab.group.ID };\r\n          _controls.push(_temp);\r\n        });\r\n      });\r\n    });\r\n    this.globalService.AllControlList = _controls;\r\n  }\r\n\r\n  loadEntityForm() {\r\n    if (this.FormViewType == 'Details') {\r\n      if (!(this.TableRecId || this.PrimaryKeyValue)) {\r\n        Swal.fire(\"Not found\", \"Entity Id not found\", \"warning\");\r\n        return\r\n      }\r\n    }\r\n  }\r\n\r\n  EntityDetailsData:any = null;\r\n  getEntityDetailsData() {\r\n      this.dynamicAppsService.getDynamicById(this.EntityTypeId,this.TableRecId )\r\n      .subscribe(\r\n        (res: any) => {         \r\n          this.EntityDetailsData = res;\r\n          this.setContollData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n        }\r\n      );\r\n  }\r\n  \r\n  CheckedGridData(gridData:any,group:PageContentGroup) {\r\n    group.ControlData.GridSelectedData = (gridData);\r\n  }\r\n\r\n  currenGroup:PageContentGroup|any=null;\r\n  setContollData() {\r\n    if (this.currenGroup)\r\n      this.currenGroup.ControlData.FormData = (this.EntityDetailsData);\r\n  }\r\n\r\n\r\n  PageData:any = null;\r\n  storeCriteria:ISearchCriteria={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 0,\r\n    },\r\n    Where: [],\r\n    SortOrder:  { field: null, direction: null },\r\n  };\r\n  loadStoreCriteria(){\r\n    this.storeCriteria ={\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder:  { field: null, direction: null },\r\n    };\r\n  }\r\n\r\n  PageLoadData:any = null;\r\n\r\n  showPageData:boolean = false;\r\n  getPageData() {\r\n\r\n    if (!this.EntityTypeForm) {\r\n      this.showPageData = true;\r\n      return\r\n    }\r\n\r\n    let _handleData:any = {};\r\n    _handleData.LoadData = this.PageLoadData;\r\n\r\n    if (this.EntityTypeForm.DataSourceType == E_DatasourceType.Query) {\r\n\r\n      if(this.EntityTypeForm.DataSourceId) {\r\n\r\n        let Parameter = []\r\n        if (this.EntityTypeForm.DataSource) {\r\n          let _param = JSON.parse(this.EntityTypeForm.DataSource)\r\n          Parameter = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n \r\n        }\r\n\r\n\r\n        this.dynamicAppsService.getDyamicQueryData(this.EntityTypeForm.DataSourceId,this.EntityTypeForm.RecId )\r\n        .subscribe((res: any) => {\r\n          debugger;\r\n          this.PageData = res.Data?res.Data:res;\r\n          this.showPageData = true;\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();      \r\n            Swal.fire(errorMessageType(error));\r\n          });\r\n      }\r\n      else {\r\n        this.showPageData = true;\r\n      }\r\n    }\r\n    else if (this.EntityTypeForm.DataSourceType == E_DatasourceType.Entity) {\r\n      if (this.EntityTypeForm.DataSourceId) { \r\n\r\n        let QueryString = [];\r\n        if (this.EntityTypeForm.DataSource) {\r\n          let _param = JSON.parse(this.EntityTypeForm.DataSource);\r\n          if(_param.QueryStrings) {\r\n            _param = _param.QueryStrings\r\n          }\r\n          QueryString = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n        }\r\n        let _QueryString:any[] = [];\r\n        if(QueryString.length > 0){\r\n         \r\n          QueryString.map((x:any) => {\r\n            let filterobj = {\r\n              Field: '',\r\n              Operator: 'eq',\r\n              TableAlias: '',\r\n              Value: '',\r\n            };\r\n            filterobj.Field = x.Name,\r\n            filterobj.Value = x.Value,\r\n            _QueryString.push(filterobj);\r\n          });\r\n          this.storeCriteria.Where.push(..._QueryString);\r\n        }\r\n        \r\n       \r\n        this.getentityPageData(this.EntityTypeForm.DataSourceId);\r\n      }\r\n      else {\r\n        this.showPageData = true;\r\n      }\r\n    }\r\n    else {\r\n\r\n      if (this.EntityTypeForm.DataSource) {\r\n        let RestData = JSON.parse(this.EntityTypeForm.DataSource)\r\n\r\n        RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n        RestData.Body = this.hanbleBarData(RestData.Body,_handleData);\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          return x\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          return x\r\n        });\r\n\r\n       \r\n        this.dynamicAppsService.dynamicAPi(RestData,this.storeCriteria,null,true)\r\n          .subscribe((res: any) => {\r\n            debugger;\r\n            this.PageData = [];\r\n            \r\n            let _data: any = res;\r\n            if (RestData.ResponseView) {\r\n              let _rview = RestData.ResponseView.split(\".\");\r\n              _rview.forEach((x:any) => {\r\n                _data = _data[x];\r\n              });\r\n            }\r\n\r\n              this.PageData = _data;\r\n             this.showPageData = true;\r\n             this.loaderService.hideLoading();\r\n          },\r\n            (error) => {\r\n              debugger;\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n            \r\n              Swal.fire(errorMessageType(error));\r\n            });\r\n      }\r\n      else {\r\n        this.showPageData = true;\r\n      }\r\n    }\r\n  }\r\n\r\n  getentityPageData(EntityTypeId:any) {\r\n\r\n    this.dynamicAppsService.getDynamicAll(this.storeCriteria, EntityTypeId, null,null,this.EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.PageData = res.Data;    \r\n        this.showPageData = true;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n        Swal.fire(error.error);\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n  checkGroupCondition(group: PageContentGroup) {\r\n\r\n    let ret = true;\r\n    if (group.Condition)\r\n      ret = this.onRulesConditionCheck(group.Condition, {});\r\n    return ret;\r\n  }\r\n\r\n\r\n  onRulesConditionCheck(rulesData:any,CurrentRow:any,CurrentRowIndex?:any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      if(_con.hasOwnProperty('ValueTwo')) {\r\n        _con.ValueType = _con.Value;\r\n        _con.Value = _con.ValueTwo;\r\n        delete _con.ValueTwo;\r\n      }\r\ndebugger;\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n       \r\n         if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n      \r\n      }\r\n\r\n      let value = CurrentRow[_con.Value];\r\n     \r\n      if(_con.ValueType) {\r\n       \r\n         if( _con.ValueType == \"Value\") {\r\n          value = this.hanbleBarData(_con.Value, _handleData)\r\n        }\r\n        \r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n  hanbleBarData(_code:any, data?:any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n      if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie:any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n\r\n}\r\n","<div class=\"page-view\" *ngIf=\"showPageData\">\r\n    <section id=\"total_screen\" class=\"details-wrapper engine-dev request-details clearfix\">\r\n        <div id=\"page_left\" class=\"\" [ngClass]=\"{'pull-left page_main_view': sideContentGroups && sideContentGroups.length > 0}\">\r\n\r\n            <ng-container *ngIf=\"isDefaultGroup&& FormViewType=='Details';else groupcanvas\">\r\n\r\n                <ng-container *ngIf=\"TableRecId || PrimaryKeyValue\">\r\n                    <app-detail-dynamic-entity-details [menuText]=\"menuText\" [ViewFrom]=\"'Popup'\" [PageViewFrom]=\"PageViewFrom\"\r\n                        [EntityTypeRecId]=\"EntityTypeId\" [RecId]=\"TableRecId\" [PrimaryKey]=\"PrimaryKey\" [PrimaryKeyValue]=\"PrimaryKeyValue\" [contentGroups]=\"contentGroups\"\r\n                        [PageData]=\"PageData\" [group]=\"currenGroup\" [queryParams]=\"queryParams\">\r\n                    </app-detail-dynamic-entity-details>\r\n\r\n                </ng-container>\r\n            </ng-container>\r\n\r\n            <ng-template #groupcanvas>\r\n\r\n                <div class=\"content-row row m-0\" *ngFor=\"let row of contentGroups; let rowIndex = index\">\r\n               \r\n                    <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n                        <ng-container *ngIf=\"checkGroupCondition(group)\" >\r\n                        <div class=\"content_add col p-0 clearfix {{group.Class}}\" *ngIf=\"group.ControlType\"\r\n                            [ngClass]=\"{'vertical-group': group.Direction == 1,'horizontal-group': group.Direction == 2}\"\r\n                            [style.flex-basis]=\"group.Width + '%'\">\r\n\r\n                            <ng-container *ngIf=\"group.IsDefault;else groupview\">\r\n\r\n                                <ng-container *ngIf=\"group.PageEntity.FormViewType=='List'\">\r\n                                    <!-- <app-dynamic-list [group]=\"group\" [menuText]=\"menuText\" [PageName]=\"group.PageEntity.Name\"\r\n                                        [EntityTypeId]=\"EntityTypeId\"\r\n                                        (CheckedGridData)=\"CheckedGridData($event.gridData,group)\">\r\n                                    </app-dynamic-list> -->\r\n                                </ng-container>\r\n\r\n                            </ng-container>\r\n                            <ng-template #groupview>\r\n                                <ng-container *ngIf=\"showPageData\">\r\n                                <!-- <page-controller [menuText]=\"menuText\" [ViewType]=\"'viewer'\" [group]=\"group\" [DatasourceForm]=\"EntityTypeForm\"\r\n                                    [contentGroups]=\"contentGroups\" [PageData]=\"PageData\"></page-controller> -->\r\n                                </ng-container>\r\n                            </ng-template>\r\n\r\n                        </div>\r\n                    </ng-container>\r\n                </ng-container>\r\n                </div>\r\n\r\n            </ng-template>\r\n\r\n        </div>\r\n         <div id=\"page_right\" class=\"pull-right page_side_view position-relative\" *ngIf=\"sideContentGroups && sideContentGroups.length > 0\">\r\n            <span class=\"resize_element\"></span>\r\n            <div class=\"p-l-10\">\r\n            <div class=\"content-row row\" *ngFor=\"let row of sideContentGroups; let rowIndex = index\">\r\n\r\n                <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n                    <ng-container *ngIf=\"checkGroupCondition(group)\" >\r\n                    <div class=\"content_add col clearfix {{group.Class}}\" *ngIf=\"group.ControlType\"\r\n                        [ngClass]=\"{'vertical-group': group.Direction == 1,'horizontal-group': group.Direction == 2}\"\r\n                        [style.flex-basis]=\"group.Width + '%'\">\r\n\r\n                        <ng-container *ngIf=\"group.IsDefault;else groupview\">\r\n\r\n                            <ng-container *ngIf=\"group.PageEntity.FormViewType=='List'\">\r\n                                <!-- <app-dynamic-list [group]=\"group\" [menuText]=\"menuText\" [PageName]=\"group.PageEntity.Name\"\r\n                                    [EntityTypeId]=\"EntityTypeId\" [isHideHeader]=\"group.PageEntity.HideListHeader\"\r\n                                    (CheckedGridData)=\"CheckedGridData($event.gridData,group)\">\r\n                                </app-dynamic-list> -->\r\n                            </ng-container>\r\n\r\n                        </ng-container>\r\n                        <ng-template #groupview>\r\n                            <!-- <page-controller [menuText]=\"menuText\" [ViewType]=\"'viewer'\" [group]=\"group\"\r\n                                [contentGroups]=\"contentGroups\" [PageData]=\"PageData\"></page-controller> -->\r\n                        </ng-template>\r\n\r\n                    </div>\r\n                </ng-container>\r\n                </ng-container>\r\n\r\n            </div></div>\r\n         </div>\r\n    </section>\r\n</div>","import { Component, Input, OnInit, Output,EventEmitter, ViewChild } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { ActionVM, Condition, DynamicWfActionDataVm, E_ButtonType, E_CardViewType, E_DataType, E_DatasourceType, E_FieldGroupType, E_FieldType, E_FormType, E_GridSearchType, E_SelectMode, EntityTypeFieldVM, EntityTypeFormUVM, EntityTypeFormVM, EntityTypeSetUpVM, FormConfig, GenerateCriteriaForExport, GetFormattedDateWithTime, IActionDef, IColumnDef, IDropDown, IGridExport, INameVal, IRestConfig, ISearchCriteria, ISysMenuItemsMap, PageContentGroup, StageType, errorMessageType, moveItem, slide } from '../../core/common-interface-enum-classes-functions';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { GridService } from '../../Templates/grid/grid.service';\r\nimport { GridComponent } from '../../Templates/grid/grid.component';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport * as Handlebars from 'handlebars';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-detail-dynamic-list',\r\n  templateUrl: './detail-dynamic-list.component.html',\r\n  styleUrls: ['./detail-dynamic-list.component.scss']\r\n})\r\nexport class DetailDynamicListComponent implements OnInit {\r\n\r\n  constructor(\r\n    private gridService: GridService,\r\n    public  globalService: GlobalService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n  @Output() CheckedGridData = new EventEmitter<{ gridData: any }>();\r\n\r\n  @Input() EntityTypeId: any;\r\n  @Input() EntityFormId: any;\r\n\r\n  @Input() PageRouteType: any;\r\n  @Input() PageViewFrom:any;\r\n\r\n  @Input() menuText: any;\r\n  @Input() menuParams:any ={};\r\n  @Input() isHideHeader:boolean|null = false;\r\n  @Input() isSurveyPage:boolean = false;\r\n\r\n  @Input() group:PageContentGroup | null = null;\r\n\r\n  @Input() RelatedEntity: any =null;\r\n  @Input() RelatedEntityValue :any =null;\r\n  @Input() RelatedEntityField :any =null;\r\n\r\n  @Input() PageName: any;\r\n  @Input() IsPermission: boolean = false;\r\n  IsBack: boolean = false;\r\n  BackURL: string | null = null;\r\n\r\n  IsClientPagination: boolean = false;\r\n\r\n  PaginationType:string | null = null;\r\n\r\n  ActiveEntityForm: EntityTypeFormVM | any = null;\r\n  EntityDetailForm: EntityTypeFormVM | null = null;\r\n  EntityDetailFormList:EntityTypeFormVM[]|any[]= [];\r\n  EntityAllFormList:EntityTypeFormVM[] |any[]= [];\r\n  EntityFormList:EntityTypeFormVM[] |any[]= [];\r\n  EntityActionFormList:EntityTypeFormVM[] |any[]= [];\r\n\r\n  EntityFieldList: EntityTypeFieldVM[]|any[]=[];\r\n  SetupDetails: EntityTypeSetUpVM | any = null;\r\n  MenuDetails: ISysMenuItemsMap | null= null;\r\n  IsPageType:boolean = false;\r\n  IsAttach:boolean = false;\r\n  IsAction:boolean = true;\r\n  IsActionList:any[] = [];\r\n  AllowMultipleAction:boolean = false;\r\n  IsShowAllPendingBar:boolean = false;\r\n  IsHideWorkflowBar:boolean = false;\r\n  IsHideSearch:boolean = false;\r\n  AttachCondition:any = null;\r\n\r\n  PageGroupParams:any;\r\n\r\n  ngOnInit(): void {\r\n\r\n    registerHandlebarHelperMethods();\r\n    this.loadStoreCriteria();\r\n\r\n    this.getEntityAllSetupData();\r\n    if(this.EntityFormId) {\r\n      this.PageRouteType = \"FormView\";\r\n    }\r\n    if (this.EntityTypeId) {\r\n      this.gridId = \"dynamicgrid_\" + this.EntityTypeId + \"_\" + (this.gridNumber ? this.gridNumber : '');\r\n    }\r\n    this.onControllerTrigger = this.globalService.onControllerTrigger.subscribe((x:any) => {\r\n      if (this.group && this.group.ID == x.ControllerId) {\r\n        if(x.Type==\"Load\"){\r\n          this.getListData();\r\n        }\r\n      }\r\n    });\r\n  }\r\n  \r\n\r\n  params:any;\r\n  onControllerTrigger:any;\r\n  ngOnDestroy() {\r\n    this.getCommonFilter();\r\n    this.loadGrid([], 0);\r\n    this.showDetailsCreateView = false;\r\n    this.columnDefs = [];\r\n    this.TicketData = [];\r\n    this.TempTicketData = [];\r\n    this.totalRecordCount = 0;\r\n    this.IsAssign = false;\r\n    this.loadStoreCriteria();\r\n    this.ActiveEntityForm = null;\r\n    this.EntityActionList = [];\r\n    this.MinEntityActionList = [];\r\n    this.wfActionData = [];\r\n    this.IsExport = true;\r\n    this.IsAttach = false;\r\n    this.IsExportTemplate = false;\r\n    this.IsImport = false;\r\n    this.ExportURL = null;\r\n    this.ImportURL = null;\r\n    this.IsAction = false;\r\n    this.IsActionList = [];\r\n    this.AllowMultipleAction = false;\r\n    this.showActionForm = false;\r\n    this.viewConfigData = null;\r\n    this.stageTabs = [];\r\n    this.IsExcelImport = false;\r\n    this.IsDuplicate = false;\r\n    this.IsShowAllPendingBar = false;\r\n    this.IsHideWorkflowBar = false;\r\n    this.IsShowDynamicDetailsInlineView = false;\r\n\r\n    this.IsMultipleFilter = false;\r\n    this.IsMultipleValueSearch = false;\r\n    this.showMultiplefilterpopup = false;\r\n    this.MultipleFilterData = [];\r\n    this.showfilter = false;\r\n\r\n\r\n    if (this.PageViewFrom != \"Popup\") {\r\n\r\n      this.loadGrid([], 0);\r\n      this.columnDefs = [];\r\n      this.StatusAndStageList = [];\r\n      this.EntityTypeId = null;\r\n\r\n      this.EntityTypeId = null;\r\n      this.EntityFormId = null;\r\n      this.menuText = null;\r\n      this.PageRouteType = null;\r\n      this.ActiveEntityForm = null;\r\n      this.SetupDetails = null;\r\n      this.StatusAndStageList = [];\r\n      this.EntityDetailForm = null;\r\n      this.EntityDetailFormList = [];\r\n      this.EntityFormList = [];\r\n      this.MenuDetails = null;\r\n      this.EntityFieldList = [];\r\n      this.condition = null;\r\n      this.IsShowDetails = false;\r\n\r\n      this.GoToDetailsData = {\r\n        Target: null,\r\n        PageType: null,\r\n        PageRecId: null,\r\n        PageFormRecId: null,\r\n        PageParam: [],\r\n        Url: null,\r\n        PagePrimaryField: null,\r\n      };\r\n      this.viewConfigData = null;\r\n      this.stageTabs = [];\r\n\r\n      this.loadStoreCriteria();\r\n\r\n      if (this.menuText) {\r\n        let _menuParams = this.menuText.split(\"?\")[1];\r\n        this.menuParams = {};\r\n        if (_menuParams) {\r\n         let  _menuParamslist = _menuParams.split(\"&\");\r\n         _menuParamslist.forEach((params:any) => {\r\n          let _paramdata = params.split(\"=\");\r\n           if (_paramdata.length > 0) {\r\n             let obj = {}\r\n             this.menuParams[_paramdata[0]] = _paramdata[1];\r\n           }\r\n         });\r\n        }\r\n        this.getMenuDetails();\r\n      }\r\n      else {\r\n        this.getEntityAllSetupData();\r\n      }\r\n    }\r\n    else {\r\n      this.getEntityAllSetupData();\r\n    }\r\n\r\n    if(this.EntityFormId) {\r\n      this.PageRouteType = \"FormView\";\r\n    }\r\n    if (this.EntityTypeId) {\r\n      this.gridId = \"dynamicgrid_\" + this.EntityTypeId + \"_\" + (this.gridNumber ? this.gridNumber : '');\r\n    }\r\n    this.onControllerTrigger.unsubscribe();\r\n  }\r\n\r\n  getMenuDetails() {\r\n\r\n    // let ModuleId = this.globalService.appId\r\n    // if (this.globalService.currentSystemModuleId) {\r\n    //   ModuleId = this.globalService.currentSystemModuleId\r\n    // }\r\n    // let _url = \"/\" + ModuleId + \"/\" + this.menuText;\r\n\r\n    // this.dynamicAppsService.GetMenuByAction(this.menuText)\r\n    //   .subscribe(\r\n    //     (res: ISysMenuItemsMap) => {\r\n\r\n    //       this.MenuDetails = res;\r\n\r\n    //       if (this.MenuDetails && this.MenuDetails.RecId) {\r\n    //         if (this.MenuDetails.DetailsAction) {\r\n    //           this.EntityFormId = this.MenuDetails.DetailsAction;\r\n    //          this.PageRouteType = \"FormView\";\r\n    //         }\r\n    //         if (this.MenuDetails.ReftableName) {\r\n    //           this.EntityTypeId = this.MenuDetails.ReftableName;\r\n    //           this.gridId = this.EntityTypeId +\"_\"+ this.gridNumber;\r\n    //         }\r\n    //         this.getEntityAllSetupData()\r\n    //       }\r\n    //       else {\r\n    //         Swal.fire(\"Page not found\", \"There is no page found \"+this.menuText , 'warning');\r\n    //         if(this.globalService.currentModule ==\"Platform\"){\r\n    //           //this.router.navigate([this.globalService.currentModule+\"/\"+this.globalService.EnvironmentId+\"/pageNotFound\"]);\r\n    //         }\r\n    //         //else\r\n    //         //this.router.navigate([this.globalService.currentModule+\"/pageNotFound\"]);\r\n    //       }\r\n\r\n    //     },\r\n    //     (error:any) => {\r\n    //       if(error.status ==401) {\r\n    //         return\r\n    //       }\r\n    //       console.log(error);\r\n    //     }\r\n    //   );\r\n  }\r\n\r\n\r\n  getEntityAllSetupData() {\r\n\r\n    if (this.EntityTypeId || this.EntityFormId) {\r\n\r\n      this.dynamicAppsService.getEntityAllSetupData(this.EntityTypeId, this.EntityFormId,true)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.SetupDetails = res.Setup;\r\n            if (!this.EntityTypeId) {\r\n              this.EntityTypeId = this.SetupDetails?.RecId;\r\n              this.gridId = this.EntityTypeId + \"_\" + this.gridNumber;\r\n            }\r\n            this.EntityAllFormList = res.Form;\r\n            this.EntityFieldList = res.Fields;\r\n\r\n            if(this.RelatedEntity){\r\n              let _relatedentity = this.EntityFieldList.filter(x=>(x.FieldType_RelationEntity==this.RelatedEntity || x.RelationEntity==this.RelatedEntity))[0];\r\n              if(_relatedentity){\r\n                this.RelatedEntityField = _relatedentity.Description;\r\n              }\r\n            }\r\n\r\n            this.getDependedOnEntity()\r\n\r\n            this.EntityActionList = res.ActionForm;\r\n            if (res.ActiveForm){\r\n              this.ActiveEntityForm = res.ActiveForm;\r\n            }\r\n            if ((this.SetupDetails?.IsWorkFlow || this.SetupDetails?.EntityType == 40 )&& !this.IsHideWorkflowBar) {\r\n              this.StatusAndStageList = res.WfStage;\r\n            }\r\n            this.getAllEntityField()\r\n            this.getAllEntityTypeForm();\r\n            if (res.ActiveForm){\r\n              this.getEntityFormByRecId()\r\n            }\r\n            this.getEntityFormActionList();\r\n            if ((this.SetupDetails?.IsWorkFlow || this.SetupDetails?.EntityType == 40)&& !this.IsHideWorkflowBar) {\r\n              this.getWorkflowStatusWithStage()\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n            Swal.fire(errorMessageType(error),\"\",'error');\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n\r\n\r\n\r\n  CommonGridFilter: any = null;\r\n  IsCommonGridFilter:boolean = false;\r\n  getCommonFilter() {\r\n    let CommonGridFilter = localStorage.getItem(\"CommonGridFilter\");\r\n    if (CommonGridFilter)\r\n      this.CommonGridFilter = JSON.parse(CommonGridFilter)\r\n    else\r\n      this.CommonGridFilter = null;\r\n  }\r\n\r\n\r\n\r\n\r\n  formConfig: any;\r\n  getEntityFormByRecId(view?:any) {\r\n\r\n    if (this.ActiveEntityForm?.FormType == E_FormType.Report || this.ActiveEntityForm?.FormType == E_FormType.CustomTemplate\r\n      || this.ActiveEntityForm?.FormType == E_FormType.Chart) {\r\n      this.getReportSetupData()\r\n    }\r\n\r\n    if (this.PageRouteType == \"FormView\") {\r\n\r\n    }\r\n    else\r\n      this.getFormRenderViews();\r\n    if (!view)\r\n      this.viewType(this.ActiveEntityForm, 0)\r\n\r\n  }\r\n\r\n  getAllEntityTypeForm() {\r\n\r\n    this.EntityActionFormList = this.EntityAllFormList.filter((x:any) => x.FormType == E_FormType.Action);\r\n    this.EntityDetailFormList = this.EntityAllFormList.filter(x => x.FormType == 2);\r\n    this.EntityDetailForm =  this.EntityAllFormList.filter(x => x.FormType == 2)[0];\r\n    this.EntityFormList = this.EntityAllFormList.filter(x => x.FormType == 1 || x.FormType == 3 || x.FormType == 4 || x.FormType == 5\r\n                                      || x.FormType == 6 || x.FormType == 7  || x.FormType == 8  || x.FormType == 9 );\r\n\r\n\r\n    if (this.PageRouteType == \"FormView\"){\r\n      this.getFormRenderViews();\r\n      // return\r\n    }\r\n    else {\r\n      this.ActiveEntityForm = this.EntityFormList[0];\r\n\r\n      if(this.ActiveEntityForm?.FormType ==E_FormType.Report || this.ActiveEntityForm?.FormType ==E_FormType.CustomTemplate\r\n        || this.ActiveEntityForm?.FormType ==E_FormType.Chart) {\r\n        this.getReportSetupData()\r\n      }\r\n      this.getFormRenderViews();\r\n      this.viewType(this.ActiveEntityForm, 0)\r\n    }\r\n\r\n  }\r\n\r\n  getAllEntityField(Criterias?: ISearchCriteria) {\r\n\r\n    this.EntityFieldList =  this.EntityFieldList.sort((a, b) => {\r\n      if (a.OrderId < b.OrderId) return -1;\r\n      else if (a.OrderId > b.OrderId) return 1;\r\n      else return 0;\r\n    });\r\n\r\n    this.renderListView()\r\n\r\n  }\r\n  setColumnListWithField() {\r\n\r\n    if(!(this.EntityFieldList &&this.EntityFieldList.length > 0)) {\r\n      return\r\n    }\r\n    this.EntityFieldList.map((x) => {\r\n      if (this.columnDefs && this.columnDefs.filter(col => col.Field == x.Description).length > 0)\r\n        x.showTable = true;\r\n      else\r\n        x.showTable = false\r\n    });\r\n\r\n\r\n    this.columnDefs = this.columnDefs.map((col) => {\r\n\r\n      if (this.EntityFieldList.find(x => x.Description == col.Field)) {\r\n        let _field = this.EntityFieldList.filter(x => x.Description == col.Field)[0];\r\n        if (!col.FieldType && _field.FieldTypeId && _field.FieldType_RelationEntity && _field.FieldType_RelationEntityField) {\r\n\r\n          col.FieldType = E_FieldType.details;\r\n          col.PageViewType = 1;\r\n          col.PageType = 5;\r\n          col.PagePrimaryField = col.Field;\r\n          col.PageRecId = _field.FieldType_RelationEntity\r\n\r\n        }\r\n      }\r\n\r\n      return col\r\n    });\r\n\r\n\r\n\r\n  }\r\n  hideallEntityFieldList(){\r\n    this.EntityFieldList = this.EntityFieldList.map((x)=>{\r\n      x.showActionBox = false;\r\n      return x\r\n    })\r\n  }\r\n  setColumnOrder() {\r\n    // column show by order\r\n    this.columnDefs = [];\r\n    this.EntityFieldList.map((x) => {\r\n      if (x.showTable) {\r\n        let _column: IColumnDef = {\r\n          Field: x.Description,\r\n          Name: x.Label,\r\n          DataType: x.DataType,\r\n        };\r\n        this.columnDefs.push(_column);\r\n      }\r\n    });\r\n  }\r\n\r\n\r\n  TicketData: any[] = [];\r\n  TempTicketData:any[]=[];\r\n  totalRecordCount: number = 0;\r\n  changeCount:number= 0;\r\n  pageCount: number = 0;\r\n  selectMode: E_SelectMode = E_SelectMode.Multi;\r\n  columnDefs: IColumnDef[] = [];\r\n  gridActionList: IActionDef[] = [];\r\n\r\n  IsShowDetails: boolean = false;\r\n  GoToDetailsData :any= {\r\n    Target: null,\r\n    PageType: null,\r\n    PageRecId: null,\r\n    PageFormRecId: null,\r\n    PageParam: [],\r\n    Url: null,\r\n    PagePrimaryField: null,\r\n  };\r\n\r\n  IsAssign: boolean = false;\r\n  IsCreate: boolean = false;\r\n  IsDelete: boolean = false;\r\n  IsMultipleFilter: boolean = false;\r\n  IsMultipleValueSearch: boolean = false;\r\n  IsEdit: boolean = false;\r\n  CreateCondition:any = null;\r\n  ActionCondition:any = null;\r\n  CreateType:number = 1;\r\n  EditCondition:any = null;\r\n  DeleteCondition:any = null;\r\n  AssignCondition:any = null;\r\n  storeCriteria:ISearchCriteria={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 10,\r\n    },\r\n    Where: [],\r\n    SortOrder:  { field: null, direction: null },\r\n  };\r\n\r\nloadStoreCriteria(){\r\n  this.storeCriteria ={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 10,\r\n    },\r\n    Where: [],\r\n    SortOrder:  { field: null, direction: null },\r\n  };\r\n}\r\n\r\n\r\n  public HideSearch:boolean=false;\r\n  CheckScreenSize(){\r\n    if(screen.width<576){\r\n      this.HideSearch = true;\r\n    }else{\r\n      this.HideSearch = false;\r\n    }\r\n    return this.HideSearch;\r\n  }\r\n\r\n  getListData(Criteria?:ISearchCriteria) {\r\n    if (!this.SetupDetails) {\r\n      return\r\n    }\r\n\r\n    if (Criteria)\r\n      this.storeCriteria = Criteria;\r\n\r\n    if (this.group && this.group?.ID) {\r\n      this.globalService.getAllPageData();\r\n      if (this.globalService.PageAllData.find(x => x.ID == this.group?.ID)) {\r\n        this.PageGroupParams = this.globalService.PageAllData.filter(x => x.ID == this.group?.ID)[0].ParamsData;\r\n        if (this.PageGroupParams) {\r\n          for (let key in this.PageGroupParams) {\r\n\r\n            if (this.PageGroupParams[key]) {\r\n\r\n              if (this.storeCriteria.Where && this.storeCriteria.Where.length > 0) {\r\n                let index = this.storeCriteria.Where.findIndex(\r\n                  (x:any) => x.Field == key\r\n                );\r\n                if (index > -1) {\r\n                  debugger;\r\n                  this.storeCriteria.Where.splice(index, 1);\r\n                }\r\n              }\r\n\r\n              let filterobj = {\r\n                Field: key,\r\n                Operator: '==',\r\n                TableAlias: '',\r\n                Value: \"=\" + this.PageGroupParams[key],\r\n              };\r\n              this.storeCriteria.Where.push(filterobj);\r\n\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n\r\n\r\n      let isCallRemote:boolean = false;\r\n      if(this.ActiveEntityForm){\r\n        if(this.ActiveEntityForm.DataSourceType  && (this.ActiveEntityForm.DataSource || this.ActiveEntityForm.DataSourceId)){\r\n          isCallRemote = true\r\n        }\r\n      }\r\n\r\n    if (this.SetupDetails.EntityType == 150 || isCallRemote) {\r\n      this.getRemoteList()\r\n    }\r\n    else {\r\n      if (this.EntityTypeId) {\r\n\r\n        let processStageId = null;\r\n        if ((this.SetupDetails.EntityType == 40|| this.SetupDetails?.IsWorkFlow)&& !this.IsHideWorkflowBar) {\r\n          processStageId = this.stageId;\r\n        }\r\n\r\n        if(!this.EntityFormId) {\r\n          return\r\n        }\r\n\r\n        this.getentitypages(this.EntityTypeId, processStageId,this.EntityFormId,null,this.MultipleSearchObj?this.MultipleSearchObj:null);\r\n      }\r\n    }\r\n  }\r\n\r\n  showListConfigOnly:boolean = false;\r\n  getListConfigForm(){\r\n    debugger\r\n    this.showListConfigOnly = true;\r\n  }\r\n\r\n  closeListFormForm(){\r\n    this.showListConfigOnly = false;\r\n  }\r\n\r\n  getentitypages(EntityTypeId:any,processStageId:any,EntityFormId?:any,whereCondition?:any,MultipleSearchObj?:any) {\r\n\r\n    this.GridDynamicExportData = {\r\n      ColumnDef: this.columnDefs,\r\n      Url: \"api/v1/entitytype/dynamic/get\",\r\n      QueryParams: [{ Name: 'entityTypeRecId', Value: EntityTypeId.toString() }],\r\n      FileName: this.SetupDetails?.Description,\r\n      whereCondition:whereCondition\r\n    };\r\n\r\n    if(processStageId) {\r\n      this.GridDynamicExportData.QueryParams.push({ Name: 'processStageId', Value: processStageId.toString() })\r\n    }\r\n    if(EntityFormId) {\r\n      this.GridDynamicExportData.QueryParams.push({ Name: 'formRecId', Value: EntityFormId.toString() })\r\n    }\r\n\r\n    this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n    // this.IsDynamicExport = true;\r\n\r\n    // if(this.globalService.currentSystemModuleId) {\r\n    //   let filterobj = {\r\n    //     Field: 'AppModuleId',\r\n    //     Operator: '==',\r\n    //     TableAlias: '',\r\n    //     Value: this.globalService.currentSystemModuleId,\r\n    //   };\r\n\r\n\r\n    //   if (EntityTypeId == this.globalService.SystemConfigs.EntityId.QueryId\r\n    //     || EntityTypeId == this.globalService.SystemConfigs.EntityId.DataBaseId\r\n    //     || EntityTypeId == this.globalService.SystemConfigs.EntityId.FunctionId\r\n    //     || EntityTypeId == this.globalService.SystemConfigs.EntityId.ConnectorId)\r\n    //     this.storeCriteria.Where.push(filterobj);\r\n    // }\r\n\r\n    if (this.RelatedEntityField && this.RelatedEntityValue) {\r\n      this.storeCriteria.Where.splice(this.storeCriteria.Where.findIndex((a:any) => a.Field === this.RelatedEntityField), 1)\r\n      let filterobj = {\r\n        Field: this.RelatedEntityField,\r\n        Operator: '==',\r\n        TableAlias: '',\r\n        Value: \"=\" + this.RelatedEntityValue,\r\n      };\r\n      this.storeCriteria.Where.push(filterobj);\r\n    }\r\n\r\n\r\n    this.dynamicAppsService.getDynamicAll(this.storeCriteria, EntityTypeId, processStageId,null,EntityFormId,whereCondition,\r\n      MultipleSearchObj?.multiSearchfield,MultipleSearchObj?.multiSearchValue).subscribe(\r\n      (res: any) => {\r\n\r\n        this.TicketData = res.Data;\r\n        this.TempTicketData = res.Data;\r\n        this.totalRecordCount = res.TotalCount;\r\n        this.changeCount += this.changeCount + 1;\r\n        this.getPageCount();\r\n        this.loadGrid(res.Data, res.TotalCount);\r\n        this.insertSelectField(false);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n        this.TicketData = [];\r\n        this.TempTicketData = [];\r\n        this.loadGrid([], 0);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  getRemoteList() {\r\n\r\n    if (!this.ActiveEntityForm) {\r\n      return\r\n    }\r\n\r\n    let _handleData:any = {};\r\n    _handleData.Params = this.PageGroupParams\r\n\r\n    if (this.ActiveEntityForm.DataSourceType == E_DatasourceType.Query) {\r\n\r\n      if(this.ActiveEntityForm.DataSourceId) {\r\n\r\n        let Parameter = []\r\n        if (this.ActiveEntityForm.DataSource) {\r\n          let _param =[];\r\n          let _QueryData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n          if (Array.isArray(_QueryData)) {\r\n            _param = _QueryData;\r\n          }\r\n          else {\r\n            _param =_QueryData.DSQueryParamsList;\r\n          }\r\n\r\n          Parameter = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n\r\n        }\r\n\r\n        this.GridDynamicExportData = {\r\n          ColumnDef: this.columnDefs,\r\n          Url: \"api/v1/entitytype/dynamic/queryexecute\",\r\n          QueryParams: [{ Name: 'queryRecId', Value: this.ActiveEntityForm.DataSourceId },\r\n                        { Name: 'formRecId', Value: this.ActiveEntityForm.RecId.toString() }\r\n                       ],\r\n          FileName: this.SetupDetails?.Description\r\n        };\r\n\r\n        let _QueryParameter:INameVal[] = [];\r\n        Parameter.forEach((x:any) => {\r\n          _QueryParameter.push({ Name: x.Field, Value: x.Value })\r\n        });\r\n\r\n        this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams,..._QueryParameter, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n        // this.IsDynamicExport = true;\r\n\r\n\r\n\r\n        let Tabcondition:any = null;\r\n        if (this.stageTabs && this.stageTabs.length > 0) {\r\n          let _tabcondition:any = this.stageTabs[this.currrenStageTab];\r\n          if(_tabcondition?.Condtion && _tabcondition?.Condtion.length > 0)\r\n          Tabcondition = JSON.stringify(_tabcondition);\r\n        }\r\n        else {\r\n          if (this.ActiveEntityForm.DataSource) {\r\n            let _queryData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n            if (!Array.isArray(_queryData)) {\r\n              if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n                let _condition = {\r\n                  Condtion: _queryData.Condtion,\r\n                  CondtionOperator: _queryData.CondtionOperator\r\n                }\r\n                Tabcondition = JSON.stringify(_condition);\r\n                Tabcondition = this.hanbleBarData(Tabcondition);\r\n              }\r\n            }\r\n          }\r\n        }\r\n        this.dynamicAppsService.getDyamicQueryData(this.ActiveEntityForm.DataSourceId,this.ActiveEntityForm.RecId, this.storeCriteria,Parameter,Tabcondition )\r\n        .subscribe((res: any) => {\r\n\r\n          this.TicketData = [];\r\n          this.TempTicketData = [];\r\n          let _data: any = res.Data?res.Data:res;\r\n\r\n          if (_data && Array.isArray(_data) && _data.length > 0) {\r\n            this.TicketData = _data;\r\n            this.TempTicketData = _data;\r\n            this.totalRecordCount = res.TotalCount ? res.TotalCount : _data.length;\r\n            this.changeCount += this.changeCount + 1;\r\n            this.getPageCount();\r\n            this.loadGrid(_data, this.totalRecordCount);\r\n          }\r\n          else {\r\n            this.loadGrid([], 0);\r\n          }\r\n\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n            this.TicketData = [];\r\n            this.TempTicketData = [];\r\n            this.loadGrid([], 0);\r\n          });\r\n      }\r\n    }\r\n    else if (this.ActiveEntityForm.DataSourceType == E_DatasourceType.Entity) {\r\n      if (this.ActiveEntityForm.DataSourceId) {\r\n\r\n        let QueryString = [];\r\n        if (this.ActiveEntityForm.DataSource) {\r\n\r\n          let _param =[];\r\n          let _entityData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n\r\n          if (Array.isArray(_entityData)) {\r\n            _param = _entityData;\r\n          }\r\n          else {\r\n            _param =_entityData.QueryStrings;\r\n          }\r\n\r\n          QueryString = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n        }\r\n        let _QueryString:any[] = [];\r\n        if(QueryString.length > 0){\r\n\r\n          QueryString.map((x:any) => {\r\n            let filterobj = {\r\n              Field: '',\r\n              Operator: 'eq',\r\n              TableAlias: '',\r\n              Value: '',\r\n            };\r\n            filterobj.Field = x.Name,\r\n            filterobj.Value = x.Value,\r\n            _QueryString.push(filterobj);\r\n          });\r\n          this.storeCriteria.Where.push(..._QueryString);\r\n        }\r\n\r\n        let processStageId = null;\r\n        if ((this.SetupDetails?.EntityType == 40|| this.SetupDetails?.IsWorkFlow)&& !this.IsHideWorkflowBar) {\r\n          processStageId = this.stageId;\r\n        }\r\n\r\n        let condition = null;\r\n        let _queryData:any =  null;\r\n        if(this.ActiveEntityForm && this.ActiveEntityForm?.DataSource)\r\n         _queryData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n\r\n        if (!Array.isArray(_queryData)) {\r\n          if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n            let _condition = {\r\n              Condtion: _queryData.Condtion,\r\n              CondtionOperator: _queryData.CondtionOperator\r\n            }\r\n            condition = JSON.stringify(_condition);\r\n            condition = this.hanbleBarData(condition);\r\n          }\r\n        }\r\n\r\n        this.getentitypages(this.ActiveEntityForm.DataSourceId, processStageId,null,condition);\r\n      }\r\n    }\r\n    else if(this.ActiveEntityForm.DataSourceType == E_DatasourceType.SQLConnector) {\r\n\r\n      if(this.ActiveEntityForm.DataSourceId){\r\n\r\n        let _objectType:any = null\r\n        if(this.ActiveEntityForm && this.ActiveEntityForm?.DataSource)\r\n         _objectType = JSON.parse(this.ActiveEntityForm.DataSource);\r\n\r\n        let condition = null;\r\n        if (_objectType.Condtion && _objectType.Condtion.length > 0) {\r\n          let _condition = {\r\n            Condtion:_objectType.Condtion,\r\n            CondtionOperator:_objectType.CondtionOperator\r\n          }\r\n          condition = JSON.stringify(_condition)\r\n          condition = this.hanbleBarData(condition);\r\n        }\r\n\r\n        this.GridDynamicExportData = {\r\n          ColumnDef: this.columnDefs,\r\n          Url: \"api/v1/platform/sql/sysobjectexecute\",\r\n          QueryParams: [],\r\n          FileName: this.SetupDetails?.Description\r\n        };\r\n\r\n        let _Qrecid: INameVal = { Name: 'recId', Value: this.ActiveEntityForm.DataSourceId };\r\n        let _QobjectType: INameVal = { Name: 'object_Type', Value: _objectType.Type };\r\n        this.GridDynamicExportData.QueryParams = [\r\n          _Qrecid, _QobjectType\r\n        ];\r\n\r\n        if (_objectType.Name) {\r\n          let _QobjectName: INameVal = { Name: 'objectName', Value: _objectType.Name };\r\n          this.GridDynamicExportData.QueryParams.push(_QobjectName);\r\n        }\r\n\r\n        if (condition) {\r\n          let _QwhereCondition: INameVal = { Name: 'whereCondition', Value: condition };\r\n          this.GridDynamicExportData.QueryParams.push(_QwhereCondition);\r\n        }\r\n\r\n        this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n\r\n        this.dynamicAppsService.getSQLExecute(this.storeCriteria,this.ActiveEntityForm.DataSourceId,_objectType.Type,_objectType.Name,condition )\r\n        .subscribe((res: any) => {\r\n\r\n          this.TicketData = [];\r\n          this.TempTicketData = [];\r\n          let _data: any = res.Data?res.Data:res;\r\n\r\n          if (_data && Array.isArray(_data) && _data.length > 0) {\r\n            this.TicketData = _data;\r\n            this.TempTicketData = _data;\r\n            this.totalRecordCount = res.TotalCount ? res.TotalCount : _data.length;\r\n            this.changeCount += this.changeCount + 1;\r\n            this.getPageCount();\r\n            this.loadGrid(_data, this.totalRecordCount);\r\n          }\r\n          else {\r\n            this.loadGrid([], 0);\r\n          }\r\n\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n            this.TicketData = [];\r\n            this.TempTicketData = [];\r\n            this.loadGrid([], 0);\r\n          });\r\n\r\n      }\r\n\r\n    }\r\n    else {\r\n\r\n      if (this.ActiveEntityForm.DataSource) {\r\n        let isQueryManadatory = true;\r\n        let RestData = JSON.parse(this.ActiveEntityForm.DataSource)\r\n\r\n        RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n        RestData.Body = this.hanbleBarData(RestData.Body,_handleData);\r\n        if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n          RestData.Body = JSON.parse(RestData.Body);\r\n        }\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          if (!x.Value && x.IsMandatory) {\r\n            Swal.fire({\r\n              title: this.translatePipe.transform(x.Name + ' is mandatory'),\r\n            });\r\n            isQueryManadatory = false;\r\n            return;\r\n          }\r\n          return x\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          return x\r\n        });\r\n\r\n        this.GridDynamicExportData = {\r\n          ColumnDef: this.columnDefs,\r\n          Url: (RestData.URL).replace(this.globalService.systemConfig.FrameworkUrl,''),\r\n          QueryParams: RestData.QueryStrings,\r\n          FileName: this.SetupDetails?.Description,\r\n         GridResponsePath: RestData.ResponseView\r\n        };\r\n\r\n        this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n        // this.IsDynamicExport = true;\r\n\r\n        if (!isQueryManadatory) {\r\n          return;\r\n        }\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData,null,this.storeCriteria,null,true)\r\n          .subscribe((res: any) => {\r\n\r\n            this.TicketData = [];\r\n            this.TempTicketData = [];\r\n            let _data: any = res;\r\n            let _dataTotalCount = res.TotalCount\r\n            if (RestData.ResponseView) {\r\n              let _rview = RestData.ResponseView.split(\".\");\r\n              _rview.forEach((x:any) => {\r\n                _data = _data[x];\r\n              });\r\n              if (!_dataTotalCount)\r\n              _dataTotalCount = res[_rview[0]].TotalCount;\r\n            }\r\n\r\n            if (_data && Array.isArray(_data) && _data.length > 0) {\r\n              if (RestData.ResponseDataFilterCondition) {\r\n                _data = _data.filter(x => this.rowCondition(x, RestData.ResponseDataFilterCondition));\r\n                _dataTotalCount = _data.length;\r\n              }\r\n              if (!_dataTotalCount)\r\n                _dataTotalCount = _data.length;\r\n              this.TicketData = _data;\r\n              this.TempTicketData = _data;\r\n              this.totalRecordCount = _dataTotalCount;\r\n              this.changeCount += this.changeCount + 1;\r\n              this.getPageCount();\r\n              this.loadGrid(_data,_dataTotalCount);\r\n            }\r\n            else {\r\n              this.loadGrid([], 0);\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n            (error:any) => {\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n              this.TicketData = [];\r\n              this.TempTicketData = [];\r\n              this.loadGrid([], 0);\r\n            });\r\n      }\r\n    }\r\n  }\r\n\r\n  openGridAction() {\r\n    let item: IActionDef = {\r\n      Id:this.EntityTypeId, Name: \"Create\",SubId:this.EntityTypeId}\r\n    this.GridAction(item)\r\n  }\r\n\r\n  openCreatepopupValues :any;\r\n  GridAction(item?: IActionDef, griddata?:any) {\r\n\r\n    this.openCreatepopupValues = item;\r\n    this.openPopupCreatePage(item);\r\n    return;\r\n\r\n  }\r\n\r\n  CreateItemId: number | null= null;\r\n  CreateItemSubId: number | null = null;\r\n  CreateEntityFormId: number | null = null;\r\n  CreateFormGetType:string | null = null;\r\n  detailsEntityTypeId: number | null = null;\r\n  displayPopupCreateView: boolean = false;\r\n\r\n  formData:any={};\r\n  CollectionType:string=\"Create\";\r\n  FormTitle:string | any =\"Add \";\r\n\r\n  openPopupCreatePage(item?:any) {\r\n    this.CollectionType=\"Create\";\r\n    this.FormTitle = \"Add \"+ this.SetupDetails?.Description;\r\n    this.CreateItemId = item.Id;\r\n    this.CreateItemSubId = item.SubId;\r\n    this.displayPopupCreateView = true;\r\n  }\r\n  closePopupCreateView(Type?: any) {\r\n    this.CreateItemId = null;\r\n    this.showDetailsCreateView = false;\r\n    this.displayPopupCreateView = false;\r\n    this.IsShowDynamicDetailsInlineView = false;\r\n    if (Type && Type != \"Cancel\")\r\n      this.getListData();\r\n  }\r\n\r\n\r\n  getDetailsURL(col:IColumnDef) {\r\n    let url = '';\r\n    if (col.PageType == 3) {\r\n      url = col.Url;\r\n    }\r\n    else if (col.PageType == 4) {\r\n\r\n      // if (this.globalService.currentModule == \"Platform\") {\r\n      //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/{{RecId}}/\" + this.EntityTypeId\r\n      // }\r\n      // else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //   url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/ViewDetails/{{RecId}}/\" + this.EntityTypeId\r\n      // }\r\n      // else {\r\n      //   url = this.globalService.currentModule + \"/ViewDetails/{{RecId}}/\" + this.EntityTypeId\r\n      // }\r\n\r\n    }\r\n    else if (col.PageType == 5) {\r\n\r\n      // if (!col.PageRecId) {\r\n      //   Swal.fire(this.translatePipe.transform(\"Page\"), this.translatePipe.transform(\"Page id not found\"), \"warning\");\r\n      //   return\r\n      // }\r\n\r\n      // if (this.globalService.currentModule == \"Platform\") {\r\n      //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/{{\" + col.Field + \"}}/\" + col.PageRecId\r\n      // }\r\n      // else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //   url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/ViewDetails/{{\" + col.Field + \"}}/\" + col.PageRecId\r\n      // }\r\n      // else {\r\n      //   url = this.globalService.currentModule + \"/ViewDetails/{{\" + col.Field + \"}}/\" + col.PageRecId\r\n      // }\r\n\r\n    }\r\n    else {\r\n\r\n      // if (col.PageType == 2) {\r\n      //   if (!col.PageFormRecId) {\r\n      //     Swal.fire(this.translatePipe.transform(\"Page Form\"), this.translatePipe.transform(\"Page form id not found\"), \"warning\");\r\n      //     return\r\n      //   }\r\n      //   if (this.globalService.currentModule == \"Platform\") {\r\n      //     url = \"/Platform/\" + this.globalService.EnvironmentId + \"/DynamicPage/\" + col.PageRecId + \"/\" + col.PageFormRecId + \"/{{RecId}}\"\r\n      //   }\r\n      //   else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //     url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/\" + this.menuText + \"Details\" + \"/View/\" + col.PageRecId + \"/\" + col.PageFormRecId + \"/{{RecId}}\"\r\n      //   }\r\n      //   else {\r\n      //     url = this.globalService.currentModule + \"/\" + this.menuText + \"Details\" + \"/View/\" + col.PageRecId + \"/\" + col.PageFormRecId + \"/{{RecId}}\"\r\n      //   }\r\n\r\n      // }\r\n      // else {\r\n      //   if (this.globalService.currentModule == \"Platform\") {\r\n      //     url = \"/Platform/\" + this.globalService.EnvironmentId + \"/View/\" + col.PageRecId\r\n      //   }\r\n      //   else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //     url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/View/\" + col.PageRecId\r\n      //   }\r\n      //   else {\r\n      //     url = this.globalService.currentModule + \"/View/\" + col.PageRecId\r\n      //   }\r\n      //   if (col.PageFormRecId) {\r\n      //     url = url + \"/\" + col.PageFormRecId\r\n      //   }\r\n      // }\r\n    }\r\n\r\n    if (col.PageParam) {\r\n      let _urlParams = \"\"\r\n      for (let i = 0; i < col.PageParam.length; i++) {\r\n\r\n        if (i == 0) {\r\n          _urlParams = \"?\" + col.PageParam[i].Key + \"=\" + col.PageParam[i].Value\r\n        }\r\n        else {\r\n          _urlParams = _urlParams + \"&\" + col.PageParam[i].Key + \"=\" + col.PageParam[i].Value\r\n        }\r\n\r\n      }\r\n      url = url + _urlParams;\r\n\r\n    }\r\n    this.DetailsPageUrl =  url\r\n  }\r\n\r\n  DetailsPageUrl:any =null;\r\n  showDetailsCreateView:boolean = false;\r\n  EntityCreateForm:EntityTypeFormVM | null= null;\r\n  openCreatPop() {\r\n\r\n    if (this.CreateType == 2) {\r\n      let _column = this.columnDefs.filter(x => x.FieldType == E_FieldType.details)[0];\r\n      if (_column) {\r\n        this.getDetailsURL(_column)\r\n      }\r\n      this.EntityCreateForm = this.EntityActionList.filter(x => x.FormType == E_FormType.Create)[0];\r\n      this.showDetailsCreateView = true;\r\n    }\r\n    else {\r\n\r\n      let EntityForm:any = this.EntityActionList.filter(x => x.FormType == E_FormType.Create)[0];\r\n      this.CollectionType = \"Create\";\r\n      this.FormTitle = EntityForm?.FormName;\r\n      this.CreateItemId = this.EntityTypeId;\r\n      this.CreateItemSubId = this.EntityTypeId;\r\n      this.CreateFormGetType = \"Local\";\r\n      this.CreateEntityFormId = EntityForm.RecId;\r\n      this.displayPopupCreateView = true;\r\n      if (EntityForm.DataSourceLink) {\r\n        this.formConfig = JSON.parse(EntityForm.DataSourceLink);\r\n      }\r\n      else {\r\n        this.formConfig = {};\r\n      }\r\n    }\r\n  }\r\n\r\n  edit(data:any){debugger\r\n    let EntityForm:any =this.EntityActionList.filter(x=>x.FormType==E_FormType.Update)[0];\r\n    this.CollectionType = \"Edit\";\r\n    this.FormTitle = \"Update \"+this.SetupDetails?.Description;\r\n\r\n    this.CreateItemSubId = this.EntityTypeId;\r\n    this.formConfig = {};\r\n    if(EntityForm && EntityForm.RecId) {\r\n      this.FormTitle = EntityForm?.FormName;\r\n      this.CreateFormGetType=\"Local\";\r\n      this.CreateEntityFormId = EntityForm.RecId;\r\n      if (EntityForm.DataSourceLink) {\r\n        this.formConfig = JSON.parse(EntityForm.DataSourceLink);\r\n      }\r\n    }\r\n    this.getSingledynamicData(data);\r\n  }\r\n\r\n  delete(data:any) {\r\n\r\n    let RecID = data.RecId;\r\n    let entityTypeRecId = Number(this.EntityTypeId);\r\n    this.dynamicAppsService.DelteDynamicById(entityTypeRecId, RecID)\r\n      .subscribe(\r\n        (Res: any) => {\r\n          this.getListData();\r\n          this.loaderService.hideLoading();\r\n        }, (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          if (error.status == 401) {\r\n            return\r\n          }\r\n\r\n        });\r\n  }\r\n\r\n\r\n  EditCollectionList(EntityForm?:EntityTypeFormVM|any){\r\n\r\n    if(!this.gridData || this.gridData.length !=1) {\r\n      Swal.fire(\"Error\",\"select one row\",\"warning\");\r\n      return\r\n    }\r\n\r\n    this.CollectionType = \"Edit\";\r\n    this.FormTitle = \"Update \"+this.SetupDetails?.Description;\r\n\r\n    this.CreateItemSubId = this.EntityTypeId;\r\n\r\n    if(EntityForm && EntityForm.RecId) {\r\n      this.FormTitle = EntityForm.FormName;\r\n      this.CreateFormGetType=\"Local\";\r\n      this.CreateEntityFormId = EntityForm.RecId;\r\n    }\r\n    this.getSingledynamicData(this.gridData[0]);\r\n  }\r\n\r\n  DeleteCollectionList(){\r\n    Swal.fire({\r\n      title:'Are you sure Delete?',\r\n      showCancelButton:true,\r\n      confirmButtonColor:'#3085d6',\r\n      cancelButtonColor:'#d33',\r\n      cancelButtonText:'Cancel',\r\n      confirmButtonText:'Yes ,Delete it'\r\n    }).then((Res) => {\r\n      if(Res.value){\r\n        if(!this.gridData || this.gridData.length !=1){\r\n          Swal.fire(\"Error\",\"Select One Row..\",\"warning\");\r\n          return\r\n        }\r\n\r\n    let RecID = this.gridData[0].RecId;\r\n    let entityTypeRecId = Number(this.EntityTypeId);\r\n    this.dynamicAppsService.DelteDynamicById(entityTypeRecId,RecID).subscribe(\r\n      (Res:any) =>{\r\n        this.getListData();\r\n        this.loaderService.hideLoading();\r\n    },(error:any) =>{\r\n      this.loaderService.hideLoading();\r\n      if(error.status ==401) {\r\n        return\r\n      }\r\n\r\n    });\r\n      }\r\n    });\r\n\r\n  }\r\n\r\n\r\n  gridData: any[] = [];\r\n  getGridCheckedData(gridData:any) {\r\n    this.gridData = gridData;\r\n    if (this.group && this.group.ControlData)\r\n      this.group.ControlData.GridSelectedData = this.gridData;\r\n      this.globalService.getAllPageData();\r\n    this.CheckedGridData.emit({ gridData: this.gridData });\r\n  }\r\n  getPageCount() {\r\n    this.pageCount = Math.ceil(this.totalRecordCount / this.storeCriteria.Pagging.PageSize);\r\n  }\r\n\r\n  get showPagination() {\r\n    let ret: boolean = true;\r\n    if (this.PageViewFrom == 'Popup' && this.totalRecordCount < this.storeCriteria?.Pagging?.PageSize) {\r\n      ret = false\r\n    }\r\n    else if (this.viewTypeData == E_FormType.Chart || this.viewTypeData == E_FormType.Report || this.viewTypeData == E_FormType.CustomTemplate) {\r\n      ret = false\r\n    }\r\n    return ret;\r\n  }\r\n\r\n  GridCheckedData: any = [];\r\n  GridCheckAll: boolean = false;\r\n  getCheckboxChecked(event?: any, index?: number) {\r\n    this.GridCheckedData = [];\r\n    for (var i = 0; i < this.TicketData.length; i++) {\r\n      if (this.TicketData[i].isGridSelect)\r\n        this.GridCheckedData.push(this.TicketData[i]);\r\n    }\r\n    if (this.GridCheckedData.length == this.TicketData.length)\r\n      this.GridCheckAll = true;\r\n    else this.GridCheckAll = false;\r\n\r\n    this.getGridCheckedData(this.GridCheckedData);\r\n  }\r\n  getGridCheckAll(event: any) {\r\n    if (event.target.checked) {\r\n      this.GridCheckedData = this.TicketData;\r\n      this.insertSelectField(true);\r\n    } else {\r\n      this.GridCheckedData = [];\r\n      this.insertSelectField(false);\r\n    }\r\n    this.getGridCheckedData(this.GridCheckedData);\r\n  }\r\n  insertSelectField(value: boolean) {\r\n    this.TicketData = this.TicketData.map((x) => {\r\n      x.isGridSelect = value;\r\n      return x;\r\n    });\r\n  }\r\n  @Input() gridNumber:any = null;\r\n  @Input() gridId:string|number=0;\r\n\r\n  loadGrid(data: any, TotalRecord: number,grid?:number) {\r\n    if (data) {\r\n      if (data.length > 0)\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          list: data,\r\n          count: data.length,\r\n          grid: grid ? grid : this.gridId,\r\n          totalRecordCount: TotalRecord,\r\n        });\r\n      else\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          grid: grid ? grid : this.gridId,\r\n          list: [],\r\n          count: 0,\r\n          totalRecordCount: 0,\r\n        });\r\n    } else\r\n      this.gridService.onGridRefresh.next({\r\n        isTrue: true,\r\n        grid: grid ? grid : this.gridId,\r\n        list: [],\r\n        count: 0,\r\n        totalRecordCount: 0,\r\n      });\r\n\r\n  }\r\n\r\n\r\n  ShowView = { id: E_FormType.Table, name: \"View\", class: \"la la-eye\", viewName: '', FormName: 'View', FormTypeEn: 'View View', Image: null }\r\n  viewTypes = [\r\n    { id: E_FormType.List, name: \"List\", class: \"la la-table\", desc: \"Table with types to store and view any kind of structured data\" },\r\n    { id: E_FormType.Card, name: \"Card\", class: \"la la-id-card-o\", desc: \"Grid of cards, use for mood boards, index cards, and recipes\" },\r\n    { id: E_FormType.Gallery, name: \"Gallery\", class: \"la la-id-card-o\", desc: \"Grid of cards, use for mood boards, index cards, and recipes\" },\r\n    { id: E_FormType.Columns, name: \"Columns\", class: \"la la-columns\", desc: \"column, great for project planning and bug tracking\" },\r\n    { id: E_FormType.Table, name: \"Table\", class: \"la la-list-ul\", desc: \"A simplified page view, great for bookmarks and notes\" },\r\n  ]\r\n\r\n  addViewDiv:boolean= false;\r\n  addViewPop(){\r\n    this.addViewDiv = true;\r\n  }\r\n  closeaddViewDivpop(){\r\n    this.addViewDiv = false;\r\n  }\r\n\r\n  _FormType = E_FormType;\r\n  viewTypeData: number = E_FormType.Table;\r\n  clickActive(event:MouseEvent) {\r\n     event.stopPropagation();\r\n  }\r\ntableview = this.viewTypeData==this._FormType.Table ? true : false;\r\n  viewType(data:any, index:any) {\r\n\r\n    this.ShowView = data;\r\n    this.viewTypeData = data.FormType;\r\n    this.EntityFormId = data.RecId;\r\n    this.ActiveEntityForm = this.EntityAllFormList.filter(x=>x.RecId==this.EntityFormId)[0];\r\n    if(this.viewTypeData == this._FormType.Gallery){\r\n      this.DataSourceTab = 4;\r\n    }\r\n    else if(this.viewTypeData == this._FormType.Profile){\r\n      this.DataSourceTab = 12;\r\n    }\r\n    else{\r\n      this.DataSourceTab = 1;\r\n    }\r\n    if (this.PageRouteType != \"FormView\")\r\n    this.getEntityFormByRecId(\"view\");\r\n\r\n\r\n  }\r\n\r\n  createdViewDatas =  { id: E_FormType.Table, name: \"Table\", class: \"la la-table\", viewName:\"Table View\" }\r\n  createdViewText:string =\"\";\r\n\r\n  selectViewType(data:any, index:any){\r\n    this.createdViewDatas = data;\r\n  }\r\n\r\n  createdNewView(){\r\n\r\n    if(this.createdViewText != ''){\r\n      this.createdViewDatas.viewName = this.createdViewText;\r\n    }else{\r\n      this.createdViewDatas.viewName = this.createdViewDatas.name+' View'\r\n    }\r\n    this.addViewDiv = false;\r\n\r\n    let data = {\r\n      FormName : this.createdViewText,\r\n      EntityTypeRecId: this.EntityTypeId,\r\n      FormType: this.createdViewDatas.id,\r\n      Image: this.createdViewDatas.class,\r\n    }\r\n    this.addEntityTypeFormData(data);\r\n\r\n  }\r\n\r\n\r\n  addEntityTypeFormData(data:any){\r\n    this.dynamicAppsService.addEntityTypeFormData(data).subscribe(\r\n      (res: any) => {\r\n        this.loaderService.hideLoading();\r\n        this.getEntityAllSetupData();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n      }\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n  DataSourceTab:number=1;\r\n  DataSourceTabChange(data:number){\r\n    if(data == 6){\r\n      this.IsPageType = true;\r\n      this.openFieldBulkCretate = true;\r\n    }else{\r\n      this.IsPageType = false;\r\n      this.openFieldBulkCretate = false;\r\n    }\r\n    if (data == E_FormType.Chart || data == E_FormType.Report || data == E_FormType.CustomTemplate) {\r\n      this.getReportSetupData()\r\n    }\r\n\r\n    this.renderListView();\r\n    this.DataSourceTab  = data;\r\n\r\n  }\r\n  showDataSourcePopup:boolean = false;\r\n  openDataSource() {\r\n    this.showDataSourcePopup = true;\r\n\r\n    if (this.ActiveEntityForm?.FormType == E_FormType.Report || this.ActiveEntityForm?.FormType == E_FormType.CustomTemplate\r\n      || this.ActiveEntityForm?.FormType == E_FormType.Chart) {\r\n        this.DataSourceTab  = this.ActiveEntityForm.FormType;\r\n    }\r\n    else {\r\n\r\n      if (!(this.ddlFieldType && this.ddlFieldType.length > 0))\r\n        this.getFieldTypeEnumDropDown();\r\n      if (!(this.ddlButtonType && this.ddlButtonType.length > 0))\r\n        this.getButtonTypeEnumDropDown();\r\n\r\n      this.renderListView();\r\n    }\r\n  }\r\n   closeDatasourceForm(type:any) {\r\n     this.showDataSourcePopup = false;\r\n     if(type == \"Update\"){\r\n      if(this.storeCriteria){\r\n        this.storeCriteria.Where = [];\r\n      }\r\n      this.getListData();\r\n     }\r\n   }\r\n\r\n\r\n\r\n  getFormRenderViews() {\r\n    this.renderListView();\r\n    this.renderSorting();\r\n    this.renderFiltering();\r\n    this.getActionsList();\r\n   }\r\n\r\n  renderListView() {\r\n    this.columnDefs = [];\r\n    this.listView = [];\r\n    let _listdata = null;\r\n    if (this.ActiveEntityForm)\r\n      _listdata = this.ActiveEntityForm.DetailsViewData;\r\n\r\n    let list =[];\r\n    if (_listdata) {\r\n      list = JSON.parse(_listdata);\r\n    }\r\n\r\n      if (list && list.length > 0) {\r\n        this.listView = list;\r\n        for (let index = 0; index < list.length; index++) {\r\n          let _currfield: IColumnDef = list[index];\r\n          this.columnDefs.push(_currfield);\r\n        }\r\n      }\r\n      else {\r\n\r\n        if (this.EntityFieldList && this.EntityFieldList.length > 0) {\r\n          this.columnDefs = [];\r\n          this.columnDefs.push({\r\n            Field: 'RecId',\r\n            Name: 'RecId',\r\n            FieldType: E_FieldType.details,\r\n            PageViewType: 5,\r\n            PageType: 4\r\n          });\r\n          for (let index = 0; index < this.EntityFieldList.length; index++) {\r\n            let _fields: EntityTypeFieldVM = this.EntityFieldList[index]\r\n            let _currfield: IColumnDef = {\r\n              Field: _fields.Description,\r\n              Name: _fields.Label,\r\n              DataType: _fields.DataType\r\n            };\r\n  \r\n            if (_fields.IsPrimarykey) {\r\n              _currfield.FieldType = E_FieldType.details;\r\n              _currfield.PageViewType = 5;\r\n              _currfield.PageType = 4;\r\n            }\r\n  \r\n            this.columnDefs.push(_currfield);\r\n          }\r\n        }\r\n  \r\n        let _primaryFieldGroups = this.EntityAllFormList.filter(x => x.FieldControlType == E_FieldGroupType.Primary);\r\n        if (_primaryFieldGroups && _primaryFieldGroups.length > 0) {\r\n  \r\n  \r\n          _primaryFieldGroups.forEach(FG => {\r\n            if (FG.DetailsViewData) {\r\n              let _fieldgroups = JSON.parse(FG.DetailsViewData);\r\n              for (let index = 0; index < _fieldgroups.length; index++) {\r\n                let _fieldsG: EntityTypeFieldVM = _fieldgroups[index];\r\n                let _fields = this.EntityFieldList.filter(x => x.Description == _fieldsG.Description)[0];\r\n  \r\n                if (_fields && _fields.Description) {\r\n  \r\n                  let _currfield: IColumnDef = {\r\n                    Field: _fields.Description,\r\n                    Name: _fields.Label,\r\n                    DataType: _fields.DataType\r\n                  };\r\n  \r\n                  if (_fields.IsPrimarykey) {\r\n                    _currfield.FieldType = E_FieldType.details;\r\n                    _currfield.PageViewType = 2;\r\n                    _currfield.PageType = 4;\r\n                  }\r\n  \r\n                  this.columnDefs.push(_currfield);\r\n                }\r\n              }\r\n            }\r\n  \r\n          });\r\n  \r\n        }\r\n  \r\n      }\r\n\r\n      this.setColumnListWithField();\r\n\r\n\r\n  }\r\n\r\n\r\n\r\n  sorting:any = null;\r\n  renderSorting(){\r\n    this.sorting = null;\r\n    let _Sorting = this.ActiveEntityForm?.Sorting;\r\n    if (_Sorting) {\r\n      let sort = JSON.parse(_Sorting);\r\n      if (sort && sort.length > 0) {\r\n        this.sorting = sort\r\n      }\r\n    }\r\n    if(this.storeCriteria)\r\n    this.storeCriteria.SortOrder = this.sorting;\r\n  }\r\n  sortApply(){\r\n\r\n      if(this.sorting?.length == 0)\r\n        this.storeCriteria.SortOrder = null;\r\n      else\r\n        this.storeCriteria.SortOrder = this.sorting;\r\n\r\n      this.saveListView(null,true);\r\n  }\r\n\r\n  condition:Condition | null = null;\r\n\r\n  renderFiltering(){\r\n    let _Filter = this.ActiveEntityForm?.Filter;\r\n    if (_Filter) {\r\n      let condition = JSON.parse(_Filter);\r\n      if (condition) {\r\n        this.condition = condition\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  addCondition() {\r\n      this.condition = new Condition();\r\n  }\r\n\r\n  conditionApply(){\r\n\r\n    let con = JSON.stringify(this.condition);\r\n    this.saveListView(null,true);\r\n\r\n  }\r\n\r\n  clearFilter(){\r\n    this.condition = null;\r\n  }\r\n\r\n  ActionsList:ActionVM[] = [];\r\n  getActionsList() {\r\n    this.ActionsList = [];\r\n    let _Actions = this.ActiveEntityForm?.Actions;\r\n    if (_Actions) {\r\n      let Actions = JSON.parse(_Actions);\r\n      if (Actions && Actions.length > 0) {\r\n        this.ActionsList = Actions;\r\n      }\r\n    }\r\n  }\r\n\r\n  ddlFieldType: any = [];\r\n  getFieldTypeEnumDropDown() {\r\n\r\n    this.ddlFieldType = [];\r\n    try {\r\n      for (let key in E_FieldType) {\r\n        let val = E_FieldType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlFieldType.push(temp);\r\n        }\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire('', e.message, 'error');\r\n    }\r\n  }\r\n\r\n  ddlButtonType: any = [];\r\n  getButtonTypeEnumDropDown() {\r\n\r\n    this.ddlButtonType = [];\r\n    try {\r\n      for (let key in E_ButtonType) {\r\n        let val = E_ButtonType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlButtonType.push(temp);\r\n        }\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire('', e.message, 'error');\r\n    }\r\n  }\r\n\r\n\r\n\r\n  listView: IColumnDef[] = [];\r\n  columnDataType = E_DataType;\r\n  columnFieldType = E_FieldType;\r\n  addlist() {\r\n    let _list: IColumnDef = {\r\n      Field: '',\r\n      Name: '',\r\n      IconName:null,\r\n      ResponseView:null,\r\n      DataType: E_DataType.string,\r\n      FieldType:null,\r\n      Url:null,\r\n    };\r\n    this.listView.push(_list);\r\n  }\r\n\r\n  deleteList(index:number) {\r\n    this.listView.splice(index, 1);\r\n  }\r\n\r\n  downList(index:any,item:any) {\r\n    moveItem(item, index, index + 1);\r\n  }\r\n\r\n  upList(index:any,item:any) {\r\n    moveItem(item, index, index - 1);\r\n  }\r\n  selectListViewFields(event:any, item:IColumnDef, index:any) {\r\n\r\n    item.Name = event.Label;\r\n    item.DataType = event.DataType;\r\n    if (event.ResponseView)\r\n      item.ResponseView = event.ResponseView;\r\n  }\r\n\r\n  saveListView(Type?:string|null,isCallList?:any) {\r\n\r\n\r\n    let listdata:any = null;\r\n    if (this.columnDefs && this.columnDefs.length > 0)\r\n      listdata = JSON.stringify(this.columnDefs);\r\n    else {\r\n      let empltyColumnDef:any[] = []\r\n      listdata = JSON.stringify(empltyColumnDef);\r\n    }\r\n\r\n    if (Type == \"ListConfiqView\")\r\n      listdata = JSON.stringify(this.listView);\r\n\r\n    let sort:any = null;\r\n    if (this.sorting && this.sorting.length > 0)\r\n      sort = JSON.stringify(this.sorting);\r\n\r\n\r\n    let filter:any = null;\r\n    if (this.condition)\r\n      filter = JSON.stringify(this.condition);\r\n\r\n\r\n    if(this.ActiveEntityForm){\r\n      if(filter)\r\n      this.ActiveEntityForm.Filter = filter;  \r\n      if(sort)\r\n      this.ActiveEntityForm.Sorting = sort;  \r\n      if(listdata)\r\n      this.ActiveEntityForm.DetailsViewData = listdata;\r\n    }\r\n\r\n\r\n\r\nif (this.ActiveEntityForm) {\r\n        const data: EntityTypeFormUVM = {\r\n          RecId: this.ActiveEntityForm?.RecId,\r\n          EntityTypeId: this.ActiveEntityForm?.EntityTypeRecId,\r\n          CascadeFieldId: this.ActiveEntityForm?.CascadeFieldId,\r\n          DataSourceLink: this.ActiveEntityForm?.DataSourceLink,\r\n          FieldControlType: this.ActiveEntityForm?.FieldControlType,\r\n          FieldId: this.ActiveEntityForm?.FieldId,\r\n          IsVisible: this.ActiveEntityForm?.IsVisible,\r\n          OrderId: this.ActiveEntityForm?.OrderId,\r\n          EntityTypeRecId: this.ActiveEntityForm?.EntityTypeRecId,\r\n          RulesData: this.ActiveEntityForm?.RulesData,\r\n          FormType: this.ActiveEntityForm?.FormType,\r\n          DetailsViewData: listdata,\r\n          Sorting: sort,\r\n          Filter: filter,\r\n          AllowCreate:this.ActiveEntityForm?.AllowCreate,\r\n          AllowEdit:this.ActiveEntityForm?.AllowEdit,\r\n          IsAdvanceGrid:this.ActiveEntityForm?.IsAdvanceGrid,\r\n        };\r\n        this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n          (res) => {\r\n  \r\n            if (this.listView) {\r\n            this.columnDefs = this.listView;\r\n            }\r\n            if(isCallList) {\r\n              this.getListData();\r\n            }\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n}\r\n  }\r\n\r\n  updateListView() {\r\n\r\n    this.saveListView();\r\n  }\r\n\r\n\r\n  PageListDDl:any[]=[];\r\n  EntityListDDl:any[]=[];\r\n\r\n\r\n\r\n  getCollectionDDl(Type?:any) {\r\n\r\n\r\n    let _Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 0,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n\r\n    let entityTypeSetup = this.dynamicAppsService.getAllEntityTypeSetup(_Searchcriteria,Type).subscribe(\r\n      (res: any) => {\r\n\r\n        let _datas =res.Data ? res.Data : res;\r\n        this.PageListDDl =[];\r\n          _datas.forEach((x:any) => {\r\n            let temp = {RecId:x.RecId,Desc:x.Description};\r\n            this.PageListDDl.push(temp);\r\n          });\r\n\r\n        this.loaderService.hideLoading();\r\n        entityTypeSetup.unsubscribe();\r\n      },\r\n      (error) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n  EntityFormDDl:any[]=[];\r\n  getEntityForm(EntityTypeId:any,PageType?:any) {\r\n\r\n    if(PageType==1){\r\n      this.EntityFormDDl = this.EntityAllFormList.filter(x=>(x.FormType != E_FormType.Page && x.FormType != E_FormType.EntityPage && x.FormType != E_FormType.Details));\r\n    }\r\n    else if(PageType==2){\r\n      this.EntityFormDDl = this.EntityAllFormList.filter(x=>(x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage));\r\n    }\r\n    else {\r\n      this.EntityFormDDl = this.EntityAllFormList;\r\n    }\r\n\r\n  }\r\n\r\n  getAppAction() {\r\n\r\n    if (this.ActiveEntityForm && this.ActiveEntityForm.Configure) {\r\n      let _formconfig: FormConfig = JSON.parse(this.ActiveEntityForm.Configure);\r\n\r\n      this.IsCreate = _formconfig.IsCreate;\r\n      if (this.IsCreate) {\r\n        this.CreateCondition = _formconfig.CreateCondition;\r\n        this.CreateType =_formconfig.CreateType;\r\n        this.checkCreateCondition();\r\n      }\r\n      this.IsEdit = _formconfig.IsEdit;\r\n      if (this.IsEdit) {\r\n        this.EditCondition = _formconfig.EditCondition;\r\n      }\r\n      this.IsDelete = _formconfig.IsDelete;\r\n      if (this.IsDelete) {\r\n        this.DeleteCondition = _formconfig.DeleteCondition;\r\n      }\r\n      this.IsMultipleFilter = _formconfig.IsMultipleFilter;\r\n      this.IsMultipleValueSearch = _formconfig.IsMultipleSearch;\r\n      if (this.IsAssign)\r\n        this.IsAssign = _formconfig.IsAssign;\r\n      if (this.IsAssign) {\r\n        this.AssignCondition = _formconfig.AssignCondition;\r\n      }\r\n      this.IsShowDetails = _formconfig.IsDetails;\r\n      if (this.IsShowDetails) {\r\n        this.GoToDetailsData = {\r\n          Target: _formconfig.DetailsTarget,\r\n          PageType: _formconfig.DetailsPageType,\r\n          PageRecId: _formconfig.DetailsPageRecId,\r\n          PageFormRecId: _formconfig.DetailsPageFormRecId,\r\n          PageParam: _formconfig.DetailsPageParam,\r\n          Url: _formconfig.DetailsUrl,\r\n          PagePrimaryField: _formconfig.DetailsPagePrimaryField,\r\n        };\r\n      }\r\n      this.IsPermission = _formconfig.IsPermission\r\n      this.IsAttach = _formconfig.IsAttach;\r\n      if(this.IsAttach){\r\n        this.AttachCondition =  _formconfig.AttachCondition;\r\n      }\r\n      this.IsExport = _formconfig.IsExport;\r\n      this.IsExportTemplate = _formconfig.IsExportTemplate;\r\n      this.ExportURL = _formconfig.ExportURL;\r\n      this.IsExcelImport = _formconfig.IsExcelImport;\r\n      this.IsImport = _formconfig.IsImport;\r\n      this.ImportURL = _formconfig.ImportURL;\r\n      this.IsDuplicate = _formconfig.IsDuplicate;\r\n      if (typeof _formconfig.IsShowAllPendingBar !== 'undefined')\r\n        this.IsShowAllPendingBar = _formconfig.IsShowAllPendingBar;\r\n\r\n        if (typeof _formconfig.IsHideWorkflowBar !== 'undefined')\r\n        this.IsHideWorkflowBar = _formconfig.IsHideWorkflowBar;\r\n\r\n        if (typeof _formconfig.IsHideSearch !== 'undefined')\r\n        this.IsHideSearch = _formconfig.IsHideSearch;\r\n\r\n      this.IsAction = _formconfig.IsAction;\r\n      if (this.IsAction) {\r\n        this.AllowMultipleAction = _formconfig.AllowMultipleAction;\r\n        if (_formconfig.ActionList && _formconfig.ActionList.length > 0) {\r\n\r\n          this.IsActionList = _formconfig.ActionList;\r\n          let filteredArray:any[] = [];\r\n          this.MinEntityActionList.forEach(x => {\r\n            if (this.IsActionList.find(y => y.RecId == x.RecId))\r\n              filteredArray.push(x);\r\n          });\r\n          this.MinEntityActionList = filteredArray\r\n        }\r\n      }\r\n      this.IsBack = _formconfig.IsBack\r\n      this.BackURL = _formconfig.BackURL;\r\n\r\n      this.IsClientPagination = _formconfig.IsClientPagination;\r\n      this.PaginationType = _formconfig.PaginationType;\r\n\r\n    }\r\n    else {\r\n      // if (this.menuText) {\r\n\r\n      //   let Currentapp = null;\r\n\r\n      //   if (this.globalService.appId == \"System\")\r\n      //     Currentapp = this.globalService.SystemConfigs.AppAction[this.globalService.currentSystemModuleName];\r\n      //   else if (this.globalService.AppName)\r\n      //     Currentapp = this.globalService.SystemConfigs.AppAction[this.globalService.AppName];\r\n      //   let Currentpage = null\r\n      //   if (Currentapp)\r\n      //     Currentpage = Currentapp[this.menuText];\r\n\r\n      //   if (Currentpage) {\r\n      //     if (this.PageName) {\r\n      //       Currentpage = Currentpage[this.PageName]\r\n      //     }\r\n      //   }\r\n\r\n      //   if (Currentpage) {\r\n\r\n      //     if (this.IsCreate) {\r\n      //       this.IsCreate = Currentpage.IsCreate\r\n      //     }\r\n      //     if (this.IsEdit) {\r\n      //       this.IsEdit = Currentpage.IsEdit\r\n      //     }\r\n      //     if (this.IsDelete) {\r\n      //       this.IsDelete = Currentpage.IsDelete\r\n      //     }\r\n      //     this.IsMultipleFilter = Currentpage.IsMultipleFilter;\r\n      //     this.IsMultipleValueSearch = Currentpage.IsMultipleSearch;\r\n      //     if (this.IsAssign) {\r\n      //       if (typeof Currentpage.IsAssign !== 'undefined')\r\n      //         this.IsAssign = Currentpage.IsAssign\r\n      //     }\r\n      //     this.IsPermission = Currentpage.IsPermission\r\n\r\n      //     this.IsAttach = Currentpage.IsAttach;\r\n\r\n      //     this.IsExport = Currentpage.IsExport == false ? false : true;\r\n      //     this.IsExportTemplate = Currentpage.IsExportTemplate;\r\n      //     this.ExportURL = Currentpage.ExportURL;\r\n      //     this.IsExcelImport = Currentpage.IsExcelImport;\r\n      //     this.IsImport = Currentpage.IsImport;\r\n      //     this.ImportURL = Currentpage.ImportURL;\r\n      //     this.IsDuplicate = Currentpage.IsDuplicate;\r\n\r\n      //     if (typeof Currentpage.IsAction !== 'undefined')\r\n      //       this.IsAction = Currentpage.IsAction\r\n\r\n      //   }\r\n      // }\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  DyamicFormId:number|null=0;\r\n  DyamicPageRecId:number|null=0;\r\n  DyamicTableRecId:number|null=0;\r\n  PageType:number|null=0;\r\n  DynamicTableField:any\r\n  DynamicTableFieldValue:any;\r\n  goDetails(data:any, col?:IColumnDef) { debugger;\r\n    let queryParamsobj:any = {};\r\n\r\n    if(!col && this.GoToDetailsData && this.GoToDetailsData?.PageType) {\r\n      col ={\r\n        Field:\"\",\r\n        Name:\"\",\r\n        FieldType:E_FieldType.details,\r\n        PageParam:this.GoToDetailsData.PageParam?this.GoToDetailsData.PageParam:[],\r\n        PageViewType:this.GoToDetailsData.Target=='_blank'?3:2,\r\n        PageRecId:this.GoToDetailsData.PageRecId,\r\n        PageType:this.GoToDetailsData.PageType,\r\n        Url:this.GoToDetailsData.Url,\r\n        PageFormRecId:this.GoToDetailsData.PageFormRecId,\r\n        PagePrimaryField:this.GoToDetailsData.PagePrimaryField\r\n      }\r\n    }\r\n\r\n    if(col && col.FieldType == E_FieldType.details) {\r\n\r\n      if (col.PageParam) {\r\n        col.PageParam.forEach((x:any) => {\r\n          queryParamsobj[x.Key] = this.hanbleBarData(x.Value, data);\r\n        });\r\n      }\r\n\r\n      if(col.PageViewType==1 || col.PageViewType==4|| col.PageViewType==5 ) { // popup & Side View\r\n          if(col.PageType == 4){\r\n          this.DyamicFormId= col.PageFormRecId;\r\n          this.DyamicPageRecId= Number(this.EntityTypeId);\r\n\r\n          if(col.PagePrimaryField){\r\n            this.DyamicTableRecId = null;\r\n            this.DynamicTableField = col.PagePrimaryField;\r\n            this.DynamicTableFieldValue = data[col.PagePrimaryField];\r\n          }\r\n          else {\r\n            this.DyamicTableRecId=data.RecId;\r\n            this.DynamicTableField =null;\r\n            this.DynamicTableFieldValue = null;\r\n          }\r\n\r\n         this.PageType = col.PageType;\r\n            if (this.DyamicPageRecId && (this.DyamicTableRecId || this.DynamicTableFieldValue)) {\r\n              if (col.PageViewType == 4) {\r\n                this.openDynamicDetailsSideView();\r\n              }\r\n              else if (col.PageViewType == 5) {\r\n                this.openDynamicDetailsInlineView(queryParamsobj);\r\n              }\r\n              else {\r\n                this.openDynamicDetailsPopup(queryParamsobj);\r\n              }\r\n          }\r\n        }\r\n         else{\r\n          this.DyamicFormId = col.PageFormRecId;\r\n         this.DyamicPageRecId= col.PageRecId;\r\n\r\n          this.PageType = col.PageType;\r\n          if(col.PagePrimaryField){\r\n            this.DyamicTableRecId = null;\r\n            this.DynamicTableField = col.PagePrimaryField;\r\n            this.DynamicTableFieldValue = data[col.PagePrimaryField];\r\n          }\r\n          else {\r\n            this.DyamicTableRecId=data.RecId;\r\n            this.DynamicTableField =null;\r\n            this.DynamicTableFieldValue = null;\r\n          }\r\n          if(this.DyamicPageRecId && (this.DyamicTableRecId || this.DynamicTableFieldValue) && this.PageType){\r\n            if (col.PageViewType == 4) {\r\n              this.openDynamicDetailsSideView();\r\n            }\r\n            else if (col.PageViewType == 5) {\r\n              this.openDynamicDetailsInlineView(queryParamsobj);\r\n            }\r\n            else {\r\n              this.openDynamicDetailsPopup(queryParamsobj);\r\n            }\r\n          }\r\n         }\r\n\r\n      }\r\n      else {\r\n\r\n        let url = '';\r\n\r\n        if (col.PageType == 3) {\r\n          url = this.hanbleBarData(col.Url, data);\r\n\r\n        }\r\n        else if (col.PageType == 4) {\r\n\r\n          // if (this.globalService.currentModule == \"Platform\") {\r\n          //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/\"+data.RecId+\"/\"+this.EntityTypeId\r\n          // }\r\n          // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n          //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+ \"/ViewDetails/\"+data.RecId+\"/\"+this.EntityTypeId\r\n          // }\r\n          //  else {\r\n          //   url = this.globalService.currentModule+ \"/ViewDetails/\"+data.RecId+\"/\"+this.EntityTypeId\r\n          // }\r\n\r\n        }\r\n        else if (col.PageType == 5) {\r\n\r\n          // if(!col.PageRecId) {\r\n          //   Swal.fire(this.translatePipe.transform(\"Page\"),this.translatePipe.transform(\"Page id not found\"),\"warning\");\r\n          //   return\r\n          // }\r\n\r\n          // if (this.globalService.currentModule == \"Platform\") {\r\n          //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/\"+data[col.Field]+\"/\"+col.PageRecId\r\n          // }\r\n          // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n          //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+ \"/ViewDetails/\"+data[col.Field]+\"/\"+col.PageRecId\r\n          // }\r\n          // else {\r\n          //   url = this.globalService.currentModule+ \"/ViewDetails/\"+data[col.Field]+\"/\"+col.PageRecId\r\n          // }\r\n\r\n        }\r\n        else {\r\n\r\n          if(col.PageType == 2) {\r\n            // if(!col.PageFormRecId) {\r\n            //   Swal.fire(this.translatePipe.transform(\"Page Form\"),this.translatePipe.transform(\"Page form id not found\"),\"warning\");\r\n            //   return\r\n            // }\r\n            // if (this.globalService.currentModule == \"Platform\") {\r\n            //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/DynamicPage/\"+col.PageRecId+\"/\"+col.PageFormRecId+\"/\"+data.RecId\r\n            // }\r\n            // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n            //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+\"/\"+this.menuText +\"Details\"+ \"/View/\"+col.PageRecId+\"/\"+col.PageFormRecId+\"/\"+data.RecId\r\n            // }\r\n            //  else {\r\n            //   url = this.globalService.currentModule+\"/\"+this.menuText+\"Details\"+ \"/View/\"+col.PageRecId+\"/\"+col.PageFormRecId+\"/\"+data.RecId\r\n            // }\r\n\r\n          }\r\n          else {\r\n            // if (this.globalService.currentModule == \"Platform\") {\r\n            //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/View/\" + col.PageRecId\r\n            // }\r\n            // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n            //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+ \"/View/\" + col.PageRecId\r\n            // }\r\n            //  else {\r\n            //   url = this.globalService.currentModule + \"/View/\" + col.PageRecId\r\n            // }\r\n            // if(col.PageFormRecId) {\r\n            //   url = url +\"/\"+col.PageFormRecId\r\n            // }\r\n          }\r\n        }\r\n\r\n\r\n        if(col.PageViewType==2) { //Same Page\r\n          //this.router.navigate([url], { queryParams: queryParamsobj });\r\n        }\r\n        else if(col.PageViewType == 3) { // new Window\r\n\r\n          if (!url.startsWith(\"http\")) {\r\n            url = `${window.location.origin}/#/${url}`;\r\n          }\r\n          if (queryParamsobj) {\r\n            let _queryString = \"?\";\r\n            Object.keys(queryParamsobj).forEach(key => {\r\n              let _val = key + \"=\" + queryParamsobj[key] + \"&\"\r\n              _queryString = _queryString + _val\r\n            });\r\n            if(_queryString.length > 1){\r\n              url = url+_queryString;\r\n            }else{\r\n              url = url;\r\n            }\r\n          }\r\n          window.open(url, \"_blank\");\r\n        }\r\n\r\n\r\n      }\r\n\r\n    }\r\n    else\r\n    this.goDetailss(data)\r\n\r\n  }\r\n  goDetailss(data:any) {\r\n\r\n\r\n    // let url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/\";\r\n    // if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n    //   url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/ViewDetails/\";\r\n    // }\r\n    // else if (this.globalService.currentModule != 'Platform')\r\n    //   url = \"/\" + this.globalService.appId + \"/ViewDetails/\";\r\n\r\n\r\n\r\n    //this.router.navigate([url, data.RecId,data.EntityTypeId]);\r\n  }\r\n\r\n\r\n  get ActionColumnDefs() {\r\n    let _list = [];\r\n    _list = this.columnDefs.filter(x => x.FieldType == this.columnFieldType.button);\r\n    return _list\r\n  }\r\n\r\n  IsShowDynamicDetailsPopup:boolean=false;\r\n  openDynamicDetailsPopup(queryParamsobj:any){\r\n    if(queryParamsobj && queryParamsobj){\r\n      this.oldqueryParams = this.queryParams;\r\n      //this.router.navigate([], { queryParams: queryParamsobj });\r\n    }\r\n    this.IsShowDynamicDetailsPopup = true;\r\n  }\r\n  closeDynamicDetailsPopup(){\r\n    //this.router.navigate([], { queryParams: this.oldqueryParams });\r\n    this.loadGrid(this.TicketData , this.totalRecordCount);\r\n    this.IsShowDynamicDetailsPopup = false;\r\n  }\r\n\r\n  IsShowDynamicDetailsSideView: boolean = false;\r\n  isExpand: boolean = false;\r\n  openDynamicDetailsSideView() {\r\n    if (this.IsShowDynamicDetailsSideView) {\r\n      this.IsShowDynamicDetailsSideView = false;\r\n      setTimeout(() => {\r\n        this.IsShowDynamicDetailsSideView = true;\r\n      }, 1);\r\n    }\r\n    else\r\n      this.IsShowDynamicDetailsSideView = true;\r\n\r\n  }\r\n  closeDynamicDetailsSideView() {\r\n    this.IsShowDynamicDetailsSideView = false;\r\n  }\r\n\r\n\r\n  IsShowDynamicDetailsInlineView:boolean = false;\r\n  oldqueryParams = null;\r\n  openDynamicDetailsInlineView(queryParamsobj?:any) {\r\n    if (this.IsShowDynamicDetailsInlineView) {\r\n      this.IsShowDynamicDetailsInlineView = false;\r\n      setTimeout(() => {\r\n        if(queryParamsobj && queryParamsobj){\r\n          this.oldqueryParams = this.queryParams;\r\n          // this.router.navigate([], { queryParams: queryParamsobj });\r\n          this.queryParams = queryParamsobj;\r\n        }\r\n        this.IsShowDynamicDetailsInlineView = true;\r\n      }, 1);\r\n    }\r\n    else{\r\n      if(queryParamsobj && queryParamsobj){\r\n        this.oldqueryParams = this.queryParams;\r\n        //this.router.navigate([], { queryParams: queryParamsobj });\r\n        this.queryParams = queryParamsobj;\r\n      }\r\n      this.IsShowDynamicDetailsInlineView = true;\r\n    }\r\n\r\n  }\r\n  closeDynamicDetailsInlineView() {\r\n    this.IsShowDynamicDetailsInlineView = false;\r\n    if(this.oldqueryParams)\r\n    this.queryParams = this.oldqueryParams;//this.router.navigate([], { queryParams: this.oldqueryParams });\r\n    else\r\n    this.queryParams=null; //this.router.navigate([], { queryParams: {} });\r\n\r\n    this.loadGrid(this.TicketData , this.totalRecordCount);\r\n  }\r\n\r\n\r\n  showFieldImportPopup: boolean = false;\r\n  ImportCsvFile: any = null;\r\n  ImportCsvModel: any = null;\r\n  ImportStage: number = 1;\r\n  ImportCsvRecId: number = 0;\r\n  ImportCsvData: any = null;\r\n  ImportCsvDataColumn: any[] = [];\r\n  openImportPopup() {\r\n    this.ImportStage = 1;\r\n    this.ImportCsvFile = null;\r\n    this.ImportCsvModel = null;\r\n    this.ImportCsvRecId = 0;\r\n    this.ImportCsvData = null;\r\n    this.showFieldImportPopup = true;\r\n  }\r\n  closeImportPopup() {\r\n    this.showFieldImportPopup = false;\r\n  }\r\n\r\n  backImportStage(Stage:any) {\r\n    this.ImportStage = Stage;\r\n    if (Stage == 1) {\r\n      this.openImportPopup()\r\n    }\r\n    else if(Stage==2) {\r\n      this.getCsvImportProcessData()\r\n    }\r\n\r\n  }\r\n\r\n\r\n  fileChange(event: any) {\r\n\r\n    this.ImportCsvFile = event.target.files;\r\n    if(this.ImportCsvFile && this.ImportCsvFile[0]) {\r\n      if(this.ImportCsvFile[0].type !=\"text/csv\" && this.ImportCsvFile[0].type !=\"application/vnd.ms-excel\" && this.ImportCsvFile[0].type != \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\") {\r\n       this.ImportCsvFile =null;\r\n       this.ImportCsvModel = null;\r\n       Swal.fire(this.translatePipe.transform(\"CSV\"),this.translatePipe.transform(\"accept CSV file only\"),\"warning\");\r\n      }\r\n   }\r\n  }\r\n\r\n\r\n  uploadImportFIle() {\r\n\r\n    if (this.ImportCsvFile && this.ImportCsvFile.length > 0) {\r\n      this.dynamicAppsService.importEntityTypeField(this.ImportCsvFile,this.EntityTypeId).subscribe(\r\n        (res: any) => {\r\n\r\n          this.ImportCsvRecId = res.RecId;\r\n          this.ImportStage = 2;\r\n          this.getCsvImportProcessData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          if(error.status ==401) {\r\n            return\r\n          }\r\n          console.log(error);\r\n        }\r\n      );\r\n    }\r\n    else {\r\n      Swal.fire(\"Error\",\"select CSV or Excel file\",\"warning\");\r\n    }\r\n\r\n  }\r\n\r\n  getCsvImportProcessData() {\r\n\r\n    this.dynamicAppsService.importProcessEntityTypeFieldData(this.ImportCsvRecId).subscribe(\r\n      (res: any) => {\r\n\r\n        this.ImportCsvData = res;\r\n        this.ImportCsvData.FieldMapping = this.ImportCsvData.FieldMapping.map(\r\n          (x:any)=>{\r\n            if(x.DestinationColumnName =='<new>'){\r\n              x.NewColumnDataType ='1';\r\n              x.NewColumnName = x.SoureColumnName;\r\n            }\r\n            return x;\r\n          }\r\n        )\r\n        this.getDataTypeEnumDropDown();\r\n        this.ImportStage = 2;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  mappingImportProcessEntityTypeField() {\r\n\r\n\r\n    let _ismandadory = false;\r\n    let _isduplicate = false;\r\n    this.ImportCsvData.FieldMapping.forEach((x:any) => {\r\n      if(x.DestinationColumnName==\"<new>\") {\r\n        if(!x.NewColumnName || !x.NewColumnDataType) {\r\n          _ismandadory = true;\r\n        }\r\n      }\r\n      let duplicatefields:any[] = this.ImportCsvData.FieldMapping.filter((y:any) => y.DestinationColumnName == x.NewColumnName);\r\n      if(duplicatefields.length >0){\r\n        _isduplicate = true;\r\n      }\r\n    });\r\n    if(_ismandadory) {\r\n      Swal.fire(\"Error\",\"fill all mandadory fields\",\"warning\");\r\n      return\r\n    }\r\n    if(_isduplicate) {\r\n      Swal.fire(\"Error\",\"Duplicate Fields not Allowed\",\"warning\");\r\n      return\r\n    }\r\n\r\n    this.dynamicAppsService.mappingImportProcessEntityTypeField(this.ImportCsvData.FieldMapping,this.ImportCsvRecId).subscribe(\r\n      (res: any) => {\r\n        this.ImportStage = 3;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  submitCsvImportProcessData() {\r\n\r\n    this.dynamicAppsService.submitImportProcessEntityTypeFieldData(this.ImportCsvRecId).subscribe(\r\n      (res: any) => {\r\n\r\n        Swal.fire('your datas are updated into system successfully', 'Success');\r\n        this.showFieldImportPopup = false;\r\n        this.getEntityAllSetupData();\r\n        this.getListData();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  checkDuplicateValues(event:any){\r\n    let _data = this.ImportCsvData.FieldMapping.filter((x:any)=>x.DestinationColumnName ==event.target.value)\r\n\r\n  if(_data && _data.length> 0) {\r\n\r\n  }\r\n  }\r\n\r\n  ddlDataType: any = [];\r\n  getDataTypeEnumDropDown() {\r\n\r\n    this.ddlDataType = [];\r\n    try {\r\n      for (let key in E_DataType) {\r\n        let val = E_DataType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlDataType.push(temp);\r\n        }\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire(e.message, 'error');\r\n    }\r\n  }\r\n\r\n\r\n  OperatorList =[\r\n    {Id:\"=\",Desc:\"Equal\"},\r\n    {Id:\"!=\",Desc:\"NotEqual\"},\r\n    {Id:\"Contain\",Desc:\"Contains\"},\r\n   ];\r\n\r\n   orderList =[\r\n    {Id:\"ASC\",Desc:\"Ascending\",class:\"fa fa-sort-amount-asc\"},\r\n    {Id:\"DESC\",Desc:\"Descending\", class:\"fa fa-sort-amount-desc\"}\r\n   ];\r\n   ValueType = [\r\n    { Id: 'FieldValue', Desc: 'Field' },\r\n    { Id: 'Value', Desc: 'Value' },\r\n  ];\r\n\r\n\r\n   assenOrder = {Id:\"Asce\",Desc:\"Ascending\",class:\"fa fa-sort-amount-asc\"}\r\n   descOrder =  {Id:\"Desc\",Desc:\"Descending\", class:\"fa fa-sort-amount-desc\"}\r\n\r\n\r\n\r\n\r\n  changeOrder(data:any){\r\n\r\n    if(data.Id==\"Asce\"){\r\n      this.orderView = this.descOrder\r\n    }else\r\n    this.orderView = this.assenOrder\r\n  }\r\n\r\n  orderView = this.assenOrder;\r\n\r\n\r\n  selectField(event:any) {\r\n\r\n\r\n  }\r\n\r\n  selectType(event:any) {\r\n\r\n\r\n  }\r\n  selectOperator(event:any,item:any) {\r\n\r\n\r\n    item.Value =\"\";\r\n    item.ValueTwo =\"\";\r\n\r\n  }\r\n\r\n  addnewSort() {\r\n\r\n    let _sortObj = {\r\n      TableId: null, TableRecId: null, FieldName: null,\r\n      FieldRecId: null, Direction: null, SortOrder: null\r\n    };\r\n    this.sorting.push(_sortObj);\r\n  }\r\n\r\n deleteSort(item:any,index:any)\r\n {\r\n\r\n   this.sorting.splice(index,1);\r\n }\r\n\r\n\r\n  openFieldBulkCretate: boolean = false;\r\n  closeFieldBulkCretate(type:any) {\r\n    this.openFieldBulkCretate = false;\r\n    if (type == \"Create\") {\r\n      this.getEntityAllSetupData();\r\n    }\r\n  }\r\n\r\n\r\n  columnButtonType = E_ButtonType;\r\n  callButtonEvent(data: any, col: IColumnDef) {\r\n\r\n    if (col.ButtonType == this.columnButtonType.Export) {\r\n      if (col.ButtonEvent) {\r\n        let _url = this.hanbleBarData(col.ButtonEvent, data);\r\n        window.open(_url, '_blank')\r\n      }\r\n    }\r\n\r\n    else if (col.ButtonType == this.columnButtonType.Navigate) {\r\n      // if (col.ButtonEvent) {\r\n      //   let _url = this.hanbleBarData(col.ButtonEvent, data);\r\n      //   let urlarr = _url.split(\"?\");\r\n\r\n      //   let urls = _url.split('?')[0];\r\n      //   let queryString = this.getUrlParams(_url);\r\n      //   if (this.globalService.currentModule == \"System\"){\r\n      //     if (urls.includes(\"Platform/\"+this.globalService.EnvironmentId)){\r\n      //       urls = urls.replace(\"Platform/\"+this.globalService.EnvironmentId,\"System/Administration\");\r\n      //       console.log(urls);\r\n      //     }\r\n      //   }\r\n      //   else if (this.globalService.currentModule != \"Platform\") {\r\n      //     if (urls.includes(\"Platform/\"+this.globalService.EnvironmentId)){\r\n      //       urls = urls.replace(\"Platform/\"+this.globalService.EnvironmentId,this.globalService.currentModule+\"/component\");\r\n      //       console.log(urls);\r\n      //     }\r\n      //     else if (urls.includes(\"System/Administration\")) {\r\n      //       urls = urls.replace(\"System/Administration\",this.globalService.currentModule+\"/component\");\r\n      //     }\r\n      //   }\r\n      //   //this.router.navigate([urls], { queryParams: queryString });\r\n      // }\r\n    }\r\n\r\n    else if (col.ButtonType == this.columnButtonType.CallGETMethod) {\r\n      if (col.ButtonEvent) {\r\n        let _url = this.hanbleBarData(col.ButtonEvent, data);\r\n        if (_url) {\r\n\r\n          this.CallGETMethod(_url,data)\r\n        }\r\n\r\n\r\n      }\r\n    }\r\n    else if(col.ButtonType == this.columnButtonType.openAction){\r\n      let form = this.EntityActionFormList.filter((x)=> x.RecId == col.FormName)[0];\r\n      this.openEntityAction(form,data);\r\n    }\r\n  }\r\n  \r\n\r\n  getUrlParams(url:any) {\r\n\r\n    let query:any={};\r\n    var hash;\r\n    var hashes = url.slice(url.indexOf('?') + 1).split('&');\r\n\r\n    for (var i = 0; i < hashes.length; i++) {\r\n      hash = hashes[i].split('=');\r\n      query[hash[0]] = hash[1];\r\n    }\r\n\r\n    return query;\r\n  }\r\n\r\n\r\n  CallGETMethod(URL:any, data:any) {\r\n\r\n    Swal.fire({\r\n      title: 'Are you sure?',\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#fdbd3f',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: 'Cancel',\r\n      confirmButtonText: 'Yes',\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n\r\n        let RestData: IRestConfig = {\r\n          URL: URL,\r\n          valueField: null,\r\n          textField: null,\r\n          Body: null,\r\n          Headers: [],\r\n          Path: [],\r\n          Method: \"GET\",\r\n          QueryStrings: [],\r\n          TreeView:{ ChildKey: null, ExpandedKey: null, ParentKey: null },\r\n        }\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData,null )\r\n          .subscribe(\r\n            (res: any) => {\r\n\r\n              Swal.fire(\"Success\",\"\",\"success\");\r\n              this.getListData();\r\n              this.loaderService.hideLoading();\r\n            },\r\n            (error:any) => {\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n            }\r\n          );\r\n\r\n\r\n      }\r\n    });\r\n\r\n  }\r\n\r\n  detailsRecId: number|any= null;\r\n  detailsData: number |any= null;\r\n  detailsEntityTypeRecId: number |any= null;\r\n  displayPopupDetailView: boolean |any= false;\r\n  openDetailsPopup(data:any) {\r\n\r\n    this.detailsRecId = data.RecId;\r\n    this.detailsData = data;\r\n    this.detailsEntityTypeRecId = data.EntityTypeId;\r\n    this.displayPopupDetailView = true;\r\n  }\r\n  closePopupDetailView() {\r\n    this.detailsRecId = null;\r\n    this.detailsData = null;\r\n    this.detailsEntityTypeRecId = null;\r\n    this.displayPopupDetailView = false;\r\n  }\r\n\r\n  displayRightPopupDetailView: boolean = false;\r\n  detailsVal: any = null;\r\n  openDetailsRightPopup(data:any) {\r\n    this.detailsVal = data;\r\n    this.displayRightPopupDetailView = true\r\n  }\r\n\r\n  closeRightPopupDetailView() {\r\n    this.detailsVal = null;\r\n    this.displayRightPopupDetailView = false\r\n  }\r\n\r\n  GridSearchType: E_GridSearchType = E_GridSearchType.None;\r\n  getPaginationListData(pageNo:any, pageSize?:any) {\r\n    this.storeCriteria.Pagging.PageNo = pageNo;\r\n    if (pageSize)\r\n    this.storeCriteria.Pagging.PageSize = pageSize;\r\n    this.getListData();\r\n  }\r\n\r\n  displayFormPopup:boolean = false;\r\n  FormStatus: any;\r\n\r\n  gridTab: number = 1;\r\n\r\n  gridtabs(data: any) {\r\n    this.gridTab = Number(data);\r\n  }\r\n  openFormPopup() {\r\n    this.closePopupCreateView();\r\n\r\n    if (this.SetupDetails?.EntityType == 150) {\r\n      if (this.CollectionType == \"Create\") {\r\n        this.EntityDetailForm = this.EntityDetailFormList.filter(x => x.AllowCreate == true)[0];\r\n        if (this.EntityDetailForm?.AllowCreate==true) {\r\n          this.displayFormPopup = true;\r\n        }\r\n        else {\r\n          let data = {\r\n            FormName: \"Details\",\r\n            EntityTypeRecId: this.EntityTypeId,\r\n            FormType: 2,\r\n            Image: \"la la-eye\",\r\n            Status: \"1\",\r\n            Version: \"1\",\r\n            AllowCreate: true,\r\n          }\r\n          this.addEntityTypeFormData(data);\r\n\r\n        }\r\n\r\n      }\r\n      else if (this.CollectionType == \"Edit\") {\r\n        this.EntityDetailForm = this.EntityDetailFormList.filter(x => x.AllowEdit == true)[0];\r\n        if (this.EntityDetailForm?.AllowEdit==true) {\r\n          this.displayFormPopup = true;\r\n        }\r\n        else {\r\n          let data = {\r\n            FormName: \"Details\",\r\n            EntityTypeRecId: this.EntityTypeId,\r\n            FormType: 2,\r\n            Image: \"la la-eye\",\r\n            Status: \"1\",\r\n            Version: \"1\",\r\n            AllowEdit: true,\r\n          }\r\n          this.addEntityTypeFormData(data);\r\n\r\n        }\r\n\r\n      }\r\n    }\r\n    else {\r\n      if (this.EntityDetailForm && this.EntityDetailForm.RecId) {\r\n        this.displayFormPopup = true;\r\n      }\r\n      else {\r\n        let data = {\r\n          FormName: \"Details\",\r\n          EntityTypeRecId: this.EntityTypeId,\r\n          FormType: 2,\r\n          Image: \"la la-eye\",\r\n          Status: \"1\",\r\n          Version: \"1\"\r\n        }\r\n        this.addEntityTypeFormData(data);\r\n\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  closePopupForm() {\r\n    this.displayFormPopup = false;\r\n    this.GridAction(this.openCreatepopupValues);\r\n  }\r\n\r\n  showDynamicViewPopup: boolean = false;\r\n  openDynamicViewPopup(data: EntityTypeFormVM, col: IColumnDef) {\r\n\r\n    this.EntityFormId = data.RecId;\r\n    this.showDynamicViewPopup = true;\r\n  }\r\n  closeDynamicViewPopup() {\r\n    this.showDynamicViewPopup = false;\r\n  }\r\n\r\n\r\n  AssignmentConfig: boolean = false;\r\n  AssignmentCurrentData: any = null;\r\n  AssignmentEntityForm: EntityTypeFormVM |null= null;\r\n  showAssignmentConfig(data?:any) {\r\n\r\n    if(data) {\r\n      this.AssignmentCurrentData = data;\r\n    }\r\n    else {\r\n    if (!this.gridData || this.gridData.length != 1) {\r\n      Swal.fire(\"Error\", \"select one row\", \"warning\");\r\n      return\r\n    }\r\n    this.AssignmentCurrentData = this.gridData[0];\r\n  }\r\n    this.AssignmentConfig = true;\r\n  }\r\n  closeAssignmentConfig() {\r\n    this.AssignmentConfig = false;\r\n  }\r\n\r\n\r\n  showFormActionPopup: boolean = false;\r\n  FormActionView:ActionVM |any= null;\r\n  FormActionViewData:any = null;\r\n  formAction(item:ActionVM) {\r\n\r\n\r\n    if (!this.gridData || this.gridData.length != 1) {\r\n      Swal.fire(\"Error\", \"select one row\", \"warning\");\r\n      return\r\n    }\r\n    this.FormActionViewData = this.gridData[0];\r\n    this.FormActionView = item;\r\n    this.showFormActionPopup = true;\r\n  }\r\n  closeformAction() {\r\n    this.showFormActionPopup = false;\r\n  }\r\n\r\n\r\n  IsOpenAction:boolean=false;\r\n  openActionModel(){\r\n    this.getCollectionDDl();\r\n    this.IsOpenAction = true;\r\n  }\r\n  closeActionModel(){\r\n   this.IsOpenAction = false;\r\n  }\r\n  addActions() {\r\n    let _Obj: ActionVM = { EntityTypeId: null,EntityFormId:null, Name: \"\", Visible: true, IsDefault: false };\r\n    this.ActionsList.push(_Obj);\r\n  }\r\n\r\n  deleteActions(item:any, index:any) {\r\n    this.ActionsList.splice(index, 1);\r\n  }\r\n\r\n  SaveActionConfig(item?:any){\r\n  this.updateActionsInPlacholder();\r\n  }\r\n\r\n  updateActionsInPlacholder(){\r\n   let Actions = null;\r\n   if(this.ActionsList)\r\n   Actions = JSON.stringify(this.ActionsList);\r\n   else{\r\n     let emptyAction:any = []\r\n     Actions = JSON.stringify(emptyAction);\r\n    }\r\n   this.dynamicAppsService.UpdateFormAction(this.EntityTypeId,this.ActiveEntityForm?.RecId,Actions).subscribe(\r\n     (res:any)=>{\r\n       this.getEntityAllSetupData();\r\n       Swal.fire('', 'Changes Updated Successfully', 'success');\r\n       this.loaderService.hideLoading();\r\n     },\r\n     (error:any)=>{\r\n      this.loaderService.hideLoading();\r\n       console.log(error);\r\n     }\r\n   )\r\n  }\r\n  selectActionEntity(event:any,item:ActionVM) {\r\n    this.getEntityForm(item.EntityTypeId);\r\n  }\r\n  setName(event:any, item: ActionVM) {\r\n\r\n    if (event) {\r\n      item.Name = event.FormName;\r\n      item.EntityFormType = event.FormType;\r\n    } else {\r\n      Swal.fire('', 'form Not Found for this Record', 'warning');\r\n    }\r\n  }\r\n\r\n\r\n\r\n  @Input() queryParams:any=null;\r\n  hanbleBarData(_code:any, data?:any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n\r\n      data.Current = this;\r\n\r\n      data.Local = localStorage;\r\n      if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n        data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n      data.Cookies = this.Cookies;\r\n      data.System = this.globalService.systemConfig;\r\n      data.EnvironmentId = this.globalService.EnvironmentId;\r\n      data.Global = this.globalService;\r\n\r\n      data.PageData =this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie:any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n\r\n  StatusAndStageList:any[] = [];\r\n\r\n  getWorkflowStatusWithStage() {\r\n\r\n\r\n    this.StatusAndStageList = this.StatusAndStageList.sort((a, b) => {\r\n      if (a.OrderId < b.OrderId) return -1;\r\n      else if (a.OrderId > b.OrderId) return 1;\r\n      else return 0;\r\n    });\r\n\r\n    if (!this.IsShowAllPendingBar) {\r\n      this.StatusAndStageList = this.StatusAndStageList.filter(x => x.StageId != -1 && x.StageId != 0)\r\n    }\r\n    let showallIndex = this.StatusAndStageList.findIndex(x => x.StageId == -1);\r\n    let arrayindex = this.StatusAndStageList.length -1;\r\n    let element = this.StatusAndStageList.splice(showallIndex,1)[0];\r\n    this.StatusAndStageList.splice(arrayindex,0,element);\r\n    this.selectStage(this.StatusAndStageList[0],\"Init\");\r\n\r\n    setTimeout(() => {\r\n      this.overflowActive();\r\n    }, 100);\r\n\r\n  }\r\n\r\n  stageId: any=1;\r\n  selectedStage: number = 0;\r\n  selectedStageObj: any;\r\n  selectStage(item:any,type?:any) {\r\n\r\n    this.totalRecordCount = 0;\r\n    this.selectedStageObj = item;\r\n    this.selectedStage = item.RecId;\r\n    this.CurrentStageName = item.StageDescription;\r\n    if (item.StageId != null) {\r\n      this.stageId = item.StageId;\r\n\r\n    } else {\r\n      this.stageId = null;\r\n      this.storeCriteria.Where = null;\r\n    }\r\n    if (item.StageType == StageType.Auto)\r\n      this.wfActionData = [];\r\n    else\r\n      this.getWfStageAction(this.EntityTypeId, this.stageId);\r\n\r\n    if (item.ViewConfig)\r\n      this.viewConfigData = JSON.parse(item.ViewConfig);\r\n    else\r\n      this.viewConfigData = null;\r\n\r\n      this.getViewTabs();\r\n\r\n      if(this.storeCriteria) {\r\n        this.storeCriteria.Pagging.PageNo = 1;\r\n      }\r\n\r\n    if(!type || type!=\"Init\")\r\n    this.getListData();\r\n\r\n    this.getDocumentTemplate()\r\n  }\r\n\r\n  viewConfigData:any = null;\r\n  stageTabs:any[] = [];\r\n  currrenStageTab:number=0;\r\n  getViewTabs() {\r\n    if (this.viewConfigData && this.viewConfigData.length > 0) {\r\n      this.stageTabs = this.viewConfigData;\r\n      this.currrenStageTab = 0;\r\n    }\r\n    else\r\n    this.stageTabs =[];\r\n  }\r\n\r\n  changeTabs(index:any) {\r\n    this.currrenStageTab = index;\r\n    this.getListData();\r\n  }\r\n\r\n\r\n\r\n  wfActionData: DynamicWfActionDataVm[] = [];\r\n  wfActivities: any[] = [];\r\n\r\n  getWfStageAction(EntityTypeId:any, StageId:any) {\r\n    this.dynamicAppsService.urlGetWfStageAction(\r\n      EntityTypeId,\r\n      StageId\r\n    ).subscribe(\r\n      (res: any) => {\r\n        this.wfActionData = res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        error.error;\r\n      }\r\n    );\r\n  }\r\n\r\n  ActionName:any = \"Complete\";\r\n  CurrentStageName:any = \"Workflow\";\r\n  action: number | null= null;\r\n  showWorkflowPopup: boolean = false;\r\n   SelectedWorkflowData:any = null;\r\n  workflowEntityFormId:any = null;\r\n  getStatusField(data: DynamicWfActionDataVm) {\r\n\r\n    if (this.gridData.length < 1) {\r\n      Swal.fire(\"Workflow action\",this.translatePipe.transform('Atleast Select one row'),\"warning\");\r\n      return\r\n    }\r\n    let MultipleDenied:boolean = false;\r\n    if(data?.MultipleDenied)\r\n      MultipleDenied = data.MultipleDenied;\r\n\r\n    if (MultipleDenied && this.gridData.length > 1){\r\n      Swal.fire(\"Workflow action\",this.translatePipe.transform('Multiple Rows Denied'),\"warning\");\r\n      return\r\n    }\r\n    if (this.gridData.length > 10) {\r\n      Swal.fire(\"Workflow action\",this.translatePipe.transform('Allows maximum 10 rows'),\"warning\");\r\n      return\r\n    }\r\n    if (data.ActionRules) {\r\n      let AllowSelect:boolean = true;\r\n      AllowSelect =  this.OnWorkflowActionRules(data.ActionRules,AllowSelect)\r\n      if(!AllowSelect) {\r\n        return\r\n      }\r\n    }\r\n\r\n    this.ActionName = data.ActionDescription;\r\n    this.SelectedWorkflowData = this.gridData;\r\n    this.action = data.ActionRecId;\r\n    this.workflowEntityFormId = data.WorkFlowForm;\r\n\r\n    this.showWorkflowPopup = true;\r\n    this.dynamicAppsService.onshowWorkflowPopup.next({\r\n      showWorkflowPopup: true,\r\n      fieldConfig: [],\r\n    });\r\n\r\n  }\r\n\r\n  getWorkflowActionComments(comments:any, updateFileds:any, updateFieldsObject:any) {\r\n\r\n\r\n    let RecIds:number[] = [];                 // if shows multiple action\r\n    if(this.SelectedWorkflowData.length > 0){\r\n      this.SelectedWorkflowData.forEach((x:any) => {\r\n        RecIds.push(x.RecId);\r\n      });\r\n    }\r\n\r\n    this.dynamicAppsService.urlPostTicketWfActionMultiple(\r\n      RecIds,\r\n      this.stageId,\r\n      this.action,\r\n      comments,\r\n      updateFileds,\r\n      updateFieldsObject,\r\n      this.EntityTypeId\r\n    ).subscribe(\r\n      (res: any) => {\r\n\r\n        this.getListData();\r\n        console.log(res);\r\n        Swal.fire('Action Updated Successfully');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n\r\n  getWorkflowActionClose(type?:any) {\r\n    this.showWorkflowPopup = false;\r\n  }\r\n\r\n  slider(direction:any,Id:any){\r\n    slide(direction, Id);\r\n  }\r\n\r\n\r\n  hasHorizontalScrollbar: boolean = false;\r\n  overflowActive() {\r\n    let div = document.getElementById(\"slider-arrow\");\r\n    if(div)\r\n    this.hasHorizontalScrollbar = div.scrollWidth > div.clientWidth;\r\n  }\r\n\r\n\r\n  EntityActionList: EntityTypeFormVM[] = [];\r\n  MinEntityActionList: EntityTypeFormVM[] = [];\r\n  filteredMinEntityActionList: EntityTypeFormVM[] = [];\r\n  getEntityFormActionList() {\r\n\r\n\r\n    this.MinEntityActionList = this.EntityActionList.filter(x => x.FormType != E_FormType.Create && x.FormType != E_FormType.Update\r\n      && x.FormType != E_FormType.Delete && x.FormType != E_FormType.Assignment)\r\n    this.EntityActionList.map((x) => {\r\n      if (x.FormType == E_FormType.Create)\r\n        x.FormName = \"Create\";\r\n      else if (x.FormType == E_FormType.Update)\r\n        x.FormName = \"Update\";\r\n      else if (x.FormType == E_FormType.Delete)\r\n        x.FormName = \"Delete\";\r\n    });\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Create)) {\r\n      this.IsCreate = true\r\n    }\r\n    else {\r\n      this.IsCreate = false;\r\n    }\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Update)) {\r\n      this.IsEdit = true\r\n    }\r\n    else {\r\n      this.IsEdit = false;\r\n    }\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Delete)) {\r\n      this.IsDelete = true\r\n    }\r\n    else {\r\n      this.IsDelete = false;\r\n    }\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Assignment)) {\r\n      this.IsAssign = true\r\n    }\r\n    else {\r\n      this.IsAssign = false;\r\n    }\r\n\r\n    this.getAppAction();\r\n\r\n  }\r\n\r\n  assignmentMethod(data:any) {\r\n    this.AssignmentEntityForm = this.EntityActionList.filter(x=>x.FormType==E_FormType.Assignment)[0];\r\n    this.showAssignmentConfig(data);\r\n  }\r\n  openEntityAction(Item:EntityTypeFormVM,GridData?:any){ debugger\r\n\r\n\r\n    if(Item.FormType==E_FormType.Create){\r\n      this.CollectionType=\"Create\";\r\n      this.FormTitle =Item?.FormName;\r\n      this.CreateItemId = this.EntityTypeId;\r\n      this.CreateItemSubId = this.EntityTypeId;\r\n      this.CreateFormGetType = \"Local\";\r\n      this.CreateEntityFormId = Item.RecId;\r\n      this.displayPopupCreateView = true;\r\n    }\r\n    else if(Item.FormType==E_FormType.Update) {\r\n      this.EditCollectionList(Item);\r\n    }\r\n    else if (Item.FormType == E_FormType.Delete) {\r\n      if (Item.RecId == 0) {\r\n        this.DeleteCollectionList();\r\n      }\r\n      else { // not yet implement\r\n        this.CollectionType = \"Delete\";\r\n        this.FormTitle = Item.FormName;\r\n        this.CreateItemId = this.EntityTypeId;\r\n        this.CreateItemSubId = this.EntityTypeId;\r\n        this.CreateFormGetType = \"Local\";\r\n        this.CreateEntityFormId = Item.RecId;\r\n        this.displayPopupCreateView = true;\r\n      }\r\n    }\r\n    else if(Item.FormType == E_FormType.Assignment){\r\n      this.AssignmentEntityForm = Item;\r\n      this.showAssignmentConfig();\r\n    }\r\n\r\n    else if(Item.FormType == E_FormType.Action){\r\n      if(!GridData){\r\n      if (this.gridData.length < 1) {\r\n        Swal.fire(Item.FormName +\" Action\",this.translatePipe.transform('Atleast Select one row'),\"warning\");\r\n        return\r\n      }\r\n\r\n      if(!this.AllowMultipleAction && this.gridData.length > 1) {\r\n        Swal.fire(Item.FormName +\" Action\",this.translatePipe.transform('Allow only one row'),\"warning\");\r\n        return\r\n      }\r\n\r\n      if (this.gridData.length > 10) {\r\n        Swal.fire(Item.FormName +\" action\",this.translatePipe.transform('Allows maximum 10 rows'),\"warning\");\r\n        return\r\n      }\r\n      }else{\r\n      this.gridData[0] = GridData;\r\n      }\r\n      this.ActionEntityForm = Item;\r\n\r\n      let AllowSelect: boolean = true;\r\n      if (Item.RulesData) {\r\n        AllowSelect = this.OnWorkflowActionRules(Item.RulesData, AllowSelect)\r\n        if (!AllowSelect) {\r\n          return\r\n        }\r\n      }\r\n      if (AllowSelect)\r\n        this.showActionForm = true;\r\n    }\r\n\r\n  }\r\n\r\n  showActionForm:boolean = false;\r\n  ActionEntityForm:EntityTypeFormVM |null= null;\r\n  ActionEntityFormData:any = null;\r\n\r\n  ActionForm: any = {};\r\n  changeActionEntityForm(CreateData:any, pageForm:any, forms:any) {\r\n\r\n    let FormData = forms;\r\n    this.ActionForm = pageForm;\r\n    this.ActionEntityFormData = FormData.PageGroupValues\r\n  }\r\n\r\n  saveActionEntityForm() {\r\n    if (!this.ActionForm.valid) {\r\n      Swal.fire(this.translatePipe.transform('Fill all mandatory fields'), '', 'warning');\r\n      return;\r\n    }\r\n\r\n    let griddataObj:any ={};\r\n    if(this.gridData.length > 0){\r\n       let _rowData = this.gridData[0];\r\n       for (let key in _rowData) {\r\n        let crrentKeyData:any[] = [];\r\n        this.gridData.forEach(x => {\r\n          crrentKeyData.push(x[key]);\r\n        });\r\n        griddataObj[key]=crrentKeyData.toString()\r\n       }\r\n    }\r\n\r\n    let _handleData: any = {};\r\n    if (this.ActionEntityFormData) {\r\n      for (let key in  this.ActionEntityFormData) {\r\n        if (Object.prototype.toString.call( this.ActionEntityFormData[key]) === '[object Date]') {\r\n          this.ActionEntityFormData[key] = GetFormattedDateWithTime(this.ActionEntityFormData[key]);\r\n        }\r\n      }\r\n      _handleData.FormData = this.ActionEntityFormData;\r\n      _handleData.Data= griddataObj\r\n    }\r\n\r\n    if (this.ActionEntityForm?.DataSource) {\r\n      let RestData = JSON.parse(this.ActionEntityForm.DataSource)\r\n\r\n      RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n\r\n      if (RestData.Body && RestData.BodyType == 'json' && typeof RestData.Body == \"string\") {\r\n        RestData.Body = this.hanbleBarData(RestData.Body, _handleData);\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n      }\r\n      else if (RestData.Body && RestData.BodyType == 'stringfyjson' && typeof RestData.Body == \"string\") {\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n        Object.keys(RestData.Body).forEach(x => {\r\n          debugger\r\n          RestData.Body[x] = this.hanbleBarData(RestData.Body[x], _handleData);\r\n        });\r\n      }\r\n      else\r\n        RestData.Body = this.hanbleBarData(RestData.Body, _handleData);\r\n\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n      RestData.Headers = RestData.Headers.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n      this.dynamicAppsService.dynamicAPi(RestData,this.storeCriteria,null,true)\r\n        .subscribe((res: any) => {\r\n\r\n          let _resdata = {\r\n            ResponseData:res\r\n          }\r\n\r\n          if(RestData.SuccessFormat && RestData.SuccessFormat.Condtion.length>0){\r\n            let isSuccess:boolean = false;\r\n\r\n            isSuccess = this.onRulesConditionCheck(RestData.SuccessFormat, _resdata);\r\n\r\n            if (isSuccess) {\r\n              if (RestData.SuccessMessage) {\r\n                let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n                Swal.fire('', sccMsg, 'success');\r\n              }\r\n              else {\r\n                Swal.fire(\"Action Completed\");\r\n              }              \r\n            }\r\n            else {\r\n              if (RestData.ErrorMessage) {\r\n                let errorMsg = this.hanbleBarData(RestData.ErrorMessage, _resdata) ;;\r\n                Swal.fire('', errorMsg, 'error');\r\n              }\r\n              else {\r\n                Swal.fire('', JSON.stringify(res), 'error');\r\n              }\r\n            }\r\n          }\r\n          else {\r\n            if (RestData.SuccessMessage) {\r\n              let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n              Swal.fire('', sccMsg, 'success');\r\n            }\r\n            Swal.fire(\"Action Completed\");\r\n          }\r\n          this.showActionForm =  false;\r\n          this.getListData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n\r\n          });\r\n    }\r\n\r\n\r\n  }\r\n\r\n  showfilter = false;\r\n  filterText:string |null = null;\r\n  toggleFilter() {\r\n    this.showfilter = !this.showfilter;\r\n    if(!this.showfilter){\r\n      this.filterText = null;\r\n      this.storeCriteria.Where = [];\r\n      this.getListData();\r\n    }\r\n  }\r\n\r\n\r\n  showMultiplefilterpopup: boolean = false;\r\n  toggleMultipleFilter() {\r\n    this.showMultiplefilterpopup = !this.showMultiplefilterpopup;\r\n    if (this.showMultiplefilterpopup && this.MultipleFilterData.length < 1) {\r\n      this.ClearMultipleFilter()\r\n    }\r\n  }\r\n\r\n  filterDynmaicListData(event:any) {\r\n    if (event?.keyCode == 13) {\r\n      debugger;\r\n      let _fields = this.columnDefs.filter(x => x.CardViewType == E_CardViewType.Title)\r\n\r\n      _fields.forEach(field => {\r\n        let filterobj = {\r\n          Field: field.Field,\r\n          Operator: 'Contains',\r\n          TableAlias: '',\r\n          Value: this.filterText,\r\n        };\r\n        this.storeCriteria.Where.push(filterobj);\r\n      });\r\n      this.getListData();\r\n    }\r\n  }\r\n\r\n\r\n  MultipleFilterData:any[]=[];\r\n\r\n  ClearMultipleFilter() {\r\n    this.MultipleFilterData = [];\r\n    this.columnDefs.forEach(col => {\r\n      let temp = {\r\n        Field: col.Field,\r\n        Name:col.Name,\r\n        searchData: null\r\n      }\r\n      this.MultipleFilterData.push(temp)\r\n    });\r\n  }\r\n\r\n  callMultipleFilter() {\r\n\r\n    this.storeCriteria.Where = [];\r\n\r\n    this.MultipleFilterData.forEach(field => {\r\n      let filterobj = {\r\n        Field: field.Field,\r\n        Operator: 'Contains',\r\n        TableAlias: '',\r\n        Value: field.searchData,\r\n      };\r\n      this.storeCriteria.Where.push(filterobj);\r\n    });\r\n    this.showMultiplefilterpopup = false;\r\n    this.getListData();\r\n  }\r\n\r\n  @ViewChild(GridComponent) childGrid!: GridComponent;\r\n  GridtoggleFilter() {\r\n    this.childGrid.toggleFilter()\r\n  }\r\n\r\n  @ViewChild(GridComponent) columnList!: GridComponent;\r\n  _geColumnList() {\r\n    this.columnList.geColumnList();\r\n    }\r\n\r\n  IsExport:boolean = true;\r\n\r\n  IsExportTemplate: boolean = false;\r\n  IsExcelImport: boolean = false\r\n  ExportURL:string | null= null\r\n  GridDynamicExportData:IGridExport | any =null;\r\n\r\n  ExportGridData(All?:any){\r\n    this.GridDynamicExportData.QueryParams = this.GridDynamicExportData.QueryParams.filter((x:any) =>x.Name != \"$page\" && x.Name != \"$size\");\r\n\r\n    if(!All){\r\n      this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n    }\r\n\r\n    if(this.GridDynamicExportData)\r\n    this.gridService.ExportGrid(this.GridDynamicExportData);\r\n  }\r\n\r\n  ExportTemplate() {\r\n    let filename = (this.menuText ? this.menuText : this.SetupDetails?.Description);\r\n    let _URL = this.hanbleBarData(this.ExportURL);\r\n    this.gridService.ExportTemplate(_URL, filename);\r\n  }\r\n\r\n  IsImport:boolean = false;\r\n  ImportURL:string|null = null;\r\n  showImportPopup:boolean = false;\r\n  fileToUpload: File|null = null;\r\n  submitted = false;\r\n  formval: any;\r\n\r\n  importform!: FormGroup;\r\n  importAcceptFiles = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n\r\n  importforms() {\r\n    this.importform = new FormGroup({\r\n      ImportFile: new FormControl('', Validators.required),\r\n    });\r\n    this.formval = this.importform.controls;\r\n  }\r\n  handleFileInput(event:any) {\r\n\r\n\r\n    let files: FileList = event.target.files;\r\n    if(event.target.files.length > 0) {\r\n      this.fileToUpload = files.item(0);\r\n      this.importform.value.ImportFile = this.fileToUpload?.name;\r\n    }\r\n    else {\r\n      this.fileToUpload = null;\r\n      this.importform.value.ImportFile = null;\r\n    }\r\n\r\n  }\r\n  openTemplateImportPopup() {\r\n    this.importforms();\r\n    this.importform.reset();\r\n    this.showImportPopup = true;\r\n  }\r\n\r\n  closeTemplateImportPopup() {\r\n    this.showImportPopup = false;\r\n  }\r\n\r\n  _submitImportData() {\r\n    this.submitted = true;\r\n    if (this.importform.invalid) { return; }\r\n\r\n    if (!this.fileToUpload) {\r\n      Swal.fire(this.translatePipe.transform(\"alert!\"), this.translatePipe.transform(\"please choose a file\"), \"warning\");\r\n      return\r\n    }\r\n    let FormValue = this.importform.value;\r\n    const formDatasss = new FormData();\r\n    formDatasss.append(this.fileToUpload.name, this.fileToUpload);\r\n\r\n    let _URL = this.hanbleBarData(this.ImportURL);\r\n    this.dynamicAppsService.DynamicImport(_URL, formDatasss)\r\n      .subscribe((event:any) => {\r\n        Swal.fire(\"Imported successfully\");\r\n        this.closeTemplateImportPopup();\r\n        this.getListData();\r\n        this.loaderService.hideLoading();\r\n      },\r\n        (error:any) => {\r\n\r\n          if (error.status == 401) {\r\n            return\r\n          }\r\n          console.log(error);\r\n        }\r\n      )\r\n  }\r\n\r\n  showAttachPopup: boolean = false;\r\n  ViewName: string|null = null;\r\n  TableName: string|any = null;\r\n  Permission: string|null = null;\r\n  RefTableName: any;\r\n  referRecId: number = 0;\r\n  TypeId: number = 0;\r\n  attachmentType: number = 0;\r\n  attachMethod(data:any) {\r\n\r\n    this.showAttachPopup = true;\r\n    this.TypeId = this.EntityTypeId; //from side menu get RecId//getCurrentMenuId(); temproraly use this menuid 532;\r\n    this.referRecId = data.RecId;\r\n    this.ViewName = data.SequenceId ? data.SequenceId : data.CaseId // this.EntityTypeRecId;\r\n    this.Permission = 'Delete';\r\n    this.TableName = this.SetupDetails?.Description;\r\n    this.RefTableName = this.EntityTypeId;\r\n    this.attachmentType = 2; //from side menu get MenuType;\r\n    this.gridService.onattachShow.next({ attach: true });\r\n  }\r\n\r\n  closeAttach(Switch:boolean){ debugger;\r\n    this.showAttachPopup = Switch;\r\n    this.gridService.onattachShow.next({ attach: Switch });\r\n  }\r\n  TemplateDropdown:any[]=[];\r\n\r\n  getDocumentTemplate() {\r\n\r\n    this.dynamicAppsService.getpermissiontemplateactivitybycaseid(this.EntityTypeId,null).subscribe(\r\n        (success: any) => {\r\n\r\n          let data = success;\r\n          if (success.Data) data = success.Data;\r\n          this.TemplateDropdown = data;\r\n          this.TemplateDropdown = this.TemplateDropdown.filter((x:any)=> x.IsActive && (x.StageId==\"All\" || x.StageId==this.stageId));\r\n          this.TemplateDropdown = this.TemplateDropdown.filter((x:any)=> !x.Condition);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  downloadDocumentTemplate(event:any) {\r\n  debugger;\r\n   if (this.gridData.length != 1) {\r\n      Swal.fire(\"Document Download\",this.translatePipe.transform('Select only one row'),\"warning\");\r\n      return\r\n    }\r\n    this.dynamicAppsService.downloadDocumentTemplate(this.EntityTypeId,this.gridData[0].RecId,event.TemplateRecId).subscribe(\r\n      (res : any) => {debugger;\r\n        let blob : Blob= res.body;\r\n        let filename = res.headers.get('content-disposition') != null? res.headers.get('content-disposition'): \"DocumentTemplate\";\r\n        var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n            var matches = filenameRegex.exec(filename);\r\n            if (matches != null && matches[1]) {\r\n              filename = matches[1].replace(/['\"]/g, '');\r\n            }\r\n        this.gridService.downloadFile(blob,blob.type,filename);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) =>{\r\n        this.loaderService.hideLoading();\r\n      });\r\n\r\n\r\n  }\r\n\r\n\r\n  OnWorkflowActionRules(ActionRules:any, AllowSelect:any) {\r\n\r\n    let Rules = JSON.parse(ActionRules)\r\n\r\n    if (Rules && Rules.length > 0) {\r\n\r\n      let onInitRules = Rules.filter((x:any) => x.Type == \"OnInit\")\r\n\r\n      for (let index = 0; index < onInitRules.length; index++) {\r\n        let rulesData = onInitRules[index];\r\n        if (!rulesData) {\r\n          return\r\n        }\r\n\r\n        for (let index = 0; index < this.gridData.length; index++) {\r\n          let CurrentRow = this.gridData[index];\r\n          CurrentRow.AllowSelect = true;\r\n\r\n          let _condition = this.onRulesConditionCheck(rulesData, CurrentRow, index);\r\n\r\n          if (_condition) {\r\n            this.OnRulesApply(rulesData, CurrentRow)\r\n          }\r\n          else {\r\n            if (rulesData.child && rulesData.child.length > 0) {\r\n              let _elseIfRulescondition = false;\r\n              let _elseIfRules = rulesData.child.filter((x:any) => x.Type == \"OnElseIf\");\r\n\r\n              for (let index = 0; index < _elseIfRules.length; index++) {\r\n                _elseIfRulescondition = this.onRulesConditionCheck(_elseIfRules[index], CurrentRow, index)\r\n                if (_elseIfRulescondition) {\r\n                  this.OnRulesApply(_elseIfRules[index], CurrentRow)\r\n                  break;\r\n                }\r\n              }\r\n              if (!_elseIfRulescondition) {\r\n                let _elseRules = rulesData.child.filter((x:any) => x.Type == \"OnElse\");\r\n                if (_elseRules && _elseRules.length > 0) {\r\n                  this.OnRulesApply(_elseRules[0], CurrentRow)\r\n                }\r\n              }\r\n\r\n            }\r\n          }\r\n          if (!CurrentRow.AllowSelect) {\r\n            AllowSelect = false;\r\n            break;\r\n          }\r\n\r\n        }\r\n\r\n        if (!AllowSelect)\r\n          break;\r\n\r\n      }\r\n\r\n    }\r\n    return AllowSelect\r\n  }\r\n\r\n\r\n\r\n  onRulesConditionCheck(rulesData:any,CurrentRow:any,CurrentRowIndex?:any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      if(_con.hasOwnProperty('ValueTwo')) {\r\n        _con.ValueType = _con.Value;\r\n        _con.Value = _con.ValueTwo;\r\n        delete _con.ValueTwo;\r\n      }\r\ndebugger;\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n         if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n      }\r\n\r\n      let value = CurrentRow[_con.Value];\r\n\r\n      if(_con.ValueType) {\r\n         if( _con.ValueType == \"Value\") {\r\n          value = this.hanbleBarData(_con.Value, _handleData)\r\n        }\r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n\r\n  OnRulesApply(rulesData:any,CurrentRow:any) {\r\n    let rulesList = rulesData;\r\n    if (rulesData.action)\r\n      rulesList = rulesData.action;\r\n\r\n    for (let index = 0; index < rulesList.length; index++) {\r\n\r\n      let rules = rulesList[index];\r\n\r\n      if (rules.Condition == 'AllowAction') {\r\n\r\n          CurrentRow.AllowSelect = rules.Value == 'true'?true:false;\r\n          if(rules.ValidationMessage){\r\n            Swal.fire(\"warning\",rules.ValidationMessage,\"warning\")\r\n          }\r\n\r\n\r\n      }\r\n\r\n    }\r\n  }\r\n\r\n\r\n\r\n  ReportSetupData: any = null;\r\n  getReportSetupData() {\r\n    this.ReportSetupData = null;\r\n    if (this.ActiveEntityForm?.DetailsViewData) {\r\n      this.ReportSetupData = JSON.parse(this.ActiveEntityForm.DetailsViewData)\r\n    }\r\n  }\r\n\r\n  saveReportConfiq(Report:any) {\r\n\r\n    let _ReportSetupData = JSON.stringify(Report);\r\n\r\nif (this.ActiveEntityForm) {\r\n      const data: EntityTypeFormUVM = {\r\n        RecId: this.ActiveEntityForm?.RecId,\r\n        FormType:this.ActiveEntityForm?.FormType,\r\n        DetailsViewData: _ReportSetupData,\r\n      };\r\n      this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n        (res) => {\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error) => {\r\n          this.loaderService.hideLoading();\r\n          if(error.status ==401) {\r\n            return\r\n          }\r\n          console.log(error);\r\n        }\r\n      );\r\n}\r\n\r\n  }\r\n\r\n\r\n\r\n  IsDuplicate:boolean = false;\r\n  Duplicate:boolean = false;\r\n  DuplicateData:any;\r\n  makeDuplicateEntity(data:any){\r\n    this.Duplicate = true;\r\n    this.DuplicateData = data;\r\n\r\n  }\r\n  PermissionPopup: boolean = false\r\n  PermissionEntityTypeId: any = null;\r\n  PermissionRowRecId: any = null;\r\n  PermissionTitle:any = null;\r\n  PermissionFileName:any = null;\r\n  PermissionMethod(data:any) {\r\n\r\n    this.PermissionPopup = true;\r\n    this.PermissionEntityTypeId = data.EntityTypeId;\r\n    this.PermissionRowRecId = data.RecId;\r\n    this.PermissionTitle = data.Title;\r\n    this.PermissionFileName = data.FileName;\r\n  }\r\n  closePermissionPopup(Type?:any) {\r\n    this.PermissionPopup = false;\r\n  }\r\n  closeDuplicateModal(Type?:boolean){\r\n    this.Duplicate = false;\r\n    if(Type) {\r\n      this.getListData();\r\n    }\r\n  }\r\n  showDataFiledPopup:boolean = false;\r\n  closeDataField() {\r\n    this.showDataFiledPopup = false;\r\n  }\r\n\r\n  submitDataFields(Fields: EntityTypeFieldVM[]){\r\n\r\n    if(Fields.length <= 0){\r\n      Swal.fire('Error','Please Select Field', 'warning');\r\n      return;\r\n    }\r\n\r\n    let fields : IColumnDef[] = [];\r\n    for(let i =0 ;i< Fields.length;i++ ){\r\n      let odj:IColumnDef = {\r\n        Field : Fields[i].Label,\r\n        Name : Fields[i].Description\r\n      };\r\n      fields.push(odj);\r\n    }\r\n    this.GridDynamicExportData.ColumnDef = fields;\r\n    this.GridDynamicExportData.IsTemplate = true;\r\n    this.ExportGridData('All');\r\n  }\r\n\r\n  getSingledynamicData(data:any) {\r\n    debugger;\r\n    if (data.RecId && this.EntityTypeId) {\r\n      this.dynamicAppsService.getDynamicById(this.EntityTypeId, data.RecId)\r\n        .subscribe((res: any) => {\r\n          debugger;\r\n          if (res && res.RecId)\r\n            this.formData = res;\r\n          else\r\n            this.formData = data;\r\n\r\n          this.displayPopupCreateView = true;\r\n          this.CreateItemId = this.EntityTypeId;\r\n          this.loaderService.hideLoading();\r\n        }, (error:any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            error.error;\r\n          });\r\n    }\r\n    else {\r\n      this.formData = data;\r\n      this.CreateItemId = this.EntityTypeId;\r\n      this.displayPopupCreateView = true;\r\n    }\r\n  }\r\n\r\n\r\n  DependedEntityList:EntityTypeSetUpVM[]=[];\r\n\r\n  getDependedOnEntity(){\r\n    this.dynamicAppsService.getDependedOnEntity(null, this.EntityTypeId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.DependedEntityList = res.Data ? res.Data : res\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  showDependedEntityPoupup:boolean= false;\r\n  DependedEntityValue:any = null;\r\n  SelectedDependedEntity:EntityTypeSetUpVM | null= null;\r\n\r\n  openDependedEntityPoupup(item:any) {\r\n\r\n    if(!this.gridData || this.gridData.length !=1) {\r\n      Swal.fire(\"Error\",\"select one row\",\"warning\");\r\n      return\r\n    }\r\n\r\n    this.SelectedDependedEntity = item;\r\n    let _DependedField =  this.EntityFieldList.filter(x=>x.IsPrimarykey)[0];\r\n    this.DependedEntityValue = this.gridData[0][_DependedField.Description];\r\n    this.showDependedEntityPoupup = true;\r\n  }\r\n  closeDependedEntityPoupup() {\r\n    this.showDependedEntityPoupup = false;\r\n    this.DependedEntityValue = null;\r\n    this.SelectedDependedEntity = null;\r\n  }\r\n\r\n\r\n\r\n  checkCreateCondition() {\r\n    debugger\r\n    if (this.CreateCondition && this.IsCreate) {\r\n      this.IsCreate = this.onRulesConditionCheck(this.CreateCondition, {});\r\n    }\r\n  }\r\n\r\n  MultipleSearchObj:any;\r\n  getMultipleSearch(Criteria?: ISearchCriteria,MultipleSearchObj?:any){\r\n  this.MultipleSearchObj = MultipleSearchObj;\r\n  this.getListData(Criteria)\r\n  }\r\n  ClearMultipleSearch() {\r\n    this.MultipleSearchObj = null;\r\n    this.getListData();\r\n  }\r\n\r\n  checkActionCondition(){\r\n    debugger;\r\n    this.filteredMinEntityActionList = [];\r\n    this.MinEntityActionList.forEach((x:any) => {\r\n      if(x.Configure){\r\n        let data = JSON.parse(x.Configure);\r\n        if(data?.ActionVisible && data.ActionCondition && data.ActionCondition.Condtion && data.ActionCondition.Condtion.length > 0){\r\n        let isConditionPassed:boolean = this.onRulesConditionCheck(data.ActionCondition, {});\r\n        if(isConditionPassed){\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n        }else{\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n      }else{\r\n        this.filteredMinEntityActionList.push(x);\r\n      }\r\n    });\r\n  }\r\n\r\n  rowCondition(item: any, Condition:any) {\r\n    let _ret = true\r\n    if (Condition) {\r\n      _ret = this.evaluate(Condition,item);  \r\n    }\r\n    return _ret\r\n  }\r\n  evaluate(Condition:any, item: any):boolean {\r\n    let _ret = true;\r\n    let op = Condition.substring(0, 2);  // get op\r\n    let splitter = '';\r\n\r\n    if (op == \"&&\" || op == \"||\") {\r\n      splitter = Condition.substr(2, 1);  // split \r\n      let conArr = Condition.substring(3).split(splitter); \r\n      let retArr = [];\r\n      for (let index = 0; index < conArr.length; index++) {\r\n        retArr[index] = this.evaluate(conArr[index], item);\r\n  \r\n        _ret = index == 0 ? retArr[index] : _ret;\r\n  \r\n        if (op == \"&&\") {\r\n          _ret = (_ret && retArr[index] ? true : false);\r\n          if(!_ret)\r\n          break;\r\n        }\r\n        else {\r\n          _ret = (_ret || retArr[index] ? true : false)\r\n          if(_ret)\r\n          break;\r\n        }\r\n  \r\n      }\r\n  \r\n    }\r\n    else {\r\n      _ret = this.checkCondition(Condition,item)\r\n    }\r\n\r\n    return _ret;\r\n  }\r\n  checkCondition(Condition:any,item:any) {\r\n    let _ret:boolean = false;\r\n    let _condition = this.hanbleBarData(Condition, item);\r\n\r\n    let _conArr = _condition.split(\"@@\");\r\n    if (_conArr.length = 3) {\r\n\r\n      switch (_conArr[1]) {\r\n        case \"Equal\": {\r\n          _ret = (_conArr[0] == _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _ret = (_conArr[0] != _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _ret = (_conArr[0] < _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _ret = (_conArr[0] <= _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _ret = (_conArr[0] > _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _ret = (_conArr[0] >= _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _ret = (_conArr[0] == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _ret = (_conArr[0] != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _ret = (_conArr[0] == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _ret = (_conArr[0] != '' ? true : false)\r\n          break\r\n        }\r\n        case \"In\": {\r\n          let _values = _conArr[2].split(\":\");\r\n          _ret = false;\r\n          for (let i = 0; i < _values.length; i++) {\r\n            if (_conArr[0] == _values[i]) {\r\n              _ret = true;\r\n              break\r\n            }\r\n          }\r\n          break\r\n        }\r\n        case \"NotIn\": {\r\n          let _values = _conArr[2].split(\":\");\r\n          _ret = true;\r\n          for (let i = 0; i < _values.length; i++) {\r\n            if (_conArr[0] == _values[i]) {\r\n              _ret = false;\r\n              break\r\n            }\r\n          }\r\n          break\r\n        }\r\n\r\n        // String Data \r\n        case \"Length\": {\r\n          _ret = (_conArr[0].length == _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains \r\n          _ret = (_conArr[0].includes(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains \r\n          _ret = (!(_conArr[0].includes(_conArr[2])) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _ret = (_conArr[0].startsWith(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _ret = (_conArr[0].endsWith(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _ret = true\r\n          break\r\n      }\r\n\r\n      return _ret\r\n\r\n    }\r\n\r\n    return _ret\r\n  }\r\n\r\n}\r\n","\r\n<ng-container *ngIf=\"showDetailsCreateView;\">\r\n\r\n  <dynamic-entity-create [EntityTypeRecId]=\"EntityTypeId\" [SetupDetails]=\"SetupDetails\" [DetailsPageUrl]=\"DetailsPageUrl\"\r\n    [EntityCreateForm]=\"EntityCreateForm\" [LoadFrom]=\"'PageView'\" (closeCreate)=\"closePopupCreateView($event.Type)\">\r\n  </dynamic-entity-create>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"IsShowDynamicDetailsInlineView\">\r\n  <div class=\"card details-inline-view\">\r\n    <div class=\"header p-2 border-bottom details-inline-header\">\r\n      <h5 class=\"modal-title d-inline-block\" id=\"exampleModalLabel\">{{\"Details\"|translate}}</h5>\r\n      <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n        (click)=\"closeDynamicDetailsInlineView()\">\r\n        <i class=\"la la-times\"></i>\r\n      </button>\r\n    </div>\r\n    <div class=\"body right_panel-body\" *ngIf=\"IsShowDynamicDetailsInlineView\">\r\n\r\n      <ng-container [ngTemplateOutlet]=\"detailscontent\" [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsInlineView'}\">\r\n      </ng-container>\r\n\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<div class=\"\" [ngClass]=\"{'d-none':showDetailsCreateView || IsShowDynamicDetailsInlineView}\">\r\n\r\n  <ng-container *ngIf=\"ActiveEntityForm && (ActiveEntityForm.FormType==_FormType.Page || ActiveEntityForm.FormType==_FormType.EntityPage);else listview\">\r\n    <app-detail-dynamic-page [EntityFormId]=\"EntityFormId\" [PageViewFrom]=\"'Popup'\"\r\n            [EntityTypeId]=\"EntityTypeId\"></app-detail-dynamic-page>\r\n  </ng-container>\r\n\r\n  <ng-template #listview>\r\n\r\n<div class=\"dynamic_list_page \"\r\n  [ngClass]=\"{'dynamic_workflow_list':(SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow)&& !IsHideWorkflowBar, 'd-none':showDetailsCreateView || IsShowDynamicDetailsInlineView}\">\r\n\r\n  <div class=\"d-block\" *ngIf=\"PageViewFrom != 'Popup'\">\r\n    <div class=\"card card-table-details\">\r\n      <div class=\"body p-15\">\r\n        <div class=\"row\">\r\n\r\n          <div class=\"col col-12 col-sm-12 col-md-12\">\r\n            <p class=\"m-b-0\">\r\n              <span class=\"iconbox\">\r\n                <i *ngIf=\"SetupDetails?.ImageUrl\" class=\"{{SetupDetails?.ImageUrl}}\"></i>\r\n                <i *ngIf=\"!SetupDetails?.ImageUrl\" class=\"icon-layers\"></i>\r\n              </span>\r\n              <span class=\"form-title\">\r\n                {{ (SetupDetails?.Label ? SetupDetails?.Label: SetupDetails?.Description)|translate}}\r\n              </span>\r\n            </p>\r\n          </div>\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"breadcrumbss flat d-none\" *ngIf=\"(SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow) && !IsHideWorkflowBar\">\r\n    <a *ngFor=\"let item of StatusAndStageList\">\r\n      {{item.StageDescription|translate}} </a>\r\n  </div>\r\n  <div class=\"main-page-view\" *ngIf=\"(SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow )&& !IsHideWorkflowBar\">\r\n    <div class=\"clearfix\">\r\n      <div class=\"breadcrumbs  float-left checkLength\"\r\n        [ngClass]=\"{'checkLength' :StatusAndStageList && StatusAndStageList.length > 6}\" id=\"slider-arrow\">\r\n        <a href=\"javascript:void(0);\" *ngFor=\"let item of StatusAndStageList; let i = index\" (click)=\"selectStage(item)\"\r\n          [ngClass]=\"{'active': selectedStage==item.RecId}\">\r\n          <span class=\"breadcrumb__inner\">\r\n            <span class=\"breadcrumb__title\">\r\n              <!-- <i [ngClass]=\"item.StageIcon ? item.StageIcon : null\"></i> -->\r\n              {{item.StageDescription |translate}}\r\n              <span *ngIf=\"selectedStage==item.RecId\" class=\"badge  themecolor bg-white\">{{totalRecordCount}}</span>\r\n            </span>\r\n            <!-- <span class=\"breadcrumb__desc\"> {{item.StageId}} - {{item.RecordsStatusEn |translate}}</span> -->\r\n          </span>\r\n        </a>\r\n      </div>\r\n      <div class=\"float-right arrow-border\" [ngClass]=\"hasHorizontalScrollbar ==true ?'d-block':'d-none'\"\r\n        *ngIf=\"StatusAndStageList&& StatusAndStageList.length > 6\">\r\n        <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('left','slider-arrow')\"><i\r\n            class=\"fa fa-arrow-left\"></i></a>\r\n        <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('right','slider-arrow')\"><i\r\n            class=\"fa fa-arrow-right\"></i></a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <ng-container *ngIf=\"EntityTypeId && ActiveEntityForm?.RecId\">\r\n    <div class=\"w-100 d-inline-block\">\r\n\r\n      <ul class=\"nav nav-tabs\" *ngIf=\"stageTabs && stageTabs.length > 0\">\r\n        <ng-container *ngFor=\"let tab of stageTabs; let i = index\">\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link active\" data-toggle=\"tab\" [attr.data-target]=\"'#stageTabs{{i}}'\" (click)=\"changeTabs(i)\"\r\n              [ngClass]=\"{'active': currrenStageTab==i}\">\r\n              {{tab?.Name|translate}}</a>\r\n          </li>\r\n        </ng-container>\r\n      </ul>\r\n\r\n\r\n      <div class=\"card-gird-view entity_views bg-white\" [ngClass]=\"{'card-widget-content':viewTypeData !=_FormType.List,'bg-white': viewTypeData !=_FormType.Card}\">\r\n\r\n        <div class=\"entity_details card-top-bg collection_view\">\r\n          <div class=\"clearfix\">\r\n            <div class=\"display_view pull-left\">\r\n              <div (click)=\"closeaddViewDivpop()\" class=\"close_view_addpop\" [class.show]=\"addViewDiv==true\"></div>\r\n              <div class=\"dropdown view_type show_views\" style=\"min-width: 140px;\"\r\n                [ngClass]=\"{'inactiveLink opacity-1':PageRouteType=='FormView'}\">\r\n                <h6 class=\"mr-2 view_header\">\r\n                  <i *ngIf=\"!ShowView?.Image\" class=\"la la-list\"></i>\r\n                  <i *ngIf=\"ShowView?.Image\" class=\"la {{ShowView.Image}}\"></i>\r\n                  <span *ngIf=\"ShowView.FormName =='' || ShowView.FormName == null\"> {{ShowView.FormTypeEn|translate}}\r\n                  </span>\r\n                  <span *ngIf=\"ShowView.FormName !=''\"> {{ShowView.FormName|translate}} </span>\r\n                </h6>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"collection_view_action_bar pull-right\">\r\n              <div class=\"form-group task_plus_drops pull-right m-b-0\">\r\n                <div class=\"user-account action_part position-static\">\r\n                  <div class=\"dropdown view_type\" *ngIf=\"!isHideHeader\">\r\n\r\n                    <ng-container\r\n                      *ngIf=\"(IsAction && MinEntityActionList.length > 0) || wfActionData.length > 0 || globalService.devMode\">\r\n                      <div class=\"dropdown view_type m-0\">\r\n                        <ng-container *ngIf=\"TemplateDropdown.length > 0\">\r\n                          <a href=\"javascript:void(0)\" class=\"btn view_text btn-sm btn-small m-b-0 p-t-0 p-b-0\"\r\n                            data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                            {{'Documents'|translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                          </a>\r\n\r\n                          <ul class=\"dropdown-menu action_menu p-0\">\r\n                            <ul class=\"clearfix p-0 m-0\">\r\n                              <ng-container *ngFor=\"let item of TemplateDropdown\">\r\n                                <li class=\"p-0\">\r\n                                  <a class=\"d-block\" href=\"javascript:void(0);\"\r\n                                    (click)=\"downloadDocumentTemplate(item)\">\r\n                                    {{(item.Name?item.Name:item.TemplateName)|translate}}\r\n                                  </a>\r\n                                </li>\r\n                              </ng-container>\r\n                            </ul>\r\n                          </ul>\r\n                        </ng-container>\r\n                      </div>\r\n                    </ng-container>\r\n                    <ng-container\r\n                      *ngIf=\"(IsAction && MinEntityActionList.length > 0) || wfActionData.length > 0 || globalService.devMode\">\r\n\r\n                      <div class=\"dropdown view_type p-b-5 m-0\">\r\n\r\n\r\n                        <span class=\"add_req_btn view_text_inner_text mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                          role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"checkActionCondition()\">\r\n                          {{'Action'| translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </span>\r\n                        <ul class=\"dropdown-menu action_menu  p-0 m-0\">\r\n                          <ul class=\"clearfix p-0 m-0 list-unstyled\">\r\n\r\n                            <ng-container *ngIf=\"IsAction\">\r\n                              <ng-container *ngFor=\"let item of filteredMinEntityActionList; let i = index\">\r\n                                <li class=\"p-0 m-0\">\r\n                                  <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\"\r\n                                    (click)=\"openEntityAction(item)\">\r\n                                    {{ item.FormName |translate}}\r\n                                  </a>\r\n                                </li>\r\n                              </ng-container>\r\n                            </ng-container>\r\n\r\n                            <ng-container *ngFor=\"let item of wfActionData\">\r\n                              <li class=\"p-0 m-0\">\r\n                                <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\"\r\n                                  (click)=\"getStatusField(item)\">\r\n                                  {{item.ActionDescription |translate}}\r\n                                </a>\r\n                              </li>\r\n                            </ng-container>\r\n\r\n                            <ng-container *ngIf=\"false\">\r\n                              <ng-container *ngFor=\"let item of ActionsList; let i = index\">\r\n                                <li>\r\n\r\n                                  <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\"\r\n                                    *ngIf=\"!item.IsDefault&&item.Visible\"\r\n                                    (click)=\"formAction(item)\">{{item.Name|translate}}\r\n                                  </a>\r\n\r\n\r\n                                </li>\r\n                              </ng-container>\r\n                            </ng-container>\r\n\r\n\r\n                            <li class=\"create_save_list p-0 m-0\" *ngIf=\"false && globalService.devMode\">\r\n                              <span class=\"pull-left create_field_btn\" (click)=\"openActionModel()\">\r\n                                <i class=\"fa fa-plus-circle\" style=\"font-size: 15px;\"></i> {{\"Add Action\"|translate}}\r\n                              </span>\r\n                              <span class=\"pull-right ok_button\"\r\n                                (click)=\"SaveActionConfig()\">{{\"Apply\"|translate}}</span>\r\n                            </li>\r\n                          </ul>\r\n                        </ul>\r\n                      </div>\r\n                    </ng-container>\r\n\r\n                    <!-- <ng-container *ngIf=\"DependedEntityList.length > 0\">\r\n                      <div class=\"dropdown view_type p-b-5 m-0\">\r\n                        <a href=\"javascript:void(0)\" class=\"add_req_btn mr-2 m-b-0 p-t-0 p-b-0\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\"\r\n                          aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                          <i class=\"tabler-ti ti-fidget-spinner themecolor\" aria-hidden=\"true\"></i>\r\n                          {{'Related Data'| translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </a>\r\n                        <ul class=\"dropdown-menu action_menu  p-0 m-0\">\r\n                          <ul class=\"clearfix p-0 m-0\">\r\n                            <ng-container *ngFor=\"let item of DependedEntityList\">\r\n                              <li class=\"p-0 m-0\">\r\n                                <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openDependedEntityPoupup(item)\">\r\n                                  {{(item.Label?item.Label: item.Description) |translate}}\r\n                                </a>\r\n                              </li>\r\n                            </ng-container>\r\n                          </ul>\r\n                        </ul>\r\n                      </div>\r\n                    </ng-container> -->\r\n\r\n                    <ng-container *ngIf=\"IsExportTemplate\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"ExportTemplate()\">\r\n                        <i class=\"la la-download themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Export Template\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"IsImport\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"openTemplateImportPopup()\">\r\n                        <i class=\"la la-file-upload themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Import\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <button class=\"add_req_btn mr-2\" *ngIf=\"IsCreate\" (click)=\"openCreatPop()\">\r\n                      <i class=\"la la-plus themecolor  m-r-5\" aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Create\"|translate}}</span>\r\n                    </button>\r\n\r\n                    <ng-container *ngIf=\"!CheckScreenSize() && viewTypeData==_FormType.Table && !IsHideSearch\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"GridtoggleFilter()\">\r\n                        <i class=\"la la-search themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n                    \r\n                    <ng-container *ngIf=\"!CheckScreenSize() && viewTypeData==_FormType.Card\">\r\n                   \r\n                      <div *ngIf=\"showfilter\" class=\"search_view_body card-filter-view ml-2 mr-2 animated fadeInDown d-inline-block\" \r\n                      [ngClass]=\"{'fadeInDown': showfilter,'fadeOutUp d-none':!showfilter}\">\r\n                        <input  type=\"text\" [(ngModel)]=\"filterText\" name=\"search\"\r\n                        (keyup)=\"filterDynmaicListData($event)\" [ngModelOptions]=\"{standalone: true}\"\r\n                         autocomplete=\"off\" placeholder=\"Search a title and enter\" class=\"form-control\">\r\n                        <i  class=\"la search-icon la-search\"></i>\r\n                      </div>\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"toggleFilter()\">\r\n                        <i class=\"la la-search themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"IsMultipleFilter\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"toggleMultipleFilter()\">\r\n                        <i class=\"tabler-ti ti-filter-plus themecolor\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    \r\n                    <ng-container *ngIf=\"IsMultipleValueSearch\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"childGrid.OpenMultipleSearchValuePopUp(EntityTypeId)\">\r\n                        <i class=\"la la-search-plus themecolor\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"IsMultipleValueSearch && MultipleSearchObj\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"ClearMultipleSearch()\">\r\n                        <i class=\"tabler-ti ti-clear-all themecolor\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Clear multiple Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container>\r\n                      <button class=\"add_req_btn mr-2 d-none\" (click)=\"_geColumnList()\">\r\n                        <i class=\"la la-bars themecolor\" aria-hidden=\"true\"></i> {{\"list\"|translate}}\r\n                      </button>\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"IsExport || IsExcelImport || globalService.devMode \">\r\n                      <button class=\"add_req_btn mr-2\">\r\n                        <div class=\"dropdown mt-0\">\r\n                          <span class=\"add_req_btn view_text_inner_text mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                            role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                            <i class=\"la la-file-download themecolor\" aria-hidden=\"true\"></i>\r\n                            <span class=\"view_text_inner_text\">{{'Export'| translate}}</span>\r\n                            <span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </span>\r\n                          <ul class=\"dropdown-menu action_menu p-0 m-0\" aria-labelledby=\"dropdownMenuButton\">\r\n                            <ng-container *ngIf=\"IsExport\">\r\n                              <li class=\"p-0 m-0\" (click)=\"ExportGridData()\">\r\n                                <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\">\r\n                                  {{\"Export Visible\"|translate}}</a></li>\r\n                              <li class=\"p-0 m-0\" (click)=\"ExportGridData('All')\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                  href=\"javascript:void(0);\">{{\"Export All\"|translate}}</a></li>\r\n                              <li class=\"p-0 m-0\" (click)=\"showDataFiledPopup = true\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                  href=\"javascript:void(0);\">{{\"Export Template\"|translate}}</a></li>\r\n                            </ng-container>\r\n                            <li class=\"p-0 m-0\" *ngIf=\"globalService.devMode\">\r\n                              <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                                *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                                <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Data\"|translate}}\r\n                              </a>\r\n                            </li>\r\n\r\n                            <li class=\"p-0 m-0\" *ngIf=\"IsExcelImport\">\r\n                              <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                                *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                                <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Excel\"|translate}}\r\n                              </a>\r\n                            </li>\r\n\r\n                          </ul>\r\n                        </div>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container>\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"getListData()\">\r\n                        <i class=\"la la-refresh themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Refresh\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n\r\n                  </div>\r\n\r\n                  <div class=\"dropdown view_type\" *ngIf=\"isHideHeader\">\r\n\r\n                    <button *ngIf=\"isSurveyPage\" class=\"add_req_btn mr-2\" (click)=\"getListConfigForm()\">\r\n                      <i class=\"la la-code\" aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Show List Config\"|translate}}</span>\r\n                    </button>\r\n\r\n                    <button class=\"add_req_btn mr-2\" (click)=\"getListData()\">\r\n                      <i class=\"la la-refresh themecolor\" aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Refresh\"|translate}}</span>\r\n                    </button>\r\n\r\n                    <button class=\"add_req_btn mr-2\" *ngIf=\"IsExport || globalService.devMode|| IsExcelImport\"> \r\n                      <div class=\"dropdown mt-0\">\r\n                        <a href=\"javascript:void(0)\" class=\"add_req_btn mr-2 m-b-0 p-t-0 p-b-0\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                          role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                          <i class=\"la la-file-download themecolor\" aria-hidden=\"true\"></i>\r\n                          <span class=\"view_text_inner_text\">{{'Export'| translate}}</span>\r\n                          <span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </a>\r\n                        <ul class=\"dropdown-menu action_menu p-0 m-0\" aria-labelledby=\"dropdownMenuButton\">\r\n                          <ng-container *ngIf=\"IsExport\">\r\n                            <li class=\"p-0 m-0\" (click)=\"ExportGridData()\">\r\n                              <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\">\r\n                                {{\"Export Visible\"|translate}}</a></li>\r\n                            <li class=\"p-0 m-0\" (click)=\"ExportGridData('All')\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                href=\"javascript:void(0);\">{{\"Export All\"|translate}}</a></li>\r\n                            <li class=\"p-0 m-0\" (click)=\"showDataFiledPopup = true\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                href=\"javascript:void(0);\">{{\"Export Template\"|translate}}</a></li>\r\n                          </ng-container>\r\n                          <li class=\"p-0 m-0\" *ngIf=\"globalService.devMode\">\r\n                            <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                              *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                              <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Data\"|translate}}\r\n                            </a>\r\n                          </li>\r\n\r\n                          <li class=\"p-0 m-0\" *ngIf=\"IsExcelImport\">\r\n                            <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                              *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                              <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Excel\"|translate}}\r\n                            </a>\r\n                          </li>\r\n\r\n                        </ul>\r\n                      </div>\r\n                    </button>\r\n                    \r\n                  </div>\r\n\r\n                </div>\r\n              </div>\r\n              <div class=\"form-group task_plus_drops pull-right m-b-0\" *ngIf=\"globalService.devMode\">\r\n                <div class=\"user-account action_part position-static\">\r\n\r\n\r\n                  <div class=\"dropdown view_type\" *ngIf=\"globalService.devMode && ActiveEntityForm\">\r\n                    <button class=\"add_req_btn mr-2\" (click)=\"openDataSource()\">\r\n                      <i class=\"la la-code m-r-5\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Configure\"|translate}}</span>\r\n                    </button>\r\n                  </div>\r\n\r\n\r\n\r\n\r\n                  <div class=\"dropdown view_type\">\r\n                    <button class=\"add_req_btn mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"><i class=\"fa fa-filter m-r-5\"\r\n                        aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Filter\"|translate}}</span> </button>\r\n                    <ul class=\"dropdown-menu filter_condition\" style=\"min-width: 750px; padding: 25px;\"\r\n                      (click)=\"clickActive($event)\">\r\n\r\n\r\n                      <div class=\"conditions-box conditions conditionGroup\">\r\n\r\n                        <div class=\"card query-block\">\r\n                          <label class=\"blcok-label\">{{\"Filter\"|translate}}</label>\r\n                          <div class=\"body p-1\">\r\n\r\n                            <div class=\"col col-12 conditions-box d-block p-0 \" *ngIf=\"condition\">\r\n                              <!-- <app-filter-condition [group]=\"condition\" [Fields]=\"EntityFieldList\"\r\n                                [Type]=\"'FilterCondition'\">\r\n                              </app-filter-condition> -->\r\n                            </div>\r\n                            <ng-container *ngIf=\"!condition\">\r\n                              <button class=\"btn btn-small btn-outline-info\"\r\n                                (click)=\"addCondition()\">{{\"Condition\"|translate}}</button>\r\n                            </ng-container>\r\n\r\n\r\n                          </div>\r\n                        </div>\r\n\r\n\r\n                        <div class=\"whole\" style=\"float: none;\">\r\n                          <button class=\"ok_button\" (click)=\"conditionApply()\">{{\"Apply\"|translate}}</button>\r\n                        </div>\r\n\r\n                      </div>\r\n\r\n                    </ul>\r\n                  </div>\r\n                  <div class=\"dropdown view_type\">\r\n                    <button class=\"add_req_btn mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"><i class=\"fa fa-sort-amount-asc m-r-5\"\r\n                        aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Sort\"|translate}}</span></button>\r\n                    <ul class=\"dropdown-menu filter_condition sort\" style=\"min-width: 500px; padding: 25px;\"\r\n                      (click)=\"clickActive($event)\">\r\n\r\n\r\n                      <div class=\"conditions-box conditions conditionGroup\">\r\n\r\n                        <div>\r\n\r\n                          <div class=\"inner_condition \" *ngFor=\"let item of sorting; let i = index \">\r\n\r\n                            <div class=\"row\">\r\n\r\n                              <div class=\"col col-sm-6\">\r\n                                <div class=\"form-group\">\r\n                                  <ng-select [(ngModel)]=\"item.FieldName\" [items]=\"EntityFieldList\"\r\n                                    bindLabel=\"Description\" bindValue=\"Description\" (change)=\"selectField($event)\">\r\n                                  </ng-select>\r\n                                </div>\r\n                              </div>\r\n\r\n                              <div class=\"col col-sm-4\">\r\n                                <div class=\"form-group\">\r\n                                  <ng-select [(ngModel)]=\"item.Direction\" [items]=\"orderList\" bindLabel=\"Desc\"\r\n                                    bindValue=\"Id\">\r\n                                  </ng-select>\r\n\r\n                                </div>\r\n                              </div>\r\n\r\n                              <div class=\"col col-sm-1\">\r\n                                <div class=\"formgroup m-t-10\">\r\n                                  <span (click)=\"deleteSort(item,i)\" style=\"cursor: pointer;\">\r\n                                    <i class=\"la la-trash-o themecolor\" style=\"font-size: 19px;\"></i>\r\n                                  </span>\r\n                                </div>\r\n                              </div>\r\n\r\n\r\n                            </div>\r\n\r\n\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"whole\" style=\"float: none;\">\r\n                          <button type=\"button\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" class=\"themecolor add_filter_btn\"\r\n                            (click)=\"addnewSort()\">+ {{\"Add a sort\"|translate}}</button>\r\n                          <button class=\"ok_button\" (click)=\"sortApply()\">{{\"Apply\"|translate}}</button>\r\n                        </div>\r\n\r\n                      </div>\r\n\r\n                    </ul>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n          </div>\r\n        </div>\r\n        <div [ngClass]=\"{'card-widget-body': viewTypeData !=_FormType.List}\">\r\n          <div *ngIf=\"columnDefs.length > 0\" class=\"grid_view whole collectionViews\" [hidden]=\"!tableview\"\r\n            [ngClass]=\"{'display_type_grid': (viewTypeData==_FormType.Table && columnDefs.length > 0)}\">\r\n\r\n\r\n\r\n            <app-grid #childGrid [columnDefs]=\"columnDefs\"  [GridTitle]=\"''\" [GridDescription]=\"''\"\r\n              [gridActionList]=\"gridActionList\" [selectMode]=\"selectMode\" [IsCreate]=\"IsCreate\" [IsDelete]=\"IsDelete\"\r\n              [DeleteCondition]=\"DeleteCondition\" [IsAssign]=\"IsAssign\" [AssignCondition]=\"AssignCondition\"\r\n              [IsEdit]=\"IsEdit\" [EditCondition]=\"EditCondition\" [grid]=\"gridId\" [IsHidePagination]=\"true\"\r\n              [IsShowDetailsGo]=\"IsShowDetails\" [IsCommonGridFilter]=\"globalService.IsDefaultSearch\"\r\n              [IsAttach]=\"IsAttach\" [AttachCondition]=\"AttachCondition\" [CommonGridFilter]=\"CommonGridFilter\" [IsDuplicate]=\"IsDuplicate\"\r\n              (DuplicateMethod)=\"makeDuplicateEntity($event.data)\" [WorkflowStageId]=\"selectedStage\"\r\n              [RulesData]=\"ActiveEntityForm.RulesData\" (openCreatePopup)=\"openCreatPop()\"\r\n              (editMethod)=\"edit($event.data)\" (deleteMethod)=\"delete($event.data)\"\r\n              (getPageList)=\"getListData($event.Criteria)\" (assignmentMethod)=\"assignmentMethod($event.data)\"\r\n              (goToDetails)=\"goDetails($event.data,$event.col)\"\r\n              (getGridAction)=\"GridAction($event.item,$event.gridData)\"\r\n              (getGridCheckedData)=\"getGridCheckedData($event.gridData)\"\r\n              (callButtonEvent)=\" callButtonEvent($event.data,$event.col)\" (attachMethod)=\"attachMethod($event.data)\"\r\n              [IsPermission]=\"IsPermission\" [IsClientPagination]=\"IsClientPagination\" (PermissionMethod)=\"PermissionMethod($event.data)\"\r\n              [IsMultipleValueSearch]=\"IsMultipleValueSearch\" (getMultipleSearch)=\"getMultipleSearch($event.Criteria,$event.SearchObj)\"\r\n              [IsHideHeader]=\"true\">\r\n            </app-grid>\r\n\r\n          </div>\r\n\r\n\r\n          <div class=\"card_view animated fadeIn collectionViews\" *ngIf=\"viewTypeData==_FormType.Card\"\r\n            [ngClass]=\"{'display_type_card p-l-15 p-r-15': viewTypeData==_FormType.Card}\">\r\n\r\n\r\n            <app-card-line *ngIf=\"columnDefs.length > 0\" [ListData]=\"TicketData\" [columnDefs]=\"columnDefs\"\r\n              [IsEdit]=\"IsEdit\" [IsDelete]=\"IsDelete\" [IsAssign]=\"IsAssign\" [IsAttach]=\"IsAttach\"\r\n              [gridActionList]=\"gridActionList\" (goToDetails)=\"goDetails($event.data,$event.col)\"\r\n              (editMethod)=\"edit($event.data)\" (deleteMethod)=\"delete($event.data)\"\r\n              (assignmentMethod)=\"assignmentMethod($event.data)\"\r\n              (getGridAction)=\"GridAction($event.item,$event.gridData)\"\r\n              (callButtonEvent)=\" callButtonEvent($event.data,$event.col)\" (attachMethod)=\"attachMethod($event.data)\">\r\n            </app-card-line>\r\n          </div>\r\n          <div class=\"report_view animated fadeIn collectionViews m-t-10\" *ngIf=\"viewTypeData==_FormType.Chart\">\r\n\r\n            <ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && TicketData && TicketData.length > 0\">\r\n              <app-new-chart [Id]=\"'Highchart_'+EntityTypeId+'_'+ActiveEntityForm.RecId\" [chartConfiq]=\"ReportSetupData\"\r\n                [chartData]=\"TicketData\" [ChartId]=\"gridId\"></app-new-chart>\r\n            </ng-container>\r\n\r\n          </div>\r\n          <div class=\"report_view animated fadeIn collectionViews m-t-10\" *ngIf=\"viewTypeData==_FormType.Report\">\r\n\r\n            <ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && TicketData\">\r\n              <app-report [ReportSetup]=\"ReportSetupData\" [ReportData]=\"TicketData\"\r\n                (saveReportConfiq)=\"saveReportConfiq($event.Report)\"></app-report>\r\n            </ng-container>\r\n\r\n          </div>\r\n\r\n          <div class=\"report_view animated fadeIn collectionViews m-t-10\"\r\n            *ngIf=\"viewTypeData==_FormType.CustomTemplate\">\r\n\r\n            <ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && TicketData\">\r\n              <app-custom-templete [CustomTempleteSetup]=\"ReportSetupData\" [CustomTempleteData]=\"TicketData\"\r\n                (saveCustomTempleteConfiq)=\"saveReportConfiq($event.CustomTemplete)\"></app-custom-templete>\r\n            </ng-container>\r\n\r\n          </div>\r\n\r\n\r\n          <div class=\"list_view animated fadeIn\" *ngIf=\"viewTypeData==_FormType.List\"\r\n            [ngClass]=\"{'display_type_list': viewTypeData==_FormType.List}\">\r\n\r\n\r\n            <div class=\"list_view_div whole\" *ngFor=\"let item of TicketData; let i = index\">\r\n\r\n              <div class=\"list_cards\">\r\n                <div class=\"inner_card\" style=\"min-height: auto;\">\r\n\r\n                  <div class=\"pull-left\">\r\n                    <label class=\"fancy-checkbox float-left\">\r\n                      <input class=\"checkbox-tick\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"item.isGridSelect\"\r\n                        (change)=\"getCheckboxChecked($event)\">\r\n                      <span></span>\r\n                    </label>\r\n                  </div>\r\n\r\n                  <div class=\"pull-left grid-list-action position-static\">\r\n                    <div class=\"dropdown action_drop action-lists\">\r\n                      <a href=\"javascript:void(0);\" class=\"dropdown-toggle no-icon themecolor m-r-5\"\r\n                        data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                        <i class=\"la la-ellipsis-v\"></i>\r\n                      </a>\r\n                      <ul class=\"dropdown-menu\">\r\n\r\n                        <ng-container *ngFor=\"let actcol of ActionColumnDefs\">\r\n                          <li>\r\n                            <a href=\"javascript:void(0);\">\r\n                              <button class=\"btn btn-outline-success text-left w-100\"\r\n                                (click)=\"callButtonEvent(item,actcol)\" style=\"border: 1px solid;\">\r\n                                <i [ngClass]=\"actcol.IconName\"></i> {{actcol.Name|translate}}\r\n                              </button>\r\n                            </a>\r\n                          </li>\r\n                        </ng-container>\r\n\r\n                      </ul>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"pull-left add\" (click)=\"openDetailsPopup(item)\">\r\n                    <i class=\"la la-external-link themecolor\"></i>\r\n                  </div>\r\n\r\n                  <ng-container *ngFor=\"let col of columnDefs\">\r\n\r\n                    <ng-container *ngIf=\"col.FieldType==1; else listviewCol\">\r\n                      <p class=\"themecolor pull-left\" (click)=\"goDetails(item,col)\">{{item[col?.Field] |translate}}</p>\r\n                    </ng-container>\r\n\r\n                    <ng-template #listviewCol>\r\n                      <p class=\"pull-left\" style=\"height: auto;\">\r\n                        <!-- <label class=\"col-sm-6\">{{col.Field}}</label> -->\r\n                        <span class=\"col-sm-12\">\r\n\r\n                          <ng-container *ngIf=\"col\" [ngSwitch]=\"col.DataType\">\r\n\r\n                            <span *ngSwitchCase=\"columnDataType.date\" class=\"tooltiptexts\">\r\n                              {{item[col?.Field] | date :'dd/MM/yyyy' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.Time\" class=\"tooltiptexts\">\r\n                              {{ item[col?.Field] | date: 'h:mm:ss a' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.dateTime\" class=\"tooltiptexts\">\r\n                              {{ item[col?.Field] | date: 'dd/MM/yyyy, h:mm:ss a' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.bool\">\r\n                              {{item[col?.Field] ==true ? 'Yes' : 'No' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.isIcon\">\r\n                              <i [ngClass]=\"item[col?.Field]\" style=\"font-size: 20px;\"></i>\r\n                            </span>\r\n                            <span *ngSwitchDefault title=\"{{item[col?.Field] }}\">{{item[col?.Field] |translate}}</span>\r\n                          </ng-container>\r\n\r\n                        </span>\r\n                      </p>\r\n                    </ng-template>\r\n\r\n                  </ng-container>\r\n\r\n\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n\r\n          <div class=\"column_view list_view animated fadeIn m-0 bg-white\" *ngIf=\"viewTypeData==_FormType.Columns\"\r\n            [ngClass]=\"{'display_type_column': viewTypeData==_FormType.Columns}\">\r\n\r\n            <div class=\"column_view_div col-12 col-sm-12 col-md-4\" *ngFor=\"let item of TicketData\">\r\n\r\n              <div class=\"list_cards\">\r\n                <div class=\"inner_card\" style=\"min-height: auto;\">\r\n                  <div class=\"whole head clearfix\">\r\n                    <div class=\"\">\r\n                      <label class=\"fancy-checkbox float-left\">\r\n                        <input class=\"checkbox-tick\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"item.isGridSelect\"\r\n                          (change)=\"getCheckboxChecked($event)\">\r\n                        <span></span>\r\n                      </label>\r\n                    </div>\r\n                    <ng-container *ngFor=\"let col of columnDefs\">\r\n                      <ng-container *ngIf=\"col.FieldType==1;\">\r\n                        <h4 (click)=\"goDetails(item,col)\">{{item[col?.Field]|translate}}</h4>\r\n                      </ng-container>\r\n                    </ng-container>\r\n\r\n                    <div class=\"grid-list-action\">\r\n                      <div class=\"dropdown action_drop action-lists\">\r\n                        <a href=\"javascript:void(0);\" class=\"dropdown-toggle no-icon themecolor m-r-5\"\r\n                          data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                          <i class=\"la la-ellipsis-v\"></i>\r\n                        </a>\r\n                        <ul class=\"dropdown-menu\">\r\n\r\n                          <ng-container *ngFor=\"let actcol of ActionColumnDefs\">\r\n                            <li>\r\n                              <a href=\"javascript:void(0);\">\r\n                                <button class=\"btn btn-outline-success text-left w-100\"\r\n                                  (click)=\"callButtonEvent(item,actcol)\" style=\"border: 1px solid;\">\r\n                                  <i [ngClass]=\"actcol.IconName\"></i> {{actcol.Name|translate}}\r\n                                </button>\r\n                              </a>\r\n                            </li>\r\n                          </ng-container>\r\n\r\n                        </ul>\r\n                      </div>\r\n                    </div>\r\n\r\n                    <div class=\"add\" (click)=\"openDetailsPopup(item)\">\r\n                      <i class=\"la la-external-link themecolor\"></i>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <ng-container *ngFor=\"let col of columnDefs\">\r\n\r\n                    <p class=\"desc row\" style=\"height: auto;margin-bottom: 5px;\">\r\n                      <!-- <label class=\"col-sm-6\">{{col.Field}}</label> -->\r\n                      <span class=\"col-sm-12\">\r\n\r\n                        <ng-container *ngIf=\"col\" [ngSwitch]=\"col.DataType\">\r\n\r\n                          <span *ngSwitchCase=\"columnDataType.date\" class=\"tooltiptexts\">\r\n                            {{item[col?.Field] | date :'dd/MM/yyyy' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.Time\" class=\"tooltiptexts\">\r\n                            {{ item[col?.Field] | date: 'h:mm:ss a' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.dateTime\" class=\"tooltiptexts\">\r\n                            {{ item[col?.Field] | date: 'dd/MM/yyyy, h:mm:ss a' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.bool\">\r\n                            {{item[col?.Field] ==true ? 'Yes' : 'No' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.isIcon\">\r\n                            <i [ngClass]=\"item[col?.Field]\" style=\"font-size: 20px;\"></i>\r\n                          </span>\r\n                          <span *ngSwitchDefault title=\"{{item[col?.Field] }}\">{{item[col?.Field] |translate}}</span>\r\n                        </ng-container>\r\n\r\n                      </span>\r\n                    </p>\r\n                  </ng-container>\r\n\r\n\r\n\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n\r\n\r\n          </div>\r\n\r\n          <div class=\"gallery_view list_view animated fadeIn\"\r\n            *ngIf=\"viewTypeData==_FormType.Gallery && ActiveEntityForm && ActiveEntityForm.RecId\"\r\n            [ngClass]=\"{'display_type_gallery': viewTypeData==_FormType.Gallery}\">\r\n\r\n            <!-- <app-dynamic-gallery-canvas [ViewType]=\"'view'\" [ListData]=\"TicketData\" [EntityTypeId]=\"EntityTypeId\"\r\n              [EntityFormId]=\"ActiveEntityForm.RecId\">\r\n            </app-dynamic-gallery-canvas> -->\r\n\r\n\r\n          </div>\r\n\r\n          <div class=\"Profile_view list_view animated fadeIn\"\r\n            *ngIf=\"viewTypeData==_FormType.Profile && ActiveEntityForm && ActiveEntityForm.RecId\"\r\n            [ngClass]=\"{'display_type_Profile': viewTypeData==_FormType.Profile}\">\r\n\r\n            <app-dynamic-profile [ViewType]=\"'view'\" [ListData]=\"TicketData\" [EntityTypeId]=\"EntityTypeId\"\r\n              [storeCriteria]=\"storeCriteria\" [EntityTypeForm]=\"ActiveEntityForm\" [EntityFieldList]=\"EntityFieldList\"\r\n              [EntityFormId]=\"ActiveEntityForm.RecId\" [totalFilterCount]=\"totalRecordCount\"\r\n              (getFilterPageList)=\"getListData($event.Criteria)\">\r\n            </app-dynamic-profile>\r\n\r\n          </div>\r\n\r\n        </div>\r\n        <ng-container *ngIf=\"TicketData.length > 0 && showPagination && !IsClientPagination\">\r\n          <app-pagination class=\"w-100 d-inline-block\" [Type]=\"PaginationType\" [totalCount]=\"totalRecordCount\" [pageCount]=\"pageCount\"\r\n            [changeCount]=\"changeCount\" [currentPage]=\"(storeCriteria.Pagging.PageNo)\"\r\n            [pageSize]=\"(storeCriteria.Pagging.PageSize)\" [gridSearchType]=\"GridSearchType\"\r\n            (getPaginationListData)=\"getPaginationListData($event.pageCount,$event.pageSize)\">\r\n          </app-pagination>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"CreateItemId\" [ngClass]=\"{'showPop':displayPopupCreateView}\" tabindex=\"-1\"\r\n  role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog  {{formConfig?.PopupSize ? formConfig?.PopupSize : 'modal-lg'}} {{formConfig?.ClassName}} modal-dialog-scrollable\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" style=\"display: inline-block;\" id=\"exampleModalLabel\">{{CollectionType+'\r\n          '+SetupDetails?.Description}}</h5>\r\n        <div style=\"display: inline-flex;\">\r\n          <button type=\"button\" *ngIf=\"globalService.devMode\" (click)=\"openFormPopup()\" class=\"edit_popup_btn\">\r\n            <i class=\"fa fa-pencil-square-o\"></i>\r\n          </button>\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupCreateView()\"\r\n            style=\"padding: 15px 10px;margin-right: 0px;\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"CollectionType\" [AppEntityTypeId]=\"CreateItemSubId\"\r\n          [EntityTypeId]=\"CreateItemId\" [EntityType]=\"SetupDetails.EntityType\" [FormValues]=\"formData\"\r\n          [FormTitle]=\"FormTitle\" [FormGetType]=\"CreateFormGetType\" [EntityFormId]=\"CreateEntityFormId\"\r\n          (closeCreate)=\"closePopupCreateView($event.Type)\" [queryParams]=\"queryParams\"></app-ticket-create>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"modal fade show showPop\" *ngIf=\"displayFormPopup\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"max-width: 95%;\">\r\n    <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n      <div class=\"modal-header\">\r\n\r\n        <div id=\"details\">\r\n          <ul class=\"nav nav-tabs\">\r\n            <li class=\"nav-item\">\r\n              <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#Design'\" (click)=\"gridtabs('1')\"\r\n                [ngClass]=\"{'active': gridTab==1}\">\r\n                {{'Design Page'|translate}}</a>\r\n            </li>\r\n            <li class=\"nav-item\">\r\n              <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#Rules'\" (click)=\"gridtabs('2')\"\r\n                [ngClass]=\"{'active': gridTab==2}\">\r\n                {{'Rules'|translate}}</a>\r\n            </li>\r\n\r\n            <li class=\"nav-item\" *ngIf=\"globalService.devMode && SetupDetails?.EntityType==150\">\r\n              <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#DataSource'\" (click)=\"gridtabs('3')\"\r\n                [ngClass]=\"{'active': gridTab==3}\">\r\n                {{'DataSource'|translate}}</a>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupForm()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <div id=\"details\">\r\n          <div class=\"tab-content\" style=\"padding: 0;\">\r\n            <div class=\"tab-pane animated active\" id=\"Design\" *ngIf=\"gridTab==1\" [ngClass]=\"{'active': gridTab==1}\">\r\n\r\n              <ng-container *ngIf=\"this.EntityDetailForm && this.EntityDetailForm.RecId\">\r\n\r\n                <!-- <app-entity-dynamic-form [FormStatus]=\"FormStatus\" [EntityType]=\"SetupDetails.EntityType\"\r\n                  [EntityFormId]=\"EntityDetailForm?.RecId\" [EntityTypeId]=\"EntityTypeId\"\r\n                  [EntityTypeForm]=\"EntityDetailForm\" (closeDynamicViewPopup)=\"closeDynamicViewPopup()\">\r\n                </app-entity-dynamic-form> -->\r\n              </ng-container>\r\n\r\n              <ng-container *ngIf=\"showDynamicViewPopup && EntityFormId\">\r\n                <!-- <app-entity-dynamic-view [EntityFormId]=\"EntityFormId\" [ParameterData]=\"gridData[0]\"\r\n                  (closeDynamicViewPopup)=\"closeDynamicViewPopup()\">\r\n                </app-entity-dynamic-view> -->\r\n              </ng-container>\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" id=\"Rules\" *ngIf=\"gridTab==2\" [ngClass]=\"{'active': gridTab==2}\">\r\n              <!-- <app-entity-field-rules [FormStatus]=\"FormStatus\" [EntityTypeId]=\"EntityTypeId\"\r\n                [FormRecId]=\"EntityDetailForm?.RecId\">\r\n              </app-entity-field-rules> -->\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" id=\"DataSource\" *ngIf=\"gridTab==3\" [ngClass]=\"{'active': gridTab==3}\">\r\n              <!-- <app-datasource-create [EntityTypeForm]=\"EntityDetailForm\"\r\n                *ngIf=\"EntityDetailForm && EntityDetailForm.RecId\"\r\n                (closeDatasourceForm)=\"closeDatasourceForm($event.type)\">\r\n              </app-datasource-create> -->\r\n            </div>\r\n\r\n          </div>\r\n\r\n\r\n        </div>\r\n\r\n\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- Modal  lookupData popup-->\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':showFieldImportPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">Import Process</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeImportPopup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <div class=\"import-process\">\r\n\r\n          <div class=\"import-process-body\">\r\n\r\n            <ng-container *ngIf=\"ImportStage==1\">\r\n              <div class=\"form-group row\">\r\n                <div class=\"col col-sm-12 col-12\">\r\n                  <h3 class=\"themecolor m-t-0 m-b-20 \">Import only CSV or Excel files to update the fields</h3>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"form-group row\">\r\n                <label for=\"IsMandatory\" class=\"col-sm-4 col-form-label\">Import</label>\r\n                <div class=\"col-sm-8\">\r\n                  <div class=\"form-check\">\r\n                    <input class=\"attach-file\" type=\"file\" id=\"file_csv\" (change)=\"fileChange($event)\"\r\n                      accept=\".csv,.xlsx\" [(ngModel)]=\"ImportCsvModel\" [ngModelOptions]=\"{standalone: true}\">\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </ng-container>\r\n\r\n            <ng-container *ngIf=\"ImportStage==2\">\r\n\r\n              <div class=\"view-import-data\">\r\n\r\n                <div class=\"row\">\r\n\r\n                  <div class=\"col\">\r\n                    <table class=\"table table-bordered table-contensed\">\r\n                      <thead>\r\n                        <tr>\r\n                          <th class=\"text-center\" [colSpan]=\"4\">{{\"Field Mapping\"|translate}} </th>\r\n                        </tr>\r\n                        <tr>\r\n                          <th>{{\"SoureColumnName\"|translate}}</th>\r\n                          <th>{{\"DestinationColumnName\"|translate}}</th>\r\n                          <th>{{\"New Column Name\"|translate}} <span class=\"red\">*</span></th>\r\n                          <th>{{\"New Column DataType\"|translate}} <span class=\"red\">*</span></th>\r\n                        </tr>\r\n                      </thead>\r\n                      <tbody>\r\n                        <tr *ngFor=\"let item of ImportCsvData.FieldMapping\">\r\n                          <td>{{item.SoureColumnName|translate}}</td>\r\n                          <td>\r\n\r\n                            <div class=\"\" style=\"min-width: 150px;\">\r\n                              <ng-select [items]=\"ImportCsvData.DestinationField\" bindLabel=\"ColumnName\"\r\n                                bindValue=\"ColumnName\" [(ngModel)]=\"item.DestinationColumnName\"> </ng-select>\r\n                            </div>\r\n\r\n                          </td>\r\n                          <td>\r\n                            <ng-container *ngIf=\"item.DestinationColumnName =='<new>'; else NewColumnNameTemplate\">\r\n                              <div class=\"\" style=\"min-width: 150px;\">\r\n                                <input type=\"text\" class=\"form-control\" placeholder=\"NewColumnName\"\r\n                                  (change)=\"checkDuplicateValues($event)\" [(ngModel)]=\"item.NewColumnName\" />\r\n                              </div>\r\n                            </ng-container>\r\n                            <ng-template #NewColumnNameTemplate>\r\n                              <span>{{item.NewColumnName|translate}}</span>\r\n                            </ng-template>\r\n\r\n                          </td>\r\n                          <td>\r\n                            <ng-container *ngIf=\"item.DestinationColumnName =='<new>'; else NewColumnDataTypeTemplate\">\r\n                              <div class=\"\">\r\n                                <ng-select [items]=\"ddlDataType\" bindLabel=\"Description\" bindValue=\"Id\"\r\n                                  [(ngModel)]=\"item.NewColumnDataType\"> </ng-select>\r\n                              </div>\r\n                            </ng-container>\r\n                            <ng-template #NewColumnDataTypeTemplate>\r\n                              <span>{{item.NewColumnDataType|translate}}</span>\r\n                            </ng-template>\r\n\r\n                          </td>\r\n                        </tr>\r\n\r\n                      </tbody>\r\n                    </table>\r\n                  </div>\r\n\r\n                </div>\r\n\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"ImportStage==3\">\r\n              <div class=\"import-process-message text-center\">\r\n\r\n                <h2 class=\"themecolor m-t-0 m-b-20 \">\r\n                  All Set to go\r\n                </h2>\r\n\r\n                <!-- <button class=\"btn btn-primary\" (click)=\"submitCsvImportProcessData()\">{{'Next'|translate}}</button> -->\r\n\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n\r\n          <div class=\"import-process-footer m-t-20 p-10 clearfix\">\r\n\r\n            <div class=\"pull-right\" *ngIf=\"ImportStage==1\">\r\n              <!-- <button class=\"btn btn-danger m-l-5 m-r-5 \" (click)=\"closeImportPopup()\">{{'Cancel '|translate}}</button> -->\r\n              <button class=\"btn btn-primary \" (click)=\"uploadImportFIle()\">{{'Next'|translate}}</button>\r\n            </div>\r\n\r\n            <div class=\"pull-right\" *ngIf=\"ImportStage==2\">\r\n              <!-- <button class=\"btn btn-danger m-l-5 m-r-5\" (click)=\"backImportStage(1)\">{{'Back '|translate}}</button> -->\r\n              <button class=\"btn btn-primary \"\r\n                (click)=\"mappingImportProcessEntityTypeField()\">{{'Next'|translate}}</button>\r\n            </div>\r\n\r\n            <div class=\"pull-right\" *ngIf=\"ImportStage==3\">\r\n              <button class=\"btn btn-danger m-l-5 m-r-5\" (click)=\"backImportStage(2)\">{{'Back '|translate}}</button>\r\n              <button class=\"btn btn-primary \" (click)=\"submitCsvImportProcessData()\">{{'Submit'|translate}}</button>\r\n            </div>\r\n\r\n          </div>\r\n\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':IsShowDynamicDetailsPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-90 modal-dialog-scrollable\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{\"Details\"|translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          (click)=\"closeDynamicDetailsPopup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" *ngIf=\"IsShowDynamicDetailsPopup\">\r\n\r\n\r\n        <ng-container [ngTemplateOutlet]=\"detailscontent\" [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsPopup'}\">\r\n        </ng-container>\r\n\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div id=\"right_panel\" class=\"off-screen-dtl hide expand_full\" [ngClass]=\"{hide: !IsShowDynamicDetailsSideView,expand_full: isExpand}\" *ngIf=\"IsShowDynamicDetailsSideView\">\r\n  <span class=\"resize_element\"></span>\r\n  <div class=\"card rounded-0\">\r\n    <div class=\"header p-2\">\r\n      <h5 class=\"modal-title d-inline-block\" id=\"exampleModalLabel\">Details</h5>\r\n      <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n        (click)=\"closeDynamicDetailsSideView()\">\r\n        <span aria-hidden=\"true\">&times;</span>\r\n      </button>\r\n      <span class=\"m-l-10\" *ngIf=\"!isExpand\" title=\"Expand\"><i class=\"la la-expand-arrows-alt\"\r\n          (click)=\"isExpand = true\"></i></span>\r\n      <span class=\"m-l-10\" *ngIf=\"isExpand\" title=\"Compress\"><i class=\"la la-compress-arrows-alt\"\r\n          (click)=\"isExpand = false\"></i></span>\r\n    </div>\r\n    <div class=\"body right_panel-body\">\r\n\r\n      <ng-container [ngTemplateOutlet]=\"detailscontent\" [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsSideView'}\">\r\n      </ng-container>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"AssignmentConfig && AssignmentEntityForm && AssignmentEntityForm.RecId\">\r\n  <entity-assignment [EntityTypeId]=\"EntityTypeId\" [AssignmentCurrentData]=\"AssignmentCurrentData\"\r\n    [EntityTypeForm]=\"AssignmentEntityForm\" (closeAssignment)=\"closeAssignmentConfig()\">\r\n  </entity-assignment>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':IsOpenAction}\" id=\"exampleModal\" tabindex=\"-1\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog \">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{'Actions Configuration'|translate}}</h5>\r\n        <button type=\"button\" (click)=\"closeActionModel()\" class=\"close\" data-bs-dismiss=\"modal\"\r\n          aria-label=\"Close\">&times;</button>\r\n      </div>\r\n      <div class=\"modal-body mymodel\">\r\n        <div class=\"conditions-box conditions conditionGroup\">\r\n          <div>\r\n            <div class=\"inner_condition\" *ngFor=\"let item of ActionsList; let i = index \" cdkDrag>\r\n              <div class=\"row\">\r\n                <span cdkDragHandle class=\"col col-sm-1\" style=\"cursor: pointer;margin-top: 15px;\"><i\r\n                    class=\"la la-braille p-0\" style=\"font-size: 22px;\"></i>\r\n                </span>\r\n                <div class=\"col col-sm-5\" *ngIf=\"!item.IsDefault else elseaction\">\r\n                  <div class=\"form-group\">\r\n\r\n                    <ng-select [placeholder]=\"'select Entity'\" [(ngModel)]=\"item.EntityTypeId\" [items]=\"PageListDDl\"\r\n                      bindLabel=\"Desc\" bindValue=\"RecId\" (change)=\"selectActionEntity($event,item)\">\r\n                    </ng-select>\r\n                  </div>\r\n\r\n                  <div class=\"form-group m-t-10\" *ngIf=\"item.EntityTypeId\">\r\n\r\n                    <ng-select [placeholder]=\"'select Entity Form'\" [(ngModel)]=\"item.EntityFormId\"\r\n                      [items]=\"EntityFormDDl\" bindLabel=\"FormName\" bindValue=\"RecId\" (change)=\"setName($event,item)\">\r\n                    </ng-select>\r\n                  </div>\r\n\r\n                </div>\r\n                <ng-template #elseaction>\r\n                  <div class=\"col col-sm-5\">\r\n                    <div class=\"form-group\">\r\n                      <input type=\"text\" value=\"Default Action\" readonly=\"{{item.IsDefault}}\" class=\"form-control\">\r\n                    </div>\r\n                  </div>\r\n                </ng-template>\r\n\r\n\r\n                <div class=\"col col-sm-4\">\r\n                  <div class=\"form-group\">\r\n                    <input type=\"text\" class=\"form-control\" placeholder=\"Name\" [(ngModel)]=\"item.Name\">\r\n                  </div>\r\n                </div>\r\n                <div class=\"col col-sm-1\" style=\"margin-top:15px;\">\r\n                  <div class=\"form-group\">\r\n                    <input type=\"checkbox\" class=\"form-control\" placeholder=\"Name\" [(ngModel)]=\"item.Visible\">\r\n                  </div>\r\n                </div>\r\n                <div class=\"col col-sm-1\" style=\"margin-top:10px;\" [hidden]=\"item.IsDefault\">\r\n                  <div class=\"formgroup m-t-10\">\r\n                    <span (click)=\"deleteActions(item,i)\" style=\"cursor: pointer;\">\r\n                      <i class=\"la la-trash-o themecolor\" style=\"font-size: 19px;\"></i>\r\n                    </span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div *cdkDragPlaceholder></div>\r\n            </div>\r\n\r\n          </div>\r\n          <div class=\"clearfix\">\r\n            <button type=\"button\" style=\"color: black !important;\" class=\"themecolor add_filter_btn bg-success\"\r\n              (click)=\"addActions()\">\r\n              + AddAction\r\n            </button>\r\n            <button class=\"ok_button float-right bg-success\" (click)=\"SaveActionConfig()\">Apply</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showFormActionPopup\" [ngClass]=\"{'showPop':showFormActionPopup}\" tabindex=\"-1\"\r\n  role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg modal-dialog-scrollable\" style=\"width: 95%; max-width: 95%;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" style=\"display: inline-block;\" id=\"exampleModalLabel\">{{FormActionView.Name|translate}}\r\n        </h5>\r\n        <div style=\"display: inline-flex;\">\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeformAction()\"\r\n            style=\"padding: 15px 10px;margin-right: 0px;\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <ng-container *ngIf=\"!FormActionView.EntityFormId && FormActionView.EntityTypeId\">\r\n          <!-- <app-dynamic-list [EntityTypeId]=\"FormActionView.EntityTypeId\" [PageViewFrom]=\"'Popup'\"></app-dynamic-list> -->\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"FormActionView.EntityFormId && FormActionView.EntityFormType !=_FormType.Details\r\n          && FormActionView.EntityFormType !=_FormType.EntityPage  && FormActionView.EntityFormType !=_FormType.Page \r\n          \">\r\n          <!-- <app-dynamic-list [EntityTypeId]=\"FormActionView.EntityTypeId\" [PageRouteType]=\"'FormView'\"\r\n            [PageViewFrom]=\"'Popup'\" [EntityFormId]=\"FormActionView.EntityFormId\"></app-dynamic-list> -->\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"FormActionView.EntityFormId && FormActionView.EntityFormType==_FormType.Details\">\r\n          <!-- <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"'Create'\" [AppEntityTypeId]=\"FormActionView.EntityTypeId\"\r\n            [EntityTypeId]=\"FormActionView.EntityTypeId\" [Params]=\"FormActionViewData\" [FormValues]=\"FormActionViewData\"\r\n            [FormTitle]=\"FormActionView.Name\" (closeCreate)=\"closePopupCreateView($event.Type)\"></app-ticket-create> -->\r\n\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"FormActionView.EntityFormId \r\n                          &&(FormActionView.EntityFormType ==_FormType.EntityPage  || FormActionView.EntityFormType ==_FormType.Page) \">\r\n          <app-detail-dynamic-page [EntityTypeId]=\"FormActionView.EntityTypeId\" [PageViewFrom]=\"'Popup'\"\r\n            [EntityFormId]=\"FormActionView.EntityFormId\" [TableRecId]=\"FormActionViewData.RecId\"></app-detail-dynamic-page>\r\n        </ng-container>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showWorkflowPopup\">\r\n\r\n  <app-workflow-dynamic-popup [showWorkflowPopups]=\"showWorkflowPopup\" [ActionName]=\"ActionName\"  [ActionType]=\"'List'\"\r\n    [CurrentStageName]=\"CurrentStageName\" [currentStage]=\"selectedStageObj\" [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"workflowEntityFormId\"\r\n    [PageGroupValues]=\"SelectedWorkflowData\"\r\n    (getWorkflowActionComments)=\"getWorkflowActionComments($event.comments, $event.updateFileds, $event.updateFieldsObject)\"\r\n    (getWorkflowActionClose)=\"getWorkflowActionClose($event.type)\">\r\n  </app-workflow-dynamic-popup>\r\n</ng-container>\r\n\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showImportPopup\" [ngClass]=\"{'showPop': showImportPopup}\">\r\n  <div class=\"modal-dialog modal-sm\">\r\n\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Import' | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          (click)=\"closeTemplateImportPopup()\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n        <form class=\"clearfix\" [formGroup]=\"importform\">\r\n          <div class=\"clearfix\">\r\n\r\n\r\n            <div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 \">\r\n              <div class=\"form-group\">\r\n                <div class=\"clearfix\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">{{'File' | translate}} <span\r\n                      class=\"red\">*</span></label>\r\n                </div>\r\n                <div class=\"control-input\">\r\n                  <input type=\"file\" name=\"ImportFile\" formControlName=\"ImportFile\" class=\"form-control ImportFile\"\r\n                    (change)=\"handleFileInput($event)\" [accept]=\"importAcceptFiles\"\r\n                    [ngClass]=\"{'is-invalid': submitted && formval.ImportFile.errors }\" />\r\n                  <div *ngIf=\"submitted && formval.ImportFile.errors\" class=\"invalid-feedback\">\r\n                    <div *ngIf=\"formval.ImportFile.errors.required\">{{'File is required' | translate}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n        </form>\r\n      </div>\r\n      <div class=\"modal-footer\">\r\n        <button (click)=\"_submitImportData()\" class=\"btn btn-primary\">\r\n          <span class=\"updates\">{{'Import' | translate}}</span>\r\n        </button>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n\r\n<app-attach-popup *ngIf=\"showAttachPopup\" [showAttachPopup]=\"showAttachPopup\" [ViewName]=\"ViewName\"\r\n  [TableName]=\"TableName\" [Permission]=\"Permission\" [refRecId]=\"referRecId\" [TypeId]=\"TypeId\"\r\n  [RefTableName]=\"RefTableName\" [attachmentType]=\"attachmentType\" (closeAttach)=\"closeAttach($event.Switch)\">\r\n</app-attach-popup>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showActionForm && ActionEntityForm && ActionEntityForm.RecId\"\r\n  [ngClass]=\"{'showPop': showActionForm}\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Action ' + ActionEntityForm.FormName | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"showActionForm = false\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" style=\"overflow:initial;\">\r\n\r\n        <app-entity-dynamic-view [EntityFormId]=\"ActionEntityForm.RecId\" [ViewFrom]=\"'Details'\" [Type]=\"'Create'\"\r\n          [ParameterData]=\"gridData[0]\"\r\n          (submitFormValue)=\"changeActionEntityForm($event.formdata,$event.pageForm,$event.forms)\">\r\n        </app-entity-dynamic-view>\r\n\r\n      </div>\r\n      <div class=\"modal-footer\">\r\n\r\n        <div class=\"text-align-right\">\r\n\r\n          <button class=\"btn btn-small btn-theme color-white m-l-5 m-r-5\" (click)=\"saveActionEntityForm()\">\r\n            {{'Save'|translate}}\r\n          </button>\r\n\r\n          <button class=\"btn btn-small btn-outline-danger m-l-5 m-r-5\" (click)=\"showActionForm = false\">\r\n            {{'Cancel'|translate}}\r\n          </button>\r\n\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n<ng-container *ngIf=\"PermissionPopup\">\r\n  <!-- <app-permission-pop-up [IsPermissionModal]=\"PermissionPopup\" [EntityTypeId]=\"PermissionEntityTypeId\"\r\n    [RecId]=\"PermissionRowRecId\" [Title]=\"PermissionTitle\" (closePermissionModal)=\"closePermissionPopup($event.Type)\">\r\n  </app-permission-pop-up> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"Duplicate\">\r\n  <!-- <app-duplicate-popup [IsDuplicateModal]=\"Duplicate\" [RecId]=\"DuplicateData?.RecId\"\r\n    [Title]=\"DuplicateData?.Description\" [EntityTypeId]=\"DuplicateData?.RecId\"\r\n    (closeDuplicateModal)=\"closeDuplicateModal($event.Type)\">\r\n  </app-duplicate-popup> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"showDataFiledPopup\">\r\n  <!-- <app-data-fields [DataSourceFields]=\"EntityFieldList\" (submitDataFields)=\"submitDataFields($event.DataFields)\"\r\n    (closeDataFieldPopup)=\"closeDataField()\"></app-data-fields> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && showDataSourcePopup\">\r\n  <div class=\"modal fade show showPop\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\"\r\n    aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\" style=\"width:95%; max-width: 95%;color: #000;\">\r\n      <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n        <div class=\"modal-header\">\r\n\r\n          <div id=\"ListView\">\r\n            <!-- <h3>List</h3> -->\r\n            <ul class=\"nav nav-tabs\">\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#FormConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(11)\" [ngClass]=\"{'active': DataSourceTab==11}\">\r\n                  {{\"Confiqure\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ListDataSource'\"\r\n                  (click)=\"DataSourceTabChange(2)\" [ngClass]=\"{'active': DataSourceTab==2}\">\r\n                  {{\"DataSource\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\"\r\n                *ngIf=\"viewTypeData ==_FormType.Table || viewTypeData ==_FormType.List || viewTypeData ==_FormType.Card || viewTypeData ==_FormType.Columns\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ListConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(1)\" [ngClass]=\"{'active': DataSourceTab==1}\">\r\n                  {{\"List\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Gallery\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#GalleryConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(4)\" [ngClass]=\"{'active': DataSourceTab==4}\">\r\n                  {{\"Gallery\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Profile\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ProfileConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(12)\" [ngClass]=\"{'active': DataSourceTab==12}\">\r\n                  {{\"Profile\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Chart\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ChartConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(7)\" [ngClass]=\"{'active': DataSourceTab==7}\">\r\n                  {{\"Chart\"|translate}}</a>\r\n              </li>\r\n\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Report\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ReportConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(8)\" [ngClass]=\"{'active': DataSourceTab==8}\">\r\n                  {{\"Report\"|translate}}</a>\r\n              </li>\r\n\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.CustomTemplate\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#CustomTemplateConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(9)\" [ngClass]=\"{'active': DataSourceTab==9}\">\r\n                  {{\"Custom Template\"|translate}}</a>\r\n              </li>\r\n\r\n\r\n\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#ListRules'\" (click)=\"DataSourceTabChange(3)\"\r\n                  [ngClass]=\"{'active': DataSourceTab==3}\">\r\n                  {{\"Rules\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#Fields'\" (click)=\"DataSourceTabChange(5)\"\r\n                  [ngClass]=\"{'active': DataSourceTab==5}\">\r\n                  {{\"Fields\"|translate}}</a>\r\n              </li>\r\n\r\n              <!-- <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#BulkFields'\"\r\n                  (click)=\"DataSourceTabChange(6)\" [ngClass]=\"{'active': DataSourceTab==6}\">\r\n                  {{\"BulkFields\"|translate}}</a>\r\n              </li> -->\r\n\r\n            </ul>\r\n          </div>\r\n\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n            (click)=\"closeDatasourceForm('close')\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n\r\n          <div class=\"tab-content\" style=\"padding: 0;\">\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==1}\" id=\"ListConfiqView\"\r\n              *ngIf=\"DataSourceTab==1\">\r\n\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n\r\n                <!-- <app-form-list-view [listView]=\"listView\" [ActiveEntityForm]=\"ActiveEntityForm\"\r\n                  [EntityTypeId]=\"EntityTypeId\"></app-form-list-view> -->\r\n              </div>\r\n\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==4}\" id=\"GalleryConfiqView\"\r\n              *ngIf=\"DataSourceTab==4\">\r\n\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n                <div class=\"col col-sm-12\">\r\n\r\n                  <!-- <app-dynamic-gallery-canvas [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"ActiveEntityForm.RecId\"\r\n                    [EntityTypeForm]=\"ActiveEntityForm\"></app-dynamic-gallery-canvas> -->\r\n\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==7}\" id=\"ChartConfiqView\"\r\n              *ngIf=\"DataSourceTab==7\">\r\n\r\n              <!-- <app-chart-config [ChartConfiq]=\"ReportSetupData\" [EntityFieldList]=\"EntityFieldList\"\r\n                (SaveChartConfiq)=\"saveReportConfiq($event.ChartConfiq)\"></app-chart-config> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==8}\" id=\"ReportConfiqView\"\r\n              *ngIf=\"DataSourceTab==8\">\r\n\r\n              <!-- <app-report [Type]=\"'design'\" [ReportSetup]=\"ReportSetupData\"\r\n                (saveReportConfiq)=\"saveReportConfiq($event.Report)\"></app-report> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==9}\" id=\"CustomTemplateConfiqView\"\r\n              *ngIf=\"DataSourceTab==9\">\r\n\r\n              <!-- <app-custom-templete [Type]=\"'design'\" [CustomTempleteSetup]=\"ReportSetupData\"\r\n                (saveCustomTempleteConfiq)=\"saveReportConfiq($event.CustomTemplete)\"></app-custom-templete> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==11}\" id=\"ListDataSource\"\r\n              *ngIf=\"DataSourceTab==11\">\r\n\r\n              <!-- <form-config-view [EntityTypeForm]=\"ActiveEntityForm\">\r\n              </form-config-view> -->\r\n\r\n            </div>\r\n\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==2}\" id=\"ListDataSource\"\r\n              *ngIf=\"DataSourceTab==2\">\r\n\r\n              <!-- <app-datasource-create [EntityTypeForm]=\"ActiveEntityForm\"\r\n                *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && showDataSourcePopup\"\r\n                (closeDatasourceForm)=\"closeDatasourceForm($event.type)\">\r\n              </app-datasource-create> -->\r\n\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==3}\" id=\"ListRules\"\r\n              *ngIf=\"DataSourceTab==3\">\r\n\r\n              <!-- <app-entity-field-rules [FormStatus]=\"ActiveEntityForm.Status\" [EntityTypeId]=\"EntityTypeId\"\r\n                [FormRecId]=\"ActiveEntityForm.RecId\">\r\n              </app-entity-field-rules> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==5}\" id=\"Fields\"\r\n              *ngIf=\"DataSourceTab==5\">\r\n              \r\n              <!-- <app-entity-type-field-list [EntityTypeId]=\"EntityTypeId\" [SetupDetails]=\"SetupDetails\" ></app-entity-type-field-list> -->\r\n\r\n\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==6}\" id=\"BulkFields\"\r\n              *ngIf=\"DataSourceTab==6\">\r\n\r\n              <!-- <app-entity-type-field-bulkcreate [IsPageType]=\"IsPageType\" [EntityTypeSetupId]=\"EntityTypeId\"\r\n                [EntityTypeDetailsData]=\"SetupDetails\" *ngIf=\"openFieldBulkCretate\"\r\n                (closeFieldBulkCretate)=\"closeFieldBulkCretate($event.type)\">\r\n              </app-entity-type-field-bulkcreate> -->\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==12}\" id=\"ProfileConfiqView\"\r\n              *ngIf=\"DataSourceTab==12\">\r\n\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n                <div class=\"col col-sm-12\">\r\n\r\n                    <!-- <app-dynamic-profile \r\n                    [EntityTypeId]=\"EntityTypeId\" \r\n                    [EntityFormId]=\"ActiveEntityForm.RecId\"\r\n                    [EntityTypeForm]=\"ActiveEntityForm\"\r\n                    [EntityFieldList]=\"EntityFieldList\"\r\n                    ></app-dynamic-profile> -->\r\n\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n          </div>\r\n\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n\r\n<!-- Popup for listform only(Worked for survey form list configuration)  -->\r\n<ng-container>\r\n  <div class=\"modal fade show\" [ngClass]=\"{'showPop': showListConfigOnly}\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\"\r\n  aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\"  style=\"width:95%; max-width: 95%;color: #000;\">\r\n      <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n        <div class=\"modal-header\">\r\n          <div id=\"ListView\">\r\n            <ul class=\"nav nav-tabs\">\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ListConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(1)\" [ngClass]=\"{'active': DataSourceTab==1}\">\r\n                  {{\"List\"|translate}}</a>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n            (click)=\"closeListFormForm()\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n          <div class=\"tab-content\">\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==1}\">\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n                <!-- <app-form-list-view [listView]=\"listView\" [ActiveEntityForm]=\"ActiveEntityForm\"\r\n                  [EntityTypeId]=\"EntityTypeId\"></app-form-list-view> -->\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n\r\n<ng-container *ngIf=\"showMultiplefilterpopup\">\r\n  <div class=\"common-filter-modal list-multiple-filter\">\r\n    <div class=\"card p-0\">\r\n      <div class=\"header clearfix p-10\">\r\n        <h2 class=\"pull-left\">{{'Filter'| translate}} - {{ShowView.FormName|translate}}</h2>\r\n        <span class=\"pull-right\" (click)=\"toggleMultipleFilter()\">\r\n          <i class=\"la la-times-circle\"></i>\r\n        </span>\r\n      </div>\r\n\r\n      <div class=\"body\">\r\n\r\n        <div class=\"form-group m-b-10\" *ngFor=\"let item of MultipleFilterData\">\r\n          <div class=\"row\">\r\n            <div class=\"col col-12\">\r\n              <label class=\"control-label m-0 p-0\"> {{item.Name}}</label>\r\n            </div>\r\n            <div class=\"col col-12 control-input\">\r\n              <input [(ngModel)]=\"item.searchData\" class=\"form-control\" placeholder=\"{{item.Name}}\" type=\"text\"\r\n                name=\"{{item.Name}}\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n\r\n      </div>\r\n      <div class=\"filter_footer\">\r\n        <div class=\"clearfix\">\r\n          <div class=\"pull-left\">\r\n            <button class=\"btn btn-primary\" (click)=\"callMultipleFilter()\">\r\n              {{'Filter' | translate}}\r\n            </button>\r\n          </div>\r\n\r\n          <div class=\"pull-right\">\r\n            <button class=\"btn btn-secondary\" (click)=\"ClearMultipleFilter()\">\r\n              {{'Clear' | translate}}\r\n            </button>\r\n          </div>\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':showDependedEntityPoupup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"showDependedEntityPoupup\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"min-width: 90%;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"showDependedEntityPoupup\">{{SelectedDependedEntity?.Description}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          (click)=\"closeDependedEntityPoupup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" *ngIf=\"showDependedEntityPoupup && SelectedDependedEntity && DependedEntityValue\">\r\n<!-- \r\n        <app-dynamic-list \r\n        [EntityTypeId]=\"SelectedDependedEntity.RecId\" [PageViewFrom]=\"'Popup'\"\r\n        [RelatedEntity]=\"EntityTypeId\"\r\n        [RelatedEntityValue]=\"DependedEntityValue\"\r\n        ></app-dynamic-list> -->\r\n\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n</ng-template>\r\n</div>\r\n\r\n\r\n\r\n<ng-template #detailscontent let-type='type' >\r\n  \r\n  <!-- <app-dynamic-list *ngIf=\"PageType == 1 && DyamicFormId && DyamicPageRecId\"\r\n    [EntityTypeId]=\"DyamicPageRecId\" [PageRouteType]=\"'FormView'\" [PageViewFrom]=\"'Popup'\"\r\n    [EntityFormId]=\"DyamicFormId\"></app-dynamic-list> -->\r\n\r\n  <!-- <app-dynamic-list *ngIf=\"PageType == 1 && !DyamicFormId && DyamicPageRecId\"\r\n    [EntityTypeId]=\"DyamicPageRecId\" [PageViewFrom]=\"'Popup'\"></app-dynamic-list> -->\r\n\r\n  <app-detail-dynamic-page *ngIf=\"PageType == 2\" [EntityTypeId]=\"DyamicPageRecId\"\r\n    [PageViewFrom]=\"'Popup'\" [EntityFormId]=\"DyamicFormId\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n     [TableRecId]=\"DyamicTableRecId\" [queryParams]=\"queryParams\"></app-detail-dynamic-page>\r\n\r\n  <ng-container *ngIf=\"DynamicTableField;else DynamicTableRecId\">\r\n\r\n    <app-detail-dynamic-entity-details *ngIf=\"PageType == 4\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-detail-dynamic-entity-details>\r\n  \r\n    <app-detail-dynamic-entity-details *ngIf=\"PageType == 5\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-detail-dynamic-entity-details>\r\n \r\n\r\n  </ng-container>\r\n\r\n  <ng-template #DynamicTableRecId>\r\n    <app-detail-dynamic-entity-details *ngIf=\"PageType == 4\" [RecId]=\"DyamicTableRecId\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-detail-dynamic-entity-details>\r\n  \r\n    <app-detail-dynamic-entity-details *ngIf=\"PageType == 5\" [RecId]=\"DyamicTableRecId\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-detail-dynamic-entity-details>\r\n  </ng-template>\r\n\r\n\r\n</ng-template>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport * as Handlebars from 'handlebars';\r\nimport { E_EntityType, E_FormType, IDropDown, ISearchCriteria, PageContentGroup, PageContentsRow } from '../../core/common-interface-enum-classes-functions';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'page-entity',\r\n  templateUrl: './page-entity.component.html',\r\n  styleUrls: ['./page-entity.component.scss'],\r\n})\r\nexport class PageEntityComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    // this.route.queryParams.subscribe((res) => {\r\n\r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    if (this.group.PageEntity) {\r\n      if (!this.group.PageEntity.FormDetailsData)\r\n        this.group.PageEntity.FormDetailsData = {};\r\n    }\r\n\r\n    if (!this.group.Condition) {\r\n      this.group.Condition = {\r\n        Condtion: [],\r\n        CondtionOperator: 1,\r\n      };\r\n    }\r\n\r\n    this.getDataTypeEnumDropDown();\r\n    this.getEntityDetailsData();\r\n  }\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n  @Input() menuText: any;\r\n  @Input() tabIndex: any = 0;\r\n\r\n  _FormType = E_FormType;\r\n  _EntityType = E_EntityType;\r\n\r\n  showConfiqPopup: boolean = false;\r\n  ConfigureEntityForm() {\r\n    this.showConfiqPopup = true;\r\n  }\r\n  submitEntity() {\r\n    this.showConfiqPopup = false;\r\n    this.getEntityDetailsData();\r\n  }\r\n\r\n  ddlEntityType: any = [];\r\n  getDataTypeEnumDropDown() {\r\n    this.ddlEntityType = [];\r\n    try {\r\n      for (let key in E_EntityType) {\r\n        let val = E_EntityType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlEntityType.push(temp);\r\n        }\r\n      }\r\n    } catch (e: any) {\r\n      Swal.fire(e.message, 'error');\r\n    }\r\n  }\r\n\r\n  EntityTypeList: any[] = [];\r\n\r\n  getEntityTypeList(event: any) {\r\n    let _Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n    let filterobj = {\r\n      Field: 'EntityType',\r\n      Operator: '==',\r\n      TableAlias: '',\r\n      Value: this.group.PageEntity.Type,\r\n    };\r\n\r\n    _Searchcriteria.Where.push(filterobj);\r\n\r\n    let getAllEntityTypeSetup = this.dynamicAppsService\r\n      .getAllEntityTypeSetup(_Searchcriteria)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _data = res.Data ? res.Data : res;\r\n          this.EntityTypeList = _data;\r\n          this.loaderService.hideLoading();\r\n          getAllEntityTypeSetup.unsubscribe();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n  onChangeEntityTypeId(event: any) {\r\n    if (event.RecId) {\r\n      this.group.PageEntity.EntityTypeName = event.Description;\r\n      this.getEntityFormList();\r\n    } else {\r\n      this.group.PageEntity.EntityTypeName = null;\r\n    }\r\n  }\r\n\r\n  ddlEntityFormList: any[] = [];\r\n  getEntityFormList() {\r\n    let _Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n\r\n    let getAllEntityTypeSetup = this.dynamicAppsService\r\n      .getAllEntityTypeForm(_Searchcriteria, this.group.PageEntity.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _data = res.Data ? res.Data : res;\r\n          _data = _data.map((x: any) => {\r\n            x.Description = x.FormTypeEn + '-' + x.FormName;\r\n            return x;\r\n          });\r\n\r\n          this.ddlEntityFormList = _data;\r\n          this.loaderService.hideLoading();\r\n          getAllEntityTypeSetup.unsubscribe();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  onChangeEntityFormId(event: any) {\r\n    if (event.RecId) {\r\n      let _form = this.ddlEntityFormList.filter(\r\n        (x) => x.RecId == event.RecId\r\n      )[0];\r\n      this.group.PageEntity.EntityFormType = _form.FormType;\r\n      this.group.PageEntity.EntityFormName = event.Description;\r\n    } else {\r\n      this.group.PageEntity.EntityTypeName = null;\r\n    }\r\n  }\r\n\r\n  ddlViewType: IDropDown[] = [\r\n    { Id: 'Create', Description: 'Create' },\r\n    { Id: 'Edit', Description: 'Edit' },\r\n    { Id: 'Details', Description: 'Details' },\r\n    { Id: 'View', Description: 'View' },\r\n  ];\r\n\r\n  ddlDataViewType: IDropDown[] = [\r\n    { Id: 'Value', Description: 'Value' },\r\n    { Id: 'Control', Description: 'Control' },\r\n  ];\r\n\r\n  FormparamsMapPopup: boolean = false;\r\n  FormparamsMapList: any[] = [];\r\n  Formparamsmap = { Params: null, Type: null, Value: null };\r\n  openFormparamsMapPopup() {\r\n    this.FormparamsMapPopup = true;\r\n    if (this.group.PageEntity.FormDataParams) {\r\n      let _Fields = JSON.parse(this.group.PageEntity.FormDataParams);\r\n      this.FormparamsMapList = _Fields;\r\n    }\r\n  }\r\n  closeFormparamsMapPopup() {\r\n    this.FormparamsMapPopup = false;\r\n  }\r\n\r\n  addNewFormparamsmap() {\r\n    this.FormparamsMapList.push(this.Formparamsmap);\r\n    this.Formparamsmap = { Params: null, Type: null, Value: null };\r\n  }\r\n  removeFormparamsmap(index: any) {\r\n    this.FormparamsMapList.splice(index, 1);\r\n  }\r\n\r\n  saveFormparamsmap() {\r\n    debugger;\r\n    let _array: any = JSON.stringify(this.FormparamsMapList);\r\n    this.group.PageEntity.FormDataParams = _array;\r\n    this.closeFormparamsMapPopup();\r\n  }\r\n\r\n  closePopupCreateView(Type: any) {}\r\n\r\n  ddlDataGetMethod: IDropDown[] = [\r\n    { Id: 'Load', Description: 'Load' },\r\n    { Id: 'GridSelect', Description: 'GridSelect' },\r\n  ];\r\n\r\n  getEntityDetailsData() {\r\n    debugger;\r\n    if (\r\n      this.group.PageEntity.EntityTypeId &&\r\n      this.group.PageEntity.FormDataId &&\r\n      this.group.PageEntity.FormViewType\r\n    ) {\r\n      let _FormDataId = this.hanbleBarData(this.group.PageEntity.FormDataId);\r\n      if (this.group.PageEntity.FormDataGetType == 'Control') {\r\n        let Controller = this.group.PageEntity.FormDataGetController;\r\n        let Method = this.group.PageEntity.FormDataGetMethod;\r\n\r\n        let _group: PageContentGroup | any = null;\r\n        this.globalService.pageScema.forEach((row:any) => {\r\n          if (row.Groups.find((x:any) => x.ID == Controller)) {\r\n            _group = row.Groups.filter((x:any) => x.ID == Controller)[0];\r\n          } else {\r\n            row.Groups.forEach((group:any) => {\r\n              group.Tabs.forEach((tab:any) => {\r\n                if (tab.group && tab.group.ID == Controller) {\r\n                  _group = tab.group;\r\n                }\r\n              });\r\n\r\n              if (!_group) {\r\n                group.Section.forEach((sec:any) => {\r\n                  if (sec.group && sec.group.ID == Controller) {\r\n                    _group = sec.group;\r\n                  }\r\n                });\r\n              }\r\n            });\r\n          }\r\n        });\r\n\r\n        if (_group) {\r\n          if (Method == 'Load') {\r\n            if (_group.ControlData.FormData)\r\n              _FormDataId =\r\n                _group.ControlData.FormData[this.group.PageEntity.FormDataId];\r\n          } else if (Method == 'GridSelect') {\r\n            _FormDataId =\r\n              _group.ControlData.GridSelectedData[0][\r\n                this.group.PageEntity.FormDataId\r\n              ];\r\n          }\r\n        }\r\n      }\r\n\r\n      if (!_FormDataId || isNaN(_FormDataId)) {\r\n        return;\r\n      }\r\n\r\n      this.dynamicAppsService\r\n        .getDynamicById(this.group.PageEntity.EntityTypeId, _FormDataId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.group.PageEntity.FormDetailsData = res;\r\n            this.group.ControlData.FormData = res;\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  CheckedGridData(gridData: any, group: PageContentGroup) {\r\n    group.ControlData.GridSelectedData = gridData;\r\n  }\r\n\r\n  @Input() queryParams: any = null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n}\r\n","<div class=\"card card-group card-tab\">\r\n  <div class=\"header clearfix\" *ngIf=\"ViewType!='viewer'\">\r\n    <h2 class=\"float-left\">\r\n      <code><i>#{{group.ID}}</i></code>\r\n      Entity Controller\r\n\r\n      <a href=\"javascript:void(0)\"\r\n        *ngIf=\"group.PageEntity.EntityTypeId && group.PageEntity.EntityFormId && !showConfiqPopup\"\r\n        class=\"pull-right themecolor action-btn m-l-5\" (click)=\"showConfiqPopup = true;\">\r\n        <i class=\"la la-pencil-square-o\"></i>\r\n      </a>\r\n\r\n    </h2>\r\n  </div>\r\n  <div class=\"body\">\r\n\r\n    <ng-container\r\n      *ngIf=\"group.PageEntity.EntityTypeId && group.PageEntity.EntityFormId && !showConfiqPopup; else EntityTemplate\">\r\n\r\n      <ng-container *ngIf=\"group.PageEntity.EntityFormType==_FormType.Details; else EntityListTemplate\">\r\n\r\n        <ng-container *ngIf=\"group.PageEntity.FormViewType =='Details'; else EntityViewTemplate\">\r\n\r\n          <!-- <h4 class=\"stage-title\">{{'Request Details'|translate}}</h4> -->\r\n\r\n          <app-dynamic-details-view\r\n            *ngIf=\"ViewType !='viewer' || (group.PageEntity.FormDetailsData && group.PageEntity.FormDetailsData.RecId)\"\r\n            [EntityFormId]=\"group.PageEntity.EntityFormId\" [EntityTypeId]=\"group.PageEntity.EntityTypeId\"\r\n            [PageGroupValues]=\"group.PageEntity.FormDetailsData\" [ViewType]=\"'Details'\">\r\n          </app-dynamic-details-view>\r\n\r\n\r\n        </ng-container>\r\n        <ng-template #EntityViewTemplate>\r\n\r\n          <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"group.PageEntity.FormViewType\" [group]=\"group\"\r\n            [EntityTypeId]=\"group.PageEntity.EntityTypeId\" [EntityType]=\"group.PageEntity.Type\"\r\n            [FormValues]=\"this.group.PageEntity.FormDetailsData\" [FormTitle]=\"group.PageEntity.EntityTypeName\"\r\n            [hideCanelBtn]=\"true\" [hideAction]=\"group.PageEntity.HideAction\"\r\n            (closeCreate)=\"closePopupCreateView($event.Type)\">\r\n          </app-ticket-create>\r\n\r\n        </ng-template>\r\n\r\n\r\n      </ng-container>\r\n      <ng-template #EntityListTemplate>\r\n\r\n        <ng-container *ngIf=\"group.PageEntity.Type==_EntityType.Case\">\r\n          <!-- <app-dynamic-ticket-list [EntityTypeId]=\"group.PageEntity.EntityTypeId\"\r\n            (CheckedGridData)=\"CheckedGridData($event.gridData,group)\"></app-dynamic-ticket-list> -->\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"group.PageEntity.Type==_EntityType.Task\">\r\n          <!-- <app-dynamic-task-list [EntityTypeId]=\"group.PageEntity.EntityTypeId\"\r\n            (CheckedGridData)=\"CheckedGridData($event.gridData,group)\"></app-dynamic-task-list> -->\r\n        </ng-container>\r\n        <ng-container\r\n          *ngIf=\"(group.PageEntity.Type==_EntityType.Entity || group.PageEntity.Type==_EntityType.Collection || group.PageEntity.Type==_EntityType.Remote)\">\r\n          <app-detail-dynamic-list [group]=\"group\" [gridNumber]=\"(group.PageEntity.EntityTypeId+'_'+group.ID+'_'+tabIndex)\"\r\n          [PageName]=\"group.PageEntity.Name\" [menuText]=\"menuText\" [PageViewFrom]=\"'Popup'\"\r\n          [EntityFormId]=\"group.PageEntity.EntityFormId\" [EntityTypeId]=\"group.PageEntity.EntityTypeId\" [queryParams]=\"queryParams\"\r\n          [isHideHeader]=\"group.PageEntity.HideListHeader\" (CheckedGridData)=\"CheckedGridData($event.gridData,group)\">\r\n        </app-detail-dynamic-list>\r\n        </ng-container>\r\n\r\n      </ng-template>\r\n\r\n    </ng-container>\r\n    <ng-template #EntityTemplate>\r\n\r\n      <ng-container *ngIf=\"ViewType!='viewer'\">\r\n        <div class=\"d-flex justify-content-center\" *ngIf=\"!showConfiqPopup\">\r\n          <div class=\"mtb50\">\r\n            <span class=\"d-block text-center\">\r\n              <i class=\"la la-cog la-2x\" style=\"font-size: 30px;\"></i>\r\n            </span>\r\n            <span class=\"d-block\">\r\n              <a href=\"javascript:void()\" (click)=\"ConfigureEntityForm()\" rel=\"noopener noreferrer\"> Configure\r\n                EntityForm</a>\r\n            </span>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"d-flex justify-content-center\" *ngIf=\"showConfiqPopup\">\r\n          <div class=\"mtb50\">\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'ID'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <label class=\"form-control\">{{group.ID}}</label>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Name'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"text\" class=\"form-control\" id=\"Name\" [(ngModel)]=\"group.PageEntity.Name\">\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Type'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"ddlEntityType\" (change)=\"getEntityTypeList($event)\" placeholder=\"Type\"\r\n                  bindValue=\"Id\" bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.Type\"></ng-select>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.Type\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Entity Type'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"EntityTypeList\" (change)=\"onChangeEntityTypeId($event)\" placeholder=\"Entity Type\"\r\n                  bindValue=\"RecId\" bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.EntityTypeId\"></ng-select>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.EntityTypeId\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Entity Form'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"ddlEntityFormList\" (change)=\"onChangeEntityFormId($event)\" placeholder=\"Entity Form\"\r\n                  bindValue=\"RecId\" bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.EntityFormId\"></ng-select>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.EntityFormType== _FormType.Details\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Form View Type'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"ddlViewType\" placeholder=\"Form View Type\" bindValue=\"Id\" bindLabel=\"Description\"\r\n                  [(ngModel)]=\"group.PageEntity.FormViewType\"></ng-select>\r\n              </div>\r\n            </div>\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Hide Header'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"checkbox\" class=\"m-t-10\" [(ngModel)]=\"group.PageEntity.HideListHeader\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Hide Pagination'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"checkbox\" class=\"m-t-10\" [(ngModel)]=\"group.PageEntity.HidePagination\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Hide Action'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"checkbox\" class=\"m-t-10\" [(ngModel)]=\"group.PageEntity.HideAction\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-12 col-form-label\">{{'Condition'|translate}}</label>\r\n              <div class=\"col-sm-12\">\r\n                <!-- <app-commom-condition [condition]=\"group.Condition\" [EntityTypeFields]=\"[]\"></app-commom-condition> -->\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\"\r\n              *ngIf=\"group.PageEntity.FormViewType && group.PageEntity.FormViewType !='Create'\">\r\n\r\n              <div class=\"col col-12 nopadding\">\r\n                <div class=\"row\">\r\n\r\n                  <div class=\"col\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Get Type'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <ng-select [items]=\"ddlDataViewType\" placeholder=\"Get Type\" bindValue=\"Id\" bindLabel=\"Description\"\r\n                        [(ngModel)]=\"group.PageEntity.FormDataGetType\"></ng-select>\r\n                      <!-- <input type=\"text\" class=\"form-control\" id=\"FormDataGetType\" [(ngModel)]=\"group.PageEntity.FormDataGetType\"> -->\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"col\" *ngIf=\"group.PageEntity.FormDataGetType=='Control'\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Control'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <ng-select [items]=\"globalService.AllControlList\" placeholder=\"Get Type\" bindValue=\"Id\"\r\n                        bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.FormDataGetController\"></ng-select>\r\n                      <!-- <input type=\"text\" class=\"form-control\" id=\"FormDataGetType\" [(ngModel)]=\"group.PageEntity.FormDataGetType\"> -->\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"col\" *ngIf=\"group.PageEntity.FormDataGetType=='Control'\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Method'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <ng-select [items]=\"ddlDataGetMethod\" placeholder=\"Get Type\" bindValue=\"Id\"\r\n                        bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.FormDataGetMethod\"></ng-select>\r\n                      <!-- <input type=\"text\" class=\"form-control\" id=\"FormDataGetType\" [(ngModel)]=\"group.PageEntity.FormDataGetType\"> -->\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n                  <div class=\"col\" *ngIf=\"group.PageEntity.FormDataGetType\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Data Id(RecId)'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <input type=\"text\" class=\"form-control\" id=\"FormDataId\" [(ngModel)]=\"group.PageEntity.FormDataId\">\r\n                    </div>\r\n                  </div>\r\n\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.FormViewType\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Data Params'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"text\" class=\"form-control\" id=\"Name\" readonly (click)=\"openFormparamsMapPopup()\"\r\n                  [(ngModel)]=\"group.PageEntity.FormDataParams\">\r\n              </div>\r\n            </div>\r\n\r\n            <button type=\"button\" class=\"btn btn-success\" (click)=\"submitEntity()\">save</button>\r\n\r\n          </div>\r\n        </div>\r\n\r\n      </ng-container>\r\n\r\n    </ng-template>\r\n\r\n  </div>\r\n</div>\r\n\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':FormparamsMapPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-md\" style=\"max-width: 600px;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">Form params Map</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeFormparamsMapPopup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body clearfix\">\r\n\r\n        <div class=\"form-group row\">\r\n          <div class=\"col-sm-12\">\r\n            <div class=\"p-1\">\r\n              <h3>Form params List:</h3>\r\n              <div class=\"row\">\r\n                <span class=\"col-sm-1\"></span>\r\n                <span class=\"col-sm-4\">Params</span>\r\n                <span class=\"col-sm-2\">Type</span>\r\n                <span class=\"col-sm-4\">Value</span>\r\n\r\n              </div>\r\n              <div *ngFor=\"let item of FormparamsMapList; let i = index\">\r\n                <div class=\"row\">\r\n                  <a type=\"button\" style=\"font-size: 15px;\" class=\"text-danger col-sm-1\"\r\n                    (click)=\"removeFormparamsmap(i)\">\r\n                    <i class=\"fa fa-trash\"></i></a>\r\n                  <span class=\"col-sm-4\">{{item.Params }}</span>\r\n                  <span class=\"col-sm-2\">{{item.Type }}</span>\r\n                  <span class=\"col-sm-4\">{{item.Value}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"col-sm-12\">\r\n            <div class=\"p-1\">\r\n              <h3>Add Params:</h3>\r\n              <div class=\"row\">\r\n\r\n                <div class=\"col\">\r\n                  <label for=\"text\">Params:<span class=\"red\">*</span></label>\r\n                  <input type=\"text\" class=\"form-control\" id=\"Params\" [(ngModel)]=\"Formparamsmap.Params\">\r\n                </div>\r\n\r\n                <div class=\"col\">\r\n                  <label for=\"value\">Value:<span class=\"red\">*</span></label>\r\n                  <input type=\"text\" class=\"form-control\" id=\"value\" [(ngModel)]=\"Formparamsmap.Value\">\r\n                </div>\r\n\r\n              </div>\r\n\r\n              <div class=\"clearfix\">\r\n                <button type=\"button\" class=\"btn btn-outline-primary float-left p-1 mt-2\"\r\n                  (click)=\"addNewFormparamsmap()\">Add</button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n        </div>\r\n        <button type=\"submit\" class=\"btn btn-success float-right\" (click)=\"saveFormparamsmap()\">save</button>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PageContentGroup, PageContentsRow } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'page-tab',\r\n  templateUrl: './page-tab.component.html',\r\n  styleUrls: ['./page-tab.component.scss'],\r\n})\r\nexport class PageTabComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {\r\n    if (this.group.Tabs.length > 0) {\r\n      this.group.Tabs.map((x: any) => {\r\n        x.showtext = false;\r\n        return x;\r\n      });\r\n    }\r\n\r\n    if (this.group.Timer) {\r\n      setInterval(() => {\r\n        let tabNum = this.currrentTab + 1;\r\n        if (tabNum >= this.group.Tabs.length) {\r\n          tabNum = 0;\r\n        }\r\n        this.ChangeTab(null, tabNum);\r\n      }, this.group.Timer * 1000);\r\n    }\r\n  }\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n  @Input() queryParams:any=null;\r\n\r\n  @Input() menuText: any;\r\n\r\n  currrentTab: number = 0;\r\n\r\n  ChangeTab(tab: any, index: any) {\r\n    this.currrentTab = index;\r\n  }\r\n\r\n  addNewtab() {\r\n    debugger;\r\n    let num: number = this.group.Tabs.length + 1;\r\n    let _groupid = this.group.ID + '_' + this.getGroupCount();\r\n    let tab = {\r\n      Id: num,\r\n      Name: 'Tab_' + num,\r\n      group: new PageContentGroup(_groupid),\r\n      showtext: false,\r\n    };\r\n    this.group.Tabs.push(tab);\r\n  }\r\n  getGroupCount() {\r\n    debugger;\r\n    let _group = 1;\r\n    this.group.Tabs.forEach((row) => {\r\n      Object.keys(row.group).forEach((key) => {\r\n        if ((key = 'ID')) {\r\n          let _idN: number = Number(row.group[key].split('_')[2]);\r\n          if (_idN >= _group) _group = _idN + 1;\r\n        }\r\n        return _group;\r\n      });\r\n    });\r\n    return _group;\r\n  }\r\n\r\n  tabNameChange(event: any, tab: any) {\r\n    if (event.keyCode == 13) {\r\n      tab.showtext = false;\r\n    }\r\n  }\r\n\r\n  clickshowtext(tab: any) {\r\n    if (this.ViewType == 'viewer') return;\r\n\r\n    tab.showtext = true;\r\n  }\r\n\r\n  removeTab(tab: any, index: any) {\r\n    this.group.Tabs.splice(index, 1);\r\n  }\r\n}\r\n","<div class=\"card card-group card-tab\">\r\n  <div class=\"header clearfix\" *ngIf=\"ViewType!='viewer'\">\r\n    <h2 class=\"float-left\">\r\n      <code><i>#{{group.ID}}</i></code> Tab Controller\r\n    </h2>\r\n    <div class=\"form-group row\">\r\n      <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Timer (sec)'|translate}}</label>\r\n      <div class=\"col-sm-8\">\r\n        <input type=\"number\" class=\"form-control\" id=\"AutoLoad\" [(ngModel)]=\"group.Timer\">\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"form-group row\">\r\n      <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'is Load Tab'|translate}}</label>\r\n      <div class=\"col-sm-8\">\r\n        <input type=\"checkbox\" class=\"form-control\" id=\"AutoLoad\" [(ngModel)]=\"group.isLoadTab\">\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n  <div class=\"body\">\r\n\r\n    <div class=\"field-tab clearfix\">\r\n\r\n      <ul class=\"nav nav-tabs\">\r\n        <li class=\"nav-item\" *ngFor=\"let tab of group.Tabs;let tabIndex = index\">\r\n          <a class=\"nav-link active\" data-toggle=\"tab\" [attr.data-target]=\"'#tabView_'+tab.Id\"\r\n          data-bs-toggle=\"tab\" [attr.data-bs-target]=\"'#tabView_'+tab.Id\"(click)=\"ChangeTab(tab,tabIndex)\" [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n            <ng-container *ngIf=\"!tab.showtext\">\r\n\r\n              <span (click)=\"clickshowtext(tab)\"> {{tab.Name |translate}}</span>\r\n\r\n              <common-delete *ngIf=\"ViewType!='viewer'\" [item]=\"tab\" [nowDelete]=\"false\"\r\n                (deleteMethod)=\"removeTab($event.data,tabIndex)\"></common-delete>\r\n\r\n\r\n            </ng-container>\r\n            <ng-container *ngIf=\"tab.showtext\">\r\n              <input type=\"text\" (keyup)=\"tabNameChange($event,tab)\" [(ngModel)]=\"tab.Name\" />\r\n            </ng-container>\r\n          </a>\r\n        </li>\r\n        <li class=\"nav-item\" *ngIf=\"ViewType!='viewer'\">\r\n          <a class=\"nav-link\">\r\n            <div class=\"add_btn pt5\" (click)=\"addNewtab()\">\r\n              <div class=\"round_circle_add\"><i class=\"fa fa-plus\"></i></div>\r\n            </div>\r\n          </a>\r\n        </li>\r\n\r\n\r\n      </ul>\r\n\r\n      <div class=\"tab-content\" style=\"padding: 0;\">\r\n        <ng-container *ngFor=\"let tab of  group.Tabs;let tabIndex = index\">\r\n          <div class=\"tab-pane animated active\"\r\n            *ngIf=\"!group.isLoadTab || (group.isLoadTab ==true && currrentTab==tabIndex)\" id=\"tabView_{{tab.Id}}\"\r\n            [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n            <!-- <page-controller [tabIndex]=\"tabIndex\" [menuText]=\"menuText\" [ViewType]=\"ViewType\" [group]=\"tab.group\"\r\n              [contentGroups]=\"contentGroups\"></page-controller> -->\r\n\r\n              <!-- Duplicate -->\r\n              <ng-container *ngIf=\"group.ControlType; else elseTemplate\">\r\n\r\n                <div class=\"content-box\">\r\n            \r\n                    <div class=\"content-view\" >\r\n                        <div class=\"content-add\">\r\n                          <page-entity [tabIndex]=\"tabIndex\" [ViewType]=\"ViewType\" [group]=\"tab.group\" [menuText]=\"menuText\"\r\n                          class=\"inner_flex\" [queryParams]=\"queryParams\"></page-entity>\r\n                        </div>\r\n            \r\n                    </div>\r\n            \r\n                </div>\r\n            \r\n            </ng-container>\r\n            <ng-template #elseTemplate>\r\n            \r\n                <div class=\"add_contents text-center\">\r\n                    <div class=\"clearfix\">\r\n                        <div class=\"content\">\r\n                            <ng-container *ngIf=\"ViewType!='viewer'\">\r\n                            </ng-container>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            \r\n            </ng-template>\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n\r\n\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PageContentGroup, PageContentsRow, slide } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'app-progress-bar',\r\n  templateUrl: './progress-bar.component.html',\r\n  styleUrls: ['./progress-bar.component.scss'],\r\n})\r\nexport class ProgressBarComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {\r\n    if (this.group.Tabs.length > 0) {\r\n      this.group.Tabs.map((x: any) => {\r\n        x.showtext = false;\r\n        return x;\r\n      });\r\n    }\r\n  }\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n  @Input() queryParams:any=null;\r\n\r\n  @Input() menuText: any;\r\n\r\n  currrentTab: number = 0;\r\n\r\n  ChangeTab(tab: any, index: any) {\r\n    this.currrentTab = index;\r\n  }\r\n\r\n  addNewtab() {\r\n    debugger;\r\n    let num: number = this.group.Tabs.length + 1;\r\n    let _groupid = this.group.ID + '_' + this.getGroupCount();\r\n    let tab = {\r\n      Id: num,\r\n      Name: 'Tab_' + num,\r\n      group: new PageContentGroup(_groupid),\r\n      showtext: false,\r\n    };\r\n    this.group.Tabs.push(tab);\r\n  }\r\n  getGroupCount() {\r\n    debugger;\r\n    let _group = 1;\r\n    this.group.Tabs.forEach((row) => {\r\n      Object.keys(row.group).forEach((key) => {\r\n        if ((key = 'ID')) {\r\n          let _idN: number = Number(row.group[key].split('_')[2]);\r\n          if (_idN >= _group) _group = _idN + 1;\r\n        }\r\n        return _group;\r\n      });\r\n    });\r\n    return _group;\r\n  }\r\n\r\n  tabNameChange(event: any, tab: any) {\r\n    if (event.keyCode == 13) {\r\n      tab.showtext = false;\r\n    }\r\n  }\r\n\r\n  clickshowtext(tab: any) {\r\n    if (this.ViewType == 'viewer') return;\r\n\r\n    tab.showtext = true;\r\n  }\r\n\r\n  removeTab(tab: any, index: any) {\r\n    this.group.Tabs.splice(index, 1);\r\n  }\r\n\r\n  hasHorizontalScrollbar: boolean = false;\r\n  slider(direction: any, Id: any) {\r\n    slide(direction, Id);\r\n  }\r\n\r\n  changeType() {\r\n    var element = document.getElementById('p_Bar');\r\n    if (element != null) element.classList.toggle('progressBar');\r\n\r\n    var element1 = document.getElementById('slider-arrow');\r\n    if (element1 != null && element1.classList.contains('breadcrumbs')) {\r\n      element1.classList.remove('breadcrumbs');\r\n      element1.classList.add('breadcrumbNew');\r\n    } else {\r\n      if (element1 != null) {\r\n        element1.classList.remove('breadcrumbNew');\r\n        element1.classList.add('breadcrumbs');\r\n      }\r\n    }\r\n  }\r\n}\r\n","<div id=\"p_Bar\" class=\"card card-group card-tab\">\r\n  <div class=\"header clearfix\" *ngIf=\"ViewType!='viewer'\">\r\n    <h2 class=\"float-left\">\r\n      <code><i>#{{group.ID}}</i></code> progressBar Controller\r\n    </h2>\r\n  </div>\r\n  <div class=\"body\">\r\n\r\n    <div class=\"field-tab clearfix\">\r\n\r\n      <div class=\"main-page-view\">\r\n        <div class=\"clearfix\">\r\n          <div class=\"breadcrumbs  checkLength\" [ngClass]=\"{'checkLength' :group.Tabs && group.Tabs.length > 6}\"\r\n            id=\"slider-arrow\">\r\n            <a href=\"javascript:void(0);\" *ngFor=\"let tab of group.Tabs; let tabIndex = index\"\r\n              (click)=\"ChangeTab(tab,tabIndex)\" class=\"breadcrumb__item\" [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n              <ng-container *ngIf=\"!tab.showtext\">\r\n                <span class=\"breadcrumb__inner\">\r\n                  <span class=\"breadcrumb__title\" (click)=\"clickshowtext(tab)\"> {{tab.Name |translate}}</span>\r\n                  <common-delete *ngIf=\"ViewType!='viewer'\" [item]=\"tab\" [nowDelete]=\"false\"\r\n                    (deleteMethod)=\"removeTab($event.data,tabIndex)\"></common-delete>\r\n\r\n                </span>\r\n              </ng-container>\r\n              <ng-container *ngIf=\"tab.showtext\">\r\n                <input type=\"text\" class=\"my-3\" (keyup)=\"tabNameChange($event,tab)\" [(ngModel)]=\"tab.Name\" />\r\n              </ng-container>\r\n            </a>\r\n          </div>\r\n          <div class=\"float-right arrow-border\" [ngClass]=\"hasHorizontalScrollbar ==true ?'d-block':'d-none'\"\r\n            *ngIf=\"group.Tabs&& group.Tabs.length > 6\">\r\n            <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('left','slider-arrow')\"><i\r\n                class=\"fa fa-arrow-left\"></i></a>\r\n            <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('right','slider-arrow')\"><i\r\n                class=\"fa fa-arrow-right\"></i></a>\r\n          </div>\r\n          <ng-container *ngIf=\"ViewType!='viewer'\">\r\n\r\n            <div class=\"breadcrumb__item breadcrumb__item-firstChild\">\r\n              <a class=\"breadcrumb__inner\">\r\n                <div class=\"add_btn pt5\" (click)=\"addNewtab()\">\r\n                  <div class=\"round_circle_add\"><i class=\"fa fa-plus\"></i></div>\r\n                </div>\r\n              </a>\r\n            </div>\r\n            <div class=\"d-none my-2\">\r\n              <button class=\"btn btn-small btn-primary\" (click)=\"changeType()\">changeType</button>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n\r\n      <ng-container *ngFor=\"let tab of  group.Tabs;let tabIndex = index\">\r\n\r\n        <div class=\"active\" *ngIf=\"currrentTab==tabIndex\" id=\"tabView_{{tab.Id}}\"\r\n          [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n\r\n          <!-- <page-controller [tabIndex]=\"tabIndex\" [menuText]=\"menuText\" [ViewType]=\"ViewType\" [group]=\"tab.group\"\r\n            [contentGroups]=\"contentGroups\"></page-controller> -->\r\n                                      <!-- Duplicate -->\r\n                                      <ng-container *ngIf=\"group.ControlType; else elseTemplate\">\r\n\r\n                                        <div class=\"content-box\">\r\n                                    \r\n                                            <div class=\"content-view\" >\r\n                                                <div class=\"content-add\">\r\n                                                  <page-entity [tabIndex]=\"tabIndex\" [ViewType]=\"ViewType\" [group]=\"tab.group\" [menuText]=\"menuText\"\r\n                                                  class=\"inner_flex\" [queryParams]=\"queryParams\"></page-entity>\r\n                                                </div>\r\n                                    \r\n                                            </div>\r\n                                    \r\n                                        </div>\r\n                                    \r\n                                    </ng-container>\r\n                                    <ng-template #elseTemplate>\r\n                                    \r\n                                        <div class=\"add_contents text-center\">\r\n                                            <div class=\"clearfix\">\r\n                                                <div class=\"content\">\r\n                                                    <ng-container *ngIf=\"ViewType!='viewer'\">\r\n                                                    </ng-container>\r\n                                                </div>\r\n                                            </div>\r\n                                        </div>\r\n                                    \r\n                                    </ng-template>\r\n            \r\n\r\n        </div>\r\n\r\n      </ng-container>\r\n\r\n\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { E_ControllerType, PageContentGroup, PageContentsRow } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'page-controller',\r\n  templateUrl: './page-controller.component.html',\r\n  styleUrls: ['./page-controller.component.scss'],\r\n})\r\nexport class PageControllerComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  \r\n  ngOnInit(): void {}\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() DatasourceForm:any = null;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n\r\n  @Input() menuText: any;\r\n  @Input() tabIndex: any;\r\n  @Input() PageData: any;\r\n  @Input() queryParams:any=null;\r\n\r\n  controllerDropDown: any[] = [\r\n    {\r\n      name: 'Tab',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Tab,\r\n      type: E_ControllerType.Tab,\r\n    },\r\n    {\r\n      name: 'Section',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Section,\r\n      type: E_ControllerType.Section,\r\n    },\r\n    {\r\n      name: 'Entity',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Entity,\r\n      type: E_ControllerType.Entity,\r\n    },\r\n    {\r\n      name: 'WorkFlow',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.WorkFlow,\r\n      type: E_ControllerType.WorkFlow,\r\n    },\r\n    {\r\n      name: 'Chart',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Chart,\r\n      type: E_ControllerType.Chart,\r\n    },\r\n    {\r\n      name: 'Report',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Report,\r\n      type: E_ControllerType.Report,\r\n    },\r\n    {\r\n      name: 'CustomTemplate',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.CustomTemplate,\r\n      type: E_ControllerType.CustomTemplate,\r\n    },\r\n    {\r\n      name: 'UiComponent',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.UiComponent,\r\n      type: E_ControllerType.UiComponent,\r\n    },\r\n    {\r\n      name: 'Iframe',\r\n      icon: 'tabler-ti ti-frame',\r\n      Id: E_ControllerType.Iframe,\r\n      type: E_ControllerType.Iframe,\r\n    },\r\n    {\r\n      name: 'ProgressBar',\r\n      icon: 'la la-fast-forward',\r\n      Id: E_ControllerType.ProgressBar,\r\n      type: E_ControllerType.ProgressBar,\r\n    },\r\n  ];\r\n\r\n  AddControl(group: PageContentGroup, control: any) {\r\n    group.ControlType = control.type;\r\n  }\r\n\r\n}\r\n","<ng-container *ngIf=\"group.ControlType; else elseTemplate\">\r\n\r\n    <div class=\"content-box\">\r\n\r\n        <div class=\"content-view\" [ngSwitch]=\"group.ControlType\">\r\n            <span *ngSwitchDefault>\r\n                No action found\r\n            </span>\r\n            <div class=\"content-add\" *ngSwitchCase=\"1\">\r\n                <page-tab [ViewType]=\"ViewType\" [menuText]=\"menuText\" [group]=\"group\" class=\"inner_flex\" [queryParams]=\"queryParams\"></page-tab>\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"2\">\r\n                <!-- <page-section [ViewType]=\"ViewType\" [group]=\"group\" class=\"inner_flex\"></page-section> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"3\">\r\n                <ng-container *ngIf=\"group.IsDefault\">\r\n                    <!-- <page-entity-confiq [group]=\"group\" class=\"inner_flex\"></page-entity-confiq> -->\r\n                </ng-container>\r\n                <ng-container *ngIf=\"!group.IsDefault\">\r\n                    <page-entity [tabIndex]=\"tabIndex\" [ViewType]=\"ViewType\" [group]=\"group\" [menuText]=\"menuText\"\r\n                        class=\"inner_flex\" [queryParams]=\"queryParams\"></page-entity>\r\n                </ng-container>\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"4\">\r\n                WorkFlow action\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"5\">\r\n                <!-- <page-chart [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\" class=\"inner_flex\"></page-chart> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"6\">\r\n                <!-- <page-report [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    class=\"inner_flex\"></page-report> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"7\">\r\n                <!-- <page-custom-template [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    [DatasourceForm]=\"DatasourceForm\" class=\"inner_flex\"></page-custom-template> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"9\">\r\n                <!-- <app-page-ui-config [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    class=\"inner_flex\"></app-page-ui-config> -->\r\n            </div>\r\n\r\n            <div class=\"content-add\" *ngSwitchCase=\"8\">\r\n                <!-- <page-iframe [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    class=\"inner_flex\"></page-iframe> -->\r\n            </div>\r\n\r\n            <div class=\"content-add\" *ngSwitchCase=\"10\">\r\n                <app-progress-bar [ViewType]=\"ViewType\" [menuText]=\"menuText\" [group]=\"group\"  [queryParams]=\"queryParams\"\r\n                    class=\"inner_flex\"></app-progress-bar>\r\n            </div>\r\n\r\n\r\n        </div>\r\n\r\n    </div>\r\n\r\n</ng-container>\r\n<ng-template #elseTemplate>\r\n\r\n    <div class=\"add_contents text-center\">\r\n        <div class=\"clearfix\">\r\n            <div class=\"content\">\r\n                <ng-container *ngIf=\"ViewType!='viewer'\">\r\n                    <ng-container *ngFor=\"let control of controllerDropDown\">\r\n                        <div (click)=\"AddControl(group, control)\" class=\"all_btn \">\r\n                            <i class=\"{{ control.icon }}\" aria-hidden=\"true\"></i>\r\n                            <button>{{ control.name }}</button>\r\n                        </div>\r\n                    </ng-container>\r\n                </ng-container>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n</ng-template>","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport * as Handlebars from 'handlebars';\r\nimport Swal from 'sweetalert2';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { GridService } from '../../Templates/grid/grid.service';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { TranslatePipe } from '../../core/translate.pipe';\r\nimport { DynamicWfActionDataVm, E_DataType, E_DatasourceType, E_FormType, E_SelectMode, EntityTypeFieldVM, EntityTypeFormVM, EntityTypeSetUpActionVM, EntityTypeSetUpVM, FormConfig, IActionDef, IColumnDef, INameVal, ISearchCriteria, ISortingField, PageContentGroup, PageContentsRow, PageDetailsRow, StageType, errorMessageType, slide } from '../../core/common-interface-enum-classes-functions';\r\nimport { registerHandlebarHelperMethods } from '../../core/handlebar-helper-register';\r\nimport { environment } from '../../core/environment';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dynamic-entity-details',\r\n  templateUrl: './dynamic-entity-details.component.html',\r\n  styleUrls: ['./dynamic-entity-details.component.scss']\r\n})\r\nexport class DynamicEntityDetailsComponent implements OnInit, OnDestroy {\r\n  constructor(\r\n    public fb: FormBuilder,\r\n    public globalService: GlobalService,\r\n    private gridService: GridService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n  \r\n  translatePipe = new TranslatePipe(this.globalService);\r\n\r\n  @Input() RecId: any;\r\n  @Input() ViewFrom: any = 'Page';\r\n  @Input() PageViewFrom: any = null;\r\n  @Input() EntityTypeRecId: any;\r\n  @Input() FormRecId: any; // need to impletement \r\n\r\n  @Input() menuText: any;\r\n  @Input() PageData: any;\r\n  @Input() contentGroups: PageContentsRow[]=[];\r\n\r\n  @Input() group:PageContentGroup|any=null;\r\n\r\n\r\n  @Input() PrimaryKey: any;\r\n  @Input() PrimaryKeyValue: any;\r\n\r\n\r\n  @Input() hideHeader: boolean=false;\r\n\r\n  SetupDetails:EntityTypeSetUpVM|any =null;\r\n  TicketData: any;\r\n\r\n  ComponentLine:any[] = [];\r\n\r\n  setComponentLine() {\r\n    this.ComponentLine=[];\r\n   if(this.TicketData && this.TicketData.ComponentForm) {\r\n\r\n    for (let i = 0; i < this.TicketData.ComponentForm.length; i++) {\r\n\r\n      let _Component = {\r\n        Formdata:this.TicketData.ComponentForm[i],\r\n        PageGroupValues:{}\r\n      }\r\n      _Component.PageGroupValues = this.TicketData.ComponentLines.find((f:any) => f.EntityTypeId ==_Component.Formdata.EntityTypeRecId) || {};\r\n      this.ComponentLine.push(_Component);\r\n    }\r\n\r\n   }\r\n\r\n  }\r\n\r\n\r\n  showWorkflowPopup: boolean = false;\r\n  leftSideWidth = 70;\r\n\r\n  RefTypeId: number=0;\r\n\r\n  environment:any = environment;\r\n  params:any;\r\n  ngOnInit(): void {\r\n     registerHandlebarHelperMethods();\r\n    //  this.actRoute.queryParams.subscribe((res) => {\r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    //  this.params =this.actRoute.paramMap.subscribe((res) => {\r\n      \r\n    //   console.log(res);\r\n    //   if (this.ViewFrom != 'Popup') {\r\n\r\n    //     this.RecId = null;\r\n    //     if (res.get('RecId'))\r\n    //       this.RecId = Number(res.get('RecId'));\r\n\r\n    //     this.PrimaryKey = null;\r\n    //     if (res.get('PrimaryKey'))\r\n    //       this.PrimaryKey = (res.get('PrimaryKey'));\r\n\r\n    //     this.PrimaryKeyValue = null;\r\n    //     if (res.get('PrimaryKeyValue'))\r\n    //       this.PrimaryKeyValue = (res.get('PrimaryKeyValue'));\r\n\r\n    //     let _EntityTypeId: any = (res.get('EntityTypeRecId'));\r\n    //     if (isNaN(_EntityTypeId)) {\r\n    //       this.EntityTypeRecId = this.globalService.SystemConfigs.EntityTypeId[_EntityTypeId];\r\n    //       this.EntityTypeId = this.EntityTypeRecId;\r\n    //     }\r\n    //     else {\r\n    //       this.EntityTypeRecId = Number(res.get('EntityTypeRecId'));\r\n    //       this.EntityTypeId = this.EntityTypeRecId;\r\n    //     }\r\n\r\n    //     if (res.get('FormRecId'))\r\n    //     this.FormRecId = (res.get('FormRecId'));\r\n\r\n    //     if (res.get('menuText'))\r\n    //     this.menuText = (res.get('menuText'));\r\n\r\n    //   }\r\n    //   this.getEntityAllSetupData();\r\n    // });\r\n\r\n    this.dynamicAppsService.showpopup.subscribe((x:any) => {\r\n      this.displayPopupCreateView = x;\r\n    });\r\n    this.getEntityAllSetupData();\r\n  }\r\n\r\n  getEntityAllSetupData() {\r\n\r\n    if (this.EntityTypeRecId) {\r\n\r\n      this.dynamicAppsService.getEntityAllSetupData(this.EntityTypeRecId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.SetupDetails = res.Setup;\r\n            this.getDependedOnEntity()\r\n            this.CaseTypeDescription = this.globalService.CurrentLanguage =='Ar' ? (this.SetupDetails.DescriptionAr ? this.SetupDetails.DescriptionAr : this.SetupDetails.Description) : this.SetupDetails.Description\r\n\r\n            this.EntityAllFormList = res.Form;\r\n            this.EntityFieldList = res.Fields;\r\n            this.EntityActionList = res.ActionForm;\r\n\r\n            if (this.SetupDetails.IsWorkFlow || this.SetupDetails.EntityType == 40) {\r\n              this.StatusAndStageList = res.WfStage;\r\n            }\r\n\r\n            if (this.SetupDetails.IsWorkFlow || this.SetupDetails.EntityType == 40) {\r\n              this.getWorkflowStatusWithStage()\r\n            }\r\n\r\n            this.getEntityFormActionList();\r\n            this.getEntityFormDetails();\r\n\r\n            if (this.SetupDetails.EntityType != 150) {\r\n\r\n              if (res.Activity) {\r\n                this.ActivityFields = res.Activity;\r\n                this.ActivityAction();\r\n              }\r\n              else {\r\n                this.getActivity();\r\n              }\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  IsAttach:boolean = false;\r\n  IsAction:boolean = false;\r\n  IsBack:boolean = false;\r\n  IsLoadFile:boolean = false;\r\n\r\n  getAppAction() {\r\n    if (this.EntityFormData && this.EntityFormData.Configure) {\r\n      let _formconfig: FormConfig = JSON.parse(this.EntityFormData.Configure);\r\n      this.IsAttach = _formconfig.IsAttach;\r\n      this.IsAction = _formconfig.IsAction;\r\n      this.IsBack = _formconfig.IsBack\r\n      this.BackURL = _formconfig.BackURL;\r\n      this.isEdit = _formconfig.IsEdit;\r\n      this.IsLoadFile = _formconfig.IsLoadFile;\r\n      if (this.IsAction) {\r\n        if (_formconfig.ActionList && _formconfig.ActionList.length > 0) {\r\n          let filteredArray:any[] = [];\r\n          this.MinEntityActionList.forEach((x:any) => {\r\n            if (_formconfig.ActionList.find((y:any) => y.RecId == x.RecId))\r\n              filteredArray.push(x);\r\n          });\r\n          this.MinEntityActionList = filteredArray\r\n        }\r\n      }\r\n    }\r\n    else {\r\n    }\r\n  }\r\n\r\n\r\n  BackURL: any = null;\r\n  goBack() {\r\n    \r\n    // if (this.BackURL) {\r\n    //   let _backURL: any = this.BackURL;\r\n\r\n    //   if (this.globalService.appId == \"System\")\r\n    //     _backURL = \"/System/\" + this.BackURL;\r\n    //   else if (this.globalService.appId == \"Platform\")\r\n    //     _backURL = \"/Platform/\" + this.BackURL;\r\n\r\n    //   //this.route.navigate([_backURL]);\r\n    // }\r\n  }\r\n\r\n  EntityAllFormList:EntityTypeFormVM[] = [];\r\n  EntityFieldList:EntityTypeFieldVM[] =[];\r\n\r\n  CaseTypeDescription:string|any = null;\r\n  stageId: number = 0;\r\n  EntityTypeId: number = 0;\r\n  EntityFormId: number = 0;\r\n  EntityFormData: EntityTypeFormVM|any = null;\r\n  refRecId: number = 0;\r\n  displayPopupCreateView: boolean = false;\r\n  EntityPageGroupsData: PageDetailsRow[] = [];\r\n  EntityDefaultPageGroupsData: PageDetailsRow[] = [];\r\n  sourceId: string|any=null;\r\n\r\n\r\n  getTicketDetails() {\r\n    \r\n    if (this.RecId != null || this.PrimaryKeyValue != null) {\r\n      this.dynamicAppsService.getDynamicById(this.EntityTypeRecId, this.RecId, null, this.PrimaryKey, this.PrimaryKeyValue,this.IsLoadFile)\r\n        .subscribe((x: any) => {          \r\n          if(x)\r\n          this.setPageData(x);\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n\r\n  setPageData(data:any) {\r\n    this.TicketData = data;\r\n    this.CurrentStageName = this.TicketData.ProcessStageEn;\r\n    this.setComponentLine();\r\n    this.stageId = data.ProcessStage;\r\n    this.EntityTypeId = this.EntityTypeRecId;\r\n    if (this.group && this.group.ControlData)\r\n    this.group.ControlData.FormData = data;\r\n\r\n    this.globalService.getAllPageData();\r\n\r\n    this.refRecId = data.RecId;\r\n    this.GetPageList(this.storeCriteria);\r\n\r\n    this.getDocumentTemplate();\r\n    if (data.ProcessStage){\r\n      let _stage:any = this.StatusAndStageList.find((x:any)=>x.StageId==data.ProcessStage)\r\n      this.selectedStageObj = _stage;\r\n      if (_stage && _stage.StageType == StageType.Auto)\r\n        this.wfActionData = [];\r\n      else\r\n        this.getWfStageAction(this.EntityTypeRecId, data.ProcessStage);\r\n    }\r\n    this.getActivities();\r\n  }\r\n\r\n\r\n  getRemoteList() {\r\n    \r\n\r\n    if (!this.EntityFormData) {\r\n      return\r\n    }\r\n\r\n    let isCallRemote: boolean = false;\r\n    if (this.EntityFormData) {\r\n      if (this.EntityFormData.DataSourceType && (this.EntityFormData.DataSource || this.EntityFormData.DataSourceId)) {\r\n        isCallRemote = true\r\n      }\r\n    }\r\n\r\n    if (isCallRemote) {\r\n      if (this.EntityFormData.DataSourceType == E_DatasourceType.Query) {\r\n\r\n        if (this.EntityFormData.DataSourceId) {\r\n\r\n          let Parameter = []\r\n          if (this.EntityFormData.DataSource) {\r\n            let _param = JSON.parse(this.EntityFormData.DataSource)\r\n            Parameter = _param.map((x:any) => {\r\n              x.Value = this.hanbleBarData(x.Value);\r\n              return x\r\n            });\r\n\r\n          }\r\n\r\n          let _QueryParameter: INameVal[] = [];\r\n          Parameter.forEach((x:any) => {\r\n            _QueryParameter.push({ Name: x.Field, Value: x.Value })\r\n          });\r\n\r\n\r\n          this.dynamicAppsService.getDyamicQueryData(this.EntityFormData.DataSourceId, this.EntityFormData.RecId, this.storeCriteria, Parameter)\r\n            .subscribe((res: any) => {\r\n              \r\n              let _data: any = res.Data ? res.Data : res;\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0)\r\n                this.setPageData(_data[0]);\r\n              else\r\n                this.setPageData(_data);\r\n\r\n            this.loaderService.hideLoading();\r\n            },\r\n              (error) => {\r\n                this.loaderService.hideLoading();\r\n                if (error.status == 401) {\r\n                  return\r\n                }\r\n                console.log(error);\r\n              });\r\n        }\r\n      }\r\n      else if (this.EntityFormData.DataSourceType == E_DatasourceType.Entity) {\r\n        if (this.EntityFormData.DataSourceId) {\r\n\r\n          this.getTicketDetails()\r\n        }\r\n      }\r\n      else if(this.EntityFormData.DataSourceType == E_DatasourceType.SQLConnector) {\r\n\r\n        if(this.EntityFormData.DataSourceId){\r\n\r\n          let _objectType = JSON.parse(this.EntityFormData.DataSource);\r\n\r\n          let condition = null;\r\n          if (_objectType.Condtion && _objectType.Condtion.length > 0) {\r\n            let _condition = {\r\n              Condtion:_objectType.Condtion,\r\n              CondtionOperator:_objectType.CondtionOperator\r\n            }\r\n            condition = JSON.stringify(_condition)\r\n            condition = this.hanbleBarData(condition);\r\n          }\r\n\r\n          this.dynamicAppsService.getSQLExecute(this.storeCriteria,this.EntityFormData.DataSourceId,_objectType.Type,_objectType.Name,condition )\r\n          .subscribe((res: any) => {\r\n\r\n            let _data: any = res.Data ? res.Data : res;\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0)\r\n                this.setPageData(_data[0]);\r\n              else\r\n                this.setPageData(_data);\r\n\r\n                this.loaderService.hideLoading();\r\n          },\r\n            (error) => {\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n            });\r\n\r\n        }\r\n\r\n      }\r\n      else {\r\n\r\n        if (this.EntityFormData.DataSource) {\r\n          let RestData = JSON.parse(this.EntityFormData.DataSource)\r\n\r\n          RestData.URL = this.hanbleBarData(RestData.URL);\r\n          RestData.Body = this.hanbleBarData(RestData.Body);\r\n          if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n            RestData.Body = JSON.parse(RestData.Body);\r\n          }\r\n          RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value);\r\n            return x\r\n          });\r\n\r\n          RestData.Headers = RestData.Headers.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value);\r\n            return x\r\n          });\r\n\r\n          this.dynamicAppsService.dynamicAPi(RestData, this.storeCriteria, null, true)\r\n            .subscribe((res: any) => {\r\n              \r\n\r\n              let _data: any = res;\r\n              if (RestData.ResponseView) {\r\n                let _rview = RestData.ResponseView.split(\".\");\r\n                _rview.forEach((x:any) => {\r\n                  _data = _data[x];\r\n                });\r\n              }\r\n\r\n              if (_data && Array.isArray(_data) && _data.length > 0)\r\n                this.setPageData(_data[0]);\r\n              else\r\n                this.setPageData(_data);\r\n\r\n\r\n                this.loaderService.hideLoading();\r\n            },\r\n              (error) => {\r\n                this.loaderService.hideLoading();\r\n                if (error.status == 401) {\r\n                  return\r\n                }\r\n                Swal.fire(errorMessageType(error));\r\n              });\r\n        }\r\n      }\r\n    }\r\n    else {\r\n      this.getTicketDetails()\r\n    }\r\n\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n\r\n  getEntityFormDetails() {\r\n    \r\n    this.EntityDefaultPageGroupsData = [];\r\n    this.EntityPageGroupsData = [];\r\n    this.EntityTypeId = this.EntityTypeRecId;\r\n\r\n        \r\n         let res = this.EntityAllFormList.filter(x => x.FormType == 2)[0];\r\n\r\n        if (res.FormData) {\r\n          let _FormData = JSON.parse(res.FormData);\r\n\r\n          if (_FormData.PageGroup) {\r\n            if (Array.isArray(_FormData.PageGroup)) {\r\n              this.EntityPageGroupsData = _FormData.PageGroup;\r\n            }\r\n          }\r\n          if (_FormData.defaultPageGroups) {\r\n            if (Array.isArray(_FormData.defaultPageGroups)) {\r\n              this.EntityDefaultPageGroupsData = _FormData.defaultPageGroups;\r\n            }\r\n          }\r\n        }\r\n        this.EntityFormData = res;\r\n        this.EntityFormId = res.RecId;\r\n        this.getAppAction();\r\n        this.getRemoteList();\r\n\r\n  }\r\n\r\n  wfActionData: DynamicWfActionDataVm[] = [];\r\n\r\n  wfActivities: any[] = [];\r\n  getWfStageAction(EntityTypeId:any, StageId:any) {\r\n    this.dynamicAppsService.urlGetWfStageAction(EntityTypeId,StageId).subscribe(\r\n      (res: any) => {        \r\n        this.wfActionData = res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  wfStatusFields: any[]=[];\r\n  action: number = 0;\r\n  ActionName:any = \"Complete\";\r\n  CurrentStageName:any = \"Workflow\";\r\n  selectedStageObj: any;\r\n\r\n  workflowEntityFormId:any = null;\r\n  getStatusField(data: DynamicWfActionDataVm) {\r\n    this.ActionName = data.ActionDescription;\r\n    this.action = data.ActionRecId;\r\n    this.workflowEntityFormId = data.WorkFlowForm;\r\n    \r\n    this.showWorkflowPopup = true;\r\n    this.dynamicAppsService.onshowWorkflowPopup.next({\r\n      showWorkflowPopup: true,\r\n      fieldConfig: [],\r\n    });\r\n  }\r\n\r\n  showActionForm:boolean = false;\r\n  ActionEntityForm:EntityTypeFormVM|any = null;\r\n  ActionEntityFormData:any = null;\r\n  changeActionEntityForm(CreateData:any, pageForm:any, forms:any) {\r\n\r\n    let FormData = forms;\r\n    this.ActionEntityFormData = FormData.PageGroupValues\r\n  }\r\n\r\n  openEntityAction(Item:EntityTypeFormVM){\r\n\r\n     if(Item.FormType == E_FormType.Action){\r\n      this.ActionEntityForm = Item;\r\n      this.showActionForm = true;\r\n    }\r\n\r\n  }\r\n\r\n\r\n  saveActionEntityForm() { \r\n\r\n    let griddataObj:any ={};\r\n    if(this.TicketData){\r\n       let _rowData = this.TicketData;\r\n       for (let key in _rowData) {\r\n        let crrentKeyData:any[] = [];\r\n        let _TicketData:any[] = [];\r\n        _TicketData.push(this.TicketData)\r\n        _TicketData.forEach(x => {\r\n          crrentKeyData.push(x[key]);\r\n        });\r\n\r\n        griddataObj[key]=crrentKeyData.toString()\r\n       }\r\n    }\r\n\r\n    let _handleData: any = {};\r\n    if (this.ActionEntityFormData) {\r\n      _handleData.FormData = this.ActionEntityFormData;\r\n      _handleData.Data= griddataObj\r\n    }\r\n\r\n    if (this.ActionEntityForm.DataSource) {\r\n      let RestData = JSON.parse(this.ActionEntityForm.DataSource)\r\n\r\n      RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n      RestData.Body = this.hanbleBarData(RestData.Body,_handleData);\r\n      if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n      }\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n      RestData.Headers = RestData.Headers.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n\r\n      this.dynamicAppsService.dynamicAPi(RestData,this.storeCriteria,null,true)\r\n        .subscribe((res: any) => {\r\n\r\n          let _resdata = {\r\n            ResponseData:res\r\n          }\r\n\r\n          if(RestData.SuccessFormat && RestData.SuccessFormat.Condtion.length>0){\r\n            let isSuccess:boolean = false;\r\n\r\n            isSuccess = this.onRulesConditionCheck(RestData.SuccessFormat, _resdata);\r\n\r\n            if (isSuccess) {\r\n              if (RestData.SuccessMessage) {\r\n                let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n                Swal.fire('', sccMsg, 'success');\r\n              }\r\n              else {\r\n                Swal.fire(\"Action Completed\");\r\n              }              \r\n            }\r\n            else {\r\n              if (RestData.ErrorMessage) {\r\n                let errorMsg = this.hanbleBarData(RestData.ErrorMessage, _resdata) ;;\r\n                Swal.fire('', errorMsg, 'error');\r\n              }\r\n              else {\r\n                Swal.fire('', JSON.stringify(res), 'error');\r\n              }\r\n            }\r\n          }\r\n          else {\r\n            if (RestData.SuccessMessage) {\r\n              let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n              Swal.fire('', sccMsg, 'success');\r\n            }\r\n            Swal.fire(\"Action Completed\");\r\n          }\r\n          this.showActionForm =  false;\r\n          this.getTicketDetails();\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n\r\n          });\r\n    }\r\n\r\n\r\n  }\r\n\r\n  ActivityType: any[] = [];\r\n  TotalActivity: number = 0;\r\n\r\n  SortingField: ISortingField = { field: null, direction: null } as any;\r\n  activitySearchcriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 100,\r\n    },\r\n    Where: [],\r\n    SortOrder: this.SortingField,\r\n  };\r\n\r\n  loadMoreActivities() {\r\n    this.activitySearchcriteria.Pagging.PageSize += 10;\r\n    this.getActivities();\r\n  }\r\n\r\n  getActivities() {   \r\n\r\n    if(this.SetupDetails.EntityType ==150) {\r\n      return\r\n    }\r\n    this.dynamicAppsService.getDynamicByEntityRefrecid(\r\n      this.EntityTypeRecId,\r\n      this.refRecId,\r\n      this.activitySearchcriteria,\r\n      this.Activity\r\n    ).subscribe((res: any) => {      \r\n      this.ActivityType = res.Data;\r\n      this.setTimeline();\r\n      this.TotalActivity = res.TotalCount;\r\n      this.loaderService.hideLoading();\r\n    });\r\n    (error:any) => {      \r\n      this.loaderService.hideLoading();\r\n    };\r\n  }\r\n\r\n\r\n  ActivityFields: any[]=[];\r\n  activity: any = null;\r\n  activities: string |any= null;\r\n\r\n  EntityType: number = 30;\r\n\r\n  Searchcriteria: ISearchCriteria = {\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 100,\r\n    },\r\n    Where: [],\r\n    SortOrder: 1,\r\n  };\r\n\r\n  getActivity() {\r\n    \r\n    this.dynamicAppsService.getAllAssinedActivites(this.Searchcriteria,this.EntityTypeRecId)\r\n      .subscribe(\r\n        (res: any) => {\r\n        this.ActivityFields = res.Data;\r\n        this.ActivityAction();\r\n        this.loaderService.hideLoading();\r\n      },(error:any) => {\r\n        this.loaderService.hideLoading();\r\n      });\r\n  }\r\n\r\n  ActivityAction() {\r\n    if (this.ActivityFields.length > 0) {\r\n      const sortBy = [ 'SMS', 'Email', 'Notes', 'Comments']; //sort by descending order\r\n\r\n      this.ActivityFields = this.ActivityFields.sort(\r\n        (a, b) =>\r\n          sortBy.indexOf(b.Description) - sortBy.indexOf(a.Description)\r\n      );\r\n\r\n      this.openDefaultComments();\r\n    }\r\n  }\r\n\r\n  getActivityFileUploads(item:any) {\r\n    \r\n    if(item.showform && item.RecId && item.ActivityTypeId) {\r\n    this.dynamicAppsService.getActivityUploadFile(item.RecId,this.EntityTypeRecId,item.ActivityTypeId)\r\n    .subscribe((res: any) => {\r\n      if(res && res.length > 0) {\r\n        item.uploadFiles = res;\r\n      }\r\n      this.loaderService.hideLoading();\r\n    },(error:any) => {\r\n      this.loaderService.hideLoading();\r\n    });\r\n  }\r\n\r\n  }\r\n\r\n  openDefaultComments() {\r\n    \r\n    this.commentsActivityItem = this.ActivityFields.filter(\r\n      (x) => x.ActionType == '5'\r\n    )[0];\r\n\r\n  }\r\n\r\n  isSubmit: boolean = false;\r\n\r\n  ClosepopUp: boolean = false;\r\n\r\n  WfActionForm: FormGroup = this.fb.group({\r\n    comments: ['', [Validators.required]],\r\n  });\r\n\r\n  backToList() {    \r\n    //this.route.navigate(['/EntityTypeSetup/ticket', this.EntityTypeRecId]);\r\n    this.RecId = null;\r\n  }\r\n\r\n  getWorkflowActionComments(comments:any, updateFileds:any, updateFieldsObject:any) {\r\n\r\n    this.dynamicAppsService.urlPostTicketWfAction(\r\n      this.RecId,\r\n      this.stageId,\r\n      this.action,\r\n      comments,\r\n      updateFileds,\r\n      updateFieldsObject,\r\n      this.EntityTypeId\r\n    ).subscribe(\r\n      (res: any) => {\r\n        this.getRemoteList();\r\n        Swal.fire('Action Updated Successfully');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        error.error;\r\n        if(error.error?.status == false){\r\n          let msg = JSON.parse(error.error?.msg);\r\n          if(msg && msg.msg){\r\n            msg = msg.msg;\r\n          }else{\r\n            msg = error.error?.msg\r\n          }\r\n          Swal.fire(\"Error\",this.translatePipe.transform(msg),\"error\");\r\n        }else{\r\n          Swal.fire(this.translatePipe.transform(error.ExceptionMessage),this.translatePipe.transform(error.message),\"error\");\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  addEvents(data: any) {\r\n    this.openPopupCreatePage(data);\r\n  }\r\n\r\n  pageTitle = 'Process Stage';\r\n  pageDesp = 'Process Stage';\r\n  selectMode: E_SelectMode = E_SelectMode.None;\r\n  isAttach: boolean = false;\r\n  isCreate: boolean = false;\r\n  isEdit: boolean = false;\r\n  isDelete: boolean = false;\r\n  isExport: boolean = false;\r\n  gridActionList: IActionDef[] = [];\r\n  columnDefs: IColumnDef[] = [\r\n    { Field: 'ProcessStage', Name: 'Stage Id' },\r\n    { Field: 'ProcessStageEn', Name: 'Description' },\r\n    { Field: 'Comments', Name: 'Comments' },\r\n    { Field: 'CreatedBy', Name: 'Created By' },\r\n    { Field: 'ModifiedBy', Name: 'Action By' },\r\n    { Field: 'StartDate', Name: 'Start Date', DataType: E_DataType.date },\r\n    { Field: 'EndDate', Name: 'End Date', DataType: E_DataType.date },\r\n  ];\r\n\r\n  storeCriteria: ISearchCriteria={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 100,\r\n    },\r\n    Where: [],\r\n    SortOrder: this.SortingField,\r\n  };\r\n\r\n  ProcessStageList: any = [];\r\n\r\n  GetPageList(Criteria: ISearchCriteria) {\r\n\r\n    if(this.SetupDetails.EntityType ==150) {\r\n      return\r\n    }\r\n\r\n    if (this.EntityTypeId != null && this.refRecId !=null) {\r\n      \r\n      this.storeCriteria = Criteria;\r\n      this.dynamicAppsService.getWfInsProcessStageComments(\r\n        Criteria,\r\n        this.EntityTypeId,\r\n        this.refRecId\r\n      ).subscribe(\r\n        (res: any) => {          \r\n          this.ProcessStageList = res.Data;\r\n          this.getValidateSkipOrCompleteProcessStage();\r\n          this.loadGrid(res.Data, res.TotalCount,100);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n          this.loadGrid([], 0,100);\r\n         }\r\n      );\r\n    }\r\n  }\r\n\r\n  getValidateSkipOrCompleteProcessStage(){ \r\n    this.StatusAndStageList = this.StatusAndStageList.map((x:any,i:number)=>{\r\n    let data =  this.ProcessStageList.filter((y:any)=> y.ProcessStage == x.StageId).length\r\n      if(data){\r\n      x.classname = \"complete\";\r\n      }\r\n      if(x.StageId == this.TicketData?.ProcessStage){\r\n        x.classname = \"selected\";\r\n      }\r\n      return x ;\r\n    });\r\n  }\r\n\r\n  loadGrid(data: any, TotalRecord: number, grid?: number) {\r\n    \r\n    let _grid = grid ? grid : 1;\r\n    if (data) {\r\n      if (data.length > 0)\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          list: data,\r\n          count: data.length,\r\n          grid: _grid,\r\n          totalRecordCount: TotalRecord,\r\n        });\r\n      else\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          grid: _grid,\r\n          list: [],\r\n          count: 0,\r\n          totalRecordCount: 0,\r\n        });\r\n    } else\r\n      this.gridService.onGridRefresh.next({\r\n        isTrue: true,\r\n        grid: _grid,\r\n        list: [],\r\n        count: 0,\r\n        totalRecordCount: 0,\r\n      });\r\n  }\r\n\r\n  showStageDetails: boolean = false;\r\n  selectedProcess: any;\r\n  selectedProcessList: any[] = [];\r\n  selectProcess(item: any) {\r\n    \r\n    if (this.selectedProcess) this.showStageDetails = false;\r\n\r\n    if (\r\n      this.selectedProcess &&\r\n      this.selectedProcess.ProcessStage == item.StageId\r\n    ) {\r\n      setTimeout(() => (this.selectedProcess = null), 500);\r\n    } else {\r\n      this.showStageDetails = true;\r\n      this.selectedProcessList = this.ProcessStageList.filter(\r\n        (x: any) => x.ProcessStage == item.StageId\r\n      );\r\n      this.selectedProcess =\r\n        this.selectedProcessList[this.selectedProcessList.length - 1];\r\n    }\r\n  }\r\n  closeProcess() {\r\n    this.showStageDetails = false;\r\n    setTimeout(() => (this.selectedProcess = null), 500);\r\n  }\r\n\r\n  commentsData = [];\r\n  commentsDataCount: number = 0;\r\n\r\n  getComments() {\r\n    \r\n    if (this.refRecId != null) {\r\n      this.dynamicAppsService.urlGetTicketUpdateByRecId(this.refRecId).subscribe(\r\n        (x: any) => {\r\n          this.commentsData = x.Data;\r\n          this.commentsDataCount = x.TotalCount;\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          Swal.fire(this.translatePipe.transform(error.error));\r\n        }\r\n      );\r\n    }\r\n  }\r\n\r\n  CreateItemId: number = 0;\r\n  selectedActivityItem: any = null;\r\n  commentsActivityItem: any = null;\r\n  detailsEntityTypeId: number = 0;\r\n  Activity: number = 0;\r\n\r\n  openPopupCreatePage(item: any) {\r\n    \r\n    this.CreateItemId = 0;\r\n    setTimeout(() => (this.CreateItemId = item.RecId), 0);\r\n\r\n    this.selectedActivityItem = item;\r\n    if (item.Description != 'Comments') this.displayPopupCreateView = true;\r\n  }\r\n\r\n  closePopupCreateView(Type?: any) {\r\n    this.CreateItemId = 0;\r\n    this.displayPopupCreateView = false;\r\n    if (Type == 'Create') {\r\n      this.getActivities();\r\n      this.openDefaultComments();\r\n    }\r\n  }\r\n\r\n  /* #region  Activity */\r\n\r\n  ActivityTypeId: any = null;\r\n  allActivities: any = [];\r\n  ActivityList: any[] = [];\r\n\r\n  getDynamicAllActivity() {\r\n    \r\n\r\n    let SortingField: ISortingField = { field: null, direction: null } as any;\r\n    let Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [],\r\n      SortOrder: SortingField,\r\n    };\r\n\r\n    let filterobj = {\r\n      Field: 'EntityType',\r\n      Operator: 'Contains',\r\n      TableAlias: '',\r\n      Value: 30,\r\n    };\r\n    Searchcriteria.Where.push(filterobj);\r\n\r\n    this.dynamicAppsService.getAllEntityTypeSetup(Searchcriteria).subscribe(\r\n      (x: any) => {\r\n        this.ActivityList = x.Data;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  getDynamicAllActivityList() {\r\n    \r\n\r\n    let SortingField: ISortingField = { field: null, direction: null } as any;\r\n    let Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [],\r\n      SortOrder: SortingField,\r\n    };\r\n\r\n    this.dynamicAppsService.getDynamicAllActivity(\r\n      Searchcriteria,\r\n      this.EntityTypeRecId,\r\n      this.ActivityTypeId\r\n    ).subscribe(\r\n      (x: any) => {\r\n        this.allActivities = x.Data;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  changeactivity(event: any) {\r\n    this.getDynamicAllActivityList();\r\n  }\r\n\r\n\r\n  /* #region  EDIT */\r\n  PopupEditView: boolean = false;\r\n  openPopupEditView() {\r\n    \r\n    this.PopupEditView = true;\r\n    // this.Activity=item.RecId;\r\n  }\r\n\r\n  closePopupEditView(Type?: any) {\r\n    this.PopupEditView = false;\r\n    if (Type == 'Edit') {\r\n      this.getRemoteList();\r\n    }\r\n  }\r\n\r\n  /* #endregion */\r\n\r\n  /* #endregion */\r\n  TaskCommentFile: any = null;\r\n\r\n  CommentsText: any = null;\r\n\r\n  commentSubmit() {\r\n    \r\n    let data = {\r\n      comments: this.CommentsText,\r\n      refernceFields: 'Ticket',\r\n      refRecId: this.refRecId,\r\n    };\r\n\r\n    // this.service.urlComments(data).subscribe(\r\n    //   (x: any) => this.taskAssignData = x);\r\n\r\n    let formData: FormData = new FormData();\r\n\r\n    if (this.fileList && this.fileList.length > 0) {\r\n      let file: File = this.fileList[0];\r\n      formData.append('Files', file, file.name);\r\n    }\r\n\r\n    this.dynamicAppsService.postTicketComments(\r\n      this.fileList,\r\n      data\r\n    ).subscribe(\r\n      (x: any) => {        \r\n        this.CommentsText = null;\r\n        this.TaskCommentFile = null;\r\n        this.fileList = null;\r\n        this.getComments();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) =>{\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  fileList: any;\r\n\r\n  fileChange(event: any) {\r\n    \r\n    this.fileList = event.target.files;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.globalService.showBackIcon = false;\r\n    this.params?.unsubscribe();\r\n  }\r\n\r\n  StatusAndStageList: any[] = [];\r\n\r\n  getWorkflowStatusWithStage() {\r\n    \r\n    this.StatusAndStageList = this.StatusAndStageList.sort((a, b) => {\r\n      if (a.OrderId < b.OrderId) return -1;\r\n      else if (a.OrderId > b.OrderId) return 1;\r\n      else return 0;\r\n    });\r\n    setTimeout(() => {\r\n      this.overflowActive();\r\n    }, 100);\r\n\r\n  }\r\n\r\n  tabDisplayView: number = 2;\r\n\r\n  gridChangeTabs(data: any) {\r\n    this.tabDisplayView = Number(data);\r\n    if(this.tabDisplayView==4){\r\n      this.getManPowerAttachList();\r\n    }\r\n  }\r\n\r\n\r\n  TimelineList: any[] = [];\r\n  setTimeline() {\r\n    \r\n    this.TimelineList = [];\r\n\r\n\r\n    if (Array.isArray(this.ActivityType)) {\r\n      if (this.ActivityType.length > 0)\r\n        this.TimelineList.push(...this.ActivityType);\r\n    }\r\n\r\n\r\n\r\n    if (Array.isArray(this.ProcessStageList)) {\r\n      if (this.ProcessStageList.length > 0) {\r\n        this.ProcessStageList = this.ProcessStageList.map((x) => {\r\n          x.Type = 'Workflow';\r\n          x.ActivityTypeIdEn = 'Comments';\r\n          return x;\r\n        });\r\n        this.TimelineList.push(...this.ProcessStageList);\r\n      }\r\n    }\r\n\r\n    this.TimelineList.sort((a, b) => {\r\n      if (a.CreatedDatetime < b.CreatedDatetime) return -1;\r\n      else if (a.CreatedDatetime > b.CreatedDatetime) return 1;\r\n      else return 0;\r\n    });\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n  showAttachPopup: boolean = false;\r\n  ViewName: string|any=null;\r\n  TableName: string|any=null;\r\n  Permission: string|any= null;\r\n  RefTableName: any=null;\r\n  referRecId: number = 0;\r\n  TypeId: number = 0;\r\n  attachmentType: number = 0;\r\n\r\n  attachMethod() {\r\n    \r\n    this.showAttachPopup = true;\r\n    this.TypeId = this.EntityTypeRecId; //from side menu get RecId//getCurrentMenuId(); temproraly use this menuid 532;\r\n    this.referRecId = this.TicketData.RecId;\r\n    this.ViewName = this.TicketData.SequenceId ? this.TicketData.SequenceId : this.TicketData.CaseId // this.EntityTypeRecId;\r\n    this.Permission = 'Delete';\r\n    this.TableName = this.SetupDetails.Description;\r\n    this.RefTableName = this.EntityTypeRecId;\r\n    this.attachmentType = 2; //from side menu get MenuType;\r\n    this.gridService.onattachShow.next({ attach: true });\r\n  }\r\n  closeAttach(Switch:boolean){ \r\n    this.showAttachPopup = Switch;\r\n    this.gridService.onattachShow.next({ attach: Switch });\r\n  }\r\n\r\n\r\n  manPowerAttachList:any[]=[];\r\n\r\n  getManPowerAttachList() {\r\n    this.dynamicAppsService.getManPowerAttachList(this.RecId,this.EntityTypeRecId,this.TicketData.UploadTableName)\r\n    .subscribe(\r\n      (res: any) => {        \r\n        this.manPowerAttachList = res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {        \r\n        console.log(error);\r\n        this.loaderService.hideLoading();\r\n      });\r\n\r\n  }\r\n\r\n  public EntityActionList:EntityTypeFormVM[]=[];\r\n  MinEntityActionList:EntityTypeFormVM[]=[];\r\n  filteredMinEntityActionList: EntityTypeFormVM[] = [];\r\n\r\n  public IsAssignment:boolean = false;\r\n  getEntityFormActionList() {\r\n    \r\n          this.MinEntityActionList = this.EntityActionList.filter(x => x.FormType != E_FormType.Create && x.FormType != E_FormType.Update\r\n          && x.FormType != E_FormType.Delete && x.FormType != E_FormType.Assignment)\r\n\r\n        if (this.EntityActionList.find(x => x.FormType == E_FormType.Assignment)) {\r\n          this.IsAssignment = true;\r\n          this.AssignmentEntityForm = this.EntityActionList.filter(x => x.FormType == E_FormType.Assignment)[0];\r\n        }\r\n\r\n  }\r\n  AssignmentConfig: boolean = false;\r\n  AssignmentCurrentData: any = null;\r\n  AssignmentEntityForm: EntityTypeFormVM | any = null;\r\n  showAssignmentConfig() { \r\n    if(this.TicketData) {\r\n      this.AssignmentCurrentData = this.TicketData;\r\n    }\r\n    else {\r\n    if (!this.TicketData || this.TicketData.length != 1) {\r\n      Swal.fire(\"Error\", \"Data is Empty\", \"warning\");\r\n      return;\r\n    }\r\n  }\r\n    this.AssignmentConfig = true;\r\n  }\r\n  closeAssignmentConfig() {\r\n    this.AssignmentConfig = false;\r\n  }\r\n\r\n  TemplateDropdown: any[]=[];\r\n\r\n  getDocumentTemplate() {\r\n    \r\n\r\n\r\n    this.dynamicAppsService.getpermissiontemplateactivitybycaseid(this.EntityTypeId,null).subscribe(\r\n        (success: any) => {\r\n          let data = success;\r\n          if (success.Data) data = success.Data;\r\n\r\n          this.TemplateDropdown = data;\r\n\r\n          this.TemplateDropdown = this.TemplateDropdown.filter((x: any)=> x.IsActive && (x.StageId==\"All\" || x.StageId== this.stageId));\r\n\r\n        this.TemplateDropdown = this.TemplateDropdown.filter((template: any) => {\r\n          if (template.Condition) {\r\n            let _cond= JSON.parse(template.Condition)\r\n            let _conditionResult = this.onRulesConditionCheck(_cond, this.TicketData);\r\n            if (_conditionResult)\r\n              return template\r\n          }\r\n          else\r\n            return template\r\n        });\r\n\r\n\r\n        var _sd =  this.TemplateDropdown;\r\n        this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          Swal.fire(this.translatePipe.transform(errorMessageType(error)));\r\n        }\r\n      );\r\n  }\r\n  downloadDocumentTemplate(event: any) {\r\n   this.dynamicAppsService.downloadDocumentTemplate(this.EntityTypeId,this.TicketData?.RecId,event.TemplateRecId).subscribe(\r\n    (res : any) =>{\r\n      let blob : Blob= res.body;\r\n        let filename = res.headers.get('content-disposition') != null? res.headers.get('content-disposition'): \"DocumentTemplate\";\r\n        var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n            var matches = filenameRegex.exec(filename);\r\n            if (matches != null && matches[1]) {\r\n              filename = matches[1].replace(/['\"]/g, '');\r\n            }\r\n      this.gridService.downloadFile(blob,blob.type,filename);\r\n      this.loaderService.hideLoading();\r\n    },\r\n    (error : any) =>{\r\n      this.loaderService.hideLoading();\r\n    });\r\n  }\r\n\r\n\r\n  CheckedGridData(gridData: any,group:PageContentGroup) {\r\n    group.ControlData.GridSelectedData = (gridData);\r\n  }\r\n\r\n\r\n  @Input() queryParams:any=null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n\r\n      data.Current = this;\r\n      data.DetailsData = this.TicketData;\r\n\r\n      data.Local = localStorage;\r\n      if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n        data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n      data.Cookies = this.Cookies;\r\n      data.System = this.globalService.systemConfig;\r\n      data.EnvironmentId = this.globalService.EnvironmentId;\r\n      data.Global = this.globalService;\r\n      data.PageData =this.globalService.PageAllData;\r\n\r\n      if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n  hasHorizontalScrollbar: boolean=false;\r\n  overflowActive() {\r\n\r\n    let div = document.getElementById(\"slider-arrow\");\r\n      if(div != null)\r\n     this.hasHorizontalScrollbar = div.scrollWidth > div.clientWidth;\r\n  }\r\n\r\n  slider(direction: any,Id: any){\r\n    slide(direction, Id);\r\n  }\r\n\r\n\r\n  DependedEntityList:EntityTypeSetUpActionVM[]=[];\r\n\r\n  setDependedValue() {\r\n    let _DependedField =  this.EntityFieldList.filter(x=>x.IsPrimarykey)[0];\r\n    this.DependedEntityList = this.DependedEntityList.map(x => {\r\n      x.DependedValue =  this.TicketData[_DependedField.Description];\r\n      return x\r\n    });\r\n  }\r\n\r\n  getDependedOnEntity(){\r\n    this.dynamicAppsService.getDependedOnEntity(null, this.SetupDetails.RecId).subscribe(\r\n      (res: any) => {        \r\n        this.DependedEntityList = res.Data ? res.Data : res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  entityDepandentsLoad(item: EntityTypeSetUpActionVM, i: any) {\r\n    item.initLoad = false;\r\n    setTimeout(() => {\r\n      item.initLoad = true;\r\n    }, 10);\r\n  }\r\n\r\n  RelationSideView: boolean = false;\r\n  openRelation() {\r\n    this.RelationSideView = !this.RelationSideView;\r\n    if (this.RelationSideView)\r\n      this.setDependedValue()\r\n  }\r\n\r\n  get rightSidebarClass() {\r\n    let _ret1 =\"hide fadeOutRight\";\r\n    if(this.RelationSideView) {\r\n      _ret1 = \"open_app_menu fadeInRight\"\r\n    }\r\n    if(this.globalService.CurrentLanguageDirection == 'RTL') {\r\n      if(this.RelationSideView) {\r\n        _ret1 = \"open_app_menu fadeInLeft\"\r\n      }\r\n      else {\r\n        _ret1 =\"hide fadeOutLeft\"\r\n      }\r\n    }\r\n    return _ret1;\r\n  }\r\n  get rightSidebarScrollClass() {\r\n    let _ret1 =\"fadeOutRight\";\r\n    if(this.RelationSideView) {\r\n      _ret1 = \"fadeInRight\"\r\n    }\r\n    if(this.globalService.CurrentLanguageDirection == 'RTL') {\r\n      if(this.RelationSideView) {\r\n        _ret1 = \"fadeInLeft\"\r\n      }\r\n      else {\r\n        _ret1 =\"fadeOutLeft\"\r\n      }\r\n    }\r\n    return _ret1;\r\n  }\r\n\r\n  onRulesConditionCheck(rulesData: any,CurrentRow: any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      if(_con.hasOwnProperty('ValueType')) {\r\n        _con.ValueTwo = _con.Value;\r\n        _con.Value = _con.ValueType;\r\n        delete _con.ValueType;\r\n      }\r\n\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n\r\n         if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n\r\n      }\r\n\r\n      let value = CurrentRow[_con.ValueTwo];\r\n\r\n      if(_con.Value) {\r\n\r\n         if( _con.Value == \"Value\") {\r\n          value = this.hanbleBarData(_con.ValueTwo, _handleData)\r\n        }\r\n\r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n  displayFormPopup: boolean = false;\r\n  DetailsViewPopup = false;\r\n  Tab: number = 1;\r\n  IsEventLog:boolean = false;\r\n  ChangeTab(data: any) {\r\n    this.Tab = Number(data);\r\n  }\r\n\r\n  openConfigurationPopUp() { \r\n    this.displayFormPopup = true;\r\n    this.DetailsViewPopup = true;\r\n  }\r\n  closeConfigurationPopUp() { \r\n    this.displayFormPopup = false;\r\n    this.DetailsViewPopup = false;\r\n  }\r\n  OpenEventLogPopUp(){\r\n    this.IsEventLog = true;\r\n  }\r\n  closeEventLogPopUp(Switch:boolean){\r\n    this.IsEventLog = Switch;\r\n  }\r\n\r\n  checkGroupCondition(group: PageContentGroup) {\r\n    let ret = true;\r\n    if (group.Condition)\r\n      ret = this.onRulesConditionCheck(group.Condition, {});\r\n    return ret;\r\n  }\r\n\r\n  getWorkflowActionClose(type?: any) {\r\n    this.showWorkflowPopup = false;\r\n  }\r\n  checkActionCondition(){\r\n    debugger;\r\n    this.filteredMinEntityActionList = [];\r\n    this.MinEntityActionList.forEach((x:any) => {\r\n      if(x.Configure){\r\n        let data = JSON.parse(x.Configure);\r\n        if(data?.ActionVisible && data.ActionCondition && data.ActionCondition.Condtion && data.ActionCondition.Condtion.length > 0){\r\n        let isConditionPassed:boolean = this.onRulesConditionCheck(data.ActionCondition, this.TicketData);\r\n        if(isConditionPassed){\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n        }else{\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n      }else{\r\n        this.filteredMinEntityActionList.push(x);\r\n      }\r\n    });\r\n  }\r\n  \r\n  uploadFilesDownload(RecId: number, filename: string) {\r\n    this.dynamicAppsService.uploadFilesDownload(RecId).subscribe(\r\n      (res: Blob) => {\r\n        debugger;\r\n        this.gridService.downloadFile(res, res.type, filename);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        Swal.fire(error.error?.ExceptionMessage, error?.message, 'error');\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n}\r\n","<div class=\"wrapper row m-t-10 position-relative\" [ngClass]=\"{'d-none':PopupEditView && PageViewFrom =='Studio'}\">\r\n  <ng-container *ngIf=\"!hideHeader\">\r\n    <div id=\"workflow-container\" style=\"display: contents;\"\r\n      *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n\r\n      <div class=\"step-1\" id=\"workflow-progress\" data-current-step=\"1\">\r\n        <div class=\"progress-bar\" [ngClass]=\"{'checkLength' :StatusAndStageList && StatusAndStageList.length > 6}\"\r\n          id=\"slider-arrow\">\r\n          <ng-container *ngFor=\"let item of StatusAndStageList; let i = index\">\r\n            <div class=\"step step-1\" [ngClass]=\"{'active': item.StageId == selectedProcess?.ProcessStage,\r\n        'selected': item.StageId == TicketData?.ProcessStage,'complete':item.classname == 'complete'}\"\r\n              (click)=\"selectProcess(item)\">\r\n              <span class=\"material-icons\">\r\n                <img *ngIf=\"item.StageId != TicketData?.ProcessStage\"\r\n                  src=\"https://cdn-icons-png.flaticon.com/128/833/833602.png\" alt=\"Pending\">\r\n                <img *ngIf=\"item.StageId == TicketData?.ProcessStage\" src=\"{{globalService.ServerHost}}/System/assets/images/location.png\" alt=\"active\">\r\n              </span>\r\n              <div class=\"fa fa-check opaque\">\r\n              </div>\r\n              <div class=\"step-label\">\r\n                <div class=\"step-label-name themecolor\" id=\"1\" title=\"{{item.StageDescription}}\">\r\n                  {{item.StageDescription|translate}}</div>\r\n              </div>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n\r\n      <div *ngIf=\"selectedProcess && selectedProcess.ProcessStage\" class=\"breadcrumb-details animated\"\r\n        [ngClass]=\"(showStageDetails)?'fadeIn':'fadeOut'\" style=\"padding: 20px;\">\r\n\r\n\r\n        <div class=\"row\">\r\n          <ng-container *ngFor=\"let item of selectedProcessList\">\r\n            <div class=\"d-block field position-relative dynamic-view col col-12 col-sm-12 col-md-6 col-xl-4  m-b-20\">\r\n              <span class=\"pull-right la la-times m-r-20\"\r\n                style=\"font-size: 20px;position: absolute;right: 0;z-index: 111;\" (click)=\"closeProcess()\"></span>\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'StageId'|translate}} </label>\r\n                <span class=\"col\">: {{item.ProcessStage | translate}} </span>\r\n              </div>\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Description'|translate}} </label>\r\n                <span class=\"col\">: {{item?.ProcessStageEn| translate}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Created User'|translate}} </label>\r\n                <span class=\"col\">: {{item?.CreatedBy| translate}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Start Date'|translate}} </label>\r\n                <span class=\"col\">: {{item?.StartDate | date}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'End Date'|translate}} </label>\r\n                <span class=\"col\">: {{item?.EndDate | date}} </span>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <label class=\"col col-sm-3 text-left\">{{'Comments'|translate}} </label>\r\n                <span class=\"col\">: {{item?.Comments| translate}} </span>\r\n              </div>\r\n\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n\r\n        <div class=\"d-block field position-relative dynamic-view\" *ngIf=\"false\">\r\n          <span class=\"pull-right la la-times m-r-20\" style=\"font-size: 20px;\" (click)=\"closeProcess()\"></span>\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'StageId'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess.ProcessStage| translate}} </span>\r\n          </div>\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Description'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.ProcessStageEn| translate}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Created User'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.CreatedBy| translate}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Start Date'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.StartDate | date}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'End Date'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.EndDate | date}} </span>\r\n          </div>\r\n\r\n          <div class=\"row\">\r\n            <label class=\"col col-sm-3\">{{'Comments'|translate}} </label>\r\n            <span class=\"col\">: {{selectedProcess?.Comments| translate}} </span>\r\n          </div>\r\n\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"float-right arrow-border\" [ngClass]=\"hasHorizontalScrollbar ==true ?'d-block':'d-none'\"\r\n      *ngIf=\"StatusAndStageList&& StatusAndStageList.length > 6\">\r\n      <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('left','slider-arrow')\"><i\r\n          class=\"fa fa-arrow-left\"></i></a>\r\n      <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('right','slider-arrow')\"><i\r\n          class=\"fa fa-arrow-right\"></i></a>\r\n    </div>\r\n  </ng-container>\r\n  <!-- new details app -->\r\n  <div class=\"col-12 col-sm-12 col-lg-12\" *ngIf=\"!hideHeader\">\r\n    <div class=\"d-block text-right details-Tool clearfix\">\r\n\r\n      <span class=\"add_req_btn view_text_inner_text mr-2\" *ngIf=\"isEdit || PageViewFrom =='Studio'\"\r\n        (click)=\"openPopupEditView()\">\r\n        <i class=\"la la-edit\"></i>\r\n      </span>\r\n\r\n      <span class=\"add_req_btn view_text_inner_text mr-2\" *ngIf=\"IsAttach\"\r\n        (click)=\"attachMethod()\">\r\n        <i class=\"fa fa-paperclip\"></i>\r\n    </span>\r\n\r\n      <!-- <a href=\"javascript:void(0)\" *ngIf=\"DependedEntityList&& DependedEntityList.length > 0\"\r\n        class=\"add_req_btn mr-2 pull-right\" (click)=\"openRelation()\" title=\"Related Data\">\r\n        <i class=\"tabler-ti ti-fidget-spinner\"></i>\r\n      </a> -->\r\n\r\n      <a href=\"javascript:void(0)\" *ngIf=\"IsBack && BackURL && (ViewFrom !='Popup' || PageViewFrom !='Popup')\"\r\n        class=\"add_req_btn mr-2 pull-right\" (click)=\"goBack()\">\r\n        <i class=\"icon-arrow-left-circle\"></i>\r\n      </a>\r\n\r\n      <span *ngIf=\"IsAssignment\" class=\"add_req_btn mr-2 pull-right\"\r\n        (click)=\"showAssignmentConfig()\">\r\n        <i class=\"fa fa-plus-square mr-1\"></i>\r\n        {{(AssignmentEntityForm.FormName?AssignmentEntityForm.FormName:\"Assignment\") | translate}}\r\n      </span>\r\n\r\n      <a href=\"javascript:void(0)\" *ngIf=\"globalService.devMode\" class=\"add_req_btn mr-2\"\r\n        data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\"\r\n        (click)=\"openConfigurationPopUp()\">\r\n        <span class=\"tabler-ti ti-settings-code\"></span>\r\n      </a>\r\n      <a href=\"javascript:void(0)\" *ngIf=\"globalService.devMode\" class=\"add_req_btn mr-2\"\r\n        data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"OpenEventLogPopUp()\">\r\n        <span class=\"tabler-ti ti-timeline-event-exclamation\"></span>\r\n      </a>\r\n\r\n      <div class=\"pull-right user-account action_part\">\r\n        <div class=\"dropdown view_type m-0\">\r\n\r\n          <span class=\"add_req_btn view_text_inner_text mr-2\" *ngIf=\"wfActionData.length > 0 || (IsAction && MinEntityActionList.length > 0)\"\r\n            data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\"\r\n            aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"checkActionCondition()\">\r\n            {{\"Action\"| translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n          </span>\r\n\r\n          <ul class=\"dropdown-menu action_menu p-0 m-4\">\r\n            <ul class=\"clearfix p-0 m-0 list-unstyled\">\r\n\r\n              <ng-container *ngIf=\"IsAction\">\r\n                <ng-container *ngFor=\"let item of filteredMinEntityActionList; let i = index\">\r\n                  <li class=\"p-0 m-0\">\r\n                    <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openEntityAction(item)\">\r\n                      {{ item.FormName |translate}}\r\n                    </a>\r\n                  </li>\r\n                </ng-container>\r\n              </ng-container>\r\n\r\n              <ng-container *ngFor=\"let item of wfActionData\">\r\n                <li>\r\n                  <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"getStatusField(item)\">\r\n                    {{item.ActionDescription| translate}}</a>\r\n                </li>\r\n              </ng-container>\r\n            </ul>\r\n          </ul>\r\n\r\n        </div>\r\n      </div>\r\n      <div class=\"pull-right\" *ngIf=\"TemplateDropdown.length > 0\">\r\n        <div class=\"dropdown view_type\">\r\n\r\n          <a href=\"javascript:void(0)\" class=\"add_req_btn mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n            role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n            {{'Documents'|translate}}\r\n          </a>\r\n\r\n          <ul class=\"dropdown-menu action_menu\">\r\n            <ul class=\"clearfix p-0 m-0\">\r\n              <ng-container *ngFor=\"let item of TemplateDropdown\">\r\n                <li class=\"\">\r\n                  <a class=\"d-block py-1\" href=\"javascript:void(0);\" (click)=\"downloadDocumentTemplate(item)\">\r\n                    {{(item?.Name ? item?.Name: item?.TemplateName)|translate}}\r\n                  </a>\r\n                </li>\r\n              </ng-container>\r\n            </ul>\r\n          </ul>\r\n\r\n        </div>\r\n      </div>\r\n      <span class=\"add_req_btn view_text_inner_text mr-2\"\r\n      (click)=\"getRemoteList()\">\r\n      <i class=\"la la-refresh\"></i>\r\n    </span>\r\n    </div>\r\n  </div>\r\n  <div class=\"col-sm-12\" *ngIf=\"!hideHeader\">\r\n    <div class=\"card card-table-details m-b-10 details_top\">\r\n      <div class=\"body p-15\">\r\n        <div class=\"row\">\r\n\r\n          <div class=\"col col-12 col-sm-6 col-md-6 col-lg-6\">\r\n            <p class=\"m-b-5\">\r\n              <span class=\"iconbox\">\r\n                <i *ngIf=\"SetupDetails?.ImageUrl\" class=\"{{SetupDetails?.ImageUrl}}\"></i>\r\n                <i *ngIf=\"!SetupDetails?.ImageUrl\" class=\"icon-layers\"></i>\r\n              </span>\r\n              <span class=\"form-title\">\r\n                {{(SetupDetails?.Label? SetupDetails?.Label:SetupDetails?.Description) | translate}}\r\n              </span>\r\n              <span class=\"form-title d-block\" *ngIf=\"SetupDetails?.EntityType != 150\">\r\n                #{{ TicketData?.SequenceId? TicketData?.SequenceId: TicketData?.CaseId|\r\n                translate}}|{{TicketData?.Subject| translate}}\r\n              </span>\r\n            </p>\r\n          </div>\r\n          <div class=\"col col-12 col-sm-6 col-md-6 col-lg-6\" *ngIf=\"SetupDetails?.EntityType != 150\">\r\n            <ng-container *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n\r\n              <div class=\"w-100 m-b-5 clearfix\">\r\n                <span class=\"pull-left m-l-15 m-r-15\" style=\"width: 110px;\">{{'ProcessStage'|translate}} :</span>\r\n                <span class=\"pull-left\">{{TicketData?.ProcessStageEn| translate}}</span>\r\n              </div>\r\n            </ng-container>\r\n\r\n            <div class=\"w-100 m-b-5 clearfix\">\r\n              <span class=\"pull-left m-l-15 m-r-15\" style=\"width: 110px;\">{{'Created By'|translate}} :</span>\r\n              <span class=\"pull-left requestor\">{{TicketData?.CreatedBy| translate}}</span>\r\n            </div>\r\n\r\n            <div class=\"w-100 m-b-5 clearfix\">\r\n              <span class=\"pull-left m-l-15 m-r-15\" style=\"width: 110px;\">{{'Created Date'|translate}} :</span>\r\n              <span class=\"pull-left\">\r\n                {{TicketData?.CreatedDatetime | date :'dd/MM/yyyy h:mm a'}}\r\n              </span>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <!-- end -->\r\n  <div class=\"col-sm-12 m-b-20\">\r\n    <div class=\"row\">\r\n      <div id=\"\" class=\"col-sm-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-sm-12 dynamic_request_details\">\r\n            <div class=\"card m-0\">\r\n              <div class=\"body\">\r\n                <div class=\"request-details\">\r\n\r\n                  <app-dynamic-details-view *ngIf=\"EntityFormId && TicketData\" [EntityFormId]=\"EntityFormId\"\r\n                    [EntityTypeId]=\"EntityTypeId\" [PageGroupValues]=\"TicketData\" [EntityTypeForm]=\"EntityFormData\"\r\n                    [FormGetType]=\"'Local'\" [ViewType]=\"'Details'\" [pageGroups]=\"EntityPageGroupsData\"\r\n                    [defaultPageGroups]=\"EntityDefaultPageGroupsData\">\r\n                  </app-dynamic-details-view>\r\n\r\n\r\n                </div>\r\n\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n        </div>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"col-sm-12 m-t-20\" *ngIf=\"ComponentLine && ComponentLine.length > 0\">\r\n    <div class=\"row\">\r\n      <div id=\"\" class=\"col-sm-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-sm-12 dynamic_request_details\">\r\n            <div class=\"card\">\r\n\r\n              <div class=\"body\">\r\n                <div class=\"request-details\">\r\n\r\n\r\n                  <div class=\"box\" *ngFor=\"let item of ComponentLine\">\r\n                    <div class=\"box-inner\">\r\n                      <div class=\"box-header\">\r\n                        <h2>{{item.Formdata.SetupName?item.Formdata.SetupName:\"Component\"}}</h2>\r\n                      </div>\r\n                      <div class=\"box-body\">\r\n\r\n                        <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"'Edit'\" [FormGetType]=\"'Local'\"\r\n                          [hideCanelBtn]=\"true\" [Params]=\"TicketData\" [FormValues]=\"item.PageGroupValues\"\r\n                          [EntityFormId]=\"item.Formdata.RecId\" [EntityTypeId]=\"item.Formdata.EntityTypeRecId\"\r\n                          (closeCreate)=\"closePopupEditView($event.Type)\">\r\n                        </app-ticket-create>\r\n\r\n\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n\r\n                </div>\r\n\r\n\r\n\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n\r\n\r\n        </div>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"col-sm-12 m-t-20\" *ngIf=\"TicketData && contentGroups && contentGroups.length > 0\">\r\n    <div class=\"content-row row\" *ngFor=\"let row of contentGroups; let rowIndex = index\">\r\n\r\n      <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n        <ng-container *ngIf=\"checkGroupCondition(group)\">\r\n          <div class=\"content_add col clearfix {{group.Class}}\" *ngIf=\"group.ControlType && !group.IsDefault\"\r\n            [ngClass]=\"{'vertical-group': group.Direction == 1,'horizontal-group': group.Direction == 2}\"\r\n            [style.flex-basis]=\"group.Width + '%'\">\r\n\r\n            <page-controller [menuText]=\"menuText\" [ViewType]=\"'viewer'\" [group]=\"group\" [contentGroups]=\"contentGroups\"\r\n              [PageData]=\"PageData\" [queryParams]=\"queryParams\"></page-controller>\r\n\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n  <div class=\"col-sm-12 m-t-20 request-Conversation\" *ngIf=\"SetupDetails?.EntityType !=150\">\r\n\r\n    <ul class=\"nav nav-tabs\">\r\n\r\n      <li class=\"nav-item\" *ngIf=\"ActivityFields && ActivityFields.length > 0\">\r\n        <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#Timeline'\" (click)=\"gridChangeTabs('1')\"\r\n          [ngClass]=\"{'active': tabDisplayView==1}\">\r\n          {{'Timeline'|translate}}</a>\r\n      </li>\r\n\r\n      <li class=\"nav-item\" *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n        <a class=\"nav-link active\" data-toggle=\"tab\" [attr.data-target]=\"'#Process'\"\r\n        data-bs-toggle=\"tab\" [attr.data-bs-target]=\"'#Process'\" (click)=\"gridChangeTabs('2')\"\r\n          [ngClass]=\"{'active': tabDisplayView==2}\">\r\n          {{'Process Stage'|translate}}</a>\r\n      </li>\r\n\r\n    </ul>\r\n    <div class=\"tab-content\" style=\"padding: 0;\">\r\n\r\n      <div class=\"tab-pane animated active\" *ngIf=\"ActivityFields && ActivityFields.length > 0\" id=\"Timeline\"\r\n        [ngClass]=\"{'active': tabDisplayView==1}\">\r\n\r\n        <div class=\"card select2-drop\">\r\n          <div class=\"header clearfix\">\r\n            <h2 class=\"pull-left\">{{'Timeline'|translate}}</h2>\r\n\r\n            <!-- <i class=\"la la-refresh\" (click)=\"getActivities()\"></i> -->\r\n          </div>\r\n          <div class=\"body activity-timeline clearfix\">\r\n\r\n            <ng-container *ngFor=\"let item of TimelineList;let i = index\">\r\n\r\n              <div class=\" timeline-item animated fadeIn  {{item.ActivityTypeIdEn}}\" [ngClass]=\"{'warning': !(item.ActivityTypeIdEn=='SMS' || item.ActivityTypeIdEn=='Email'\r\n                                                          || item.ActivityTypeIdEn=='Notes' || item.ActivityTypeIdEn=='Comments' || item.ActivityTypeIdEn=='Task' ),\r\n                          'blue': item.ActivityTypeIdEn=='SMS',\r\n                          'green':  item.ActivityTypeIdEn=='Email',\r\n                          'danger':  item.ActivityTypeIdEn=='Notes',\r\n                          'dark':  item.ActivityTypeIdEn=='Comments',\r\n                          'pomegranate':  item.ActivityTypeIdEn=='Task',\r\n                          'faster':  i ==0,\r\n                          'slower':  i ==1,\r\n                          'slow':  i >1\r\n                        }\">\r\n\r\n                <div class=\"timeline-body\" [ngClass]=\"{'fullview': item.showform}\">\r\n                  <span class=\"con-pointer\"></span>\r\n                  <h5 (click)=\"item.showform = !item.showform;item.loadForm = true;getActivityFileUploads(item) \">\r\n                    {{item.ActivityTypeIdEn|translate}} <span class=\"m-l-10 m-r-10\"\r\n                      *ngIf=\"item.ActivityTypeIdEn =='Task'\">#{{item.TaskId}}</span>\r\n                    <span class=\"pull-right date\">\r\n                      <span\r\n                        *ngIf=\"item.ActivityTypeIdEn=='Comments'|| item.ActivityTypeIdEn=='DefaultComments'\">{{item.CreatedBy}}\r\n                        |</span>\r\n                      {{item.CreatedDatetime | date:'dd/MM/yyyy h:mm a'}}\r\n                    </span>\r\n                  </h5>\r\n                  <div class=\"msg p-3 bg-white\" *ngIf=\"item.loadForm\" [ngClass]=\"{'d-none': !item.showform}\">\r\n\r\n\r\n                    <ng-container *ngIf=\"item.ActivityTypeId\">\r\n\r\n                      <app-activities-view [EntityTypeId]=\"item.ActivityTypeId\" [RefTypeId]=\"refRecId\"\r\n                        [ActivityTypeId]=\"item.ActivityTypeId\" [FormData]=\"item\">\r\n                      </app-activities-view>\r\n\r\n                      <div class=\"d-block field position-relative dynamic-view\"\r\n                        *ngIf=\"item.ActivityTypeIdEn=='Comments'|| item.ActivityTypeIdEn=='DefaultComments'\">\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-lg-3 col-md-3 col-sm-6\">{{'Created User'|translate}} </label>\r\n                          <span class=\"col\">: &nbsp; &nbsp; <span> {{item.CreatedBy|translate}}</span> </span>\r\n                        </div>\r\n\r\n                      </div>\r\n                      <ng-container *ngIf=\"item?.uploadFiles &&item?.uploadFiles.length >0;\">\r\n                        <h6 class=\"attach-title\">{{'Attachments'|translate}}\r\n                          <!-- <i (click)=\"attachMethod()\" class=\"fa fa-paperclip themecolor ml-1\"></i> -->\r\n                        </h6>\r\n                        <ul class=\"attached_lists\">\r\n                          <li *ngFor=\"let item of item.uploadFiles\">\r\n                            <!-- {{item?.Path}} -->\r\n                            <a id=\"nofile\" (click)=\"uploadFilesDownload(item.RecId,item?.Name)\" class=\"\">\r\n                              <span class=\"row m-0\">\r\n                                <span class=\"col padding-0 themecolor\" style=\"max-width: 50px;\">\r\n\r\n                                  <ng-container [ngSwitch]=\"item.ExtSm\">\r\n                                    <i class=\"la la-file-pdf\" *ngSwitchCase=\"'pdf'\" style=\"font-size:45px;\"></i>\r\n\r\n                                    <i class=\"la la-file-csv\" *ngSwitchCase=\"'csv'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-excel\" *ngSwitchCase=\"'xlsx'\" style=\"font-size:45px;\"></i>\r\n\r\n\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'png'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'svg'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'jpeg'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n                                    <img src=\"{{'/Account/ShowImageByPath?_Path='+item?.Path}}\" *ngSwitchCase=\"'jpg'\"\r\n                                      style=\"width: 45px;height: 45px;object-fit: cover;\" />\r\n\r\n                                    <i class=\"la la-file-alt\" *ngSwitchCase=\"'txt'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-word\" *ngSwitchCase=\"'docx'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-archive\" *ngSwitchCase=\"'zip'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-archive\" *ngSwitchCase=\"'rar'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-signature\" *ngSwitchCase=\"'sql'\" style=\"font-size:45px;\"></i>\r\n                                    <i class=\"la la-file-code\" *ngSwitchCase=\"'json'\" style=\"font-size:45px;\"></i>\r\n\r\n                                    <i class=\"la la-file\" *ngSwitchDefault style=\"font-size:45px;\"></i>\r\n                                  </ng-container>\r\n                                </span>\r\n                                <span class=\"col padding-0 attached_lists_name\">\r\n                                  <span>{{item?.Name|translate}}</span>\r\n                                  <span>{{item.Ext| translate}}&emsp;{{'download' | translate}}</span>\r\n                                </span>\r\n                              </span>\r\n                            </a>\r\n                          </li>\r\n                        </ul>\r\n                      </ng-container>\r\n\r\n\r\n\r\n\r\n                    </ng-container>\r\n\r\n                    <ng-container>\r\n\r\n                      <div class=\"d-block field position-relative dynamic-view\">\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'StageId'|translate}} </label>\r\n                          <span class=\"col\">: {{item.ProcessStage|translate}} </span>\r\n                        </div>\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Description'|translate}} </label>\r\n                          <span class=\"col\">: {{item.ProcessStageEn|translate}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Start Date'|translate}} </label>\r\n                          <span class=\"col\">: {{item.StartDate | date}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Started By'|translate}} </label>\r\n                          <span class=\"col\">: {{item.CreatedBy|translate}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{\"End Date\"|translate}} </label>\r\n                          <span class=\"col\">: {{item.EndDate | date}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Ended By'|translate}} </label>\r\n                          <span class=\"col\">: {{item.ModifiedBy|translate}} </span>\r\n                        </div>\r\n\r\n                        <div class=\"row\">\r\n                          <label class=\"col col-sm-3\">{{'Ended Comments'|translate}} </label>\r\n                          <span class=\"col\">: {{item.Comments|translate}} </span>\r\n                        </div>\r\n                      </div>\r\n\r\n\r\n                    </ng-container>\r\n\r\n\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </ng-container>\r\n\r\n            <div class=\"activity-create m-t-20\" *ngIf=\"commentsActivityItem && commentsActivityItem.RecId\">\r\n\r\n              <div class=\"header clearfix\">\r\n                <h2 class=\"pull-left\" style=\"color: #17191c;\">\r\n                  <i class=\"icon icon-bubble m-r-10\"></i>\r\n                  {{'Comments'|translate}}\r\n                </h2>\r\n\r\n              </div>\r\n\r\n              <ng-container>\r\n                <!-- <app-activities-create [ViewFrom]=\"'Popup'\" [RefEntityTypeId]=\"EntityTypeId\" [TicketData]=\"TicketData\"\r\n                  [EntityTypeId]=\"commentsActivityItem.RecId\" [RefTypeId]=\"refRecId\"\r\n                  [ActivityTypeId]=\"commentsActivityItem.RecId\"\r\n                  (closeActivityCreate)=\"closePopupCreateView($event.Type)\">\r\n                </app-activities-create> -->\r\n              </ng-container>\r\n\r\n            </div>\r\n\r\n\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n\r\n      <div class=\"tab-pane animated active\" id=\"Process\" [ngClass]=\"{'active': tabDisplayView==2}\"\r\n        *ngIf=\"SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow\">\r\n        <app-grid [columnDefs]=\"columnDefs\" [GridTitle]=\"pageTitle\" [GridDescription]=\"pageDesp\"\r\n          [columnDefs]=\"columnDefs\" [gridActionList]=\"gridActionList\" [selectMode]=\"selectMode\" [IsCreate]=\"isCreate\"\r\n          [IsDelete]=\"isDelete\" [IsEdit]=\"isEdit\" [grid]=\"100\" (getPageList)=\"GetPageList($event.Criteria)\">\r\n        </app-grid>\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n\r\n\r\n\r\n</div>\r\n\r\n\r\n<ng-container *ngIf=\"showWorkflowPopup\">\r\n\r\n  <app-workflow-dynamic-popup [showWorkflowPopups]=\"showWorkflowPopup\" [ActionName]=\"ActionName\"\r\n    [ActionType]=\"'Details'\" [CurrentStageName]=\"CurrentStageName\" [currentStage]=\"selectedStageObj\"\r\n    [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"workflowEntityFormId\" [PageGroupValues]=\"TicketData\"\r\n    (getWorkflowActionComments)=\"getWorkflowActionComments($event.comments, $event.updateFileds, $event.updateFieldsObject)\"\r\n    (getWorkflowActionClose)=\"getWorkflowActionClose($event.type)\">\r\n  </app-workflow-dynamic-popup>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"CreateItemId\" [ngClass]=\"{'showPop':displayPopupCreateView}\" tabindex=\"-1\"\r\n  role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"max-width: 700px;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupCreateView()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n        <!-- <app-activities-create [ViewAction]=\"selectedActivityItem.Type\" [ViewFrom]=\"'Popup'\" [TicketData]=\"TicketData\"\r\n          [RefEntityTypeId]=\"EntityTypeId\" [EntityTypeId]=\"CreateItemId\" [RefTypeId]=\"refRecId\"\r\n          [ActivityTypeId]=\"CreateItemId\" (closeActivityCreate)=\"closePopupCreateView($event.Type)\">\r\n        </app-activities-create> -->\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n\r\n<div class=\"modal fade show\" *ngIf=\"PopupEditView\"\r\n  [ngClass]=\"{'showPop':PopupEditView, 'popup-inline-view':PageViewFrom =='Studio' }\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{('Edit'+' '+SetupDetails.Description) | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupEditView()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <app-ticket-create [ViewFrom]=\"'Popup'\" [Description]=\"CaseTypeDescription\" [Type]=\"'Edit'\"\r\n          [FormValues]=\"TicketData\" [EntityTypeId]=\"EntityTypeId\"\r\n          (closeCreate)=\"closePopupEditView($event.Type)\"></app-ticket-create>\r\n\r\n\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<app-attach-popup *ngIf=\"showAttachPopup\" [showAttachPopup]=\"showAttachPopup\" [ViewName]=\"ViewName\"\r\n  [TableName]=\"TableName\" [Permission]=\"Permission\" [refRecId]=\"referRecId\" [TypeId]=\"TypeId\"\r\n  [RefTableName]=\"RefTableName\" [attachmentType]=\"attachmentType\" (closeAttach)=\"closeAttach($event.Switch)\">\r\n</app-attach-popup>\r\n\r\n<ng-container *ngIf=\"AssignmentConfig && AssignmentEntityForm && AssignmentEntityForm.RecId\">\r\n  <entity-assignment [EntityTypeId]=\"EntityTypeId\" [AssignmentCurrentData]=\"AssignmentCurrentData\"\r\n    [EntityTypeForm]=\"AssignmentEntityForm\" (closeAssignment)=\"closeAssignmentConfig()\">\r\n  </entity-assignment>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showActionForm && ActionEntityForm && ActionEntityForm.RecId\"\r\n  [ngClass]=\"{'showPop': showActionForm}\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Action ' + ActionEntityForm.FormName | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"showActionForm = false\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" style=\"overflow:initial;\">\r\n\r\n        <app-entity-dynamic-view [EntityFormId]=\"ActionEntityForm.RecId\" [ViewFrom]=\"'Details'\" [Type]=\"'Create'\"\r\n          [ParameterData]=\"TicketData\"\r\n          (submitFormValue)=\"changeActionEntityForm($event.formdata,$event.pageForm,$event.forms)\">\r\n        </app-entity-dynamic-view>\r\n\r\n      </div>\r\n      <div class=\"modal-footer\">\r\n\r\n        <div class=\"text-align-right\">\r\n\r\n          <button class=\"btn btn-small btn-theme color-white m-l-5 m-r-5\" (click)=\"saveActionEntityForm()\">\r\n            {{'Save'|translate}}\r\n          </button>\r\n\r\n          <button class=\"btn btn-small btn-outline-danger m-l-5 m-r-5\" (click)=\"showActionForm = false\">\r\n            {{'Cancel'|translate}}\r\n          </button>\r\n\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n\r\n\r\n\r\n<div id=\"details_right_panel\" class=\"off-screen-dtl animated faster\" [ngClass]=\"rightSidebarClass\">\r\n  <span class=\"resize_element\"></span>\r\n  <ng-container *ngIf=\"DependedEntityList && DependedEntityList.length > 0\">\r\n\r\n    <div class=\"card rounded-0  animated faster \" [ngClass]=\"rightSidebarScrollClass\">\r\n      <div class=\"header p-2\">\r\n        <h5 class=\"modal-title d-inline-block\" id=\"exampleModalLabel\">{{'Related Data'| translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"openRelation()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n\r\n      </div>\r\n      <div class=\"body right_panel-body\">\r\n\r\n        <div class=\"card p-0\" *ngFor=\"let entity of DependedEntityList; let i = index\">\r\n          <div class=\"header clearfix p-2 border-bottom\">\r\n            <h2 class=\"pull-left\">\r\n              <span>\r\n                {{(entity.Label?entity.Label: entity.Description) |translate}}\r\n              </span>\r\n            </h2>\r\n            <a href=\"javascript:void(0)\" *ngIf=\"entity.IsExpand\" (click)=\"entity.IsExpand=false\"\r\n              class=\"pull-right themecolor action-btn m-l-5\">\r\n              <i class=\"la la-angle-up\"></i>\r\n            </a>\r\n\r\n            <a href=\"javascript:void(0)\" *ngIf=\"!entity.IsExpand\" (click)=\"entity.IsExpand=true;entity.initLoad= true\"\r\n              class=\"pull-right themecolor action-btn m-l-5\">\r\n              <i class=\"la la-angle-down\"></i>\r\n            </a>\r\n\r\n            <a href=\"javascript:void(0)\" *ngIf=\"entity.initLoad\" (click)=\"entityDepandentsLoad(entity,i)\"\r\n              class=\"pull-right themecolor action-btn m-l-5\">\r\n              <i class=\"la la-refresh\"></i>\r\n            </a>\r\n\r\n\r\n          </div>\r\n          <div class=\"body p-0 clearfix\" [ngClass]=\"{'d-none': !entity.IsExpand}\">\r\n\r\n            <ng-container *ngIf=\"entity.initLoad\">\r\n\r\n              <!-- <app-dynamic-list [EntityTypeId]=\"entity.RecId\" [isHideHeader]=\"true\" [PageViewFrom]=\"'Popup'\"\r\n                [RelatedEntity]=\"SetupDetails.RecId\" [RelatedEntityValue]=\"entity.DependedValue\"></app-dynamic-list> -->\r\n\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n\r\n\r\n<!-- <div class=\"modal fade show\" [ngClass]=\"{'showPop':displayFormPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n    aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\" style=\"max-width: 95%;\">\r\n      <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n        <div class=\"modal-header\">\r\n  \r\n          <div id=\"details\" *ngIf=\"DetailsViewPopup\">\r\n            <ul class=\"nav nav-tabs\">\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#FormConfig'\" (click)=\"ChangeTab('11')\"\r\n                  [ngClass]=\"{'active': Tab == 11}\">\r\n                  {{'Configure'|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#Design'\" (click)=\"ChangeTab('1')\"\r\n                  [ngClass]=\"{'active': Tab == 1}\">\r\n                  {{'Design Page'|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#Rules'\" (click)=\"ChangeTab('2')\"\r\n                  [ngClass]=\"{'active': Tab == 2}\">\r\n                  {{'Rules'|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#DataSource'\" (click)=\"ChangeTab('4')\"\r\n                  [ngClass]=\"{'active': Tab == 4}\">\r\n                  {{'DataSource'|translate}}</a>\r\n              </li>  \r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#SubmitDataSource'\" (click)=\"ChangeTab('5')\"\r\n                  [ngClass]=\"{'active': Tab == 5}\">\r\n                  {{'On Submit DataSource'|translate}}</a>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n  \r\n\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeConfigurationPopUp()\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n    \r\n          <div id=\"details\" *ngIf=\"DetailsViewPopup\">\r\n\r\n            <div class=\"tab-content\" style=\"padding: 0;\">\r\n\r\n              <div class=\"tab-pane animated active\" id=\"Design\" *ngIf=\"Tab == 1\" [ngClass]=\"{'active':Tab == 1}\">\r\n                <ng-container>\r\n                <app-entity-dynamic-form [FormStatus]=\"EntityFormData.Status\" [EntityType]=\"EntityType\"\r\n                  [EntityFormId]=\"EntityFormId\" [EntityTypeId]=\"EntityTypeId\" [EntityTypeForm]=\"EntityFormData\">\r\n                </app-entity-dynamic-form>\r\n                </ng-container>                \r\n              </div>\r\n\r\n              <div class=\"tab-pane animated active\" id=\"Rules\" *ngIf=\"Tab == 2\" [ngClass]=\"{'active': Tab == 2}\">\r\n                <app-entity-field-rules [FormStatus]=\"EntityFormData.Status\" [EntityTypeId]=\"EntityTypeId\"\r\n                  [FormRecId]=\"EntityFormId\">\r\n                </app-entity-field-rules>\r\n              </div>\r\n    \r\n              <div class=\"tab-pane animated active\" id=\"DataSource\" *ngIf=\"Tab == 4\" [ngClass]=\"{'active': Tab == 4}\">\r\n                <app-datasource-create [EntityTypeForm]=\"EntityFormData\" \r\n                *ngIf=\"EntityFormData && EntityFormData.RecId\">\r\n              </app-datasource-create>\r\n              </div>\r\n    \r\n              <div class=\"tab-pane animated active\" id=\"SubmitDataSource\" *ngIf=\"Tab == 5\" [ngClass]=\"{'active': Tab == 5}\">\r\n                <app-datasource-create [EntityTypeForm]=\"EntityFormData\"  [ActionType]=\"'Submit'\" \r\n                *ngIf=\"EntityFormData && EntityFormData.RecId\">\r\n              </app-datasource-create>\r\n              </div>\r\n    \r\n              <div class=\"tab-pane animated active\" id=\"FormConfiq\" *ngIf=\"Tab == 11\" [ngClass]=\"{'active': Tab == 11}\">         \r\n                <form-config-view [EntityTypeForm]=\"EntityFormData\">\r\n                </form-config-view>  \r\n              </div>\r\n            </div>\r\n          </div>\r\n          \r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <ng-container *ngIf=\"IsEventLog\">\r\n    <app-event-logs [IsEventLogModal]=\"IsEventLog\" [RecId]=\"RecId\" [PageDescription]=\"SetupDetails.Description\"\r\n    (CloseEventLog)=\"closeEventLogPopUp($event.Switch)\"></app-event-logs>\r\n  </ng-container> -->","import { Component, Input, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport * as Handlebars from 'handlebars';\r\nimport { GlobalService } from '../core/global.service';\r\nimport { DynamicAppsService } from '../dynamic-apps.service';\r\nimport { E_DatasourceType, E_FormType, EntityTypeFormVM, EntityTypeSetUpVM, IDropDown, ISearchCriteria, ISysMenuItemsMap, PageContentGroup, PageContentsRow, errorMessageType } from '../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dynamic-page',\r\n  templateUrl: './dynamic-page.component.html',\r\n  styleUrls: ['./dynamic-page.component.scss']\r\n})\r\nexport class DynamicPageComponent implements OnInit {\r\n\r\n  constructor(\r\n    public globalService: GlobalService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n\r\n  @Input() queryParams: any|null=null;\r\n\r\n  @Input() EntityFormName: string|null=null;\r\n  @Input() EntityFormId: number|null=null;\r\n  @Input() EntityTypeId: number|any=null;\r\n  @Input() TableRecId: number|any=null;\r\n  @Input() ParamsId: number|null=null;\r\n  @Input() PageViewFrom: any;\r\n\r\n  @Input() PrimaryKey: any;\r\n  @Input() PrimaryKeyValue: any;\r\n\r\n  @Input() menuText: any;\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    this.EntityTypeSetUp = null;\r\n    this.EntityTypeForm = null;\r\n    this.AllEntityFormList = [];\r\n    this.detailsEntityForm = null;\r\n    this.detailsEntityFormId = 0;\r\n    this.EntityDetailsData = null;\r\n    this.PageData = null;\r\n\r\n    this.loadStoreCriteria()\r\n    // this.route.queryParams.subscribe((res) => {\r\n     \r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    // this.params = this.route.paramMap.subscribe((res) => {\r\n    \r\n    //   if (this.PageViewFrom != \"Popup\") {\r\n    //     this.EntityTypeId = null;\r\n    //     this.EntityFormId = null;\r\n    //     this.TableRecId = null;\r\n    //     this.menuText = null;\r\n    //     this.isDefaultGroup = false;\r\n\r\n    //     if (res.get('EntityTypeId'))\r\n    //       this.EntityTypeId = Number(res.get('EntityTypeId'));\r\n    //     if (res.get('FormRecId'))\r\n    //       this.EntityFormId = Number(res.get('FormRecId'));\r\n    //     if (res.get('TableRecId'))\r\n    //       this.TableRecId = Number(res.get('TableRecId'));\r\n    //     if (res.get('ParamsId'))\r\n    //       this.ParamsId = Number(res.get('ParamsId'));\r\n    //     if (res.get('menuText'))\r\n    //       this.menuText = (res.get('menuText'));\r\n    //   }     \r\n    // });\r\n    if (this.EntityTypeId || this.EntityFormId)\r\n    this.getEntityAllSetupData()\r\n    else {\r\n    if (this.menuText) {\r\n      this.getMenuDetails();\r\n    }\r\n  }\r\n  }\r\n  params:any|null=null;\r\n  ngOnDestroy() {\r\n    this.EntityTypeId = null;\r\n    this.EntityFormId = null;\r\n    this.TableRecId = null;\r\n    this.menuText = null;\r\n    this.isDefaultGroup = false;\r\n    this.queryParams = null;\r\n    this.params?.unsubscribe();\r\n  }\r\n\r\n  detailsEntityFormId:number = 0;\r\n  detailsEntityForm:EntityTypeFormVM|null=null;\r\n\r\n  AllEntityFormList:EntityTypeFormVM[] = [];\r\n  EntityTypeForm: EntityTypeFormVM|null=null;\r\n  EntityTypeSetUp: EntityTypeSetUpVM|any=null;\r\n  MenuDetails: ISysMenuItemsMap|null=null;\r\n\r\n  FormViewType: string|null=null;\r\n  contentGroups: PageContentsRow[] = [];\r\n  sideContentGroups: PageContentsRow[] = [];\r\n  isDefaultGroup: boolean = false;\r\n\r\n  getMenuDetails() {\r\n  //     let ModuleId = this.globalService.appId\r\n  //     if (this.globalService.currentSystemModuleId) {\r\n  //       ModuleId = this.globalService.currentSystemModuleId\r\n  //     }\r\n\r\n  //  // let _menuText = \"Page/\" + this.menuText; //removed Page/menutext  \r\n  //   let _menuText = this.menuText; //\r\n\r\n  //     this.dynamicAppsService.GetMenuByAction(_menuText)\r\n  //       .subscribe(\r\n  //         (res: ISysMenuItemsMap) => {\r\n\r\n  //           this.MenuDetails = res;\r\n\r\n  //           if (this.MenuDetails && this.MenuDetails.RecId) {\r\n  //             if (this.MenuDetails.DetailsAction) {\r\n  //               this.EntityFormId = Number(this.MenuDetails.DetailsAction);\r\n  //             }\r\n  //             if (this.MenuDetails.ReftableName) {\r\n  //               this.EntityTypeId = Number(this.MenuDetails.ReftableName);\r\n  //             }\r\n  //             this.getEntityAllSetupData()\r\n  //           }\r\n  //           else {\r\n  //             Swal.fire(\"Page not found\", \"There is no page found \" + this.menuText, 'warning');\r\n  //             if (this.globalService.currentModule == \"Platform\") {\r\n  //               this.router.navigate([this.globalService.currentModule + \"/\" + this.globalService.EnvironmentId + \"/pageNotFound\"]);\r\n  //             }\r\n  //             else\r\n  //               this.router.navigate([this.globalService.currentModule + \"/pageNotFound\"]);\r\n  //           }\r\n\r\n  //         },\r\n  //         (error) => {\r\n  //           if (error.status == 401) {\r\n  //             return\r\n  //           }\r\n  //           console.log(error);\r\n  //         }\r\n  //       );\r\n  }\r\n  \r\n  getEntityAllSetupData() {\r\n\r\n    if (this.EntityTypeId || this.EntityFormId) {\r\n\r\n      this.dynamicAppsService.getEntityAllSetupData(this.EntityTypeId, this.EntityFormId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.EntityTypeSetUp = res.Setup;\r\n            if (!this.EntityTypeId) {\r\n              this.EntityTypeId =  this.EntityTypeSetUp?.RecId;\r\n            }\r\n\r\n            if (res.ActiveForm){\r\n              this.EntityTypeForm = res.ActiveForm;\r\n            }\r\n            this.AllEntityFormList = res.Form;\r\n            if (!this.EntityFormId) {\r\n              this.EntityFormId = this.AllEntityFormList.filter(x => x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage)[0].RecId;\r\n              if (this.EntityFormName) {\r\n                if (this.AllEntityFormList.find(x => (x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage) && x.FormName == this.EntityFormName))\r\n                  this.EntityFormId = this.AllEntityFormList.filter(x => (x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage) && x.FormName == this.EntityFormName)[0].RecId;\r\n              }\r\n            }\r\n            this.EntityTypeForm = this.AllEntityFormList.filter(x=>x.RecId==this.EntityFormId)[0];\r\n            this.EntityFormContentGroups();\r\n            this.getPageData();\r\n            \r\n            this.detailsEntityForm = this.AllEntityFormList.filter(x=>x.FormType==E_FormType.Details)[0];\r\n            if(this.detailsEntityForm)\r\n            this.detailsEntityFormId = this.detailsEntityForm.RecId;\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if (error.status == 401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  EntityFormContentGroups() {debugger;\r\n\r\n    if (this.EntityTypeForm?.FormType == E_FormType.Page || this.EntityTypeForm?.FormType == E_FormType.EntityPage) {\r\n      this.contentGroups = [];\r\n      if (this.EntityTypeForm.FormData) {\r\n        // this.contentGroups = JSON.parse(this.EntityTypeForm.FormData);\r\n        let _formdata = JSON.parse(this.EntityTypeForm.FormData);\r\n        if (Array.isArray(_formdata))\r\n          this.contentGroups = _formdata;\r\n        else {\r\n          this.contentGroups = _formdata.contentGroups;\r\n          this.sideContentGroups = _formdata.sideContentGroups;\r\n        }\r\n        this.isDefaultGroup = false;\r\n        this.FormViewType = null;\r\n        this.contentGroups.forEach(row => {\r\n          row.Groups.forEach(group => {\r\n            if (group.IsDefault) {\r\n              this.isDefaultGroup = true;\r\n              this.FormViewType = group.PageEntity.FormViewType;\r\n              if(this.FormViewType == 'Details'){\r\n                this.currenGroup = group;\r\n                this.setContollData() \r\n              }\r\n             }\r\n            \r\n          });\r\n        });\r\n       \r\n      }\r\n      this.globalService.pageScema = this.contentGroups;\r\n      this.getAllControls()\r\n      this.loadEntityForm();\r\n    }\r\n\r\n\r\n  }\r\n\r\n  getAllControls() {\r\n    let _controls: IDropDown[] = [];\r\n    this.contentGroups.forEach(row => {\r\n      row.Groups.forEach(group => {\r\n        let _temp: IDropDown = { Id: group.ID, Description: group.ID };\r\n        _controls.push(_temp);\r\n        group.Tabs.forEach(tab => {\r\n          let _temp: IDropDown = { Id: tab.group.ID, Description: tab.group.ID };\r\n          _controls.push(_temp);\r\n        });\r\n        group.Section.forEach(tab => {\r\n          let _temp: IDropDown = { Id: tab.group.ID, Description: tab.group.ID };\r\n          _controls.push(_temp);\r\n        });\r\n      });\r\n    });\r\n    this.globalService.AllControlList = _controls;\r\n  }\r\n\r\n  loadEntityForm() {\r\n    if (this.FormViewType == 'Details') {\r\n      if (!(this.TableRecId || this.PrimaryKeyValue)) {\r\n        Swal.fire(\"Not found\", \"Entity Id not found\", \"warning\");\r\n        return\r\n      }\r\n    }\r\n  }\r\n\r\n  EntityDetailsData:any = null;\r\n  getEntityDetailsData() {\r\n      this.dynamicAppsService.getDynamicById(this.EntityTypeId,this.TableRecId )\r\n      .subscribe(\r\n        (res: any) => {         \r\n          this.EntityDetailsData = res;\r\n          this.setContollData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {     \r\n          this.loaderService.hideLoading();\r\n        }\r\n      );\r\n  }\r\n  \r\n  CheckedGridData(gridData:any,group:PageContentGroup) {\r\n    group.ControlData.GridSelectedData = (gridData);\r\n  }\r\n\r\n  currenGroup:PageContentGroup|any=null;\r\n  setContollData() {\r\n    if (this.currenGroup)\r\n      this.currenGroup.ControlData.FormData = (this.EntityDetailsData);\r\n  }\r\n\r\n\r\n  PageData:any = null;\r\n  storeCriteria:ISearchCriteria={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 0,\r\n    },\r\n    Where: [],\r\n    SortOrder:  { field: null, direction: null },\r\n  };\r\n  loadStoreCriteria(){\r\n    this.storeCriteria ={\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder:  { field: null, direction: null },\r\n    };\r\n  }\r\n\r\n  PageLoadData:any = null;\r\n\r\n  showPageData:boolean = false;\r\n  getPageData() {\r\n\r\n    if (!this.EntityTypeForm) {\r\n      this.showPageData = true;\r\n      return\r\n    }\r\n\r\n    let _handleData:any = {};\r\n    _handleData.LoadData = this.PageLoadData;\r\n\r\n    if (this.EntityTypeForm.DataSourceType == E_DatasourceType.Query) {\r\n\r\n      if(this.EntityTypeForm.DataSourceId) {\r\n\r\n        let Parameter = []\r\n        if (this.EntityTypeForm.DataSource) {\r\n          let _param = JSON.parse(this.EntityTypeForm.DataSource)\r\n          Parameter = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n \r\n        }\r\n\r\n\r\n        this.dynamicAppsService.getDyamicQueryData(this.EntityTypeForm.DataSourceId,this.EntityTypeForm.RecId )\r\n        .subscribe((res: any) => {\r\n          debugger;\r\n          this.PageData = res.Data?res.Data:res;\r\n          this.showPageData = true;\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n            Swal.fire(errorMessageType(error));\r\n          });\r\n      }\r\n      else {\r\n        this.showPageData = true;\r\n      }\r\n    }\r\n    else if (this.EntityTypeForm.DataSourceType == E_DatasourceType.Entity) {\r\n      if (this.EntityTypeForm.DataSourceId) { \r\n\r\n        let QueryString = [];\r\n        if (this.EntityTypeForm.DataSource) {\r\n          let _param = JSON.parse(this.EntityTypeForm.DataSource);\r\n          if(_param.QueryStrings) {\r\n            _param = _param.QueryStrings\r\n          }\r\n          QueryString = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n        }\r\n        let _QueryString:any[] = [];\r\n        if(QueryString.length > 0){\r\n         \r\n          QueryString.map((x:any) => {\r\n            let filterobj = {\r\n              Field: '',\r\n              Operator: 'eq',\r\n              TableAlias: '',\r\n              Value: '',\r\n            };\r\n            filterobj.Field = x.Name,\r\n            filterobj.Value = x.Value,\r\n            _QueryString.push(filterobj);\r\n          });\r\n          this.storeCriteria.Where.push(..._QueryString);\r\n        }\r\n        \r\n       \r\n        this.getentityPageData(this.EntityTypeForm.DataSourceId);\r\n      }\r\n      else {\r\n        this.showPageData = true;\r\n      }\r\n    }\r\n    else {\r\n\r\n      if (this.EntityTypeForm.DataSource) {\r\n        let RestData = JSON.parse(this.EntityTypeForm.DataSource)\r\n\r\n        RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n        RestData.Body = this.hanbleBarData(RestData.Body,_handleData);\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          return x\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          return x\r\n        });\r\n\r\n       \r\n        this.dynamicAppsService.dynamicAPi(RestData,this.storeCriteria,null,true)\r\n          .subscribe((res: any) => {\r\n            debugger;\r\n            this.PageData = [];\r\n            \r\n            let _data: any = res;\r\n            if (RestData.ResponseView) {\r\n              let _rview = RestData.ResponseView.split(\".\");\r\n              _rview.forEach((x:any) => {\r\n                _data = _data[x];\r\n              });\r\n            }\r\n\r\n              this.PageData = _data;\r\n             this.showPageData = true;\r\n             this.loaderService.hideLoading();\r\n          },\r\n            (error) => {\r\n              debugger;\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n            \r\n              Swal.fire(errorMessageType(error));\r\n            });\r\n      }\r\n      else {\r\n        this.showPageData = true;\r\n      }\r\n    }\r\n  }\r\n\r\n  getentityPageData(EntityTypeId:any) {\r\n\r\n    this.dynamicAppsService.getDynamicAll(this.storeCriteria, EntityTypeId, null,null,this.EntityFormId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.PageData = res.Data;\r\n        this.showPageData = true;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n        Swal.fire(error.error);\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n  checkGroupCondition(group: PageContentGroup) {\r\n\r\n    let ret = true;\r\n    if (group.Condition)\r\n      ret = this.onRulesConditionCheck(group.Condition, {});\r\n    return ret;\r\n  }\r\n\r\n\r\n  onRulesConditionCheck(rulesData:any,CurrentRow:any,CurrentRowIndex?:any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      if(_con.hasOwnProperty('ValueTwo')) {\r\n        _con.ValueType = _con.Value;\r\n        _con.Value = _con.ValueTwo;\r\n        delete _con.ValueTwo;\r\n      }\r\ndebugger;\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n       \r\n         if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n      \r\n      }\r\n\r\n      let value = CurrentRow[_con.Value];\r\n     \r\n      if(_con.ValueType) {\r\n       \r\n         if( _con.ValueType == \"Value\") {\r\n          value = this.hanbleBarData(_con.Value, _handleData)\r\n        }\r\n        \r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n  hanbleBarData(_code:any, data?:any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n      if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie:any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n\r\n}\r\n","<div class=\"page-view\" *ngIf=\"showPageData\">\r\n    <section id=\"total_screen\" class=\"details-wrapper engine-dev request-details clearfix\">\r\n        <div id=\"page_left\" class=\"\" [ngClass]=\"{'pull-left page_main_view': sideContentGroups && sideContentGroups.length > 0}\">\r\n\r\n            <ng-container *ngIf=\"isDefaultGroup&& FormViewType=='Details';else groupcanvas\">\r\n\r\n                <ng-container *ngIf=\"TableRecId || PrimaryKeyValue\">\r\n                    <app-dynamic-entity-details [menuText]=\"menuText\" [ViewFrom]=\"'Popup'\" [PageViewFrom]=\"PageViewFrom\"\r\n                        [EntityTypeRecId]=\"EntityTypeId\" [RecId]=\"TableRecId\" [PrimaryKey]=\"PrimaryKey\" [PrimaryKeyValue]=\"PrimaryKeyValue\" [contentGroups]=\"contentGroups\"\r\n                        [PageData]=\"PageData\" [group]=\"currenGroup\" [queryParams]=\"queryParams\">\r\n                    </app-dynamic-entity-details>\r\n\r\n                </ng-container>\r\n            </ng-container>\r\n\r\n            <ng-template #groupcanvas>\r\n\r\n                <div class=\"content-row row m-0\" *ngFor=\"let row of contentGroups; let rowIndex = index\">\r\n               \r\n                    <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n                        <ng-container *ngIf=\"checkGroupCondition(group)\" >\r\n                        <div class=\"content_add col p-0 clearfix {{group.Class}}\" *ngIf=\"group.ControlType\"\r\n                            [ngClass]=\"{'vertical-group': group.Direction == 1,'horizontal-group': group.Direction == 2}\"\r\n                            [style.flex-basis]=\"group.Width + '%'\">\r\n\r\n                            <ng-container *ngIf=\"group.IsDefault;else groupview\">\r\n\r\n                                <ng-container *ngIf=\"group.PageEntity.FormViewType=='List'\">\r\n                                    <!-- <app-dynamic-list [group]=\"group\" [menuText]=\"menuText\" [PageName]=\"group.PageEntity.Name\"\r\n                                        [EntityTypeId]=\"EntityTypeId\"\r\n                                        (CheckedGridData)=\"CheckedGridData($event.gridData,group)\">\r\n                                    </app-dynamic-list> -->\r\n                                </ng-container>\r\n\r\n                            </ng-container>\r\n                            <ng-template #groupview>\r\n                                <ng-container *ngIf=\"showPageData\">\r\n                                <page-controller [menuText]=\"menuText\" [ViewType]=\"'viewer'\" [group]=\"group\" [DatasourceForm]=\"EntityTypeForm\"\r\n                                    [contentGroups]=\"contentGroups\" [PageData]=\"PageData\"></page-controller>\r\n                                </ng-container>\r\n                            </ng-template>\r\n\r\n                        </div>\r\n                    </ng-container>\r\n                </ng-container>\r\n                </div>\r\n\r\n            </ng-template>\r\n\r\n        </div>\r\n         <div id=\"page_right\" class=\"pull-right page_side_view position-relative\" *ngIf=\"sideContentGroups && sideContentGroups.length > 0\">\r\n            <span class=\"resize_element\"></span>\r\n            <div class=\"p-l-10\">\r\n            <div class=\"content-row row\" *ngFor=\"let row of sideContentGroups; let rowIndex = index\">\r\n\r\n                <ng-container *ngFor=\"let group of row.Groups; let groupIndex = index\">\r\n                    <ng-container *ngIf=\"checkGroupCondition(group)\" >\r\n                    <div class=\"content_add col clearfix {{group.Class}}\" *ngIf=\"group.ControlType\"\r\n                        [ngClass]=\"{'vertical-group': group.Direction == 1,'horizontal-group': group.Direction == 2}\"\r\n                        [style.flex-basis]=\"group.Width + '%'\">\r\n\r\n                        <ng-container *ngIf=\"group.IsDefault;else groupview\">\r\n\r\n                            <ng-container *ngIf=\"group.PageEntity.FormViewType=='List'\">\r\n                                <!-- <app-dynamic-list [group]=\"group\" [menuText]=\"menuText\" [PageName]=\"group.PageEntity.Name\"\r\n                                    [EntityTypeId]=\"EntityTypeId\" [isHideHeader]=\"group.PageEntity.HideListHeader\"\r\n                                    (CheckedGridData)=\"CheckedGridData($event.gridData,group)\">\r\n                                </app-dynamic-list> -->\r\n                            </ng-container>\r\n\r\n                        </ng-container>\r\n                        <ng-template #groupview>\r\n                            <page-controller [menuText]=\"menuText\" [ViewType]=\"'viewer'\" [group]=\"group\"\r\n                                [contentGroups]=\"contentGroups\" [PageData]=\"PageData\"></page-controller>\r\n                        </ng-template>\r\n\r\n                    </div>\r\n                </ng-container>\r\n                </ng-container>\r\n\r\n            </div></div>\r\n         </div>\r\n    </section>\r\n</div>","import { Component, Input, OnInit, Output,EventEmitter, ViewChild } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { GlobalService } from '../core/global.service';\r\nimport { TranslatePipe } from '../core/translate.pipe';\r\nimport { ActionVM, Condition, DynamicWfActionDataVm, E_ButtonType, E_CardViewType, E_DataType, E_DatasourceType, E_FieldGroupType, E_FieldType, E_FormType, E_GridSearchType, E_SelectMode, EntityTypeFieldVM, EntityTypeFormUVM, EntityTypeFormVM, EntityTypeSetUpVM, FormConfig, GenerateCriteriaForExport, GetFormattedDateWithTime, IActionDef, IColumnDef, IDropDown, IGridExport, INameVal, IRestConfig, ISearchCriteria, ISysMenuItemsMap, PageContentGroup, StageType, errorMessageType, moveItem, slide } from '../core/common-interface-enum-classes-functions';\r\nimport { registerHandlebarHelperMethods } from '../core/handlebar-helper-register';\r\nimport { GridService } from '../Templates/grid/grid.service';\r\nimport { GridComponent } from '../Templates/grid/grid.component';\r\nimport { DynamicAppsService } from '../dynamic-apps.service';\r\nimport * as Handlebars from 'handlebars';\r\nimport { LoaderService } from '../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dynamic-list',\r\n  templateUrl: './dynamic-list.component.html',\r\n  styleUrls: ['./dynamic-list.component.scss']\r\n})\r\nexport class DynamicListComponent implements OnInit {\r\n\r\n  constructor(\r\n    private gridService: GridService,\r\n    public  globalService: GlobalService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private loaderService:LoaderService\r\n  ) { }\r\n\r\n  translatePipe = new TranslatePipe(this.globalService);\r\n  @Output() CheckedGridData = new EventEmitter<{ gridData: any }>();\r\n\r\n  @Input() EntityTypeId: any;\r\n  @Input() EntityFormId: any;\r\n\r\n  @Input() PageRouteType: any;\r\n  @Input() PageViewFrom:any;\r\n\r\n  @Input() menuText: any;\r\n  @Input() menuParams:any ={};\r\n  @Input() isHideHeader:boolean|null = false;\r\n  @Input() isSurveyPage:boolean = false;\r\n\r\n  @Input() group:PageContentGroup | null = null;\r\n\r\n  @Input() RelatedEntity: any =null;\r\n  @Input() RelatedEntityValue :any =null;\r\n  @Input() RelatedEntityField :any =null;\r\n\r\n  @Input() PageName: any;\r\n  @Input() IsPermission: boolean = false;\r\n  IsBack: boolean = false;\r\n  BackURL: string | null = null;\r\n\r\n  IsClientPagination: boolean = false;\r\n\r\n  PaginationType:string | null = null;\r\n\r\n  ActiveEntityForm: EntityTypeFormVM | any = null;\r\n  EntityDetailForm: EntityTypeFormVM | null = null;\r\n  EntityDetailFormList:EntityTypeFormVM[]|any[]= [];\r\n  EntityAllFormList:EntityTypeFormVM[] |any[]= [];\r\n  EntityFormList:EntityTypeFormVM[] |any[]= [];\r\n  EntityActionFormList:EntityTypeFormVM[] |any[]= [];\r\n\r\n  EntityFieldList: EntityTypeFieldVM[]|any[]=[];\r\n  SetupDetails: EntityTypeSetUpVM | any = null;\r\n  MenuDetails: ISysMenuItemsMap | null= null;\r\n  IsPageType:boolean = false;\r\n  IsAttach:boolean = false;\r\n  IsAction:boolean = true;\r\n  IsActionList:any[] = [];\r\n  AllowMultipleAction:boolean = false;\r\n  IsShowAllPendingBar:boolean = false;\r\n  IsHideWorkflowBar:boolean = false;\r\n  IsHideSearch:boolean = false;\r\n  AttachCondition:any = null;\r\n\r\n  PageGroupParams:any;\r\n\r\n  ngOnInit(): void {\r\n\r\n    registerHandlebarHelperMethods();\r\n    this.loadStoreCriteria();\r\n\r\n    this.getEntityAllSetupData();\r\n    if(this.EntityFormId) {\r\n      this.PageRouteType = \"FormView\";\r\n    }\r\n    if (this.EntityTypeId) {\r\n      this.gridId = \"dynamicgrid_\" + this.EntityTypeId + \"_\" + (this.gridNumber ? this.gridNumber : '');\r\n    }\r\n    this.onControllerTrigger = this.globalService.onControllerTrigger.subscribe((x:any) => {\r\n      if (this.group && this.group.ID == x.ControllerId) {\r\n        if(x.Type==\"Load\"){\r\n          this.getListData();\r\n        }\r\n      }\r\n    });\r\n  }\r\n  \r\n\r\n  params:any;\r\n  onControllerTrigger:any;\r\n  ngOnDestroy() {\r\n    this.getCommonFilter();\r\n    this.loadGrid([], 0);\r\n    this.showDetailsCreateView = false;\r\n    this.columnDefs = [];\r\n    this.TicketData = [];\r\n    this.TempTicketData = [];\r\n    this.totalRecordCount = 0;\r\n    this.IsAssign = false;\r\n    this.loadStoreCriteria();\r\n    this.ActiveEntityForm = null;\r\n    this.EntityActionList = [];\r\n    this.MinEntityActionList = [];\r\n    this.wfActionData = [];\r\n    this.IsExport = true;\r\n    this.IsAttach = false;\r\n    this.IsExportTemplate = false;\r\n    this.IsImport = false;\r\n    this.ExportURL = null;\r\n    this.ImportURL = null;\r\n    this.IsAction = false;\r\n    this.IsActionList = [];\r\n    this.AllowMultipleAction = false;\r\n    this.showActionForm = false;\r\n    this.viewConfigData = null;\r\n    this.stageTabs = [];\r\n    this.IsExcelImport = false;\r\n    this.IsDuplicate = false;\r\n    this.IsShowAllPendingBar = false;\r\n    this.IsHideWorkflowBar = false;\r\n    this.IsShowDynamicDetailsInlineView = false;\r\n\r\n    this.IsMultipleFilter = false;\r\n    this.IsMultipleValueSearch = false;\r\n    this.showMultiplefilterpopup = false;\r\n    this.MultipleFilterData = [];\r\n    this.showfilter = false;\r\n\r\n\r\n    if (this.PageViewFrom != \"Popup\") {\r\n\r\n      this.loadGrid([], 0);\r\n      this.columnDefs = [];\r\n      this.StatusAndStageList = [];\r\n      this.EntityTypeId = null;\r\n\r\n      this.EntityTypeId = null;\r\n      this.EntityFormId = null;\r\n      this.menuText = null;\r\n      this.PageRouteType = null;\r\n      this.ActiveEntityForm = null;\r\n      this.SetupDetails = null;\r\n      this.StatusAndStageList = [];\r\n      this.EntityDetailForm = null;\r\n      this.EntityDetailFormList = [];\r\n      this.EntityFormList = [];\r\n      this.MenuDetails = null;\r\n      this.EntityFieldList = [];\r\n      this.condition = null;\r\n      this.IsShowDetails = false;\r\n\r\n      this.GoToDetailsData = {\r\n        Target: null,\r\n        PageType: null,\r\n        PageRecId: null,\r\n        PageFormRecId: null,\r\n        PageParam: [],\r\n        Url: null,\r\n        PagePrimaryField: null,\r\n      };\r\n      this.viewConfigData = null;\r\n      this.stageTabs = [];\r\n\r\n      this.loadStoreCriteria();\r\n\r\n      if (this.menuText) {\r\n        let _menuParams = this.menuText.split(\"?\")[1];\r\n        this.menuParams = {};\r\n        if (_menuParams) {\r\n         let  _menuParamslist = _menuParams.split(\"&\");\r\n         _menuParamslist.forEach((params:any) => {\r\n          let _paramdata = params.split(\"=\");\r\n           if (_paramdata.length > 0) {\r\n             let obj = {}\r\n             this.menuParams[_paramdata[0]] = _paramdata[1];\r\n           }\r\n         });\r\n        }\r\n        this.getMenuDetails();\r\n      }\r\n      else {\r\n        this.getEntityAllSetupData();\r\n      }\r\n    }\r\n    else {\r\n      this.getEntityAllSetupData();\r\n    }\r\n\r\n    if(this.EntityFormId) {\r\n      this.PageRouteType = \"FormView\";\r\n    }\r\n    if (this.EntityTypeId) {\r\n      this.gridId = \"dynamicgrid_\" + this.EntityTypeId + \"_\" + (this.gridNumber ? this.gridNumber : '');\r\n    }\r\n    this.onControllerTrigger.unsubscribe();\r\n  }\r\n\r\n  getMenuDetails() {\r\n\r\n    // let ModuleId = this.globalService.appId\r\n    // if (this.globalService.currentSystemModuleId) {\r\n    //   ModuleId = this.globalService.currentSystemModuleId\r\n    // }\r\n    // let _url = \"/\" + ModuleId + \"/\" + this.menuText;\r\n\r\n    // this.dynamicAppsService.GetMenuByAction(this.menuText)\r\n    //   .subscribe(\r\n    //     (res: ISysMenuItemsMap) => {\r\n\r\n    //       this.MenuDetails = res;\r\n\r\n    //       if (this.MenuDetails && this.MenuDetails.RecId) {\r\n    //         if (this.MenuDetails.DetailsAction) {\r\n    //           this.EntityFormId = this.MenuDetails.DetailsAction;\r\n    //          this.PageRouteType = \"FormView\";\r\n    //         }\r\n    //         if (this.MenuDetails.ReftableName) {\r\n    //           this.EntityTypeId = this.MenuDetails.ReftableName;\r\n    //           this.gridId = this.EntityTypeId +\"_\"+ this.gridNumber;\r\n    //         }\r\n    //         this.getEntityAllSetupData()\r\n    //       }\r\n    //       else {\r\n    //         Swal.fire(\"Page not found\", \"There is no page found \"+this.menuText , 'warning');\r\n    //         if(this.globalService.currentModule ==\"Platform\"){\r\n    //           //this.router.navigate([this.globalService.currentModule+\"/\"+this.globalService.EnvironmentId+\"/pageNotFound\"]);\r\n    //         }\r\n    //         //else\r\n    //         //this.router.navigate([this.globalService.currentModule+\"/pageNotFound\"]);\r\n    //       }\r\n\r\n    //     },\r\n    //     (error:any) => {\r\n    //       if(error.status ==401) {\r\n    //         return\r\n    //       }\r\n    //       console.log(error);\r\n    //     }\r\n    //   );\r\n  }\r\n\r\n\r\n  getEntityAllSetupData() {\r\n\r\n    if (this.EntityTypeId || this.EntityFormId) {\r\n\r\n      this.dynamicAppsService.getEntityAllSetupData(this.EntityTypeId, this.EntityFormId,true)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.SetupDetails = res.Setup;\r\n            if (!this.EntityTypeId) {\r\n              this.EntityTypeId = this.SetupDetails?.RecId;\r\n              this.gridId = this.EntityTypeId + \"_\" + this.gridNumber;\r\n            }\r\n            this.EntityAllFormList = res.Form;\r\n            this.EntityFieldList = res.Fields;\r\n\r\n            if(this.RelatedEntity){\r\n              let _relatedentity = this.EntityFieldList.filter(x=>(x.FieldType_RelationEntity==this.RelatedEntity || x.RelationEntity==this.RelatedEntity))[0];\r\n              if(_relatedentity){\r\n                this.RelatedEntityField = _relatedentity.Description;\r\n              }\r\n            }\r\n\r\n            this.getDependedOnEntity()\r\n\r\n            this.EntityActionList = res.ActionForm;\r\n            if (res.ActiveForm){\r\n              this.ActiveEntityForm = res.ActiveForm;\r\n            }\r\n            if ((this.SetupDetails?.IsWorkFlow || this.SetupDetails?.EntityType == 40 )&& !this.IsHideWorkflowBar) {\r\n              this.StatusAndStageList = res.WfStage;\r\n            }\r\n            this.getAllEntityField()\r\n            this.getAllEntityTypeForm();\r\n            if (res.ActiveForm){\r\n              this.getEntityFormByRecId()\r\n            }\r\n            this.getEntityFormActionList();\r\n            if ((this.SetupDetails?.IsWorkFlow || this.SetupDetails?.EntityType == 40)&& !this.IsHideWorkflowBar) {\r\n              this.getWorkflowStatusWithStage()\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            console.log(error);\r\n            Swal.fire(errorMessageType(error),\"\",'error');\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n\r\n\r\n\r\n  CommonGridFilter: any = null;\r\n  IsCommonGridFilter:boolean = false;\r\n  getCommonFilter() {\r\n    let CommonGridFilter = localStorage.getItem(\"CommonGridFilter\");\r\n    if (CommonGridFilter)\r\n      this.CommonGridFilter = JSON.parse(CommonGridFilter)\r\n    else\r\n      this.CommonGridFilter = null;\r\n  }\r\n\r\n\r\n\r\n\r\n  formConfig: any;\r\n  getEntityFormByRecId(view?:any) {\r\n\r\n    if (this.ActiveEntityForm?.FormType == E_FormType.Report || this.ActiveEntityForm?.FormType == E_FormType.CustomTemplate\r\n      || this.ActiveEntityForm?.FormType == E_FormType.Chart) {\r\n      this.getReportSetupData()\r\n    }\r\n\r\n    if (this.PageRouteType == \"FormView\") {\r\n\r\n    }\r\n    else\r\n      this.getFormRenderViews();\r\n    if (!view)\r\n      this.viewType(this.ActiveEntityForm, 0)\r\n\r\n  }\r\n\r\n  getAllEntityTypeForm() {\r\n\r\n    this.EntityActionFormList = this.EntityAllFormList.filter((x:any) => x.FormType == E_FormType.Action);\r\n    this.EntityDetailFormList = this.EntityAllFormList.filter(x => x.FormType == 2);\r\n    this.EntityDetailForm =  this.EntityAllFormList.filter(x => x.FormType == 2)[0];\r\n    this.EntityFormList = this.EntityAllFormList.filter(x => x.FormType == 1 || x.FormType == 3 || x.FormType == 4 || x.FormType == 5\r\n                                      || x.FormType == 6 || x.FormType == 7  || x.FormType == 8  || x.FormType == 9 );\r\n\r\n\r\n    if (this.PageRouteType == \"FormView\"){\r\n      this.getFormRenderViews();\r\n      // return\r\n    }\r\n    else {\r\n      this.ActiveEntityForm = this.EntityFormList[0];\r\n\r\n      if(this.ActiveEntityForm?.FormType ==E_FormType.Report || this.ActiveEntityForm?.FormType ==E_FormType.CustomTemplate\r\n        || this.ActiveEntityForm?.FormType ==E_FormType.Chart) {\r\n        this.getReportSetupData()\r\n      }\r\n      this.getFormRenderViews();\r\n      this.viewType(this.ActiveEntityForm, 0)\r\n    }\r\n\r\n  }\r\n\r\n  getAllEntityField(Criterias?: ISearchCriteria) {\r\n\r\n    this.EntityFieldList =  this.EntityFieldList.sort((a, b) => {\r\n      if (a.OrderId < b.OrderId) return -1;\r\n      else if (a.OrderId > b.OrderId) return 1;\r\n      else return 0;\r\n    });\r\n\r\n    this.renderListView()\r\n\r\n  }\r\n  setColumnListWithField() {\r\n\r\n    if(!(this.EntityFieldList &&this.EntityFieldList.length > 0)) {\r\n      return\r\n    }\r\n    this.EntityFieldList.map((x) => {\r\n      if (this.columnDefs && this.columnDefs.filter(col => col.Field == x.Description).length > 0)\r\n        x.showTable = true;\r\n      else\r\n        x.showTable = false\r\n    });\r\n\r\n\r\n    this.columnDefs = this.columnDefs.map((col) => {\r\n\r\n      if (this.EntityFieldList.find(x => x.Description == col.Field)) {\r\n        let _field = this.EntityFieldList.filter(x => x.Description == col.Field)[0];\r\n        if (!col.FieldType && _field.FieldTypeId && _field.FieldType_RelationEntity && _field.FieldType_RelationEntityField) {\r\n\r\n          col.FieldType = E_FieldType.details;\r\n          col.PageViewType = 1;\r\n          col.PageType = 5;\r\n          col.PagePrimaryField = col.Field;\r\n          col.PageRecId = _field.FieldType_RelationEntity\r\n\r\n        }\r\n      }\r\n\r\n      return col\r\n    });\r\n\r\n\r\n\r\n  }\r\n  hideallEntityFieldList(){\r\n    this.EntityFieldList = this.EntityFieldList.map((x)=>{\r\n      x.showActionBox = false;\r\n      return x\r\n    })\r\n  }\r\n  setColumnOrder() {\r\n    // column show by order\r\n    this.columnDefs = [];\r\n    this.EntityFieldList.map((x) => {\r\n      if (x.showTable) {\r\n        let _column: IColumnDef = {\r\n          Field: x.Description,\r\n          Name: x.Label,\r\n          DataType: x.DataType,\r\n        };\r\n        this.columnDefs.push(_column);\r\n      }\r\n    });\r\n  }\r\n\r\n\r\n  TicketData: any[] = [];\r\n  TempTicketData:any[]=[];\r\n  totalRecordCount: number = 0;\r\n  changeCount:number= 0;\r\n  pageCount: number = 0;\r\n  selectMode: E_SelectMode = E_SelectMode.Multi;\r\n  columnDefs: IColumnDef[] = [];\r\n  gridActionList: IActionDef[] = [];\r\n\r\n  IsShowDetails: boolean = false;\r\n  GoToDetailsData :any= {\r\n    Target: null,\r\n    PageType: null,\r\n    PageRecId: null,\r\n    PageFormRecId: null,\r\n    PageParam: [],\r\n    Url: null,\r\n    PagePrimaryField: null,\r\n  };\r\n\r\n  IsAssign: boolean = false;\r\n  IsCreate: boolean = false;\r\n  IsDelete: boolean = false;\r\n  IsMultipleFilter: boolean = false;\r\n  IsMultipleValueSearch: boolean = false;\r\n  IsEdit: boolean = false;\r\n  CreateCondition:any = null;\r\n  ActionCondition:any = null;\r\n  CreateType:number = 1;\r\n  EditCondition:any = null;\r\n  DeleteCondition:any = null;\r\n  AssignCondition:any = null;\r\n  storeCriteria:ISearchCriteria={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 10,\r\n    },\r\n    Where: [],\r\n    SortOrder:  { field: null, direction: null },\r\n  };\r\n\r\nloadStoreCriteria(){\r\n  this.storeCriteria ={\r\n    Pagging: {\r\n      PageNo: 1,\r\n      PageSize: 10,\r\n    },\r\n    Where: [],\r\n    SortOrder:  { field: null, direction: null },\r\n  };\r\n}\r\n\r\n\r\n  public HideSearch:boolean=false;\r\n  CheckScreenSize(){\r\n    if(screen.width<576){\r\n      this.HideSearch = true;\r\n    }else{\r\n      this.HideSearch = false;\r\n    }\r\n    return this.HideSearch;\r\n  }\r\n\r\n  getListData(Criteria?:ISearchCriteria) {\r\n    if (!this.SetupDetails) {\r\n      return\r\n    }\r\n\r\n    if (Criteria)\r\n      this.storeCriteria = Criteria;\r\n\r\n    if (this.group && this.group?.ID) {\r\n      this.globalService.getAllPageData();\r\n      if (this.globalService.PageAllData.find(x => x.ID == this.group?.ID)) {\r\n        this.PageGroupParams = this.globalService.PageAllData.filter(x => x.ID == this.group?.ID)[0].ParamsData;\r\n        if (this.PageGroupParams) {\r\n          for (let key in this.PageGroupParams) {\r\n\r\n            if (this.PageGroupParams[key]) {\r\n\r\n              if (this.storeCriteria.Where && this.storeCriteria.Where.length > 0) {\r\n                let index = this.storeCriteria.Where.findIndex(\r\n                  (x:any) => x.Field == key\r\n                );\r\n                if (index > -1) {\r\n                  debugger;\r\n                  this.storeCriteria.Where.splice(index, 1);\r\n                }\r\n              }\r\n\r\n              let filterobj = {\r\n                Field: key,\r\n                Operator: '==',\r\n                TableAlias: '',\r\n                Value: \"=\" + this.PageGroupParams[key],\r\n              };\r\n              this.storeCriteria.Where.push(filterobj);\r\n\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n\r\n\r\n      let isCallRemote:boolean = false;\r\n      if(this.ActiveEntityForm){\r\n        if(this.ActiveEntityForm.DataSourceType  && (this.ActiveEntityForm.DataSource || this.ActiveEntityForm.DataSourceId)){\r\n          isCallRemote = true\r\n        }\r\n      }\r\n\r\n    if (this.SetupDetails.EntityType == 150 || isCallRemote) {\r\n      this.getRemoteList()\r\n    }\r\n    else {\r\n      if (this.EntityTypeId) {\r\n\r\n        let processStageId = null;\r\n        if ((this.SetupDetails.EntityType == 40|| this.SetupDetails?.IsWorkFlow)&& !this.IsHideWorkflowBar) {\r\n          processStageId = this.stageId;\r\n        }\r\n\r\n        if(!this.EntityFormId) {\r\n          return\r\n        }\r\n\r\n        this.getentitypages(this.EntityTypeId, processStageId,this.EntityFormId,null,this.MultipleSearchObj?this.MultipleSearchObj:null);\r\n      }\r\n    }\r\n  }\r\n\r\n  showListConfigOnly:boolean = false;\r\n  getListConfigForm(){\r\n    debugger\r\n    this.showListConfigOnly = true;\r\n  }\r\n\r\n  closeListFormForm(){\r\n    this.showListConfigOnly = false;\r\n  }\r\n\r\n  getentitypages(EntityTypeId:any,processStageId:any,EntityFormId?:any,whereCondition?:any,MultipleSearchObj?:any) {\r\n\r\n    this.GridDynamicExportData = {\r\n      ColumnDef: this.columnDefs,\r\n      Url: \"api/v1/entitytype/dynamic/get\",\r\n      QueryParams: [{ Name: 'entityTypeRecId', Value: EntityTypeId.toString() }],\r\n      FileName: this.SetupDetails?.Description,\r\n      whereCondition:whereCondition\r\n    };\r\n\r\n    if(processStageId) {\r\n      this.GridDynamicExportData.QueryParams.push({ Name: 'processStageId', Value: processStageId.toString() })\r\n    }\r\n    if(EntityFormId) {\r\n      this.GridDynamicExportData.QueryParams.push({ Name: 'formRecId', Value: EntityFormId.toString() })\r\n    }\r\n\r\n    this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n    // this.IsDynamicExport = true;\r\n\r\n    // if(this.globalService.currentSystemModuleId) {\r\n    //   let filterobj = {\r\n    //     Field: 'AppModuleId',\r\n    //     Operator: '==',\r\n    //     TableAlias: '',\r\n    //     Value: this.globalService.currentSystemModuleId,\r\n    //   };\r\n\r\n\r\n    //   if (EntityTypeId == this.globalService.SystemConfigs.EntityId.QueryId\r\n    //     || EntityTypeId == this.globalService.SystemConfigs.EntityId.DataBaseId\r\n    //     || EntityTypeId == this.globalService.SystemConfigs.EntityId.FunctionId\r\n    //     || EntityTypeId == this.globalService.SystemConfigs.EntityId.ConnectorId)\r\n    //     this.storeCriteria.Where.push(filterobj);\r\n    // }\r\n\r\n    if (this.RelatedEntityField && this.RelatedEntityValue) {\r\n      this.storeCriteria.Where.splice(this.storeCriteria.Where.findIndex((a:any) => a.Field === this.RelatedEntityField), 1)\r\n      let filterobj = {\r\n        Field: this.RelatedEntityField,\r\n        Operator: '==',\r\n        TableAlias: '',\r\n        Value: \"=\" + this.RelatedEntityValue,\r\n      };\r\n      this.storeCriteria.Where.push(filterobj);\r\n    }\r\n\r\n\r\n    this.dynamicAppsService.getDynamicAll(this.storeCriteria, EntityTypeId, processStageId,null,EntityFormId,whereCondition,\r\n      MultipleSearchObj?.multiSearchfield,MultipleSearchObj?.multiSearchValue).subscribe(\r\n      (res: any) => {\r\n\r\n        this.TicketData = res.Data;\r\n        this.TempTicketData = res.Data;\r\n        this.totalRecordCount = res.TotalCount;\r\n        this.changeCount += this.changeCount + 1;\r\n        this.getPageCount();\r\n        this.loadGrid(res.Data, res.TotalCount);\r\n        this.insertSelectField(false);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n        this.TicketData = [];\r\n        this.TempTicketData = [];\r\n        this.loadGrid([], 0);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  getRemoteList() {\r\n\r\n    if (!this.ActiveEntityForm) {\r\n      return\r\n    }\r\n\r\n    let _handleData:any = {};\r\n    _handleData.Params = this.PageGroupParams\r\n\r\n    if (this.ActiveEntityForm.DataSourceType == E_DatasourceType.Query) {\r\n\r\n      if(this.ActiveEntityForm.DataSourceId) {\r\n\r\n        let Parameter = []\r\n        if (this.ActiveEntityForm.DataSource) {\r\n          let _param =[];\r\n          let _QueryData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n          if (Array.isArray(_QueryData)) {\r\n            _param = _QueryData;\r\n          }\r\n          else {\r\n            _param =_QueryData.DSQueryParamsList;\r\n          }\r\n\r\n          Parameter = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n\r\n        }\r\n\r\n        this.GridDynamicExportData = {\r\n          ColumnDef: this.columnDefs,\r\n          Url: \"api/v1/entitytype/dynamic/queryexecute\",\r\n          QueryParams: [{ Name: 'queryRecId', Value: this.ActiveEntityForm.DataSourceId },\r\n                        { Name: 'formRecId', Value: this.ActiveEntityForm.RecId.toString() }\r\n                       ],\r\n          FileName: this.SetupDetails?.Description\r\n        };\r\n\r\n        let _QueryParameter:INameVal[] = [];\r\n        Parameter.forEach((x:any) => {\r\n          _QueryParameter.push({ Name: x.Field, Value: x.Value })\r\n        });\r\n\r\n        this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams,..._QueryParameter, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n        // this.IsDynamicExport = true;\r\n\r\n\r\n\r\n        let Tabcondition:any = null;\r\n        if (this.stageTabs && this.stageTabs.length > 0) {\r\n          let _tabcondition:any = this.stageTabs[this.currrenStageTab];\r\n          if(_tabcondition?.Condtion && _tabcondition?.Condtion.length > 0)\r\n          Tabcondition = JSON.stringify(_tabcondition);\r\n        }\r\n        else {\r\n          if (this.ActiveEntityForm.DataSource) {\r\n            let _queryData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n            if (!Array.isArray(_queryData)) {\r\n              if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n                let _condition = {\r\n                  Condtion: _queryData.Condtion,\r\n                  CondtionOperator: _queryData.CondtionOperator\r\n                }\r\n                Tabcondition = JSON.stringify(_condition);\r\n                Tabcondition = this.hanbleBarData(Tabcondition);\r\n              }\r\n            }\r\n          }\r\n        }\r\n        this.dynamicAppsService.getDyamicQueryData(this.ActiveEntityForm.DataSourceId,this.ActiveEntityForm.RecId, this.storeCriteria,Parameter,Tabcondition )\r\n        .subscribe((res: any) => {\r\n\r\n          this.TicketData = [];\r\n          this.TempTicketData = [];\r\n          let _data: any = res.Data?res.Data:res;\r\n\r\n          if (_data && Array.isArray(_data) && _data.length > 0) {\r\n            this.TicketData = _data;\r\n            this.TempTicketData = _data;\r\n            this.totalRecordCount = res.TotalCount ? res.TotalCount : _data.length;\r\n            this.changeCount += this.changeCount + 1;\r\n            this.getPageCount();\r\n            this.loadGrid(_data, this.totalRecordCount);\r\n          }\r\n          else {\r\n            this.loadGrid([], 0);\r\n          }\r\n\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n            this.TicketData = [];\r\n            this.TempTicketData = [];\r\n            this.loadGrid([], 0);\r\n          });\r\n      }\r\n    }\r\n    else if (this.ActiveEntityForm.DataSourceType == E_DatasourceType.Entity) {\r\n      if (this.ActiveEntityForm.DataSourceId) {\r\n\r\n        let QueryString = [];\r\n        if (this.ActiveEntityForm.DataSource) {\r\n\r\n          let _param =[];\r\n          let _entityData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n\r\n          if (Array.isArray(_entityData)) {\r\n            _param = _entityData;\r\n          }\r\n          else {\r\n            _param =_entityData.QueryStrings;\r\n          }\r\n\r\n          QueryString = _param.map((x:any) => {\r\n            x.Value = this.hanbleBarData(x.Value,_handleData);\r\n            return x\r\n          });\r\n        }\r\n        let _QueryString:any[] = [];\r\n        if(QueryString.length > 0){\r\n\r\n          QueryString.map((x:any) => {\r\n            let filterobj = {\r\n              Field: '',\r\n              Operator: 'eq',\r\n              TableAlias: '',\r\n              Value: '',\r\n            };\r\n            filterobj.Field = x.Name,\r\n            filterobj.Value = x.Value,\r\n            _QueryString.push(filterobj);\r\n          });\r\n          this.storeCriteria.Where.push(..._QueryString);\r\n        }\r\n\r\n        let processStageId = null;\r\n        if ((this.SetupDetails?.EntityType == 40|| this.SetupDetails?.IsWorkFlow)&& !this.IsHideWorkflowBar) {\r\n          processStageId = this.stageId;\r\n        }\r\n\r\n        let condition = null;\r\n        let _queryData:any =  null;\r\n        if(this.ActiveEntityForm && this.ActiveEntityForm?.DataSource)\r\n         _queryData = JSON.parse(this.ActiveEntityForm.DataSource);\r\n\r\n        if (!Array.isArray(_queryData)) {\r\n          if (_queryData.Condtion && _queryData.Condtion.length > 0) {\r\n            let _condition = {\r\n              Condtion: _queryData.Condtion,\r\n              CondtionOperator: _queryData.CondtionOperator\r\n            }\r\n            condition = JSON.stringify(_condition);\r\n            condition = this.hanbleBarData(condition);\r\n          }\r\n        }\r\n\r\n        this.getentitypages(this.ActiveEntityForm.DataSourceId, processStageId,null,condition);\r\n      }\r\n    }\r\n    else if(this.ActiveEntityForm.DataSourceType == E_DatasourceType.SQLConnector) {\r\n\r\n      if(this.ActiveEntityForm.DataSourceId){\r\n\r\n        let _objectType:any = null\r\n        if(this.ActiveEntityForm && this.ActiveEntityForm?.DataSource)\r\n         _objectType = JSON.parse(this.ActiveEntityForm.DataSource);\r\n\r\n        let condition = null;\r\n        if (_objectType.Condtion && _objectType.Condtion.length > 0) {\r\n          let _condition = {\r\n            Condtion:_objectType.Condtion,\r\n            CondtionOperator:_objectType.CondtionOperator\r\n          }\r\n          condition = JSON.stringify(_condition)\r\n          condition = this.hanbleBarData(condition);\r\n        }\r\n\r\n        this.GridDynamicExportData = {\r\n          ColumnDef: this.columnDefs,\r\n          Url: \"api/v1/platform/sql/sysobjectexecute\",\r\n          QueryParams: [],\r\n          FileName: this.SetupDetails?.Description\r\n        };\r\n\r\n        let _Qrecid: INameVal = { Name: 'recId', Value: this.ActiveEntityForm.DataSourceId };\r\n        let _QobjectType: INameVal = { Name: 'object_Type', Value: _objectType.Type };\r\n        this.GridDynamicExportData.QueryParams = [\r\n          _Qrecid, _QobjectType\r\n        ];\r\n\r\n        if (_objectType.Name) {\r\n          let _QobjectName: INameVal = { Name: 'objectName', Value: _objectType.Name };\r\n          this.GridDynamicExportData.QueryParams.push(_QobjectName);\r\n        }\r\n\r\n        if (condition) {\r\n          let _QwhereCondition: INameVal = { Name: 'whereCondition', Value: condition };\r\n          this.GridDynamicExportData.QueryParams.push(_QwhereCondition);\r\n        }\r\n\r\n        this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n\r\n        this.dynamicAppsService.getSQLExecute(this.storeCriteria,this.ActiveEntityForm.DataSourceId,_objectType.Type,_objectType.Name,condition )\r\n        .subscribe((res: any) => {\r\n\r\n          this.TicketData = [];\r\n          this.TempTicketData = [];\r\n          let _data: any = res.Data?res.Data:res;\r\n\r\n          if (_data && Array.isArray(_data) && _data.length > 0) {\r\n            this.TicketData = _data;\r\n            this.TempTicketData = _data;\r\n            this.totalRecordCount = res.TotalCount ? res.TotalCount : _data.length;\r\n            this.changeCount += this.changeCount + 1;\r\n            this.getPageCount();\r\n            this.loadGrid(_data, this.totalRecordCount);\r\n          }\r\n          else {\r\n            this.loadGrid([], 0);\r\n          }\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n            this.TicketData = [];\r\n            this.TempTicketData = [];\r\n            this.loadGrid([], 0);\r\n          });\r\n\r\n      }\r\n\r\n    }\r\n    else {\r\n\r\n      if (this.ActiveEntityForm.DataSource) {\r\n        let isQueryManadatory = true;\r\n        let RestData = JSON.parse(this.ActiveEntityForm.DataSource)\r\n\r\n        RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n        RestData.Body = this.hanbleBarData(RestData.Body,_handleData);\r\n        if(RestData.Body && RestData.BodyType=='json' && typeof RestData.Body== \"string\" ) {\r\n          RestData.Body = JSON.parse(RestData.Body);\r\n        }\r\n        RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          if (!x.Value && x.IsMandatory) {\r\n            Swal.fire({\r\n              title: this.translatePipe.transform(x.Name + ' is mandatory'),\r\n            });\r\n            isQueryManadatory = false;\r\n            return;\r\n          }\r\n          return x\r\n        });\r\n\r\n        RestData.Headers = RestData.Headers.map((x:any) => {\r\n          x.Value = this.hanbleBarData(x.Value,_handleData);\r\n          return x\r\n        });\r\n\r\n        this.GridDynamicExportData = {\r\n          ColumnDef: this.columnDefs,\r\n          Url: (RestData.URL).replace(this.globalService.systemConfig.FrameworkUrl,''),\r\n          QueryParams: RestData.QueryStrings,\r\n          FileName: this.SetupDetails?.Description,\r\n         GridResponsePath: RestData.ResponseView\r\n        };\r\n\r\n        this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n        // this.IsDynamicExport = true;\r\n\r\n        if (!isQueryManadatory) {\r\n          return;\r\n        }\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData,null,this.storeCriteria,null,true)\r\n          .subscribe((res: any) => {\r\n\r\n            this.TicketData = [];\r\n            this.TempTicketData = [];\r\n            let _data: any = res;\r\n            let _dataTotalCount = res.TotalCount\r\n            if (RestData.ResponseView) {\r\n              let _rview = RestData.ResponseView.split(\".\");\r\n              _rview.forEach((x:any) => {\r\n                _data = _data[x];\r\n              });\r\n              if (!_dataTotalCount)\r\n              _dataTotalCount = res[_rview[0]].TotalCount;\r\n            }\r\n\r\n            if (_data && Array.isArray(_data) && _data.length > 0) {\r\n              if (RestData.ResponseDataFilterCondition) {\r\n                _data = _data.filter(x => this.rowCondition(x, RestData.ResponseDataFilterCondition));\r\n                _dataTotalCount = _data.length;\r\n              }\r\n              if (!_dataTotalCount)\r\n                _dataTotalCount = _data.length;\r\n              this.TicketData = _data;\r\n              this.TempTicketData = _data;\r\n              this.totalRecordCount = _dataTotalCount;\r\n              this.changeCount += this.changeCount + 1;\r\n              this.getPageCount();\r\n              this.loadGrid(_data,_dataTotalCount);\r\n            }\r\n            else {\r\n              this.loadGrid([], 0);\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n            (error:any) => {\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n              this.TicketData = [];\r\n              this.TempTicketData = [];\r\n              this.loadGrid([], 0);\r\n            });\r\n      }\r\n    }\r\n  }\r\n\r\n  openGridAction() {\r\n    let item: IActionDef = {\r\n      Id:this.EntityTypeId, Name: \"Create\",SubId:this.EntityTypeId}\r\n    this.GridAction(item)\r\n  }\r\n\r\n  openCreatepopupValues :any;\r\n  GridAction(item?: IActionDef, griddata?:any) {\r\n\r\n    this.openCreatepopupValues = item;\r\n    this.openPopupCreatePage(item);\r\n    return;\r\n\r\n  }\r\n\r\n  CreateItemId: number | null= null;\r\n  CreateItemSubId: number | null = null;\r\n  CreateEntityFormId: number | null = null;\r\n  CreateFormGetType:string | null = null;\r\n  detailsEntityTypeId: number | null = null;\r\n  displayPopupCreateView: boolean = false;\r\n\r\n  formData:any={};\r\n  CollectionType:string=\"Create\";\r\n  FormTitle:string | any =\"Add \";\r\n\r\n  openPopupCreatePage(item?:any) {\r\n    this.CollectionType=\"Create\";\r\n    this.FormTitle = \"Add \"+ this.SetupDetails?.Description;\r\n    this.CreateItemId = item.Id;\r\n    this.CreateItemSubId = item.SubId;\r\n    this.displayPopupCreateView = true;\r\n  }\r\n  closePopupCreateView(Type?: any) {\r\n    this.CreateItemId = null;\r\n    this.showDetailsCreateView = false;\r\n    this.displayPopupCreateView = false;\r\n    this.IsShowDynamicDetailsInlineView = false;\r\n    if (Type && Type != \"Cancel\")\r\n      this.getListData();\r\n  }\r\n\r\n\r\n  getDetailsURL(col:IColumnDef) {\r\n    let url = '';\r\n    if (col.PageType == 3) {\r\n      url = col.Url;\r\n    }\r\n    else if (col.PageType == 4) {\r\n\r\n      // if (this.globalService.currentModule == \"Platform\") {\r\n      //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/{{RecId}}/\" + this.EntityTypeId\r\n      // }\r\n      // else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //   url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/ViewDetails/{{RecId}}/\" + this.EntityTypeId\r\n      // }\r\n      // else {\r\n      //   url = this.globalService.currentModule + \"/ViewDetails/{{RecId}}/\" + this.EntityTypeId\r\n      // }\r\n\r\n    }\r\n    else if (col.PageType == 5) {\r\n\r\n      // if (!col.PageRecId) {\r\n      //   Swal.fire(this.translatePipe.transform(\"Page\"), this.translatePipe.transform(\"Page id not found\"), \"warning\");\r\n      //   return\r\n      // }\r\n\r\n      // if (this.globalService.currentModule == \"Platform\") {\r\n      //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/{{\" + col.Field + \"}}/\" + col.PageRecId\r\n      // }\r\n      // else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //   url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/ViewDetails/{{\" + col.Field + \"}}/\" + col.PageRecId\r\n      // }\r\n      // else {\r\n      //   url = this.globalService.currentModule + \"/ViewDetails/{{\" + col.Field + \"}}/\" + col.PageRecId\r\n      // }\r\n\r\n    }\r\n    else {\r\n\r\n      // if (col.PageType == 2) {\r\n      //   if (!col.PageFormRecId) {\r\n      //     Swal.fire(this.translatePipe.transform(\"Page Form\"), this.translatePipe.transform(\"Page form id not found\"), \"warning\");\r\n      //     return\r\n      //   }\r\n      //   if (this.globalService.currentModule == \"Platform\") {\r\n      //     url = \"/Platform/\" + this.globalService.EnvironmentId + \"/DynamicPage/\" + col.PageRecId + \"/\" + col.PageFormRecId + \"/{{RecId}}\"\r\n      //   }\r\n      //   else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //     url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/\" + this.menuText + \"Details\" + \"/View/\" + col.PageRecId + \"/\" + col.PageFormRecId + \"/{{RecId}}\"\r\n      //   }\r\n      //   else {\r\n      //     url = this.globalService.currentModule + \"/\" + this.menuText + \"Details\" + \"/View/\" + col.PageRecId + \"/\" + col.PageFormRecId + \"/{{RecId}}\"\r\n      //   }\r\n\r\n      // }\r\n      // else {\r\n      //   if (this.globalService.currentModule == \"Platform\") {\r\n      //     url = \"/Platform/\" + this.globalService.EnvironmentId + \"/View/\" + col.PageRecId\r\n      //   }\r\n      //   else if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n      //     url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/View/\" + col.PageRecId\r\n      //   }\r\n      //   else {\r\n      //     url = this.globalService.currentModule + \"/View/\" + col.PageRecId\r\n      //   }\r\n      //   if (col.PageFormRecId) {\r\n      //     url = url + \"/\" + col.PageFormRecId\r\n      //   }\r\n      // }\r\n    }\r\n\r\n    if (col.PageParam) {\r\n      let _urlParams = \"\"\r\n      for (let i = 0; i < col.PageParam.length; i++) {\r\n\r\n        if (i == 0) {\r\n          _urlParams = \"?\" + col.PageParam[i].Key + \"=\" + col.PageParam[i].Value\r\n        }\r\n        else {\r\n          _urlParams = _urlParams + \"&\" + col.PageParam[i].Key + \"=\" + col.PageParam[i].Value\r\n        }\r\n\r\n      }\r\n      url = url + _urlParams;\r\n\r\n    }\r\n    this.DetailsPageUrl =  url\r\n  }\r\n\r\n  DetailsPageUrl:any =null;\r\n  showDetailsCreateView:boolean = false;\r\n  EntityCreateForm:EntityTypeFormVM | null= null;\r\n  openCreatPop() {\r\n\r\n    if (this.CreateType == 2) {\r\n      let _column = this.columnDefs.filter(x => x.FieldType == E_FieldType.details)[0];\r\n      if (_column) {\r\n        this.getDetailsURL(_column)\r\n      }\r\n      this.EntityCreateForm = this.EntityActionList.filter(x => x.FormType == E_FormType.Create)[0];\r\n      this.showDetailsCreateView = true;\r\n    }\r\n    else {\r\n\r\n      let EntityForm:any = this.EntityActionList.filter(x => x.FormType == E_FormType.Create)[0];\r\n      this.CollectionType = \"Create\";\r\n      this.FormTitle = EntityForm?.FormName;\r\n      this.CreateItemId = this.EntityTypeId;\r\n      this.CreateItemSubId = this.EntityTypeId;\r\n      this.CreateFormGetType = \"Local\";\r\n      this.CreateEntityFormId = EntityForm.RecId;\r\n      this.displayPopupCreateView = true;\r\n      if (EntityForm.DataSourceLink) {\r\n        this.formConfig = JSON.parse(EntityForm.DataSourceLink);\r\n      }\r\n      else {\r\n        this.formConfig = {};\r\n      }\r\n    }\r\n  }\r\n\r\n  edit(data:any){debugger\r\n    let EntityForm:any =this.EntityActionList.filter(x=>x.FormType==E_FormType.Update)[0];\r\n    this.CollectionType = \"Edit\";\r\n    this.FormTitle = \"Update \"+this.SetupDetails?.Description;\r\n\r\n    this.CreateItemSubId = this.EntityTypeId;\r\n    this.formConfig = {};\r\n    if(EntityForm && EntityForm.RecId) {\r\n      this.FormTitle = EntityForm?.FormName;\r\n      this.CreateFormGetType=\"Local\";\r\n      this.CreateEntityFormId = EntityForm.RecId;\r\n      if (EntityForm.DataSourceLink) {\r\n        this.formConfig = JSON.parse(EntityForm.DataSourceLink);\r\n      }\r\n    }\r\n    this.getSingledynamicData(data);\r\n  }\r\n\r\n  delete(data:any) {\r\n\r\n    let RecID = data.RecId;\r\n    let entityTypeRecId = Number(this.EntityTypeId);\r\n    this.dynamicAppsService.DelteDynamicById(entityTypeRecId, RecID)\r\n      .subscribe(\r\n        (Res: any) => {\r\n          this.getListData();\r\n          this.loaderService.hideLoading();\r\n        }, (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          if (error.status == 401) {\r\n            return\r\n          }\r\n\r\n        });\r\n  }\r\n\r\n\r\n  EditCollectionList(EntityForm?:EntityTypeFormVM|any){\r\n\r\n    if(!this.gridData || this.gridData.length !=1) {\r\n      Swal.fire(\"Error\",\"select one row\",\"warning\");\r\n      return\r\n    }\r\n\r\n    this.CollectionType = \"Edit\";\r\n    this.FormTitle = \"Update \"+this.SetupDetails?.Description;\r\n\r\n    this.CreateItemSubId = this.EntityTypeId;\r\n\r\n    if(EntityForm && EntityForm.RecId) {\r\n      this.FormTitle = EntityForm.FormName;\r\n      this.CreateFormGetType=\"Local\";\r\n      this.CreateEntityFormId = EntityForm.RecId;\r\n    }\r\n    this.getSingledynamicData(this.gridData[0]);\r\n  }\r\n\r\n  DeleteCollectionList(){\r\n    Swal.fire({\r\n      title:'Are you sure Delete?',\r\n      showCancelButton:true,\r\n      confirmButtonColor:'#3085d6',\r\n      cancelButtonColor:'#d33',\r\n      cancelButtonText:'Cancel',\r\n      confirmButtonText:'Yes ,Delete it'\r\n    }).then((Res) => {\r\n      if(Res.value){\r\n        if(!this.gridData || this.gridData.length !=1){\r\n          Swal.fire(\"Error\",\"Select One Row..\",\"warning\");\r\n          return\r\n        }\r\n\r\n    let RecID = this.gridData[0].RecId;\r\n    let entityTypeRecId = Number(this.EntityTypeId);\r\n    this.dynamicAppsService.DelteDynamicById(entityTypeRecId,RecID).subscribe(\r\n      (Res:any) =>{\r\n        this.getListData();\r\n        this.loaderService.hideLoading();\r\n    },(error:any) =>{\r\n      this.loaderService.hideLoading();\r\n      if(error.status ==401) {\r\n        return\r\n      }\r\n\r\n    });\r\n      }\r\n    });\r\n\r\n  }\r\n\r\n\r\n  gridData: any[] = [];\r\n  getGridCheckedData(gridData:any) {\r\n    this.gridData = gridData;\r\n    if (this.group && this.group.ControlData)\r\n      this.group.ControlData.GridSelectedData = this.gridData;\r\n      this.globalService.getAllPageData();\r\n    this.CheckedGridData.emit({ gridData: this.gridData });\r\n  }\r\n  getPageCount() {\r\n    this.pageCount = Math.ceil(this.totalRecordCount / this.storeCriteria.Pagging.PageSize);\r\n  }\r\n\r\n  get showPagination() {\r\n    let ret: boolean = true;\r\n    if (this.PageViewFrom == 'Popup' && this.totalRecordCount < this.storeCriteria?.Pagging?.PageSize) {\r\n      ret = false\r\n    }\r\n    else if (this.viewTypeData == E_FormType.Chart || this.viewTypeData == E_FormType.Report || this.viewTypeData == E_FormType.CustomTemplate) {\r\n      ret = false\r\n    }\r\n    return ret;\r\n  }\r\n\r\n  GridCheckedData: any = [];\r\n  GridCheckAll: boolean = false;\r\n  getCheckboxChecked(event?: any, index?: number) {\r\n    this.GridCheckedData = [];\r\n    for (var i = 0; i < this.TicketData.length; i++) {\r\n      if (this.TicketData[i].isGridSelect)\r\n        this.GridCheckedData.push(this.TicketData[i]);\r\n    }\r\n    if (this.GridCheckedData.length == this.TicketData.length)\r\n      this.GridCheckAll = true;\r\n    else this.GridCheckAll = false;\r\n\r\n    this.getGridCheckedData(this.GridCheckedData);\r\n  }\r\n  getGridCheckAll(event: any) {\r\n    if (event.target.checked) {\r\n      this.GridCheckedData = this.TicketData;\r\n      this.insertSelectField(true);\r\n    } else {\r\n      this.GridCheckedData = [];\r\n      this.insertSelectField(false);\r\n    }\r\n    this.getGridCheckedData(this.GridCheckedData);\r\n  }\r\n  insertSelectField(value: boolean) {\r\n    this.TicketData = this.TicketData.map((x) => {\r\n      x.isGridSelect = value;\r\n      return x;\r\n    });\r\n  }\r\n  @Input() gridNumber:any = null;\r\n  @Input() gridId:string|number=0;\r\n\r\n  loadGrid(data: any, TotalRecord: number,grid?:number) {\r\n    if (data) {\r\n      if (data.length > 0)\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          list: data,\r\n          count: data.length,\r\n          grid: grid ? grid : this.gridId,\r\n          totalRecordCount: TotalRecord,\r\n        });\r\n      else\r\n        this.gridService.onGridRefresh.next({\r\n          isTrue: true,\r\n          grid: grid ? grid : this.gridId,\r\n          list: [],\r\n          count: 0,\r\n          totalRecordCount: 0,\r\n        });\r\n    } else\r\n      this.gridService.onGridRefresh.next({\r\n        isTrue: true,\r\n        grid: grid ? grid : this.gridId,\r\n        list: [],\r\n        count: 0,\r\n        totalRecordCount: 0,\r\n      });\r\n\r\n  }\r\n\r\n\r\n  ShowView = { id: E_FormType.Table, name: \"View\", class: \"la la-eye\", viewName: '', FormName: 'View', FormTypeEn: 'View View', Image: null }\r\n  viewTypes = [\r\n    { id: E_FormType.List, name: \"List\", class: \"la la-table\", desc: \"Table with types to store and view any kind of structured data\" },\r\n    { id: E_FormType.Card, name: \"Card\", class: \"la la-id-card-o\", desc: \"Grid of cards, use for mood boards, index cards, and recipes\" },\r\n    { id: E_FormType.Gallery, name: \"Gallery\", class: \"la la-id-card-o\", desc: \"Grid of cards, use for mood boards, index cards, and recipes\" },\r\n    { id: E_FormType.Columns, name: \"Columns\", class: \"la la-columns\", desc: \"column, great for project planning and bug tracking\" },\r\n    { id: E_FormType.Table, name: \"Table\", class: \"la la-list-ul\", desc: \"A simplified page view, great for bookmarks and notes\" },\r\n  ]\r\n\r\n  addViewDiv:boolean= false;\r\n  addViewPop(){\r\n    this.addViewDiv = true;\r\n  }\r\n  closeaddViewDivpop(){\r\n    this.addViewDiv = false;\r\n  }\r\n\r\n  _FormType = E_FormType;\r\n  viewTypeData: number = E_FormType.Table;\r\n  clickActive(event:MouseEvent) {\r\n     event.stopPropagation();\r\n  }\r\ntableview = this.viewTypeData==this._FormType.Table ? true : false;\r\n  viewType(data:any, index:any) {\r\n\r\n    this.ShowView = data;\r\n    this.viewTypeData = data.FormType;\r\n    this.EntityFormId = data.RecId;\r\n    this.ActiveEntityForm = this.EntityAllFormList.filter(x=>x.RecId==this.EntityFormId)[0];\r\n    if(this.viewTypeData == this._FormType.Gallery){\r\n      this.DataSourceTab = 4;\r\n    }\r\n    else if(this.viewTypeData == this._FormType.Profile){\r\n      this.DataSourceTab = 12;\r\n    }\r\n    else{\r\n      this.DataSourceTab = 1;\r\n    }\r\n    if (this.PageRouteType != \"FormView\")\r\n    this.getEntityFormByRecId(\"view\");\r\n\r\n\r\n  }\r\n\r\n  createdViewDatas =  { id: E_FormType.Table, name: \"Table\", class: \"la la-table\", viewName:\"Table View\" }\r\n  createdViewText:string =\"\";\r\n\r\n  selectViewType(data:any, index:any){\r\n    this.createdViewDatas = data;\r\n  }\r\n\r\n  createdNewView(){\r\n\r\n    if(this.createdViewText != ''){\r\n      this.createdViewDatas.viewName = this.createdViewText;\r\n    }else{\r\n      this.createdViewDatas.viewName = this.createdViewDatas.name+' View'\r\n    }\r\n    this.addViewDiv = false;\r\n\r\n    let data = {\r\n      FormName : this.createdViewText,\r\n      EntityTypeRecId: this.EntityTypeId,\r\n      FormType: this.createdViewDatas.id,\r\n      Image: this.createdViewDatas.class,\r\n    }\r\n    this.addEntityTypeFormData(data);\r\n\r\n  }\r\n\r\n\r\n  addEntityTypeFormData(data:any){\r\n    this.dynamicAppsService.addEntityTypeFormData(data).subscribe(\r\n      (res: any) => {\r\n        this.getEntityAllSetupData();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n      }\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n\r\n  DataSourceTab:number=1;\r\n  DataSourceTabChange(data:number){\r\n    if(data == 6){\r\n      this.IsPageType = true;\r\n      this.openFieldBulkCretate = true;\r\n    }else{\r\n      this.IsPageType = false;\r\n      this.openFieldBulkCretate = false;\r\n    }\r\n    if (data == E_FormType.Chart || data == E_FormType.Report || data == E_FormType.CustomTemplate) {\r\n      this.getReportSetupData()\r\n    }\r\n\r\n    this.renderListView();\r\n    this.DataSourceTab  = data;\r\n\r\n  }\r\n  showDataSourcePopup:boolean = false;\r\n  openDataSource() {\r\n    this.showDataSourcePopup = true;\r\n\r\n    if (this.ActiveEntityForm?.FormType == E_FormType.Report || this.ActiveEntityForm?.FormType == E_FormType.CustomTemplate\r\n      || this.ActiveEntityForm?.FormType == E_FormType.Chart) {\r\n        this.DataSourceTab  = this.ActiveEntityForm.FormType;\r\n    }\r\n    else {\r\n\r\n      if (!(this.ddlFieldType && this.ddlFieldType.length > 0))\r\n        this.getFieldTypeEnumDropDown();\r\n      if (!(this.ddlButtonType && this.ddlButtonType.length > 0))\r\n        this.getButtonTypeEnumDropDown();\r\n\r\n      this.renderListView();\r\n    }\r\n  }\r\n   closeDatasourceForm(type:any) {\r\n     this.showDataSourcePopup = false;\r\n     if(type == \"Update\"){\r\n      if(this.storeCriteria){\r\n        this.storeCriteria.Where = [];\r\n      }\r\n      this.getListData();\r\n     }\r\n   }\r\n\r\n\r\n\r\n  getFormRenderViews() {\r\n    this.renderListView();\r\n    this.renderSorting();\r\n    this.renderFiltering();\r\n    this.getActionsList();\r\n   }\r\n\r\n  renderListView() {\r\n    this.columnDefs = [];\r\n    this.listView = [];\r\n    let _listdata = null;\r\n    if (this.ActiveEntityForm)\r\n      _listdata = this.ActiveEntityForm.DetailsViewData;\r\n\r\n    let list =[];\r\n    if (_listdata) {\r\n      list = JSON.parse(_listdata);\r\n    }\r\n\r\n      if (list && list.length > 0) {\r\n        this.listView = list;\r\n        for (let index = 0; index < list.length; index++) {\r\n          let _currfield: IColumnDef = list[index];\r\n          this.columnDefs.push(_currfield);\r\n        }\r\n      }\r\n      else {\r\n\r\n        if (this.EntityFieldList && this.EntityFieldList.length > 0) {\r\n          this.columnDefs = [];\r\n          this.columnDefs.push({\r\n            Field: 'RecId',\r\n            Name: 'RecId',\r\n            FieldType: E_FieldType.details,\r\n            PageViewType: 5,\r\n            PageType: 4\r\n          });\r\n          for (let index = 0; index < this.EntityFieldList.length; index++) {\r\n            let _fields: EntityTypeFieldVM = this.EntityFieldList[index]\r\n            let _currfield: IColumnDef = {\r\n              Field: _fields.Description,\r\n              Name: _fields.Label,\r\n              DataType: _fields.DataType\r\n            };\r\n  \r\n            if (_fields.IsPrimarykey) {\r\n              _currfield.FieldType = E_FieldType.details;\r\n              _currfield.PageViewType = 5;\r\n              _currfield.PageType = 4;\r\n            }\r\n  \r\n            this.columnDefs.push(_currfield);\r\n          }\r\n        }\r\n  \r\n        let _primaryFieldGroups = this.EntityAllFormList.filter(x => x.FieldControlType == E_FieldGroupType.Primary);\r\n        if (_primaryFieldGroups && _primaryFieldGroups.length > 0) {\r\n  \r\n  \r\n          _primaryFieldGroups.forEach(FG => {\r\n            if (FG.DetailsViewData) {\r\n              let _fieldgroups = JSON.parse(FG.DetailsViewData);\r\n              for (let index = 0; index < _fieldgroups.length; index++) {\r\n                let _fieldsG: EntityTypeFieldVM = _fieldgroups[index];\r\n                let _fields = this.EntityFieldList.filter(x => x.Description == _fieldsG.Description)[0];\r\n  \r\n                if (_fields && _fields.Description) {\r\n  \r\n                  let _currfield: IColumnDef = {\r\n                    Field: _fields.Description,\r\n                    Name: _fields.Label,\r\n                    DataType: _fields.DataType\r\n                  };\r\n  \r\n                  if (_fields.IsPrimarykey) {\r\n                    _currfield.FieldType = E_FieldType.details;\r\n                    _currfield.PageViewType = 2;\r\n                    _currfield.PageType = 4;\r\n                  }\r\n  \r\n                  this.columnDefs.push(_currfield);\r\n                }\r\n              }\r\n            }\r\n  \r\n          });\r\n  \r\n        }\r\n  \r\n      }\r\n\r\n      this.setColumnListWithField();\r\n\r\n\r\n  }\r\n\r\n\r\n\r\n  sorting:any = null;\r\n  renderSorting(){\r\n    this.sorting = null;\r\n    let _Sorting = this.ActiveEntityForm?.Sorting;\r\n    if (_Sorting) {\r\n      let sort = JSON.parse(_Sorting);\r\n      if (sort && sort.length > 0) {\r\n        this.sorting = sort\r\n      }\r\n    }\r\n    if(this.storeCriteria)\r\n    this.storeCriteria.SortOrder = this.sorting;\r\n  }\r\n  sortApply(){\r\n\r\n      if(this.sorting?.length == 0)\r\n        this.storeCriteria.SortOrder = null;\r\n      else\r\n        this.storeCriteria.SortOrder = this.sorting;\r\n\r\n      this.saveListView(null,true);\r\n  }\r\n\r\n  condition:Condition | null = null;\r\n\r\n  renderFiltering(){\r\n    let _Filter = this.ActiveEntityForm?.Filter;\r\n    if (_Filter) {\r\n      let condition = JSON.parse(_Filter);\r\n      if (condition) {\r\n        this.condition = condition\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  addCondition() {\r\n      this.condition = new Condition();\r\n  }\r\n\r\n  conditionApply(){\r\n\r\n    let con = JSON.stringify(this.condition);\r\n    this.saveListView(null,true);\r\n\r\n  }\r\n\r\n  clearFilter(){\r\n    this.condition = null;\r\n  }\r\n\r\n  ActionsList:ActionVM[] = [];\r\n  getActionsList() {\r\n    this.ActionsList = [];\r\n    let _Actions = this.ActiveEntityForm?.Actions;\r\n    if (_Actions) {\r\n      let Actions = JSON.parse(_Actions);\r\n      if (Actions && Actions.length > 0) {\r\n        this.ActionsList = Actions;\r\n      }\r\n    }\r\n  }\r\n\r\n  ddlFieldType: any = [];\r\n  getFieldTypeEnumDropDown() {\r\n\r\n    this.ddlFieldType = [];\r\n    try {\r\n      for (let key in E_FieldType) {\r\n        let val = E_FieldType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlFieldType.push(temp);\r\n        }\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire('', e.message, 'error');\r\n    }\r\n  }\r\n\r\n  ddlButtonType: any = [];\r\n  getButtonTypeEnumDropDown() {\r\n\r\n    this.ddlButtonType = [];\r\n    try {\r\n      for (let key in E_ButtonType) {\r\n        let val = E_ButtonType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlButtonType.push(temp);\r\n        }\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire('', e.message, 'error');\r\n    }\r\n  }\r\n\r\n\r\n\r\n  listView: IColumnDef[] = [];\r\n  columnDataType = E_DataType;\r\n  columnFieldType = E_FieldType;\r\n  addlist() {\r\n    let _list: IColumnDef = {\r\n      Field: '',\r\n      Name: '',\r\n      IconName:null,\r\n      ResponseView:null,\r\n      DataType: E_DataType.string,\r\n      FieldType:null,\r\n      Url:null,\r\n    };\r\n    this.listView.push(_list);\r\n  }\r\n\r\n  deleteList(index:number) {\r\n    this.listView.splice(index, 1);\r\n  }\r\n\r\n  downList(index:any,item:any) {\r\n    moveItem(item, index, index + 1);\r\n  }\r\n\r\n  upList(index:any,item:any) {\r\n    moveItem(item, index, index - 1);\r\n  }\r\n  selectListViewFields(event:any, item:IColumnDef, index:any) {\r\n\r\n    item.Name = event.Label;\r\n    item.DataType = event.DataType;\r\n    if (event.ResponseView)\r\n      item.ResponseView = event.ResponseView;\r\n  }\r\n\r\n  saveListView(Type?:string|null,isCallList?:any) {\r\n\r\n\r\n    let listdata:any = null;\r\n    if (this.columnDefs && this.columnDefs.length > 0)\r\n      listdata = JSON.stringify(this.columnDefs);\r\n    else {\r\n      let empltyColumnDef:any[] = []\r\n      listdata = JSON.stringify(empltyColumnDef);\r\n    }\r\n\r\n    if (Type == \"ListConfiqView\")\r\n      listdata = JSON.stringify(this.listView);\r\n\r\n    let sort:any = null;\r\n    if (this.sorting && this.sorting.length > 0)\r\n      sort = JSON.stringify(this.sorting);\r\n\r\n\r\n    let filter:any = null;\r\n    if (this.condition)\r\n      filter = JSON.stringify(this.condition);\r\n\r\n\r\n    if(this.ActiveEntityForm){\r\n      if(filter)\r\n      this.ActiveEntityForm.Filter = filter;  \r\n      if(sort)\r\n      this.ActiveEntityForm.Sorting = sort;  \r\n      if(listdata)\r\n      this.ActiveEntityForm.DetailsViewData = listdata;\r\n    }\r\n\r\n\r\n\r\nif (this.ActiveEntityForm) {\r\n        const data: EntityTypeFormUVM = {\r\n          RecId: this.ActiveEntityForm?.RecId,\r\n          EntityTypeId: this.ActiveEntityForm?.EntityTypeRecId,\r\n          CascadeFieldId: this.ActiveEntityForm?.CascadeFieldId,\r\n          DataSourceLink: this.ActiveEntityForm?.DataSourceLink,\r\n          FieldControlType: this.ActiveEntityForm?.FieldControlType,\r\n          FieldId: this.ActiveEntityForm?.FieldId,\r\n          IsVisible: this.ActiveEntityForm?.IsVisible,\r\n          OrderId: this.ActiveEntityForm?.OrderId,\r\n          EntityTypeRecId: this.ActiveEntityForm?.EntityTypeRecId,\r\n          RulesData: this.ActiveEntityForm?.RulesData,\r\n          FormType: this.ActiveEntityForm?.FormType,\r\n          DetailsViewData: listdata,\r\n          Sorting: sort,\r\n          Filter: filter,\r\n          AllowCreate:this.ActiveEntityForm?.AllowCreate,\r\n          AllowEdit:this.ActiveEntityForm?.AllowEdit,\r\n          IsAdvanceGrid:this.ActiveEntityForm?.IsAdvanceGrid,\r\n        };\r\n        this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n          (res) => {\r\n  \r\n            if (this.listView) {\r\n            this.columnDefs = this.listView;\r\n            }\r\n            if(isCallList) {\r\n              this.getListData();\r\n            }\r\n\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n          }\r\n        );\r\n}\r\n  }\r\n\r\n  updateListView() {\r\n\r\n    this.saveListView();\r\n  }\r\n\r\n\r\n  PageListDDl:any[]=[];\r\n  EntityListDDl:any[]=[];\r\n\r\n\r\n\r\n  getCollectionDDl(Type?:any) {\r\n\r\n\r\n    let _Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 0,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n\r\n    let entityTypeSetup = this.dynamicAppsService.getAllEntityTypeSetup(_Searchcriteria,Type).subscribe(\r\n      (res: any) => {\r\n\r\n        let _datas =res.Data ? res.Data : res;\r\n        this.PageListDDl =[];\r\n          _datas.forEach((x:any) => {\r\n            let temp = {RecId:x.RecId,Desc:x.Description};\r\n            this.PageListDDl.push(temp);\r\n          });\r\n\r\n        this.loaderService.hideLoading();\r\n        entityTypeSetup.unsubscribe();\r\n      },\r\n      (error) => {\r\n\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n  EntityFormDDl:any[]=[];\r\n  getEntityForm(EntityTypeId:any,PageType?:any) {\r\n\r\n    if(PageType==1){\r\n      this.EntityFormDDl = this.EntityAllFormList.filter(x=>(x.FormType != E_FormType.Page && x.FormType != E_FormType.EntityPage && x.FormType != E_FormType.Details));\r\n    }\r\n    else if(PageType==2){\r\n      this.EntityFormDDl = this.EntityAllFormList.filter(x=>(x.FormType == E_FormType.Page || x.FormType == E_FormType.EntityPage));\r\n    }\r\n    else {\r\n      this.EntityFormDDl = this.EntityAllFormList;\r\n    }\r\n\r\n  }\r\n\r\n  getAppAction() {\r\n\r\n    if (this.ActiveEntityForm && this.ActiveEntityForm.Configure) {\r\n      let _formconfig: FormConfig = JSON.parse(this.ActiveEntityForm.Configure);\r\n\r\n      this.IsCreate = _formconfig.IsCreate;\r\n      if (this.IsCreate) {\r\n        this.CreateCondition = _formconfig.CreateCondition;\r\n        this.CreateType =_formconfig.CreateType;\r\n        this.checkCreateCondition();\r\n      }\r\n      this.IsEdit = _formconfig.IsEdit;\r\n      if (this.IsEdit) {\r\n        this.EditCondition = _formconfig.EditCondition;\r\n      }\r\n      this.IsDelete = _formconfig.IsDelete;\r\n      if (this.IsDelete) {\r\n        this.DeleteCondition = _formconfig.DeleteCondition;\r\n      }\r\n      this.IsMultipleFilter = _formconfig.IsMultipleFilter;\r\n      this.IsMultipleValueSearch = _formconfig.IsMultipleSearch;\r\n      if (this.IsAssign)\r\n        this.IsAssign = _formconfig.IsAssign;\r\n      if (this.IsAssign) {\r\n        this.AssignCondition = _formconfig.AssignCondition;\r\n      }\r\n      this.IsShowDetails = _formconfig.IsDetails;\r\n      if (this.IsShowDetails) {\r\n        this.GoToDetailsData = {\r\n          Target: _formconfig.DetailsTarget,\r\n          PageType: _formconfig.DetailsPageType,\r\n          PageRecId: _formconfig.DetailsPageRecId,\r\n          PageFormRecId: _formconfig.DetailsPageFormRecId,\r\n          PageParam: _formconfig.DetailsPageParam,\r\n          Url: _formconfig.DetailsUrl,\r\n          PagePrimaryField: _formconfig.DetailsPagePrimaryField,\r\n        };\r\n      }\r\n      this.IsPermission = _formconfig.IsPermission\r\n      this.IsAttach = _formconfig.IsAttach;\r\n      if(this.IsAttach){\r\n        this.AttachCondition =  _formconfig.AttachCondition;\r\n      }\r\n      this.IsExport = _formconfig.IsExport;\r\n      this.IsExportTemplate = _formconfig.IsExportTemplate;\r\n      this.ExportURL = _formconfig.ExportURL;\r\n      this.IsExcelImport = _formconfig.IsExcelImport;\r\n      this.IsImport = _formconfig.IsImport;\r\n      this.ImportURL = _formconfig.ImportURL;\r\n      this.IsDuplicate = _formconfig.IsDuplicate;\r\n      if (typeof _formconfig.IsShowAllPendingBar !== 'undefined')\r\n        this.IsShowAllPendingBar = _formconfig.IsShowAllPendingBar;\r\n\r\n        if (typeof _formconfig.IsHideWorkflowBar !== 'undefined')\r\n        this.IsHideWorkflowBar = _formconfig.IsHideWorkflowBar;\r\n\r\n        if (typeof _formconfig.IsHideSearch !== 'undefined')\r\n        this.IsHideSearch = _formconfig.IsHideSearch;\r\n\r\n      this.IsAction = _formconfig.IsAction;\r\n      if (this.IsAction) {\r\n        this.AllowMultipleAction = _formconfig.AllowMultipleAction;\r\n        if (_formconfig.ActionList && _formconfig.ActionList.length > 0) {\r\n\r\n          this.IsActionList = _formconfig.ActionList;\r\n          let filteredArray:any[] = [];\r\n          this.MinEntityActionList.forEach(x => {\r\n            if (this.IsActionList.find(y => y.RecId == x.RecId))\r\n              filteredArray.push(x);\r\n          });\r\n          this.MinEntityActionList = filteredArray\r\n        }\r\n      }\r\n      this.IsBack = _formconfig.IsBack\r\n      this.BackURL = _formconfig.BackURL;\r\n\r\n      this.IsClientPagination = _formconfig.IsClientPagination;\r\n      this.PaginationType = _formconfig.PaginationType;\r\n\r\n    }\r\n    else {\r\n      // if (this.menuText) {\r\n\r\n      //   let Currentapp = null;\r\n\r\n      //   if (this.globalService.appId == \"System\")\r\n      //     Currentapp = this.globalService.SystemConfigs.AppAction[this.globalService.currentSystemModuleName];\r\n      //   else if (this.globalService.AppName)\r\n      //     Currentapp = this.globalService.SystemConfigs.AppAction[this.globalService.AppName];\r\n      //   let Currentpage = null\r\n      //   if (Currentapp)\r\n      //     Currentpage = Currentapp[this.menuText];\r\n\r\n      //   if (Currentpage) {\r\n      //     if (this.PageName) {\r\n      //       Currentpage = Currentpage[this.PageName]\r\n      //     }\r\n      //   }\r\n\r\n      //   if (Currentpage) {\r\n\r\n      //     if (this.IsCreate) {\r\n      //       this.IsCreate = Currentpage.IsCreate\r\n      //     }\r\n      //     if (this.IsEdit) {\r\n      //       this.IsEdit = Currentpage.IsEdit\r\n      //     }\r\n      //     if (this.IsDelete) {\r\n      //       this.IsDelete = Currentpage.IsDelete\r\n      //     }\r\n      //     this.IsMultipleFilter = Currentpage.IsMultipleFilter;\r\n      //     this.IsMultipleValueSearch = Currentpage.IsMultipleSearch;\r\n      //     if (this.IsAssign) {\r\n      //       if (typeof Currentpage.IsAssign !== 'undefined')\r\n      //         this.IsAssign = Currentpage.IsAssign\r\n      //     }\r\n      //     this.IsPermission = Currentpage.IsPermission\r\n\r\n      //     this.IsAttach = Currentpage.IsAttach;\r\n\r\n      //     this.IsExport = Currentpage.IsExport == false ? false : true;\r\n      //     this.IsExportTemplate = Currentpage.IsExportTemplate;\r\n      //     this.ExportURL = Currentpage.ExportURL;\r\n      //     this.IsExcelImport = Currentpage.IsExcelImport;\r\n      //     this.IsImport = Currentpage.IsImport;\r\n      //     this.ImportURL = Currentpage.ImportURL;\r\n      //     this.IsDuplicate = Currentpage.IsDuplicate;\r\n\r\n      //     if (typeof Currentpage.IsAction !== 'undefined')\r\n      //       this.IsAction = Currentpage.IsAction\r\n\r\n      //   }\r\n      // }\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  DyamicFormId:number|null=0;\r\n  DyamicPageRecId:number|null=0;\r\n  DyamicTableRecId:number|null=0;\r\n  PageType:number|null=0;\r\n  DynamicTableField:any\r\n  DynamicTableFieldValue:any;\r\n  goDetails(data:any, col?:IColumnDef) { debugger;\r\n    let queryParamsobj:any = {};\r\n\r\n    if(!col && this.GoToDetailsData && this.GoToDetailsData?.PageType) {\r\n      col ={\r\n        Field:\"\",\r\n        Name:\"\",\r\n        FieldType:E_FieldType.details,\r\n        PageParam:this.GoToDetailsData.PageParam?this.GoToDetailsData.PageParam:[],\r\n        PageViewType:this.GoToDetailsData.Target=='_blank'?3:2,\r\n        PageRecId:this.GoToDetailsData.PageRecId,\r\n        PageType:this.GoToDetailsData.PageType,\r\n        Url:this.GoToDetailsData.Url,\r\n        PageFormRecId:this.GoToDetailsData.PageFormRecId,\r\n        PagePrimaryField:this.GoToDetailsData.PagePrimaryField\r\n      }\r\n    }\r\n\r\n    if(col && col.FieldType == E_FieldType.details) {\r\n\r\n      if (col.PageParam) {\r\n        col.PageParam.forEach((x:any) => {\r\n          queryParamsobj[x.Key] = this.hanbleBarData(x.Value, data);\r\n        });\r\n      }\r\n\r\n      if(col.PageViewType==1 || col.PageViewType==4|| col.PageViewType==5 ) { // popup & Side View\r\n          if(col.PageType == 4){\r\n          this.DyamicFormId= col.PageFormRecId;\r\n          this.DyamicPageRecId= Number(this.EntityTypeId);\r\n\r\n          if(col.PagePrimaryField){\r\n            this.DyamicTableRecId = null;\r\n            this.DynamicTableField = col.PagePrimaryField;\r\n            this.DynamicTableFieldValue = data[col.PagePrimaryField];\r\n          }\r\n          else {\r\n            this.DyamicTableRecId=data.RecId;\r\n            this.DynamicTableField =null;\r\n            this.DynamicTableFieldValue = null;\r\n          }\r\n\r\n         this.PageType = col.PageType;\r\n            if (this.DyamicPageRecId && (this.DyamicTableRecId || this.DynamicTableFieldValue)) {\r\n              if (col.PageViewType == 4) {\r\n                this.openDynamicDetailsSideView();\r\n              }\r\n              else if (col.PageViewType == 5) {\r\n                this.openDynamicDetailsInlineView(queryParamsobj);\r\n              }\r\n              else {\r\n                this.openDynamicDetailsPopup(queryParamsobj);\r\n              }\r\n          }\r\n        }\r\n         else{\r\n          this.DyamicFormId = col.PageFormRecId;\r\n         this.DyamicPageRecId= col.PageRecId;\r\n\r\n          this.PageType = col.PageType;\r\n          if(col.PagePrimaryField){\r\n            this.DyamicTableRecId = null;\r\n            this.DynamicTableField = col.PagePrimaryField;\r\n            this.DynamicTableFieldValue = data[col.PagePrimaryField];\r\n          }\r\n          else {\r\n            this.DyamicTableRecId=data.RecId;\r\n            this.DynamicTableField =null;\r\n            this.DynamicTableFieldValue = null;\r\n          }\r\n          if(this.DyamicPageRecId && (this.DyamicTableRecId || this.DynamicTableFieldValue) && this.PageType){\r\n            if (col.PageViewType == 4) {\r\n              this.openDynamicDetailsSideView();\r\n            }\r\n            else if (col.PageViewType == 5) {\r\n              this.openDynamicDetailsInlineView(queryParamsobj);\r\n            }\r\n            else {\r\n              this.openDynamicDetailsPopup(queryParamsobj);\r\n            }\r\n          }\r\n         }\r\n\r\n      }\r\n      else {\r\n\r\n        let url = '';\r\n\r\n        if (col.PageType == 3) {\r\n          url = this.hanbleBarData(col.Url, data);\r\n\r\n        }\r\n        else if (col.PageType == 4) {\r\n\r\n          // if (this.globalService.currentModule == \"Platform\") {\r\n          //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/\"+data.RecId+\"/\"+this.EntityTypeId\r\n          // }\r\n          // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n          //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+ \"/ViewDetails/\"+data.RecId+\"/\"+this.EntityTypeId\r\n          // }\r\n          //  else {\r\n          //   url = this.globalService.currentModule+ \"/ViewDetails/\"+data.RecId+\"/\"+this.EntityTypeId\r\n          // }\r\n\r\n        }\r\n        else if (col.PageType == 5) {\r\n\r\n          // if(!col.PageRecId) {\r\n          //   Swal.fire(this.translatePipe.transform(\"Page\"),this.translatePipe.transform(\"Page id not found\"),\"warning\");\r\n          //   return\r\n          // }\r\n\r\n          // if (this.globalService.currentModule == \"Platform\") {\r\n          //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/\"+data[col.Field]+\"/\"+col.PageRecId\r\n          // }\r\n          // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n          //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+ \"/ViewDetails/\"+data[col.Field]+\"/\"+col.PageRecId\r\n          // }\r\n          // else {\r\n          //   url = this.globalService.currentModule+ \"/ViewDetails/\"+data[col.Field]+\"/\"+col.PageRecId\r\n          // }\r\n\r\n        }\r\n        else {\r\n\r\n          if(col.PageType == 2) {\r\n            // if(!col.PageFormRecId) {\r\n            //   Swal.fire(this.translatePipe.transform(\"Page Form\"),this.translatePipe.transform(\"Page form id not found\"),\"warning\");\r\n            //   return\r\n            // }\r\n            // if (this.globalService.currentModule == \"Platform\") {\r\n            //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/DynamicPage/\"+col.PageRecId+\"/\"+col.PageFormRecId+\"/\"+data.RecId\r\n            // }\r\n            // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n            //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+\"/\"+this.menuText +\"Details\"+ \"/View/\"+col.PageRecId+\"/\"+col.PageFormRecId+\"/\"+data.RecId\r\n            // }\r\n            //  else {\r\n            //   url = this.globalService.currentModule+\"/\"+this.menuText+\"Details\"+ \"/View/\"+col.PageRecId+\"/\"+col.PageFormRecId+\"/\"+data.RecId\r\n            // }\r\n\r\n          }\r\n          else {\r\n            // if (this.globalService.currentModule == \"Platform\") {\r\n            //   url = \"/Platform/\" + this.globalService.EnvironmentId + \"/View/\" + col.PageRecId\r\n            // }\r\n            // else if(this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName){\r\n            //   url = this.globalService.currentModule+\"/\"+this.globalService.currentSystemModuleName+ \"/View/\" + col.PageRecId\r\n            // }\r\n            //  else {\r\n            //   url = this.globalService.currentModule + \"/View/\" + col.PageRecId\r\n            // }\r\n            // if(col.PageFormRecId) {\r\n            //   url = url +\"/\"+col.PageFormRecId\r\n            // }\r\n          }\r\n        }\r\n\r\n\r\n        if(col.PageViewType==2) { //Same Page\r\n          //this.router.navigate([url], { queryParams: queryParamsobj });\r\n        }\r\n        else if(col.PageViewType == 3) { // new Window\r\n\r\n          if (!url.startsWith(\"http\")) {\r\n            url = `${window.location.origin}/#/${url}`;\r\n          }\r\n          if (queryParamsobj) {\r\n            let _queryString = \"?\";\r\n            Object.keys(queryParamsobj).forEach(key => {\r\n              let _val = key + \"=\" + queryParamsobj[key] + \"&\"\r\n              _queryString = _queryString + _val\r\n            });\r\n            if(_queryString.length > 1){\r\n              url = url+_queryString;\r\n            }else{\r\n              url = url;\r\n            }\r\n          }\r\n          window.open(url, \"_blank\");\r\n        }\r\n\r\n\r\n      }\r\n\r\n    }\r\n    else\r\n    this.goDetailss(data)\r\n\r\n  }\r\n  goDetailss(data:any) {\r\n\r\n\r\n    // let url = \"/Platform/\" + this.globalService.EnvironmentId + \"/ViewDetails/\";\r\n    // if (this.globalService.currentModule == \"System\" && this.globalService.currentSystemModuleName) {\r\n    //   url = this.globalService.currentModule + \"/\" + this.globalService.currentSystemModuleName + \"/ViewDetails/\";\r\n    // }\r\n    // else if (this.globalService.currentModule != 'Platform')\r\n    //   url = \"/\" + this.globalService.appId + \"/ViewDetails/\";\r\n\r\n\r\n\r\n    //this.router.navigate([url, data.RecId,data.EntityTypeId]);\r\n  }\r\n\r\n\r\n  get ActionColumnDefs() {\r\n    let _list = [];\r\n    _list = this.columnDefs.filter(x => x.FieldType == this.columnFieldType.button);\r\n    return _list\r\n  }\r\n\r\n  IsShowDynamicDetailsPopup:boolean=false;\r\n  openDynamicDetailsPopup(queryParamsobj:any){\r\n    if(queryParamsobj && queryParamsobj){\r\n      this.oldqueryParams = this.queryParams;\r\n      //this.router.navigate([], { queryParams: queryParamsobj });\r\n    }\r\n    this.IsShowDynamicDetailsPopup = true;\r\n  }\r\n  closeDynamicDetailsPopup(){\r\n    //this.router.navigate([], { queryParams: this.oldqueryParams });\r\n    this.loadGrid(this.TicketData , this.totalRecordCount);\r\n    this.IsShowDynamicDetailsPopup = false;\r\n  }\r\n\r\n  IsShowDynamicDetailsSideView: boolean = false;\r\n  isExpand: boolean = false;\r\n  openDynamicDetailsSideView() {\r\n    if (this.IsShowDynamicDetailsSideView) {\r\n      this.IsShowDynamicDetailsSideView = false;\r\n      setTimeout(() => {\r\n        this.IsShowDynamicDetailsSideView = true;\r\n      }, 1);\r\n    }\r\n    else\r\n      this.IsShowDynamicDetailsSideView = true;\r\n\r\n  }\r\n  closeDynamicDetailsSideView() {\r\n    this.IsShowDynamicDetailsSideView = false;\r\n  }\r\n\r\n\r\n  IsShowDynamicDetailsInlineView:boolean = false;\r\n  oldqueryParams = null;\r\n  openDynamicDetailsInlineView(queryParamsobj?:any) {\r\n    if (this.IsShowDynamicDetailsInlineView) {\r\n      this.IsShowDynamicDetailsInlineView = false;\r\n      setTimeout(() => {\r\n        if(queryParamsobj && queryParamsobj){\r\n          this.oldqueryParams = this.queryParams;\r\n          // this.router.navigate([], { queryParams: queryParamsobj });\r\n          this.queryParams = queryParamsobj;\r\n        }\r\n        this.IsShowDynamicDetailsInlineView = true;\r\n      }, 1);\r\n    }\r\n    else{\r\n      if(queryParamsobj && queryParamsobj){\r\n        this.oldqueryParams = this.queryParams;\r\n        //this.router.navigate([], { queryParams: queryParamsobj });\r\n        this.queryParams = queryParamsobj;\r\n      }\r\n      this.IsShowDynamicDetailsInlineView = true;\r\n    }\r\n\r\n  }\r\n  closeDynamicDetailsInlineView() {\r\n    this.IsShowDynamicDetailsInlineView = false;\r\n    if(this.oldqueryParams)\r\n    this.queryParams = this.oldqueryParams;//this.router.navigate([], { queryParams: this.oldqueryParams });\r\n    else\r\n    this.queryParams=null; //this.router.navigate([], { queryParams: {} });\r\n\r\n    this.loadGrid(this.TicketData , this.totalRecordCount);\r\n  }\r\n\r\n\r\n  showFieldImportPopup: boolean = false;\r\n  ImportCsvFile: any = null;\r\n  ImportCsvModel: any = null;\r\n  ImportStage: number = 1;\r\n  ImportCsvRecId: number = 0;\r\n  ImportCsvData: any = null;\r\n  ImportCsvDataColumn: any[] = [];\r\n  openImportPopup() {\r\n    this.ImportStage = 1;\r\n    this.ImportCsvFile = null;\r\n    this.ImportCsvModel = null;\r\n    this.ImportCsvRecId = 0;\r\n    this.ImportCsvData = null;\r\n    this.showFieldImportPopup = true;\r\n  }\r\n  closeImportPopup() {\r\n    this.showFieldImportPopup = false;\r\n  }\r\n\r\n  backImportStage(Stage:any) {\r\n    this.ImportStage = Stage;\r\n    if (Stage == 1) {\r\n      this.openImportPopup()\r\n    }\r\n    else if(Stage==2) {\r\n      this.getCsvImportProcessData()\r\n    }\r\n\r\n  }\r\n\r\n\r\n  fileChange(event: any) {\r\n\r\n    this.ImportCsvFile = event.target.files;\r\n    if(this.ImportCsvFile && this.ImportCsvFile[0]) {\r\n      if(this.ImportCsvFile[0].type !=\"text/csv\" && this.ImportCsvFile[0].type !=\"application/vnd.ms-excel\" && this.ImportCsvFile[0].type != \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\") {\r\n       this.ImportCsvFile =null;\r\n       this.ImportCsvModel = null;\r\n       Swal.fire(this.translatePipe.transform(\"CSV\"),this.translatePipe.transform(\"accept CSV file only\"),\"warning\");\r\n      }\r\n   }\r\n  }\r\n\r\n\r\n  uploadImportFIle() {\r\n\r\n    if (this.ImportCsvFile && this.ImportCsvFile.length > 0) {\r\n      this.dynamicAppsService.importEntityTypeField(this.ImportCsvFile,this.EntityTypeId).subscribe(\r\n        (res: any) => {\r\n\r\n          this.ImportCsvRecId = res.RecId;\r\n          this.ImportStage = 2;\r\n          this.getCsvImportProcessData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          if(error.status ==401) {\r\n            return\r\n          }\r\n          console.log(error);\r\n        }\r\n      );\r\n    }\r\n    else {\r\n      Swal.fire(\"Error\",\"select CSV or Excel file\",\"warning\");\r\n    }\r\n\r\n  }\r\n\r\n  getCsvImportProcessData() {\r\n\r\n    this.dynamicAppsService.importProcessEntityTypeFieldData(this.ImportCsvRecId).subscribe(\r\n      (res: any) => {\r\n\r\n        this.ImportCsvData = res;\r\n        this.ImportCsvData.FieldMapping = this.ImportCsvData.FieldMapping.map(\r\n          (x:any)=>{\r\n            if(x.DestinationColumnName =='<new>'){\r\n              x.NewColumnDataType ='1';\r\n              x.NewColumnName = x.SoureColumnName;\r\n            }\r\n            return x;\r\n          }\r\n        )\r\n        this.getDataTypeEnumDropDown();\r\n        this.ImportStage = 2;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  mappingImportProcessEntityTypeField() {\r\n\r\n\r\n    let _ismandadory = false;\r\n    let _isduplicate = false;\r\n    this.ImportCsvData.FieldMapping.forEach((x:any) => {\r\n      if(x.DestinationColumnName==\"<new>\") {\r\n        if(!x.NewColumnName || !x.NewColumnDataType) {\r\n          _ismandadory = true;\r\n        }\r\n      }\r\n      let duplicatefields:any[] = this.ImportCsvData.FieldMapping.filter((y:any) => y.DestinationColumnName == x.NewColumnName);\r\n      if(duplicatefields.length >0){\r\n        _isduplicate = true;\r\n      }\r\n    });\r\n    if(_ismandadory) {\r\n      Swal.fire(\"Error\",\"fill all mandadory fields\",\"warning\");\r\n      return\r\n    }\r\n    if(_isduplicate) {\r\n      Swal.fire(\"Error\",\"Duplicate Fields not Allowed\",\"warning\");\r\n      return\r\n    }\r\n\r\n    this.dynamicAppsService.mappingImportProcessEntityTypeField(this.ImportCsvData.FieldMapping,this.ImportCsvRecId).subscribe(\r\n      (res: any) => {\r\n\r\n        this.ImportStage = 3;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  submitCsvImportProcessData() {\r\n\r\n    this.dynamicAppsService.submitImportProcessEntityTypeFieldData(this.ImportCsvRecId).subscribe(\r\n      (res: any) => {\r\n\r\n        Swal.fire('your datas are updated into system successfully', 'Success');\r\n        this.showFieldImportPopup = false;\r\n        this.getEntityAllSetupData();\r\n        this.getListData();\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        console.log(error);\r\n\r\n      }\r\n    );\r\n  }\r\n\r\n  checkDuplicateValues(event:any){\r\n    let _data = this.ImportCsvData.FieldMapping.filter((x:any)=>x.DestinationColumnName ==event.target.value)\r\n\r\n  if(_data && _data.length> 0) {\r\n\r\n  }\r\n  }\r\n\r\n  ddlDataType: any = [];\r\n  getDataTypeEnumDropDown() {\r\n\r\n    this.ddlDataType = [];\r\n    try {\r\n      for (let key in E_DataType) {\r\n        let val = E_DataType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlDataType.push(temp);\r\n        }\r\n      }\r\n    } catch (e:any) {\r\n      Swal.fire(e.message, 'error');\r\n    }\r\n  }\r\n\r\n\r\n  OperatorList =[\r\n    {Id:\"=\",Desc:\"Equal\"},\r\n    {Id:\"!=\",Desc:\"NotEqual\"},\r\n    {Id:\"Contain\",Desc:\"Contains\"},\r\n   ];\r\n\r\n   orderList =[\r\n    {Id:\"ASC\",Desc:\"Ascending\",class:\"fa fa-sort-amount-asc\"},\r\n    {Id:\"DESC\",Desc:\"Descending\", class:\"fa fa-sort-amount-desc\"}\r\n   ];\r\n   ValueType = [\r\n    { Id: 'FieldValue', Desc: 'Field' },\r\n    { Id: 'Value', Desc: 'Value' },\r\n  ];\r\n\r\n\r\n   assenOrder = {Id:\"Asce\",Desc:\"Ascending\",class:\"fa fa-sort-amount-asc\"}\r\n   descOrder =  {Id:\"Desc\",Desc:\"Descending\", class:\"fa fa-sort-amount-desc\"}\r\n\r\n\r\n\r\n\r\n  changeOrder(data:any){\r\n\r\n    if(data.Id==\"Asce\"){\r\n      this.orderView = this.descOrder\r\n    }else\r\n    this.orderView = this.assenOrder\r\n  }\r\n\r\n  orderView = this.assenOrder;\r\n\r\n\r\n  selectField(event:any) {\r\n\r\n\r\n  }\r\n\r\n  selectType(event:any) {\r\n\r\n\r\n  }\r\n  selectOperator(event:any,item:any) {\r\n\r\n\r\n    item.Value =\"\";\r\n    item.ValueTwo =\"\";\r\n\r\n  }\r\n\r\n  addnewSort() {\r\n\r\n    let _sortObj = {\r\n      TableId: null, TableRecId: null, FieldName: null,\r\n      FieldRecId: null, Direction: null, SortOrder: null\r\n    };\r\n    this.sorting.push(_sortObj);\r\n  }\r\n\r\n deleteSort(item:any,index:any)\r\n {\r\n\r\n   this.sorting.splice(index,1);\r\n }\r\n\r\n\r\n  openFieldBulkCretate: boolean = false;\r\n  closeFieldBulkCretate(type:any) {\r\n    this.openFieldBulkCretate = false;\r\n    if (type == \"Create\") {\r\n      this.getEntityAllSetupData();\r\n    }\r\n  }\r\n\r\n\r\n  columnButtonType = E_ButtonType;\r\n  callButtonEvent(data: any, col: IColumnDef) {\r\n\r\n    if (col.ButtonType == this.columnButtonType.Export) {\r\n      if (col.ButtonEvent) {\r\n        let _url = this.hanbleBarData(col.ButtonEvent, data);\r\n        window.open(_url, '_blank')\r\n      }\r\n    }\r\n\r\n    else if (col.ButtonType == this.columnButtonType.Navigate) {\r\n      // if (col.ButtonEvent) {\r\n      //   let _url = this.hanbleBarData(col.ButtonEvent, data);\r\n      //   let urlarr = _url.split(\"?\");\r\n\r\n      //   let urls = _url.split('?')[0];\r\n      //   let queryString = this.getUrlParams(_url);\r\n      //   if (this.globalService.currentModule == \"System\"){\r\n      //     if (urls.includes(\"Platform/\"+this.globalService.EnvironmentId)){\r\n      //       urls = urls.replace(\"Platform/\"+this.globalService.EnvironmentId,\"System/Administration\");\r\n      //       console.log(urls);\r\n      //     }\r\n      //   }\r\n      //   else if (this.globalService.currentModule != \"Platform\") {\r\n      //     if (urls.includes(\"Platform/\"+this.globalService.EnvironmentId)){\r\n      //       urls = urls.replace(\"Platform/\"+this.globalService.EnvironmentId,this.globalService.currentModule+\"/component\");\r\n      //       console.log(urls);\r\n      //     }\r\n      //     else if (urls.includes(\"System/Administration\")) {\r\n      //       urls = urls.replace(\"System/Administration\",this.globalService.currentModule+\"/component\");\r\n      //     }\r\n      //   }\r\n      //   //this.router.navigate([urls], { queryParams: queryString });\r\n      // }\r\n    }\r\n\r\n    else if (col.ButtonType == this.columnButtonType.CallGETMethod) {\r\n      if (col.ButtonEvent) {\r\n        let _url = this.hanbleBarData(col.ButtonEvent, data);\r\n        if (_url) {\r\n\r\n          this.CallGETMethod(_url,data)\r\n        }\r\n\r\n\r\n      }\r\n    }\r\n    else if(col.ButtonType == this.columnButtonType.openAction){\r\n      let form = this.EntityActionFormList.filter((x)=> x.RecId == col.FormName)[0];\r\n      this.openEntityAction(form,data);\r\n    }\r\n  }\r\n  \r\n\r\n  getUrlParams(url:any) {\r\n\r\n    let query:any={};\r\n    var hash;\r\n    var hashes = url.slice(url.indexOf('?') + 1).split('&');\r\n\r\n    for (var i = 0; i < hashes.length; i++) {\r\n      hash = hashes[i].split('=');\r\n      query[hash[0]] = hash[1];\r\n    }\r\n\r\n    return query;\r\n  }\r\n\r\n\r\n  CallGETMethod(URL:any, data:any) {\r\n\r\n    Swal.fire({\r\n      title: 'Are you sure?',\r\n      icon: 'warning',\r\n      showCancelButton: true,\r\n      confirmButtonColor: '#fdbd3f',\r\n      cancelButtonColor: '#d33',\r\n      cancelButtonText: 'Cancel',\r\n      confirmButtonText: 'Yes',\r\n    }).then((result) => {\r\n      if (result.isConfirmed) {\r\n\r\n        let RestData: IRestConfig = {\r\n          URL: URL,\r\n          valueField: null,\r\n          textField: null,\r\n          Body: null,\r\n          Headers: [],\r\n          Path: [],\r\n          Method: \"GET\",\r\n          QueryStrings: [],\r\n          TreeView:{ ChildKey: null, ExpandedKey: null, ParentKey: null },\r\n        }\r\n\r\n        this.dynamicAppsService.dynamicAPi(RestData,null )\r\n          .subscribe(\r\n            (res: any) => {\r\n\r\n              Swal.fire(\"Success\",\"\",\"success\");\r\n              this.getListData();\r\n              this.loaderService.hideLoading();\r\n            },\r\n            (error:any) => {\r\n              this.loaderService.hideLoading();\r\n              if(error.status ==401) {\r\n                return\r\n              }\r\n              console.log(error);\r\n            }\r\n          );\r\n\r\n\r\n      }\r\n    });\r\n\r\n  }\r\n\r\n  detailsRecId: number|any= null;\r\n  detailsData: number |any= null;\r\n  detailsEntityTypeRecId: number |any= null;\r\n  displayPopupDetailView: boolean |any= false;\r\n  openDetailsPopup(data:any) {\r\n\r\n    this.detailsRecId = data.RecId;\r\n    this.detailsData = data;\r\n    this.detailsEntityTypeRecId = data.EntityTypeId;\r\n    this.displayPopupDetailView = true;\r\n  }\r\n  closePopupDetailView() {\r\n    this.detailsRecId = null;\r\n    this.detailsData = null;\r\n    this.detailsEntityTypeRecId = null;\r\n    this.displayPopupDetailView = false;\r\n  }\r\n\r\n  displayRightPopupDetailView: boolean = false;\r\n  detailsVal: any = null;\r\n  openDetailsRightPopup(data:any) {\r\n    this.detailsVal = data;\r\n    this.displayRightPopupDetailView = true\r\n  }\r\n\r\n  closeRightPopupDetailView() {\r\n    this.detailsVal = null;\r\n    this.displayRightPopupDetailView = false\r\n  }\r\n\r\n  GridSearchType: E_GridSearchType = E_GridSearchType.None;\r\n  getPaginationListData(pageNo:any, pageSize?:any) {\r\n    this.storeCriteria.Pagging.PageNo = pageNo;\r\n    if (pageSize)\r\n    this.storeCriteria.Pagging.PageSize = pageSize;\r\n    this.getListData();\r\n  }\r\n\r\n  displayFormPopup:boolean = false;\r\n  FormStatus: any;\r\n\r\n  gridTab: number = 1;\r\n\r\n  gridtabs(data: any) {\r\n    this.gridTab = Number(data);\r\n  }\r\n  openFormPopup() {\r\n    this.closePopupCreateView();\r\n\r\n    if (this.SetupDetails?.EntityType == 150) {\r\n      if (this.CollectionType == \"Create\") {\r\n        this.EntityDetailForm = this.EntityDetailFormList.filter(x => x.AllowCreate == true)[0];\r\n        if (this.EntityDetailForm?.AllowCreate==true) {\r\n          this.displayFormPopup = true;\r\n        }\r\n        else {\r\n          let data = {\r\n            FormName: \"Details\",\r\n            EntityTypeRecId: this.EntityTypeId,\r\n            FormType: 2,\r\n            Image: \"la la-eye\",\r\n            Status: \"1\",\r\n            Version: \"1\",\r\n            AllowCreate: true,\r\n          }\r\n          this.addEntityTypeFormData(data);\r\n\r\n        }\r\n\r\n      }\r\n      else if (this.CollectionType == \"Edit\") {\r\n        this.EntityDetailForm = this.EntityDetailFormList.filter(x => x.AllowEdit == true)[0];\r\n        if (this.EntityDetailForm?.AllowEdit==true) {\r\n          this.displayFormPopup = true;\r\n        }\r\n        else {\r\n          let data = {\r\n            FormName: \"Details\",\r\n            EntityTypeRecId: this.EntityTypeId,\r\n            FormType: 2,\r\n            Image: \"la la-eye\",\r\n            Status: \"1\",\r\n            Version: \"1\",\r\n            AllowEdit: true,\r\n          }\r\n          this.addEntityTypeFormData(data);\r\n\r\n        }\r\n\r\n      }\r\n    }\r\n    else {\r\n      if (this.EntityDetailForm && this.EntityDetailForm.RecId) {\r\n        this.displayFormPopup = true;\r\n      }\r\n      else {\r\n        let data = {\r\n          FormName: \"Details\",\r\n          EntityTypeRecId: this.EntityTypeId,\r\n          FormType: 2,\r\n          Image: \"la la-eye\",\r\n          Status: \"1\",\r\n          Version: \"1\"\r\n        }\r\n        this.addEntityTypeFormData(data);\r\n\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  closePopupForm() {\r\n    this.displayFormPopup = false;\r\n    this.GridAction(this.openCreatepopupValues);\r\n  }\r\n\r\n  showDynamicViewPopup: boolean = false;\r\n  openDynamicViewPopup(data: EntityTypeFormVM, col: IColumnDef) {\r\n\r\n    this.EntityFormId = data.RecId;\r\n    this.showDynamicViewPopup = true;\r\n  }\r\n  closeDynamicViewPopup() {\r\n    this.showDynamicViewPopup = false;\r\n  }\r\n\r\n\r\n  AssignmentConfig: boolean = false;\r\n  AssignmentCurrentData: any = null;\r\n  AssignmentEntityForm: EntityTypeFormVM |null= null;\r\n  showAssignmentConfig(data?:any) {\r\n\r\n    if(data) {\r\n      this.AssignmentCurrentData = data;\r\n    }\r\n    else {\r\n    if (!this.gridData || this.gridData.length != 1) {\r\n      Swal.fire(\"Error\", \"select one row\", \"warning\");\r\n      return\r\n    }\r\n    this.AssignmentCurrentData = this.gridData[0];\r\n  }\r\n    this.AssignmentConfig = true;\r\n  }\r\n  closeAssignmentConfig() {\r\n    this.AssignmentConfig = false;\r\n  }\r\n\r\n\r\n  showFormActionPopup: boolean = false;\r\n  FormActionView:ActionVM |any= null;\r\n  FormActionViewData:any = null;\r\n  formAction(item:ActionVM) {\r\n\r\n\r\n    if (!this.gridData || this.gridData.length != 1) {\r\n      Swal.fire(\"Error\", \"select one row\", \"warning\");\r\n      return\r\n    }\r\n    this.FormActionViewData = this.gridData[0];\r\n    this.FormActionView = item;\r\n    this.showFormActionPopup = true;\r\n  }\r\n  closeformAction() {\r\n    this.showFormActionPopup = false;\r\n  }\r\n\r\n\r\n  IsOpenAction:boolean=false;\r\n  openActionModel(){\r\n    this.getCollectionDDl();\r\n    this.IsOpenAction = true;\r\n  }\r\n  closeActionModel(){\r\n   this.IsOpenAction = false;\r\n  }\r\n  addActions() {\r\n    let _Obj: ActionVM = { EntityTypeId: null,EntityFormId:null, Name: \"\", Visible: true, IsDefault: false };\r\n    this.ActionsList.push(_Obj);\r\n  }\r\n\r\n  deleteActions(item:any, index:any) {\r\n    this.ActionsList.splice(index, 1);\r\n  }\r\n\r\n  SaveActionConfig(item?:any){\r\n  this.updateActionsInPlacholder();\r\n  }\r\n\r\n  updateActionsInPlacholder(){\r\n   let Actions = null;\r\n   if(this.ActionsList)\r\n   Actions = JSON.stringify(this.ActionsList);\r\n   else{\r\n     let emptyAction:any = []\r\n     Actions = JSON.stringify(emptyAction);\r\n    }\r\n   this.dynamicAppsService.UpdateFormAction(this.EntityTypeId,this.ActiveEntityForm?.RecId,Actions).subscribe(\r\n     (res:any)=>{\r\n       this.getEntityAllSetupData();\r\n       Swal.fire('', 'Changes Updated Successfully', 'success');\r\n       this.loaderService.hideLoading();\r\n     },\r\n     (error:any)=>{\r\n      this.loaderService.hideLoading();\r\n       console.log(error);\r\n     }\r\n   )\r\n  }\r\n  selectActionEntity(event:any,item:ActionVM) {\r\n    this.getEntityForm(item.EntityTypeId);\r\n  }\r\n  setName(event:any, item: ActionVM) {\r\n\r\n    if (event) {\r\n      item.Name = event.FormName;\r\n      item.EntityFormType = event.FormType;\r\n    } else {\r\n      Swal.fire('', 'form Not Found for this Record', 'warning');\r\n    }\r\n  }\r\n\r\n\r\n\r\n  @Input() queryParams:any=null;\r\n  hanbleBarData(_code:any, data?:any) {\r\n    if (!data || (typeof data != 'object'))\r\n      data = {};\r\n    if (typeof this.queryParams == 'object')\r\n      data.Query = this.queryParams\r\n\r\n      data.Current = this;\r\n\r\n      data.Local = localStorage;\r\n      if (data.Local.userInfo && (typeof data.Local.userInfo == 'string'))\r\n        data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (data.Local.CommonNavbarSearch && (typeof data.Local.CommonNavbarSearch == 'string'))\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n      data.Cookies = this.Cookies;\r\n      data.System = this.globalService.systemConfig;\r\n      data.EnvironmentId = this.globalService.EnvironmentId;\r\n      data.Global = this.globalService;\r\n\r\n      data.PageData =this.globalService.PageAllData;\r\n\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result\r\n    }\r\n    else {\r\n      return _code\r\n    }\r\n  }\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie:any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = (cookies[i].split('='));\r\n      let _key = hash[0].toString().replace(\" \", \"\");\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n\r\n\r\n  StatusAndStageList:any[] = [];\r\n\r\n  getWorkflowStatusWithStage() {\r\n\r\n\r\n    this.StatusAndStageList = this.StatusAndStageList.sort((a, b) => {\r\n      if (a.OrderId < b.OrderId) return -1;\r\n      else if (a.OrderId > b.OrderId) return 1;\r\n      else return 0;\r\n    });\r\n\r\n    if (!this.IsShowAllPendingBar) {\r\n      this.StatusAndStageList = this.StatusAndStageList.filter(x => x.StageId != -1 && x.StageId != 0)\r\n    }\r\n    let showallIndex = this.StatusAndStageList.findIndex(x => x.StageId == -1);\r\n    let arrayindex = this.StatusAndStageList.length -1;\r\n    let element = this.StatusAndStageList.splice(showallIndex,1)[0];\r\n    this.StatusAndStageList.splice(arrayindex,0,element);\r\n    this.selectStage(this.StatusAndStageList[0],\"Init\");\r\n\r\n    setTimeout(() => {\r\n      this.overflowActive();\r\n    }, 100);\r\n\r\n  }\r\n\r\n  stageId: any=1;\r\n  selectedStage: number = 0;\r\n  selectedStageObj: any;\r\n  selectStage(item:any,type?:any) {\r\n\r\n    this.totalRecordCount = 0;\r\n    this.selectedStageObj = item;\r\n    this.selectedStage = item.RecId;\r\n    this.CurrentStageName = item.StageDescription;\r\n    if (item.StageId != null) {\r\n      this.stageId = item.StageId;\r\n\r\n    } else {\r\n      this.stageId = null;\r\n      this.storeCriteria.Where = null;\r\n    }\r\n    if (item.StageType == StageType.Auto)\r\n      this.wfActionData = [];\r\n    else\r\n      this.getWfStageAction(this.EntityTypeId, this.stageId);\r\n\r\n    if (item.ViewConfig)\r\n      this.viewConfigData = JSON.parse(item.ViewConfig);\r\n    else\r\n      this.viewConfigData = null;\r\n\r\n      this.getViewTabs();\r\n\r\n      if(this.storeCriteria) {\r\n        this.storeCriteria.Pagging.PageNo = 1;\r\n      }\r\n\r\n    if(!type || type!=\"Init\")\r\n    this.getListData();\r\n\r\n    this.getDocumentTemplate()\r\n  }\r\n\r\n  viewConfigData:any = null;\r\n  stageTabs:any[] = [];\r\n  currrenStageTab:number=0;\r\n  getViewTabs() {\r\n    if (this.viewConfigData && this.viewConfigData.length > 0) {\r\n      this.stageTabs = this.viewConfigData;\r\n      this.currrenStageTab = 0;\r\n    }\r\n    else\r\n    this.stageTabs =[];\r\n  }\r\n\r\n  changeTabs(index:any) {\r\n    this.currrenStageTab = index;\r\n    this.getListData();\r\n  }\r\n\r\n\r\n\r\n  wfActionData: DynamicWfActionDataVm[] = [];\r\n  wfActivities: any[] = [];\r\n\r\n  getWfStageAction(EntityTypeId:any, StageId:any) {\r\n    this.dynamicAppsService.urlGetWfStageAction(\r\n      EntityTypeId,\r\n      StageId\r\n    ).subscribe(\r\n      (res: any) => {\r\n        this.wfActionData = res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        if(error.status ==401) {\r\n          return\r\n        }\r\n        error.error;\r\n      }\r\n    );\r\n  }\r\n\r\n  ActionName:any = \"Complete\";\r\n  CurrentStageName:any = \"Workflow\";\r\n  action: number | null= null;\r\n  showWorkflowPopup: boolean = false;\r\n   SelectedWorkflowData:any = null;\r\n  workflowEntityFormId:any = null;\r\n  getStatusField(data: DynamicWfActionDataVm) {\r\n\r\n    if (this.gridData.length < 1) {\r\n      Swal.fire(\"Workflow action\",this.translatePipe.transform('Atleast Select one row'),\"warning\");\r\n      return\r\n    }\r\n    let MultipleDenied:boolean = false;\r\n    if(data?.MultipleDenied)\r\n      MultipleDenied = data.MultipleDenied;\r\n\r\n    if (MultipleDenied && this.gridData.length > 1){\r\n      Swal.fire(\"Workflow action\",this.translatePipe.transform('Multiple Rows Denied'),\"warning\");\r\n      return\r\n    }\r\n    if (this.gridData.length > 10) {\r\n      Swal.fire(\"Workflow action\",this.translatePipe.transform('Allows maximum 10 rows'),\"warning\");\r\n      return\r\n    }\r\n    if (data.ActionRules) {\r\n      let AllowSelect:boolean = true;\r\n      AllowSelect =  this.OnWorkflowActionRules(data.ActionRules,AllowSelect)\r\n      if(!AllowSelect) {\r\n        return\r\n      }\r\n    }\r\n\r\n    this.ActionName = data.ActionDescription;\r\n    this.SelectedWorkflowData = this.gridData;\r\n    this.action = data.ActionRecId;\r\n    this.workflowEntityFormId = data.WorkFlowForm;\r\n\r\n    this.showWorkflowPopup = true;\r\n    this.dynamicAppsService.onshowWorkflowPopup.next({\r\n      showWorkflowPopup: true,\r\n      fieldConfig: [],\r\n    });\r\n\r\n  }\r\n\r\n  getWorkflowActionComments(comments:any, updateFileds:any, updateFieldsObject:any) {\r\n\r\n\r\n    let RecIds:number[] = [];                 // if shows multiple action\r\n    if(this.SelectedWorkflowData.length > 0){\r\n      this.SelectedWorkflowData.forEach((x:any) => {\r\n        RecIds.push(x.RecId);\r\n      });\r\n    }\r\n\r\n    this.dynamicAppsService.urlPostTicketWfActionMultiple(\r\n      RecIds,\r\n      this.stageId,\r\n      this.action,\r\n      comments,\r\n      updateFileds,\r\n      updateFieldsObject,\r\n      this.EntityTypeId\r\n    ).subscribe(\r\n      (res: any) => {\r\n\r\n        this.getListData();\r\n        console.log(res);\r\n        Swal.fire('Action Updated Successfully');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n\r\n\r\n  getWorkflowActionClose(type?:any) {\r\n    this.showWorkflowPopup = false;\r\n  }\r\n\r\n  slider(direction:any,Id:any){\r\n    slide(direction, Id);\r\n  }\r\n\r\n\r\n  hasHorizontalScrollbar: boolean = false;\r\n  overflowActive() {\r\n    let div = document.getElementById(\"slider-arrow\");\r\n    if(div)\r\n    this.hasHorizontalScrollbar = div.scrollWidth > div.clientWidth;\r\n  }\r\n\r\n\r\n  EntityActionList: EntityTypeFormVM[] = [];\r\n  MinEntityActionList: EntityTypeFormVM[] = [];\r\n  filteredMinEntityActionList: EntityTypeFormVM[] = [];\r\n  getEntityFormActionList() {\r\n\r\n\r\n    this.MinEntityActionList = this.EntityActionList.filter(x => x.FormType != E_FormType.Create && x.FormType != E_FormType.Update\r\n      && x.FormType != E_FormType.Delete && x.FormType != E_FormType.Assignment)\r\n    this.EntityActionList.map((x) => {\r\n      if (x.FormType == E_FormType.Create)\r\n        x.FormName = \"Create\";\r\n      else if (x.FormType == E_FormType.Update)\r\n        x.FormName = \"Update\";\r\n      else if (x.FormType == E_FormType.Delete)\r\n        x.FormName = \"Delete\";\r\n    });\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Create)) {\r\n      this.IsCreate = true\r\n    }\r\n    else {\r\n      this.IsCreate = false;\r\n    }\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Update)) {\r\n      this.IsEdit = true\r\n    }\r\n    else {\r\n      this.IsEdit = false;\r\n    }\r\n\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Delete)) {\r\n      this.IsDelete = true\r\n    }\r\n    else {\r\n      this.IsDelete = false;\r\n    }\r\n    if (this.EntityActionList.find(x => x.FormType == E_FormType.Assignment)) {\r\n      this.IsAssign = true\r\n    }\r\n    else {\r\n      this.IsAssign = false;\r\n    }\r\n\r\n    this.getAppAction();\r\n\r\n  }\r\n\r\n  assignmentMethod(data:any) {\r\n    this.AssignmentEntityForm = this.EntityActionList.filter(x=>x.FormType==E_FormType.Assignment)[0];\r\n    this.showAssignmentConfig(data);\r\n  }\r\n  openEntityAction(Item:EntityTypeFormVM,GridData?:any){ debugger\r\n\r\n\r\n    if(Item.FormType==E_FormType.Create){\r\n      this.CollectionType=\"Create\";\r\n      this.FormTitle =Item?.FormName;\r\n      this.CreateItemId = this.EntityTypeId;\r\n      this.CreateItemSubId = this.EntityTypeId;\r\n      this.CreateFormGetType = \"Local\";\r\n      this.CreateEntityFormId = Item.RecId;\r\n      this.displayPopupCreateView = true;\r\n    }\r\n    else if(Item.FormType==E_FormType.Update) {\r\n      this.EditCollectionList(Item);\r\n    }\r\n    else if (Item.FormType == E_FormType.Delete) {\r\n      if (Item.RecId == 0) {\r\n        this.DeleteCollectionList();\r\n      }\r\n      else { // not yet implement\r\n        this.CollectionType = \"Delete\";\r\n        this.FormTitle = Item.FormName;\r\n        this.CreateItemId = this.EntityTypeId;\r\n        this.CreateItemSubId = this.EntityTypeId;\r\n        this.CreateFormGetType = \"Local\";\r\n        this.CreateEntityFormId = Item.RecId;\r\n        this.displayPopupCreateView = true;\r\n      }\r\n    }\r\n    else if(Item.FormType == E_FormType.Assignment){\r\n      this.AssignmentEntityForm = Item;\r\n      this.showAssignmentConfig();\r\n    }\r\n\r\n    else if(Item.FormType == E_FormType.Action){\r\n      if(!GridData){\r\n      if (this.gridData.length < 1) {\r\n        Swal.fire(Item.FormName +\" Action\",this.translatePipe.transform('Atleast Select one row'),\"warning\");\r\n        return\r\n      }\r\n\r\n      if(!this.AllowMultipleAction && this.gridData.length > 1) {\r\n        Swal.fire(Item.FormName +\" Action\",this.translatePipe.transform('Allow only one row'),\"warning\");\r\n        return\r\n      }\r\n\r\n      if (this.gridData.length > 10) {\r\n        Swal.fire(Item.FormName +\" action\",this.translatePipe.transform('Allows maximum 10 rows'),\"warning\");\r\n        return\r\n      }\r\n      }else{\r\n      this.gridData[0] = GridData;\r\n      }\r\n      this.ActionEntityForm = Item;\r\n\r\n      let AllowSelect: boolean = true;\r\n      if (Item.RulesData) {\r\n        AllowSelect = this.OnWorkflowActionRules(Item.RulesData, AllowSelect)\r\n        if (!AllowSelect) {\r\n          return\r\n        }\r\n      }\r\n      if (AllowSelect)\r\n        this.showActionForm = true;\r\n    }\r\n\r\n  }\r\n\r\n  showActionForm:boolean = false;\r\n  ActionEntityForm:EntityTypeFormVM |null= null;\r\n  ActionEntityFormData:any = null;\r\n\r\n  ActionForm: any = {};\r\n  changeActionEntityForm(CreateData:any, pageForm:any, forms:any) {\r\n\r\n    let FormData = forms;\r\n    this.ActionForm = pageForm;\r\n    this.ActionEntityFormData = FormData.PageGroupValues\r\n  }\r\n\r\n  saveActionEntityForm() {\r\n    if (!this.ActionForm.valid) {\r\n      Swal.fire(this.translatePipe.transform('Fill all mandatory fields'), '', 'warning');\r\n      return;\r\n    }\r\n\r\n    let griddataObj:any ={};\r\n    if(this.gridData.length > 0){\r\n       let _rowData = this.gridData[0];\r\n       for (let key in _rowData) {\r\n        let crrentKeyData:any[] = [];\r\n        this.gridData.forEach(x => {\r\n          crrentKeyData.push(x[key]);\r\n        });\r\n        griddataObj[key]=crrentKeyData.toString()\r\n       }\r\n    }\r\n\r\n    let _handleData: any = {};\r\n    if (this.ActionEntityFormData) {\r\n      for (let key in  this.ActionEntityFormData) {\r\n        if (Object.prototype.toString.call( this.ActionEntityFormData[key]) === '[object Date]') {\r\n          this.ActionEntityFormData[key] = GetFormattedDateWithTime(this.ActionEntityFormData[key]);\r\n        }\r\n      }\r\n      _handleData.FormData = this.ActionEntityFormData;\r\n      _handleData.Data= griddataObj\r\n    }\r\n\r\n    if (this.ActionEntityForm?.DataSource) {\r\n      let RestData = JSON.parse(this.ActionEntityForm.DataSource)\r\n\r\n      RestData.URL = this.hanbleBarData(RestData.URL,_handleData);\r\n\r\n      if (RestData.Body && RestData.BodyType == 'json' && typeof RestData.Body == \"string\") {\r\n        RestData.Body = this.hanbleBarData(RestData.Body, _handleData);\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n      }\r\n      else if (RestData.Body && RestData.BodyType == 'stringfyjson' && typeof RestData.Body == \"string\") {\r\n        RestData.Body = JSON.parse(RestData.Body);\r\n        Object.keys(RestData.Body).forEach(x => {\r\n          debugger\r\n          RestData.Body[x] = this.hanbleBarData(RestData.Body[x], _handleData);\r\n        });\r\n      }\r\n      else\r\n        RestData.Body = this.hanbleBarData(RestData.Body, _handleData);\r\n\r\n      RestData.QueryStrings = RestData.QueryStrings.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n      RestData.Headers = RestData.Headers.map((x:any) => {\r\n        x.Value = this.hanbleBarData(x.Value,_handleData);\r\n        return x\r\n      });\r\n\r\n      this.dynamicAppsService.dynamicAPi(RestData,this.storeCriteria,null,true)\r\n        .subscribe((res: any) => {\r\n\r\n          let _resdata = {\r\n            ResponseData:res\r\n          }\r\n\r\n          if(RestData.SuccessFormat && RestData.SuccessFormat.Condtion.length>0){\r\n            let isSuccess:boolean = false;\r\n\r\n            isSuccess = this.onRulesConditionCheck(RestData.SuccessFormat, _resdata);\r\n\r\n            if (isSuccess) {\r\n              if (RestData.SuccessMessage) {\r\n                let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n                Swal.fire('', sccMsg, 'success');\r\n              }\r\n              else {\r\n                Swal.fire(\"Action Completed\");\r\n              }              \r\n            }\r\n            else {\r\n              if (RestData.ErrorMessage) {\r\n                let errorMsg = this.hanbleBarData(RestData.ErrorMessage, _resdata) ;;\r\n                Swal.fire('', errorMsg, 'error');\r\n              }\r\n              else {\r\n                Swal.fire('', JSON.stringify(res), 'error');\r\n              }\r\n            }\r\n          }\r\n          else {\r\n            if (RestData.SuccessMessage) {\r\n              let sccMsg = this.hanbleBarData(RestData.SuccessMessage, _resdata) ;\r\n              Swal.fire('', sccMsg, 'success');\r\n            }\r\n            Swal.fire(\"Action Completed\");\r\n          }\r\n          this.showActionForm =  false;\r\n          this.getListData();\r\n          this.loaderService.hideLoading();\r\n        },\r\n          (error:any) => {\r\n            this.loaderService.hideLoading();\r\n            if(error.status ==401) {\r\n              return\r\n            }\r\n            console.log(error);\r\n\r\n          });\r\n    }\r\n\r\n\r\n  }\r\n\r\n  showfilter = false;\r\n  filterText:string |null = null;\r\n  toggleFilter() {\r\n    this.showfilter = !this.showfilter;\r\n    if(!this.showfilter){\r\n      this.filterText = null;\r\n      this.storeCriteria.Where = [];\r\n      this.getListData();\r\n    }\r\n  }\r\n\r\n\r\n  showMultiplefilterpopup: boolean = false;\r\n  toggleMultipleFilter() {\r\n    this.showMultiplefilterpopup = !this.showMultiplefilterpopup;\r\n    if (this.showMultiplefilterpopup && this.MultipleFilterData.length < 1) {\r\n      this.ClearMultipleFilter()\r\n    }\r\n  }\r\n\r\n  filterDynmaicListData(event:any) {\r\n    if (event?.keyCode == 13) {\r\n      debugger;\r\n      let _fields = this.columnDefs.filter(x => x.CardViewType == E_CardViewType.Title)\r\n\r\n      _fields.forEach(field => {\r\n        let filterobj = {\r\n          Field: field.Field,\r\n          Operator: 'Contains',\r\n          TableAlias: '',\r\n          Value: this.filterText,\r\n        };\r\n        this.storeCriteria.Where.push(filterobj);\r\n      });\r\n      this.getListData();\r\n    }\r\n  }\r\n\r\n\r\n  MultipleFilterData:any[]=[];\r\n\r\n  ClearMultipleFilter() {\r\n    this.MultipleFilterData = [];\r\n    this.columnDefs.forEach(col => {\r\n      let temp = {\r\n        Field: col.Field,\r\n        Name:col.Name,\r\n        searchData: null\r\n      }\r\n      this.MultipleFilterData.push(temp)\r\n    });\r\n  }\r\n\r\n  callMultipleFilter() {\r\n\r\n    this.storeCriteria.Where = [];\r\n\r\n    this.MultipleFilterData.forEach(field => {\r\n      let filterobj = {\r\n        Field: field.Field,\r\n        Operator: 'Contains',\r\n        TableAlias: '',\r\n        Value: field.searchData,\r\n      };\r\n      this.storeCriteria.Where.push(filterobj);\r\n    });\r\n    this.showMultiplefilterpopup = false;\r\n    this.getListData();\r\n  }\r\n\r\n  @ViewChild(GridComponent) childGrid!: GridComponent;\r\n  GridtoggleFilter() {\r\n    this.childGrid.toggleFilter()\r\n  }\r\n\r\n  @ViewChild(GridComponent) columnList!: GridComponent;\r\n  _geColumnList() {\r\n    this.columnList.geColumnList();\r\n    }\r\n\r\n  IsExport:boolean = true;\r\n\r\n  IsExportTemplate: boolean = false;\r\n  IsExcelImport: boolean = false\r\n  ExportURL:string | null= null\r\n  GridDynamicExportData:IGridExport | any =null;\r\n\r\n  ExportGridData(All?:any){\r\n    this.GridDynamicExportData.QueryParams = this.GridDynamicExportData.QueryParams.filter((x:any) =>x.Name != \"$page\" && x.Name != \"$size\");\r\n\r\n    if(!All){\r\n      this.GridDynamicExportData.QueryParams = [...this.GridDynamicExportData.QueryParams, ...GenerateCriteriaForExport(this.storeCriteria)];\r\n    }\r\n\r\n    if(this.GridDynamicExportData)\r\n    this.gridService.ExportGrid(this.GridDynamicExportData);\r\n  }\r\n\r\n  ExportTemplate() {\r\n    let filename = (this.menuText ? this.menuText : this.SetupDetails?.Description);\r\n    let _URL = this.hanbleBarData(this.ExportURL);\r\n    this.gridService.ExportTemplate(_URL, filename);\r\n  }\r\n\r\n  IsImport:boolean = false;\r\n  ImportURL:string|null = null;\r\n  showImportPopup:boolean = false;\r\n  fileToUpload: File|null = null;\r\n  submitted = false;\r\n  formval: any;\r\n\r\n  importform!: FormGroup;\r\n  importAcceptFiles = \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n\r\n  importforms() {\r\n    this.importform = new FormGroup({\r\n      ImportFile: new FormControl('', Validators.required),\r\n    });\r\n    this.formval = this.importform.controls;\r\n  }\r\n  handleFileInput(event:any) {\r\n\r\n\r\n    let files: FileList = event.target.files;\r\n    if(event.target.files.length > 0) {\r\n      this.fileToUpload = files.item(0);\r\n      this.importform.value.ImportFile = this.fileToUpload?.name;\r\n    }\r\n    else {\r\n      this.fileToUpload = null;\r\n      this.importform.value.ImportFile = null;\r\n    }\r\n\r\n  }\r\n  openTemplateImportPopup() {\r\n    this.importforms();\r\n    this.importform.reset();\r\n    this.showImportPopup = true;\r\n  }\r\n\r\n  closeTemplateImportPopup() {\r\n    this.showImportPopup = false;\r\n  }\r\n\r\n  _submitImportData() {\r\n    this.submitted = true;\r\n    if (this.importform.invalid) { return; }\r\n\r\n    if (!this.fileToUpload) {\r\n      Swal.fire(this.translatePipe.transform(\"alert!\"), this.translatePipe.transform(\"please choose a file\"), \"warning\");\r\n      return\r\n    }\r\n    let FormValue = this.importform.value;\r\n    const formDatasss = new FormData();\r\n    formDatasss.append(this.fileToUpload.name, this.fileToUpload);\r\n\r\n    let _URL = this.hanbleBarData(this.ImportURL);\r\n    this.dynamicAppsService.DynamicImport(_URL, formDatasss)\r\n      .subscribe((event:any) => {\r\n        Swal.fire(\"Imported successfully\");\r\n        this.closeTemplateImportPopup();\r\n        this.getListData();\r\n        this.loaderService.hideLoading();\r\n      },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          if (error.status == 401) {\r\n            return\r\n          }\r\n          console.log(error);\r\n        }\r\n      )\r\n  }\r\n\r\n  showAttachPopup: boolean = false;\r\n  ViewName: string|null = null;\r\n  TableName: string|any = null;\r\n  Permission: string|null = null;\r\n  RefTableName: any;\r\n  referRecId: number = 0;\r\n  TypeId: number = 0;\r\n  attachmentType: number = 0;\r\n  attachMethod(data:any) {\r\n\r\n    this.showAttachPopup = true;\r\n    this.TypeId = this.EntityTypeId; //from side menu get RecId//getCurrentMenuId(); temproraly use this menuid 532;\r\n    this.referRecId = data.RecId;\r\n    this.ViewName = data.SequenceId ? data.SequenceId : data.CaseId // this.EntityTypeRecId;\r\n    this.Permission = 'Delete';\r\n    this.TableName = this.SetupDetails?.Description;\r\n    this.RefTableName = this.EntityTypeId;\r\n    this.attachmentType = 2; //from side menu get MenuType;\r\n    this.gridService.onattachShow.next({ attach: true });\r\n  }\r\n\r\n  closeAttach(Switch:boolean){ debugger;\r\n    this.showAttachPopup = Switch;\r\n    this.gridService.onattachShow.next({ attach: Switch });\r\n  }\r\n  TemplateDropdown:any[]=[];\r\n\r\n  getDocumentTemplate() {\r\n\r\n    this.dynamicAppsService.getpermissiontemplateactivitybycaseid(this.EntityTypeId,null).subscribe(\r\n        (success: any) => {\r\n\r\n          let data = success;\r\n          if (success.Data) data = success.Data;\r\n          this.TemplateDropdown = data;\r\n          this.TemplateDropdown = this.TemplateDropdown.filter((x:any)=> x.IsActive && (x.StageId==\"All\" || x.StageId==this.stageId));\r\n          this.TemplateDropdown = this.TemplateDropdown.filter((x:any)=> !x.Condition);\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  downloadDocumentTemplate(event:any) {\r\n  debugger;\r\n   if (this.gridData.length != 1) {\r\n      Swal.fire(\"Document Download\",this.translatePipe.transform('Select only one row'),\"warning\");\r\n      return\r\n    }\r\n    this.dynamicAppsService.downloadDocumentTemplate(this.EntityTypeId,this.gridData[0].RecId,event.TemplateRecId).subscribe(\r\n      (res : any) => {debugger;\r\n        let blob : Blob= res.body;\r\n        let filename = res.headers.get('content-disposition') != null? res.headers.get('content-disposition'): \"DocumentTemplate\";\r\n        var filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)/;\r\n            var matches = filenameRegex.exec(filename);\r\n            if (matches != null && matches[1]) {\r\n              filename = matches[1].replace(/['\"]/g, '');\r\n            }\r\n        this.gridService.downloadFile(blob,blob.type,filename);\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) =>{\r\n        this.loaderService.hideLoading();\r\n      });\r\n\r\n\r\n  }\r\n\r\n\r\n  OnWorkflowActionRules(ActionRules:any, AllowSelect:any) {\r\n\r\n    let Rules = JSON.parse(ActionRules)\r\n\r\n    if (Rules && Rules.length > 0) {\r\n\r\n      let onInitRules = Rules.filter((x:any) => x.Type == \"OnInit\")\r\n\r\n      for (let index = 0; index < onInitRules.length; index++) {\r\n        let rulesData = onInitRules[index];\r\n        if (!rulesData) {\r\n          return\r\n        }\r\n\r\n        for (let index = 0; index < this.gridData.length; index++) {\r\n          let CurrentRow = this.gridData[index];\r\n          CurrentRow.AllowSelect = true;\r\n\r\n          let _condition = this.onRulesConditionCheck(rulesData, CurrentRow, index);\r\n\r\n          if (_condition) {\r\n            this.OnRulesApply(rulesData, CurrentRow)\r\n          }\r\n          else {\r\n            if (rulesData.child && rulesData.child.length > 0) {\r\n              let _elseIfRulescondition = false;\r\n              let _elseIfRules = rulesData.child.filter((x:any) => x.Type == \"OnElseIf\");\r\n\r\n              for (let index = 0; index < _elseIfRules.length; index++) {\r\n                _elseIfRulescondition = this.onRulesConditionCheck(_elseIfRules[index], CurrentRow, index)\r\n                if (_elseIfRulescondition) {\r\n                  this.OnRulesApply(_elseIfRules[index], CurrentRow)\r\n                  break;\r\n                }\r\n              }\r\n              if (!_elseIfRulescondition) {\r\n                let _elseRules = rulesData.child.filter((x:any) => x.Type == \"OnElse\");\r\n                if (_elseRules && _elseRules.length > 0) {\r\n                  this.OnRulesApply(_elseRules[0], CurrentRow)\r\n                }\r\n              }\r\n\r\n            }\r\n          }\r\n          if (!CurrentRow.AllowSelect) {\r\n            AllowSelect = false;\r\n            break;\r\n          }\r\n\r\n        }\r\n\r\n        if (!AllowSelect)\r\n          break;\r\n\r\n      }\r\n\r\n    }\r\n    return AllowSelect\r\n  }\r\n\r\n\r\n\r\n  onRulesConditionCheck(rulesData:any,CurrentRow:any,CurrentRowIndex?:any) {\r\n\r\n    let _condition = true;\r\n\r\n    let _handleData = CurrentRow;\r\n    _handleData.currentLang = this.globalService.CurrentLanguage;\r\n\r\n    for (let index = 0; index < rulesData.Condtion.length; index++) {\r\n\r\n      let _con = rulesData.Condtion[index];\r\n\r\n      if(_con.hasOwnProperty('ValueTwo')) {\r\n        _con.ValueType = _con.Value;\r\n        _con.Value = _con.ValueTwo;\r\n        delete _con.ValueTwo;\r\n      }\r\ndebugger;\r\n      let _Icondition = false;\r\n\r\n      let _fieldValue = CurrentRow[_con.Field];\r\n\r\n      if(_con.FieldType) {\r\n         if (_con.FieldType == \"Value\") {\r\n          _fieldValue = this.hanbleBarData(_con.Field, _handleData)\r\n        }\r\n      }\r\n\r\n      let value = CurrentRow[_con.Value];\r\n\r\n      if(_con.ValueType) {\r\n         if( _con.ValueType == \"Value\") {\r\n          value = this.hanbleBarData(_con.Value, _handleData)\r\n        }\r\n      }\r\n\r\n\r\n      switch (_con.Type) {\r\n        case \"Equal\": {\r\n          _Icondition = (_fieldValue == value ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _Icondition = (_fieldValue != value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue < value ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue <= value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue > value ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _fieldValue = (!isNaN(_fieldValue))?parseFloat(_fieldValue):_fieldValue\r\n          value = (!isNaN(value))?parseFloat(value):value\r\n          _Icondition = (_fieldValue >= value ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _Icondition = (_fieldValue == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _Icondition = (_fieldValue != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _Icondition = (_fieldValue == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _Icondition = (_fieldValue != '' ? true : false)\r\n          break\r\n        }\r\n\r\n        // String Data\r\n        case \"Length\": {\r\n          _Icondition = (_fieldValue.length == value ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains\r\n          _Icondition = (_fieldValue.includes(value) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains\r\n          _Icondition = (!(_fieldValue.includes(value)) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _Icondition = (_fieldValue.startsWith(value) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _Icondition = (_fieldValue.endsWith(value) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _Icondition = false\r\n          break\r\n      }\r\n\r\n\r\n      if (index > 0) {\r\n        if (rulesData.CondtionOperator == 1) {\r\n          _condition = (_condition && _Icondition ? true : false)\r\n        }\r\n        else {\r\n          _condition = (_condition || _Icondition ? true : false)\r\n        }\r\n      }\r\n      else {\r\n        _condition = _Icondition;\r\n      }\r\n\r\n    }\r\n\r\n    return _condition\r\n\r\n  }\r\n\r\n\r\n  OnRulesApply(rulesData:any,CurrentRow:any) {\r\n    let rulesList = rulesData;\r\n    if (rulesData.action)\r\n      rulesList = rulesData.action;\r\n\r\n    for (let index = 0; index < rulesList.length; index++) {\r\n\r\n      let rules = rulesList[index];\r\n\r\n      if (rules.Condition == 'AllowAction') {\r\n\r\n          CurrentRow.AllowSelect = rules.Value == 'true'?true:false;\r\n          if(rules.ValidationMessage){\r\n            Swal.fire(\"warning\",rules.ValidationMessage,\"warning\")\r\n          }\r\n\r\n\r\n      }\r\n\r\n    }\r\n  }\r\n\r\n\r\n\r\n  ReportSetupData: any = null;\r\n  getReportSetupData() {\r\n    this.ReportSetupData = null;\r\n    if (this.ActiveEntityForm?.DetailsViewData) {\r\n      this.ReportSetupData = JSON.parse(this.ActiveEntityForm.DetailsViewData)\r\n    }\r\n  }\r\n\r\n  saveReportConfiq(Report:any) {\r\n\r\n    let _ReportSetupData = JSON.stringify(Report);\r\n\r\nif (this.ActiveEntityForm) {\r\n      const data: EntityTypeFormUVM = {\r\n        RecId: this.ActiveEntityForm?.RecId,\r\n        FormType:this.ActiveEntityForm?.FormType,\r\n        DetailsViewData: _ReportSetupData,\r\n      };\r\n      this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n        (res) => {\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error) => {\r\n          this.loaderService.hideLoading();\r\n          if(error.status ==401) {\r\n            return\r\n          }\r\n          console.log(error);\r\n        }\r\n      );\r\n}\r\n\r\n  }\r\n\r\n\r\n\r\n  IsDuplicate:boolean = false;\r\n  Duplicate:boolean = false;\r\n  DuplicateData:any;\r\n  makeDuplicateEntity(data:any){\r\n    this.Duplicate = true;\r\n    this.DuplicateData = data;\r\n\r\n  }\r\n  PermissionPopup: boolean = false\r\n  PermissionEntityTypeId: any = null;\r\n  PermissionRowRecId: any = null;\r\n  PermissionTitle:any = null;\r\n  PermissionFileName:any = null;\r\n  PermissionMethod(data:any) {\r\n\r\n    this.PermissionPopup = true;\r\n    this.PermissionEntityTypeId = data.EntityTypeId;\r\n    this.PermissionRowRecId = data.RecId;\r\n    this.PermissionTitle = data.Title;\r\n    this.PermissionFileName = data.FileName;\r\n  }\r\n  closePermissionPopup(Type?:any) {\r\n    this.PermissionPopup = false;\r\n  }\r\n  closeDuplicateModal(Type?:boolean){\r\n    this.Duplicate = false;\r\n    if(Type) {\r\n      this.getListData();\r\n    }\r\n  }\r\n  showDataFiledPopup:boolean = false;\r\n  closeDataField() {\r\n    this.showDataFiledPopup = false;\r\n  }\r\n\r\n  submitDataFields(Fields: EntityTypeFieldVM[]){\r\n\r\n    if(Fields.length <= 0){\r\n      Swal.fire('Error','Please Select Field', 'warning');\r\n      return;\r\n    }\r\n\r\n    let fields : IColumnDef[] = [];\r\n    for(let i =0 ;i< Fields.length;i++ ){\r\n      let odj:IColumnDef = {\r\n        Field : Fields[i].Label,\r\n        Name : Fields[i].Description\r\n      };\r\n      fields.push(odj);\r\n    }\r\n    this.GridDynamicExportData.ColumnDef = fields;\r\n    this.GridDynamicExportData.IsTemplate = true;\r\n    this.ExportGridData('All');\r\n  }\r\n\r\n  getSingledynamicData(data:any) {\r\n    debugger;\r\n    if (data.RecId && this.EntityTypeId) {\r\n      this.dynamicAppsService.getDynamicById(this.EntityTypeId, data.RecId)\r\n        .subscribe((res: any) => {\r\n          debugger;\r\n          if (res && res.RecId)\r\n            this.formData = res;\r\n          else\r\n            this.formData = data;\r\n\r\n          this.displayPopupCreateView = true;\r\n          this.CreateItemId = this.EntityTypeId;\r\n          this.loaderService.hideLoading();\r\n        }, (error:any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n          });\r\n    }\r\n    else {\r\n      this.formData = data;\r\n      this.CreateItemId = this.EntityTypeId;\r\n      this.displayPopupCreateView = true;\r\n    }\r\n  }\r\n\r\n\r\n  DependedEntityList:EntityTypeSetUpVM[]=[];\r\n\r\n  getDependedOnEntity(){\r\n    this.dynamicAppsService.getDependedOnEntity(null, this.EntityTypeId).subscribe(\r\n      (res: any) => {\r\n        debugger;\r\n        this.DependedEntityList = res.Data ? res.Data : res;\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error:any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n\r\n  showDependedEntityPoupup:boolean= false;\r\n  DependedEntityValue:any = null;\r\n  SelectedDependedEntity:EntityTypeSetUpVM | null= null;\r\n\r\n  openDependedEntityPoupup(item:any) {\r\n\r\n    if(!this.gridData || this.gridData.length !=1) {\r\n      Swal.fire(\"Error\",\"select one row\",\"warning\");\r\n      return\r\n    }\r\n\r\n    this.SelectedDependedEntity = item;\r\n    let _DependedField =  this.EntityFieldList.filter(x=>x.IsPrimarykey)[0];\r\n    this.DependedEntityValue = this.gridData[0][_DependedField.Description];\r\n    this.showDependedEntityPoupup = true;\r\n  }\r\n  closeDependedEntityPoupup() {\r\n    this.showDependedEntityPoupup = false;\r\n    this.DependedEntityValue = null;\r\n    this.SelectedDependedEntity = null;\r\n  }\r\n\r\n\r\n\r\n  checkCreateCondition() {\r\n    debugger\r\n    if (this.CreateCondition && this.IsCreate) {\r\n      this.IsCreate = this.onRulesConditionCheck(this.CreateCondition, {});\r\n    }\r\n  }\r\n\r\n  MultipleSearchObj:any;\r\n  getMultipleSearch(Criteria?: ISearchCriteria,MultipleSearchObj?:any){\r\n  this.MultipleSearchObj = MultipleSearchObj;\r\n  this.getListData(Criteria)\r\n  }\r\n  ClearMultipleSearch() {\r\n    this.MultipleSearchObj = null;\r\n    this.getListData();\r\n  }\r\n\r\n  checkActionCondition(){\r\n    debugger;\r\n    this.filteredMinEntityActionList = [];\r\n    this.MinEntityActionList.forEach((x:any) => {\r\n      if(x.Configure){\r\n        let data = JSON.parse(x.Configure);\r\n        if(data?.ActionVisible && data.ActionCondition && data.ActionCondition.Condtion && data.ActionCondition.Condtion.length > 0){\r\n        let isConditionPassed:boolean = this.onRulesConditionCheck(data.ActionCondition, {});\r\n        if(isConditionPassed){\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n        }else{\r\n          this.filteredMinEntityActionList.push(x);\r\n        }\r\n      }else{\r\n        this.filteredMinEntityActionList.push(x);\r\n      }\r\n    });\r\n  }\r\n\r\n  rowCondition(item: any, Condition:any) {\r\n    let _ret = true\r\n    if (Condition) {\r\n      _ret = this.evaluate(Condition,item);  \r\n    }\r\n    return _ret\r\n  }\r\n  evaluate(Condition:any, item: any):boolean {\r\n    let _ret = true;\r\n    let op = Condition.substring(0, 2);  // get op\r\n    let splitter = '';\r\n\r\n    if (op == \"&&\" || op == \"||\") {\r\n      splitter = Condition.substr(2, 1);  // split \r\n      let conArr = Condition.substring(3).split(splitter); \r\n      let retArr = [];\r\n      for (let index = 0; index < conArr.length; index++) {\r\n        retArr[index] = this.evaluate(conArr[index], item);\r\n  \r\n        _ret = index == 0 ? retArr[index] : _ret;\r\n  \r\n        if (op == \"&&\") {\r\n          _ret = (_ret && retArr[index] ? true : false);\r\n          if(!_ret)\r\n          break;\r\n        }\r\n        else {\r\n          _ret = (_ret || retArr[index] ? true : false)\r\n          if(_ret)\r\n          break;\r\n        }\r\n  \r\n      }\r\n  \r\n    }\r\n    else {\r\n      _ret = this.checkCondition(Condition,item)\r\n    }\r\n\r\n    return _ret;\r\n  }\r\n  checkCondition(Condition:any,item:any) {\r\n    let _ret:boolean = false;\r\n    let _condition = this.hanbleBarData(Condition, item);\r\n\r\n    let _conArr = _condition.split(\"@@\");\r\n    if (_conArr.length = 3) {\r\n\r\n      switch (_conArr[1]) {\r\n        case \"Equal\": {\r\n          _ret = (_conArr[0] == _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"NotEqual\": {\r\n          _ret = (_conArr[0] != _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"LessThen\": {\r\n          _ret = (_conArr[0] < _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"LessThenEqual\": {\r\n          _ret = (_conArr[0] <= _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThen\": {\r\n          _ret = (_conArr[0] > _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"GreaterThenEqual\": {\r\n          _ret = (_conArr[0] >= _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"IsNull\": {\r\n          _ret = (_conArr[0] == null ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotNull\": {\r\n          _ret = (_conArr[0] != null ? true : false)\r\n          break\r\n        }\r\n        case \"IsEmpty\": {\r\n          _ret = (_conArr[0] == '' ? true : false)\r\n          break\r\n        }\r\n        case \"IsNotEmpty\": {\r\n          _ret = (_conArr[0] != '' ? true : false)\r\n          break\r\n        }\r\n        case \"In\": {\r\n          let _values = _conArr[2].split(\":\");\r\n          _ret = false;\r\n          for (let i = 0; i < _values.length; i++) {\r\n            if (_conArr[0] == _values[i]) {\r\n              _ret = true;\r\n              break\r\n            }\r\n          }\r\n          break\r\n        }\r\n        case \"NotIn\": {\r\n          let _values = _conArr[2].split(\":\");\r\n          _ret = true;\r\n          for (let i = 0; i < _values.length; i++) {\r\n            if (_conArr[0] == _values[i]) {\r\n              _ret = false;\r\n              break\r\n            }\r\n          }\r\n          break\r\n        }\r\n\r\n        // String Data \r\n        case \"Length\": {\r\n          _ret = (_conArr[0].length == _conArr[2] ? true : false)\r\n          break\r\n        }\r\n        case \"Contains\": { //Contains \r\n          _ret = (_conArr[0].includes(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        case \"NotContains\": { //Contains \r\n          _ret = (!(_conArr[0].includes(_conArr[2])) ? true : false)\r\n          break\r\n        }\r\n        case \"StartsWith\": {\r\n          _ret = (_conArr[0].startsWith(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        case \"EndsWith\": {\r\n          _ret = (_conArr[0].endsWith(_conArr[2]) ? true : false)\r\n          break\r\n        }\r\n        default:\r\n          _ret = true\r\n          break\r\n      }\r\n\r\n      return _ret\r\n\r\n    }\r\n\r\n    return _ret\r\n  }\r\n\r\n}\r\n","\r\n<ng-container *ngIf=\"showDetailsCreateView;\">\r\n\r\n  <dynamic-entity-create [EntityTypeRecId]=\"EntityTypeId\" [SetupDetails]=\"SetupDetails\" [DetailsPageUrl]=\"DetailsPageUrl\"\r\n    [EntityCreateForm]=\"EntityCreateForm\" [LoadFrom]=\"'PageView'\" (closeCreate)=\"closePopupCreateView($event.Type)\">\r\n  </dynamic-entity-create>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"IsShowDynamicDetailsInlineView\">\r\n  <div class=\"card details-inline-view\">\r\n    <div class=\"header p-2 border-bottom details-inline-header\">\r\n      <h5 class=\"modal-title d-inline-block\" id=\"exampleModalLabel\">{{\"Details\"|translate}}</h5>\r\n      <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n        (click)=\"closeDynamicDetailsInlineView()\">\r\n        <i class=\"la la-times\"></i>\r\n      </button>\r\n    </div>\r\n    <div class=\"body right_panel-body\" *ngIf=\"IsShowDynamicDetailsInlineView\">\r\n\r\n      <ng-container [ngTemplateOutlet]=\"detailscontent\" [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsInlineView'}\">\r\n      </ng-container>\r\n\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<div class=\"\" [ngClass]=\"{'d-none':showDetailsCreateView || IsShowDynamicDetailsInlineView}\">\r\n\r\n  <ng-container *ngIf=\"ActiveEntityForm && (ActiveEntityForm.FormType==_FormType.Page || ActiveEntityForm.FormType==_FormType.EntityPage);else listview\">\r\n    <app-dynamic-page [EntityFormId]=\"EntityFormId\" [PageViewFrom]=\"'Popup'\"\r\n            [EntityTypeId]=\"EntityTypeId\"></app-dynamic-page>\r\n  </ng-container>\r\n\r\n  <ng-template #listview>\r\n\r\n<div class=\"dynamic_list_page \"\r\n  [ngClass]=\"{'dynamic_workflow_list':(SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow)&& !IsHideWorkflowBar, 'd-none':showDetailsCreateView || IsShowDynamicDetailsInlineView}\">\r\n\r\n  <div class=\"d-block\" *ngIf=\"PageViewFrom != 'Popup'\">\r\n    <div class=\"card card-table-details\">\r\n      <div class=\"body p-15\">\r\n        <div class=\"row\">\r\n\r\n          <div class=\"col col-12 col-sm-12 col-md-12\">\r\n            <p class=\"m-b-0\">\r\n              <span class=\"iconbox\">\r\n                <i *ngIf=\"SetupDetails?.ImageUrl\" class=\"{{SetupDetails?.ImageUrl}}\"></i>\r\n                <i *ngIf=\"!SetupDetails?.ImageUrl\" class=\"icon-layers\"></i>\r\n              </span>\r\n              <span class=\"form-title\">\r\n                {{ (SetupDetails?.Label ? SetupDetails?.Label: SetupDetails?.Description)|translate}}\r\n              </span>\r\n            </p>\r\n          </div>\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"breadcrumbss flat d-none\" *ngIf=\"(SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow) && !IsHideWorkflowBar\">\r\n    <a *ngFor=\"let item of StatusAndStageList\">\r\n      {{item.StageDescription|translate}} </a>\r\n  </div>\r\n  <div class=\"main-page-view\" *ngIf=\"(SetupDetails?.EntityType == 40 || SetupDetails?.IsWorkFlow )&& !IsHideWorkflowBar\">\r\n    <div class=\"clearfix\">\r\n      <div class=\"breadcrumbs  float-left checkLength\"\r\n        [ngClass]=\"{'checkLength' :StatusAndStageList && StatusAndStageList.length > 6}\" id=\"slider-arrow\">\r\n        <a href=\"javascript:void(0);\" *ngFor=\"let item of StatusAndStageList; let i = index\" (click)=\"selectStage(item)\"\r\n          [ngClass]=\"{'active': selectedStage==item.RecId}\">\r\n          <span class=\"breadcrumb__inner\">\r\n            <span class=\"breadcrumb__title\">\r\n              <!-- <i [ngClass]=\"item.StageIcon ? item.StageIcon : null\"></i> -->\r\n              {{item.StageDescription |translate}}\r\n              <span *ngIf=\"selectedStage==item.RecId\" class=\"badge  themecolor bg-white\">{{totalRecordCount}}</span>\r\n            </span>\r\n            <!-- <span class=\"breadcrumb__desc\"> {{item.StageId}} - {{item.RecordsStatusEn |translate}}</span> -->\r\n          </span>\r\n        </a>\r\n      </div>\r\n      <div class=\"float-right arrow-border\" [ngClass]=\"hasHorizontalScrollbar ==true ?'d-block':'d-none'\"\r\n        *ngIf=\"StatusAndStageList&& StatusAndStageList.length > 6\">\r\n        <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('left','slider-arrow')\"><i\r\n            class=\"fa fa-arrow-left\"></i></a>\r\n        <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('right','slider-arrow')\"><i\r\n            class=\"fa fa-arrow-right\"></i></a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <ng-container *ngIf=\"EntityTypeId && ActiveEntityForm?.RecId\">\r\n    <div class=\"w-100 d-inline-block\">\r\n\r\n      <ul class=\"nav nav-tabs\" *ngIf=\"stageTabs && stageTabs.length > 0\">\r\n        <ng-container *ngFor=\"let tab of stageTabs; let i = index\">\r\n          <li class=\"nav-item\">\r\n            <a class=\"nav-link active\" data-toggle=\"tab\" [attr.data-target]=\"'#stageTabs{{i}}'\" (click)=\"changeTabs(i)\"\r\n              [ngClass]=\"{'active': currrenStageTab==i}\">\r\n              {{tab?.Name|translate}}</a>\r\n          </li>\r\n        </ng-container>\r\n      </ul>\r\n\r\n\r\n      <div class=\"card-gird-view entity_views bg-white\" [ngClass]=\"{'card-widget-content':viewTypeData !=_FormType.List,'bg-white': viewTypeData !=_FormType.Card}\">\r\n\r\n        <div class=\"entity_details card-top-bg collection_view\">\r\n          <div class=\"clearfix\">\r\n            <div class=\"display_view pull-left\">\r\n              <div (click)=\"closeaddViewDivpop()\" class=\"close_view_addpop\" [class.show]=\"addViewDiv==true\"></div>\r\n              <div class=\"dropdown view_type show_views\" style=\"min-width: 140px;\"\r\n                [ngClass]=\"{'inactiveLink opacity-1':PageRouteType=='FormView'}\">\r\n                <h6 class=\"mr-2 view_header\">\r\n                  <i *ngIf=\"!ShowView?.Image\" class=\"la la-list\"></i>\r\n                  <i *ngIf=\"ShowView?.Image\" class=\"la {{ShowView.Image}}\"></i>\r\n                  <span *ngIf=\"ShowView.FormName =='' || ShowView.FormName == null\"> {{ShowView.FormTypeEn|translate}}\r\n                  </span>\r\n                  <span *ngIf=\"ShowView.FormName !=''\"> {{ShowView.FormName|translate}} </span>\r\n                </h6>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"collection_view_action_bar pull-right\">\r\n              <div class=\"form-group task_plus_drops pull-right m-b-0\">\r\n                <div class=\"user-account action_part position-static\">\r\n                  <div class=\"dropdown view_type\" *ngIf=\"!isHideHeader\">\r\n\r\n                    <ng-container\r\n                      *ngIf=\"(IsAction && MinEntityActionList.length > 0) || wfActionData.length > 0 || globalService.devMode\">\r\n                      <div class=\"dropdown view_type p-b-5 m-0\">\r\n                        <ng-container *ngIf=\"TemplateDropdown.length > 0\">\r\n                          <a href=\"javascript:void(0)\" class=\"btn view_text btn-sm btn-small m-b-0 p-t-0 p-b-0\"\r\n                            data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                            {{'Documents'|translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                          </a>\r\n\r\n                          <ul class=\"dropdown-menu action_menu p-0\">\r\n                            <ul class=\"clearfix p-0 m-0\">\r\n                              <ng-container *ngFor=\"let item of TemplateDropdown\">\r\n                                <li class=\"p-0\">\r\n                                  <a class=\"d-block\" href=\"javascript:void(0);\"\r\n                                    (click)=\"downloadDocumentTemplate(item)\">\r\n                                    {{(item.Name?item.Name:item.TemplateName)|translate}}\r\n                                  </a>\r\n                                </li>\r\n                              </ng-container>\r\n                            </ul>\r\n                          </ul>\r\n                        </ng-container>\r\n                      </div>\r\n                    </ng-container>\r\n                    <ng-container\r\n                      *ngIf=\"(IsAction && MinEntityActionList.length > 0) || wfActionData.length > 0 || globalService.devMode\">\r\n\r\n                      <div class=\"dropdown view_type\">\r\n\r\n\r\n                        <span class=\"add_req_btn view_text_inner_text mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                          role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"checkActionCondition()\">\r\n                          {{'Action'| translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                      </span>\r\n                        <ul class=\"dropdown-menu action_menu  p-0 m-0\">\r\n                          <ul class=\"clearfix p-0 m-0 list-unstyled\">\r\n\r\n                            <ng-container *ngIf=\"IsAction\">\r\n                              <ng-container *ngFor=\"let item of filteredMinEntityActionList; let i = index\">\r\n                                <li class=\"p-0 m-0\">\r\n                                  <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\"\r\n                                    (click)=\"openEntityAction(item)\">\r\n                                    {{ item.FormName |translate}}\r\n                                  </a>\r\n                                </li>\r\n                              </ng-container>\r\n                            </ng-container>\r\n\r\n                            <ng-container *ngFor=\"let item of wfActionData\">\r\n                              <li class=\"p-0 m-0\">\r\n                                <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\"\r\n                                  (click)=\"getStatusField(item)\">\r\n                                  {{item.ActionDescription |translate}}\r\n                                </a>\r\n                              </li>\r\n                            </ng-container>\r\n\r\n                            <ng-container *ngIf=\"false\">\r\n                              <ng-container *ngFor=\"let item of ActionsList; let i = index\">\r\n                                <li>\r\n\r\n                                  <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\"\r\n                                    *ngIf=\"!item.IsDefault&&item.Visible\"\r\n                                    (click)=\"formAction(item)\">{{item.Name|translate}}\r\n                                  </a>\r\n\r\n\r\n                                </li>\r\n                              </ng-container>\r\n                            </ng-container>\r\n\r\n\r\n                            <li class=\"create_save_list p-0 m-0\" *ngIf=\"false && globalService.devMode\">\r\n                              <span class=\"pull-left create_field_btn\" (click)=\"openActionModel()\">\r\n                                <i class=\"fa fa-plus-circle\" style=\"font-size: 15px;\"></i> {{\"Add Action\"|translate}}\r\n                              </span>\r\n                              <span class=\"pull-right ok_button\"\r\n                                (click)=\"SaveActionConfig()\">{{\"Apply\"|translate}}</span>\r\n                            </li>\r\n                          </ul>\r\n                        </ul>\r\n                      </div>\r\n                    </ng-container>\r\n\r\n                    <!-- <ng-container *ngIf=\"DependedEntityList.length > 0\">\r\n                      <div class=\"dropdown view_type p-b-5 m-0\">\r\n                        <a href=\"javascript:void(0)\" class=\"add_req_btn mr-2 m-b-0 p-t-0 p-b-0\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\"\r\n                          aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                          <i class=\"tabler-ti ti-fidget-spinner themecolor\" aria-hidden=\"true\"></i>\r\n                          {{'Related Data'| translate}}<span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </a>\r\n                        <ul class=\"dropdown-menu action_menu  p-0 m-0\">\r\n                          <ul class=\"clearfix p-0 m-0\">\r\n                            <ng-container *ngFor=\"let item of DependedEntityList\">\r\n                              <li class=\"p-0 m-0\">\r\n                                <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openDependedEntityPoupup(item)\">\r\n                                  {{(item.Label?item.Label: item.Description) |translate}}\r\n                                </a>\r\n                              </li>\r\n                            </ng-container>\r\n                          </ul>\r\n                        </ul>\r\n                      </div>\r\n                    </ng-container> -->\r\n\r\n                    <ng-container *ngIf=\"IsExportTemplate\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"ExportTemplate()\">\r\n                        <i class=\"la la-download themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Export Template\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"IsImport\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"openTemplateImportPopup()\">\r\n                        <i class=\"la la-file-upload themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Import\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <button class=\"add_req_btn mr-2\" *ngIf=\"IsCreate\" (click)=\"openCreatPop()\">\r\n                      <i class=\"la la-plus themecolor  m-r-5\" aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Create\"|translate}}</span>\r\n                    </button>\r\n\r\n                    <ng-container *ngIf=\"!CheckScreenSize() && viewTypeData==_FormType.Table && !IsHideSearch\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"GridtoggleFilter()\">\r\n                        <i class=\"la la-search themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n                    \r\n                    <ng-container *ngIf=\"!CheckScreenSize() && viewTypeData==_FormType.Card\">\r\n                   \r\n                      <div *ngIf=\"showfilter\" class=\"search_view_body card-filter-view ml-2 mr-2 animated fadeInDown d-inline-block\" \r\n                      [ngClass]=\"{'fadeInDown': showfilter,'fadeOutUp d-none':!showfilter}\">\r\n                        <input  type=\"text\" [(ngModel)]=\"filterText\" name=\"search\"\r\n                        (keyup)=\"filterDynmaicListData($event)\" [ngModelOptions]=\"{standalone: true}\"\r\n                         autocomplete=\"off\" placeholder=\"Search a title and enter\" class=\"form-control\">\r\n                        <i  class=\"la search-icon la-search\"></i>\r\n                      </div>\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"toggleFilter()\">\r\n                        <i class=\"la la-search themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"IsMultipleFilter\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"toggleMultipleFilter()\">\r\n                        <i class=\"tabler-ti ti-filter-plus themecolor\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    \r\n                    <ng-container *ngIf=\"IsMultipleValueSearch\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"childGrid.OpenMultipleSearchValuePopUp(EntityTypeId)\">\r\n                        <i class=\"la la-search-plus themecolor\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container *ngIf=\"IsMultipleValueSearch && MultipleSearchObj\">\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"ClearMultipleSearch()\">\r\n                        <i class=\"tabler-ti ti-clear-all themecolor\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Clear multiple Search\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container>\r\n                      <button class=\"add_req_btn mr-2 d-none\" (click)=\"_geColumnList()\">\r\n                        <i class=\"la la-bars themecolor\" aria-hidden=\"true\"></i> {{\"list\"|translate}}\r\n                      </button>\r\n                    </ng-container>\r\n                    <ng-container *ngIf=\"IsExport || IsExcelImport || globalService.devMode \">\r\n                      <button class=\"add_req_btn mr-2\">\r\n                        <div class=\"dropdown mt-0\">\r\n                          <span class=\"add_req_btn view_text_inner_text mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                            role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                            <i class=\"la la-file-download themecolor\" aria-hidden=\"true\"></i>\r\n                            <span class=\"view_text_inner_text\">{{'Export'| translate}}</span>\r\n                            <span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </span>\r\n                          <ul class=\"dropdown-menu action_menu p-0 m-0\" aria-labelledby=\"dropdownMenuButton\">\r\n                            <ng-container *ngIf=\"IsExport\">\r\n                              <li class=\"p-0 m-0\" (click)=\"ExportGridData()\">\r\n                                <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\">\r\n                                  {{\"Export Visible\"|translate}}</a></li>\r\n                              <li class=\"p-0 m-0\" (click)=\"ExportGridData('All')\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                  href=\"javascript:void(0);\">{{\"Export All\"|translate}}</a></li>\r\n                              <li class=\"p-0 m-0\" (click)=\"showDataFiledPopup = true\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                  href=\"javascript:void(0);\">{{\"Export Template\"|translate}}</a></li>\r\n                            </ng-container>\r\n                            <li class=\"p-0 m-0\" *ngIf=\"globalService.devMode\">\r\n                              <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                                *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                                <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Data\"|translate}}\r\n                              </a>\r\n                            </li>\r\n\r\n                            <li class=\"p-0 m-0\" *ngIf=\"IsExcelImport\">\r\n                              <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                                *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                                <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Excel\"|translate}}\r\n                              </a>\r\n                            </li>\r\n\r\n                          </ul>\r\n                        </div>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n                    <ng-container>\r\n                      <button class=\"add_req_btn mr-2\" (click)=\"getListData()\">\r\n                        <i class=\"la la-refresh themecolor\" aria-hidden=\"true\"></i>\r\n                        <span class=\"view_text_inner_text\">{{\"Refresh\"|translate}}</span>\r\n                      </button>\r\n                    </ng-container>\r\n\r\n\r\n                  </div>\r\n\r\n                  <div class=\"dropdown view_type\" *ngIf=\"isHideHeader\">\r\n\r\n                    <button *ngIf=\"isSurveyPage\" class=\"add_req_btn mr-2\" (click)=\"getListConfigForm()\">\r\n                      <i class=\"la la-code\" aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Show List Config\"|translate}}</span>\r\n                    </button>\r\n\r\n                    <button class=\"add_req_btn mr-2\" (click)=\"getListData()\">\r\n                      <i class=\"la la-refresh themecolor\" aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Refresh\"|translate}}</span>\r\n                    </button>\r\n\r\n                    <button class=\"add_req_btn mr-2\" *ngIf=\"IsExport || globalService.devMode|| IsExcelImport\"> \r\n                      <div class=\"dropdown mt-0\">\r\n                        <a href=\"javascript:void(0)\" class=\"add_req_btn mr-2 m-b-0 p-t-0 p-b-0\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"\r\n                          role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                          <i class=\"la la-file-download themecolor\" aria-hidden=\"true\"></i>\r\n                          <span class=\"view_text_inner_text\">{{'Export'| translate}}</span>\r\n                          <span class=\"la la-angle-down m-r-5 m-l-5\"></span>\r\n                        </a>\r\n                        <ul class=\"dropdown-menu action_menu p-0 m-0\" aria-labelledby=\"dropdownMenuButton\">\r\n                          <ng-container *ngIf=\"IsExport\">\r\n                            <li class=\"p-0 m-0\" (click)=\"ExportGridData()\">\r\n                              <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\">\r\n                                {{\"Export Visible\"|translate}}</a></li>\r\n                            <li class=\"p-0 m-0\" (click)=\"ExportGridData('All')\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                href=\"javascript:void(0);\">{{\"Export All\"|translate}}</a></li>\r\n                            <li class=\"p-0 m-0\" (click)=\"showDataFiledPopup = true\"><a class=\"d-block p-t-5 p-b-5\"\r\n                                href=\"javascript:void(0);\">{{\"Export Template\"|translate}}</a></li>\r\n                          </ng-container>\r\n                          <li class=\"p-0 m-0\" *ngIf=\"globalService.devMode\">\r\n                            <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                              *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                              <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Data\"|translate}}\r\n                            </a>\r\n                          </li>\r\n\r\n                          <li class=\"p-0 m-0\" *ngIf=\"IsExcelImport\">\r\n                            <a class=\"d-block p-t-5 p-b-5\" href=\"javascript:void(0);\" (click)=\"openImportPopup()\"\r\n                              *ngIf=\"SetupDetails?.EntityType!=150\">\r\n                              <i class=\"la la-file-upload m-r-5\"></i> {{\"Import Excel\"|translate}}\r\n                            </a>\r\n                          </li>\r\n\r\n                        </ul>\r\n                      </div>\r\n                    </button>\r\n                    \r\n                  </div>\r\n\r\n                </div>\r\n              </div>\r\n              <div class=\"form-group task_plus_drops pull-right m-b-0\" *ngIf=\"globalService.devMode\">\r\n                <div class=\"user-account action_part position-static\">\r\n\r\n\r\n                  <div class=\"dropdown view_type\" *ngIf=\"globalService.devMode && ActiveEntityForm\">\r\n                    <button class=\"add_req_btn mr-2\" (click)=\"openDataSource()\">\r\n                      <i class=\"la la-code m-r-5\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Configure\"|translate}}</span>\r\n                    </button>\r\n                  </div>\r\n\r\n\r\n\r\n\r\n                  <div class=\"dropdown view_type\">\r\n                    <button class=\"add_req_btn mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"><i class=\"fa fa-filter m-r-5\"\r\n                        aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Filter\"|translate}}</span> </button>\r\n                    <ul class=\"dropdown-menu filter_condition\" style=\"min-width: 750px; padding: 25px;\"\r\n                      (click)=\"clickActive($event)\">\r\n\r\n\r\n                      <div class=\"conditions-box conditions conditionGroup\">\r\n\r\n                        <div class=\"card query-block\">\r\n                          <label class=\"blcok-label\">{{\"Filter\"|translate}}</label>\r\n                          <div class=\"body p-1\">\r\n\r\n                            <div class=\"col col-12 conditions-box d-block p-0 \" *ngIf=\"condition\">\r\n                              <!-- <app-filter-condition [group]=\"condition\" [Fields]=\"EntityFieldList\"\r\n                                [Type]=\"'FilterCondition'\">\r\n                              </app-filter-condition> -->\r\n                            </div>\r\n                            <ng-container *ngIf=\"!condition\">\r\n                              <button class=\"btn btn-small btn-outline-info\"\r\n                                (click)=\"addCondition()\">{{\"Condition\"|translate}}</button>\r\n                            </ng-container>\r\n\r\n\r\n                          </div>\r\n                        </div>\r\n\r\n\r\n                        <div class=\"whole\" style=\"float: none;\">\r\n                          <button class=\"ok_button\" (click)=\"conditionApply()\">{{\"Apply\"|translate}}</button>\r\n                        </div>\r\n\r\n                      </div>\r\n\r\n                    </ul>\r\n                  </div>\r\n                  <div class=\"dropdown view_type\">\r\n                    <button class=\"add_req_btn mr-2\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\"><i class=\"fa fa-sort-amount-asc m-r-5\"\r\n                        aria-hidden=\"true\"></i>\r\n                      <span class=\"view_text_inner_text\">{{\"Sort\"|translate}}</span></button>\r\n                    <ul class=\"dropdown-menu filter_condition sort\" style=\"min-width: 500px; padding: 25px;\"\r\n                      (click)=\"clickActive($event)\">\r\n\r\n\r\n                      <div class=\"conditions-box conditions conditionGroup\">\r\n\r\n                        <div>\r\n\r\n                          <div class=\"inner_condition \" *ngFor=\"let item of sorting; let i = index \">\r\n\r\n                            <div class=\"row\">\r\n\r\n                              <div class=\"col col-sm-6\">\r\n                                <div class=\"form-group\">\r\n                                  <ng-select [(ngModel)]=\"item.FieldName\" [items]=\"EntityFieldList\"\r\n                                    bindLabel=\"Description\" bindValue=\"Description\" (change)=\"selectField($event)\">\r\n                                  </ng-select>\r\n                                </div>\r\n                              </div>\r\n\r\n                              <div class=\"col col-sm-4\">\r\n                                <div class=\"form-group\">\r\n                                  <ng-select [(ngModel)]=\"item.Direction\" [items]=\"orderList\" bindLabel=\"Desc\"\r\n                                    bindValue=\"Id\">\r\n                                  </ng-select>\r\n\r\n                                </div>\r\n                              </div>\r\n\r\n                              <div class=\"col col-sm-1\">\r\n                                <div class=\"formgroup m-t-10\">\r\n                                  <span (click)=\"deleteSort(item,i)\" style=\"cursor: pointer;\">\r\n                                    <i class=\"la la-trash-o themecolor\" style=\"font-size: 19px;\"></i>\r\n                                  </span>\r\n                                </div>\r\n                              </div>\r\n\r\n\r\n                            </div>\r\n\r\n\r\n                          </div>\r\n                        </div>\r\n                        <div class=\"whole\" style=\"float: none;\">\r\n                          <button type=\"button\" data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" class=\"themecolor add_filter_btn\"\r\n                            (click)=\"addnewSort()\">+ {{\"Add a sort\"|translate}}</button>\r\n                          <button class=\"ok_button\" (click)=\"sortApply()\">{{\"Apply\"|translate}}</button>\r\n                        </div>\r\n\r\n                      </div>\r\n\r\n                    </ul>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n          </div>\r\n        </div>\r\n        <div [ngClass]=\"{'card-widget-body': viewTypeData !=_FormType.List}\">\r\n          <div *ngIf=\"columnDefs.length > 0\" class=\"grid_view whole collectionViews\" [hidden]=\"!tableview\"\r\n            [ngClass]=\"{'display_type_grid': (viewTypeData==_FormType.Table && columnDefs.length > 0)}\">\r\n\r\n\r\n\r\n            <app-grid #childGrid [columnDefs]=\"columnDefs\"  [GridTitle]=\"''\" [GridDescription]=\"''\"\r\n              [gridActionList]=\"gridActionList\" [selectMode]=\"selectMode\" [IsCreate]=\"IsCreate\" [IsDelete]=\"IsDelete\"\r\n              [DeleteCondition]=\"DeleteCondition\" [IsAssign]=\"IsAssign\" [AssignCondition]=\"AssignCondition\"\r\n              [IsEdit]=\"IsEdit\" [EditCondition]=\"EditCondition\" [grid]=\"gridId\" [IsHidePagination]=\"true\"\r\n              [IsShowDetailsGo]=\"IsShowDetails\" [IsCommonGridFilter]=\"globalService.IsDefaultSearch\"\r\n              [IsAttach]=\"IsAttach\" [AttachCondition]=\"AttachCondition\" [CommonGridFilter]=\"CommonGridFilter\" [IsDuplicate]=\"IsDuplicate\"\r\n              (DuplicateMethod)=\"makeDuplicateEntity($event.data)\" [WorkflowStageId]=\"selectedStage\"\r\n              [RulesData]=\"ActiveEntityForm.RulesData\" (openCreatePopup)=\"openCreatPop()\"\r\n              (editMethod)=\"edit($event.data)\" (deleteMethod)=\"delete($event.data)\"\r\n              (getPageList)=\"getListData($event.Criteria)\" (assignmentMethod)=\"assignmentMethod($event.data)\"\r\n              (goToDetails)=\"goDetails($event.data,$event.col)\"\r\n              (getGridAction)=\"GridAction($event.item,$event.gridData)\"\r\n              (getGridCheckedData)=\"getGridCheckedData($event.gridData)\"\r\n              (callButtonEvent)=\" callButtonEvent($event.data,$event.col)\" (attachMethod)=\"attachMethod($event.data)\"\r\n              [IsPermission]=\"IsPermission\" [IsClientPagination]=\"IsClientPagination\" (PermissionMethod)=\"PermissionMethod($event.data)\"\r\n              [IsMultipleValueSearch]=\"IsMultipleValueSearch\" (getMultipleSearch)=\"getMultipleSearch($event.Criteria,$event.SearchObj)\"\r\n              [IsHideHeader]=\"true\">\r\n            </app-grid>\r\n\r\n          </div>\r\n\r\n\r\n          <div class=\"card_view animated fadeIn collectionViews\" *ngIf=\"viewTypeData==_FormType.Card\"\r\n            [ngClass]=\"{'display_type_card p-l-15 p-r-15': viewTypeData==_FormType.Card}\">\r\n\r\n\r\n            <app-card-line *ngIf=\"columnDefs.length > 0\" [ListData]=\"TicketData\" [columnDefs]=\"columnDefs\"\r\n              [IsEdit]=\"IsEdit\" [IsDelete]=\"IsDelete\" [IsAssign]=\"IsAssign\" [IsAttach]=\"IsAttach\"\r\n              [gridActionList]=\"gridActionList\" (goToDetails)=\"goDetails($event.data,$event.col)\"\r\n              (editMethod)=\"edit($event.data)\" (deleteMethod)=\"delete($event.data)\"\r\n              (assignmentMethod)=\"assignmentMethod($event.data)\"\r\n              (getGridAction)=\"GridAction($event.item,$event.gridData)\"\r\n              (callButtonEvent)=\" callButtonEvent($event.data,$event.col)\" (attachMethod)=\"attachMethod($event.data)\">\r\n            </app-card-line>\r\n          </div>\r\n          <div class=\"report_view animated fadeIn collectionViews m-t-10\" *ngIf=\"viewTypeData==_FormType.Chart\">\r\n\r\n            <ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && TicketData && TicketData.length > 0\">\r\n              <app-new-chart [Id]=\"'Highchart_'+EntityTypeId+'_'+ActiveEntityForm.RecId\" [chartConfiq]=\"ReportSetupData\"\r\n                [chartData]=\"TicketData\" [ChartId]=\"gridId\"></app-new-chart>\r\n            </ng-container>\r\n\r\n          </div>\r\n          <div class=\"report_view animated fadeIn collectionViews m-t-10\" *ngIf=\"viewTypeData==_FormType.Report\">\r\n\r\n            <ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && TicketData\">\r\n              <app-report [ReportSetup]=\"ReportSetupData\" [ReportData]=\"TicketData\"\r\n                (saveReportConfiq)=\"saveReportConfiq($event.Report)\"></app-report>\r\n            </ng-container>\r\n\r\n          </div>\r\n\r\n          <div class=\"report_view animated fadeIn collectionViews m-t-10\"\r\n            *ngIf=\"viewTypeData==_FormType.CustomTemplate\">\r\n\r\n            <ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && TicketData\">\r\n              <app-custom-templete [CustomTempleteSetup]=\"ReportSetupData\" [CustomTempleteData]=\"TicketData\"\r\n                (saveCustomTempleteConfiq)=\"saveReportConfiq($event.CustomTemplete)\"></app-custom-templete>\r\n            </ng-container>\r\n\r\n          </div>\r\n\r\n\r\n          <div class=\"list_view animated fadeIn\" *ngIf=\"viewTypeData==_FormType.List\"\r\n            [ngClass]=\"{'display_type_list': viewTypeData==_FormType.List}\">\r\n\r\n\r\n            <div class=\"list_view_div whole\" *ngFor=\"let item of TicketData; let i = index\">\r\n\r\n              <div class=\"list_cards\">\r\n                <div class=\"inner_card\" style=\"min-height: auto;\">\r\n\r\n                  <div class=\"pull-left\">\r\n                    <label class=\"fancy-checkbox float-left\">\r\n                      <input class=\"checkbox-tick\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"item.isGridSelect\"\r\n                        (change)=\"getCheckboxChecked($event)\">\r\n                      <span></span>\r\n                    </label>\r\n                  </div>\r\n\r\n                  <div class=\"pull-left grid-list-action position-static\">\r\n                    <div class=\"dropdown action_drop action-lists\">\r\n                      <a href=\"javascript:void(0);\" class=\"dropdown-toggle no-icon themecolor m-r-5\"\r\n                        data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                        <i class=\"la la-ellipsis-v\"></i>\r\n                      </a>\r\n                      <ul class=\"dropdown-menu\">\r\n\r\n                        <ng-container *ngFor=\"let actcol of ActionColumnDefs\">\r\n                          <li>\r\n                            <a href=\"javascript:void(0);\">\r\n                              <button class=\"btn btn-outline-success text-left w-100\"\r\n                                (click)=\"callButtonEvent(item,actcol)\" style=\"border: 1px solid;\">\r\n                                <i [ngClass]=\"actcol.IconName\"></i> {{actcol.Name|translate}}\r\n                              </button>\r\n                            </a>\r\n                          </li>\r\n                        </ng-container>\r\n\r\n                      </ul>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"pull-left add\" (click)=\"openDetailsPopup(item)\">\r\n                    <i class=\"la la-external-link themecolor\"></i>\r\n                  </div>\r\n\r\n                  <ng-container *ngFor=\"let col of columnDefs\">\r\n\r\n                    <ng-container *ngIf=\"col.FieldType==1; else listviewCol\">\r\n                      <p class=\"themecolor pull-left\" (click)=\"goDetails(item,col)\">{{item[col?.Field] |translate}}</p>\r\n                    </ng-container>\r\n\r\n                    <ng-template #listviewCol>\r\n                      <p class=\"pull-left\" style=\"height: auto;\">\r\n                        <!-- <label class=\"col-sm-6\">{{col.Field}}</label> -->\r\n                        <span class=\"col-sm-12\">\r\n\r\n                          <ng-container *ngIf=\"col\" [ngSwitch]=\"col.DataType\">\r\n\r\n                            <span *ngSwitchCase=\"columnDataType.date\" class=\"tooltiptexts\">\r\n                              {{item[col?.Field] | date :'dd/MM/yyyy' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.Time\" class=\"tooltiptexts\">\r\n                              {{ item[col?.Field] | date: 'h:mm:ss a' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.dateTime\" class=\"tooltiptexts\">\r\n                              {{ item[col?.Field] | date: 'dd/MM/yyyy, h:mm:ss a' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.bool\">\r\n                              {{item[col?.Field] ==true ? 'Yes' : 'No' }}\r\n                            </span>\r\n                            <span *ngSwitchCase=\"columnDataType.isIcon\">\r\n                              <i [ngClass]=\"item[col?.Field]\" style=\"font-size: 20px;\"></i>\r\n                            </span>\r\n                            <span *ngSwitchDefault title=\"{{item[col?.Field] }}\">{{item[col?.Field] |translate}}</span>\r\n                          </ng-container>\r\n\r\n                        </span>\r\n                      </p>\r\n                    </ng-template>\r\n\r\n                  </ng-container>\r\n\r\n\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n\r\n          <div class=\"column_view list_view animated fadeIn m-0 bg-white\" *ngIf=\"viewTypeData==_FormType.Columns\"\r\n            [ngClass]=\"{'display_type_column': viewTypeData==_FormType.Columns}\">\r\n\r\n            <div class=\"column_view_div col-12 col-sm-12 col-md-4\" *ngFor=\"let item of TicketData\">\r\n\r\n              <div class=\"list_cards\">\r\n                <div class=\"inner_card\" style=\"min-height: auto;\">\r\n                  <div class=\"whole head clearfix\">\r\n                    <div class=\"\">\r\n                      <label class=\"fancy-checkbox float-left\">\r\n                        <input class=\"checkbox-tick\" type=\"checkbox\" name=\"checkbox\" [(ngModel)]=\"item.isGridSelect\"\r\n                          (change)=\"getCheckboxChecked($event)\">\r\n                        <span></span>\r\n                      </label>\r\n                    </div>\r\n                    <ng-container *ngFor=\"let col of columnDefs\">\r\n                      <ng-container *ngIf=\"col.FieldType==1;\">\r\n                        <h4 (click)=\"goDetails(item,col)\">{{item[col?.Field]|translate}}</h4>\r\n                      </ng-container>\r\n                    </ng-container>\r\n\r\n                    <div class=\"grid-list-action\">\r\n                      <div class=\"dropdown action_drop action-lists\">\r\n                        <a href=\"javascript:void(0);\" class=\"dropdown-toggle no-icon themecolor m-r-5\"\r\n                          data-bs-toggle=\"dropdown\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n                          <i class=\"la la-ellipsis-v\"></i>\r\n                        </a>\r\n                        <ul class=\"dropdown-menu\">\r\n\r\n                          <ng-container *ngFor=\"let actcol of ActionColumnDefs\">\r\n                            <li>\r\n                              <a href=\"javascript:void(0);\">\r\n                                <button class=\"btn btn-outline-success text-left w-100\"\r\n                                  (click)=\"callButtonEvent(item,actcol)\" style=\"border: 1px solid;\">\r\n                                  <i [ngClass]=\"actcol.IconName\"></i> {{actcol.Name|translate}}\r\n                                </button>\r\n                              </a>\r\n                            </li>\r\n                          </ng-container>\r\n\r\n                        </ul>\r\n                      </div>\r\n                    </div>\r\n\r\n                    <div class=\"add\" (click)=\"openDetailsPopup(item)\">\r\n                      <i class=\"la la-external-link themecolor\"></i>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <ng-container *ngFor=\"let col of columnDefs\">\r\n\r\n                    <p class=\"desc row\" style=\"height: auto;margin-bottom: 5px;\">\r\n                      <!-- <label class=\"col-sm-6\">{{col.Field}}</label> -->\r\n                      <span class=\"col-sm-12\">\r\n\r\n                        <ng-container *ngIf=\"col\" [ngSwitch]=\"col.DataType\">\r\n\r\n                          <span *ngSwitchCase=\"columnDataType.date\" class=\"tooltiptexts\">\r\n                            {{item[col?.Field] | date :'dd/MM/yyyy' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.Time\" class=\"tooltiptexts\">\r\n                            {{ item[col?.Field] | date: 'h:mm:ss a' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.dateTime\" class=\"tooltiptexts\">\r\n                            {{ item[col?.Field] | date: 'dd/MM/yyyy, h:mm:ss a' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.bool\">\r\n                            {{item[col?.Field] ==true ? 'Yes' : 'No' }}\r\n                          </span>\r\n                          <span *ngSwitchCase=\"columnDataType.isIcon\">\r\n                            <i [ngClass]=\"item[col?.Field]\" style=\"font-size: 20px;\"></i>\r\n                          </span>\r\n                          <span *ngSwitchDefault title=\"{{item[col?.Field] }}\">{{item[col?.Field] |translate}}</span>\r\n                        </ng-container>\r\n\r\n                      </span>\r\n                    </p>\r\n                  </ng-container>\r\n\r\n\r\n\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n\r\n\r\n          </div>\r\n\r\n          <div class=\"gallery_view list_view animated fadeIn\"\r\n            *ngIf=\"viewTypeData==_FormType.Gallery && ActiveEntityForm && ActiveEntityForm.RecId\"\r\n            [ngClass]=\"{'display_type_gallery': viewTypeData==_FormType.Gallery}\">\r\n\r\n            <!-- <app-dynamic-gallery-canvas [ViewType]=\"'view'\" [ListData]=\"TicketData\" [EntityTypeId]=\"EntityTypeId\"\r\n              [EntityFormId]=\"ActiveEntityForm.RecId\">\r\n            </app-dynamic-gallery-canvas> -->\r\n\r\n\r\n          </div>\r\n\r\n          <div class=\"Profile_view list_view animated fadeIn\"\r\n            *ngIf=\"viewTypeData==_FormType.Profile && ActiveEntityForm && ActiveEntityForm.RecId\"\r\n            [ngClass]=\"{'display_type_Profile': viewTypeData==_FormType.Profile}\">\r\n\r\n            <app-dynamic-profile [ViewType]=\"'view'\" [ListData]=\"TicketData\" [EntityTypeId]=\"EntityTypeId\"\r\n              [storeCriteria]=\"storeCriteria\" [EntityTypeForm]=\"ActiveEntityForm\" [EntityFieldList]=\"EntityFieldList\"\r\n              [EntityFormId]=\"ActiveEntityForm.RecId\" [totalFilterCount]=\"totalRecordCount\"\r\n              (getFilterPageList)=\"getListData($event.Criteria)\">\r\n            </app-dynamic-profile>\r\n\r\n          </div>\r\n\r\n        </div>\r\n        <ng-container *ngIf=\"TicketData.length > 0 && showPagination && !IsClientPagination\">\r\n          <app-pagination class=\"w-100 d-inline-block\" [Type]=\"PaginationType\" [totalCount]=\"totalRecordCount\" [pageCount]=\"pageCount\"\r\n            [changeCount]=\"changeCount\" [currentPage]=\"(storeCriteria.Pagging.PageNo)\"\r\n            [pageSize]=\"(storeCriteria.Pagging.PageSize)\" [gridSearchType]=\"GridSearchType\"\r\n            (getPaginationListData)=\"getPaginationListData($event.pageCount,$event.pageSize)\">\r\n          </app-pagination>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"CreateItemId\" [ngClass]=\"{'showPop':displayPopupCreateView}\" tabindex=\"-1\"\r\n  role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog  {{formConfig?.PopupSize ? formConfig?.PopupSize : 'modal-lg'}} {{formConfig?.ClassName}} modal-dialog-scrollable\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" style=\"display: inline-block;\" id=\"exampleModalLabel\">{{CollectionType+'\r\n          '+SetupDetails?.Description}}</h5>\r\n        <div style=\"display: inline-flex;\">\r\n          <button type=\"button\" *ngIf=\"globalService.devMode\" (click)=\"openFormPopup()\" class=\"edit_popup_btn\">\r\n            <i class=\"fa fa-pencil-square-o\"></i>\r\n          </button>\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupCreateView()\"\r\n            style=\"padding: 15px 10px;margin-right: 0px;\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"CollectionType\" [AppEntityTypeId]=\"CreateItemSubId\"\r\n          [EntityTypeId]=\"CreateItemId\" [EntityType]=\"SetupDetails.EntityType\" [FormValues]=\"formData\"\r\n          [FormTitle]=\"FormTitle\" [FormGetType]=\"CreateFormGetType\" [EntityFormId]=\"CreateEntityFormId\"\r\n          (closeCreate)=\"closePopupCreateView($event.Type)\" [queryParams]=\"queryParams\"></app-ticket-create>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"modal fade show showPop\" *ngIf=\"displayFormPopup\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"max-width: 95%;\">\r\n    <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n      <div class=\"modal-header\">\r\n\r\n        <div id=\"details\">\r\n          <ul class=\"nav nav-tabs\">\r\n            <li class=\"nav-item\">\r\n              <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#Design'\" (click)=\"gridtabs('1')\"\r\n                [ngClass]=\"{'active': gridTab==1}\">\r\n                {{'Design Page'|translate}}</a>\r\n            </li>\r\n            <li class=\"nav-item\">\r\n              <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#Rules'\" (click)=\"gridtabs('2')\"\r\n                [ngClass]=\"{'active': gridTab==2}\">\r\n                {{'Rules'|translate}}</a>\r\n            </li>\r\n\r\n            <li class=\"nav-item\" *ngIf=\"globalService.devMode && SetupDetails?.EntityType==150\">\r\n              <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#DataSource'\" (click)=\"gridtabs('3')\"\r\n                [ngClass]=\"{'active': gridTab==3}\">\r\n                {{'DataSource'|translate}}</a>\r\n            </li>\r\n          </ul>\r\n        </div>\r\n\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closePopupForm()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <div id=\"details\">\r\n          <div class=\"tab-content\" style=\"padding: 0;\">\r\n            <div class=\"tab-pane animated active\" id=\"Design\" *ngIf=\"gridTab==1\" [ngClass]=\"{'active': gridTab==1}\">\r\n\r\n              <ng-container *ngIf=\"this.EntityDetailForm && this.EntityDetailForm.RecId\">\r\n\r\n                <!-- <app-entity-dynamic-form [FormStatus]=\"FormStatus\" [EntityType]=\"SetupDetails.EntityType\"\r\n                  [EntityFormId]=\"EntityDetailForm?.RecId\" [EntityTypeId]=\"EntityTypeId\"\r\n                  [EntityTypeForm]=\"EntityDetailForm\" (closeDynamicViewPopup)=\"closeDynamicViewPopup()\">\r\n                </app-entity-dynamic-form> -->\r\n              </ng-container>\r\n\r\n              <ng-container *ngIf=\"showDynamicViewPopup && EntityFormId\">\r\n                <!-- <app-entity-dynamic-view [EntityFormId]=\"EntityFormId\" [ParameterData]=\"gridData[0]\"\r\n                  (closeDynamicViewPopup)=\"closeDynamicViewPopup()\">\r\n                </app-entity-dynamic-view> -->\r\n              </ng-container>\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" id=\"Rules\" *ngIf=\"gridTab==2\" [ngClass]=\"{'active': gridTab==2}\">\r\n              <!-- <app-entity-field-rules [FormStatus]=\"FormStatus\" [EntityTypeId]=\"EntityTypeId\"\r\n                [FormRecId]=\"EntityDetailForm?.RecId\">\r\n              </app-entity-field-rules> -->\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" id=\"DataSource\" *ngIf=\"gridTab==3\" [ngClass]=\"{'active': gridTab==3}\">\r\n              <!-- <app-datasource-create [EntityTypeForm]=\"EntityDetailForm\"\r\n                *ngIf=\"EntityDetailForm && EntityDetailForm.RecId\"\r\n                (closeDatasourceForm)=\"closeDatasourceForm($event.type)\">\r\n              </app-datasource-create> -->\r\n            </div>\r\n\r\n          </div>\r\n\r\n\r\n        </div>\r\n\r\n\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<!-- Modal  lookupData popup-->\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':showFieldImportPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">Import Process</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeImportPopup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <div class=\"import-process\">\r\n\r\n          <div class=\"import-process-body\">\r\n\r\n            <ng-container *ngIf=\"ImportStage==1\">\r\n              <div class=\"form-group row\">\r\n                <div class=\"col col-sm-12 col-12\">\r\n                  <h3 class=\"themecolor m-t-0 m-b-20 \">Import only CSV or Excel files to update the fields</h3>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"form-group row\">\r\n                <label for=\"IsMandatory\" class=\"col-sm-4 col-form-label\">Import</label>\r\n                <div class=\"col-sm-8\">\r\n                  <div class=\"form-check\">\r\n                    <input class=\"attach-file\" type=\"file\" id=\"file_csv\" (change)=\"fileChange($event)\"\r\n                      accept=\".csv,.xlsx\" [(ngModel)]=\"ImportCsvModel\" [ngModelOptions]=\"{standalone: true}\">\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n            </ng-container>\r\n\r\n            <ng-container *ngIf=\"ImportStage==2\">\r\n\r\n              <div class=\"view-import-data\">\r\n\r\n                <div class=\"row\">\r\n\r\n                  <div class=\"col\">\r\n                    <table class=\"table table-bordered table-contensed\">\r\n                      <thead>\r\n                        <tr>\r\n                          <th class=\"text-center\" [colSpan]=\"4\">{{\"Field Mapping\"|translate}} </th>\r\n                        </tr>\r\n                        <tr>\r\n                          <th>{{\"SoureColumnName\"|translate}}</th>\r\n                          <th>{{\"DestinationColumnName\"|translate}}</th>\r\n                          <th>{{\"New Column Name\"|translate}} <span class=\"red\">*</span></th>\r\n                          <th>{{\"New Column DataType\"|translate}} <span class=\"red\">*</span></th>\r\n                        </tr>\r\n                      </thead>\r\n                      <tbody>\r\n                        <tr *ngFor=\"let item of ImportCsvData.FieldMapping\">\r\n                          <td>{{item.SoureColumnName|translate}}</td>\r\n                          <td>\r\n\r\n                            <div class=\"\" style=\"min-width: 150px;\">\r\n                              <ng-select [items]=\"ImportCsvData.DestinationField\" bindLabel=\"ColumnName\"\r\n                                bindValue=\"ColumnName\" [(ngModel)]=\"item.DestinationColumnName\"> </ng-select>\r\n                            </div>\r\n\r\n                          </td>\r\n                          <td>\r\n                            <ng-container *ngIf=\"item.DestinationColumnName =='<new>'; else NewColumnNameTemplate\">\r\n                              <div class=\"\" style=\"min-width: 150px;\">\r\n                                <input type=\"text\" class=\"form-control\" placeholder=\"NewColumnName\"\r\n                                  (change)=\"checkDuplicateValues($event)\" [(ngModel)]=\"item.NewColumnName\" />\r\n                              </div>\r\n                            </ng-container>\r\n                            <ng-template #NewColumnNameTemplate>\r\n                              <span>{{item.NewColumnName|translate}}</span>\r\n                            </ng-template>\r\n\r\n                          </td>\r\n                          <td>\r\n                            <ng-container *ngIf=\"item.DestinationColumnName =='<new>'; else NewColumnDataTypeTemplate\">\r\n                              <div class=\"\">\r\n                                <ng-select [items]=\"ddlDataType\" bindLabel=\"Description\" bindValue=\"Id\"\r\n                                  [(ngModel)]=\"item.NewColumnDataType\"> </ng-select>\r\n                              </div>\r\n                            </ng-container>\r\n                            <ng-template #NewColumnDataTypeTemplate>\r\n                              <span>{{item.NewColumnDataType|translate}}</span>\r\n                            </ng-template>\r\n\r\n                          </td>\r\n                        </tr>\r\n\r\n                      </tbody>\r\n                    </table>\r\n                  </div>\r\n\r\n                </div>\r\n\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"ImportStage==3\">\r\n              <div class=\"import-process-message text-center\">\r\n\r\n                <h2 class=\"themecolor m-t-0 m-b-20 \">\r\n                  All Set to go\r\n                </h2>\r\n\r\n                <!-- <button class=\"btn btn-primary\" (click)=\"submitCsvImportProcessData()\">{{'Next'|translate}}</button> -->\r\n\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n\r\n          <div class=\"import-process-footer m-t-20 p-10 clearfix\">\r\n\r\n            <div class=\"pull-right\" *ngIf=\"ImportStage==1\">\r\n              <!-- <button class=\"btn btn-danger m-l-5 m-r-5 \" (click)=\"closeImportPopup()\">{{'Cancel '|translate}}</button> -->\r\n              <button class=\"btn btn-primary \" (click)=\"uploadImportFIle()\">{{'Next'|translate}}</button>\r\n            </div>\r\n\r\n            <div class=\"pull-right\" *ngIf=\"ImportStage==2\">\r\n              <!-- <button class=\"btn btn-danger m-l-5 m-r-5\" (click)=\"backImportStage(1)\">{{'Back '|translate}}</button> -->\r\n              <button class=\"btn btn-primary \"\r\n                (click)=\"mappingImportProcessEntityTypeField()\">{{'Next'|translate}}</button>\r\n            </div>\r\n\r\n            <div class=\"pull-right\" *ngIf=\"ImportStage==3\">\r\n              <button class=\"btn btn-danger m-l-5 m-r-5\" (click)=\"backImportStage(2)\">{{'Back '|translate}}</button>\r\n              <button class=\"btn btn-primary \" (click)=\"submitCsvImportProcessData()\">{{'Submit'|translate}}</button>\r\n            </div>\r\n\r\n          </div>\r\n\r\n        </div>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':IsShowDynamicDetailsPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-90 modal-dialog-scrollable\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{\"Details\"|translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          (click)=\"closeDynamicDetailsPopup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" *ngIf=\"IsShowDynamicDetailsPopup\">\r\n\r\n\r\n        <ng-container [ngTemplateOutlet]=\"detailscontent\" [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsPopup'}\">\r\n        </ng-container>\r\n\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div id=\"right_panel\" class=\"off-screen-dtl hide expand_full\" [ngClass]=\"{hide: !IsShowDynamicDetailsSideView,expand_full: isExpand}\"  *ngIf=\"IsShowDynamicDetailsSideView\">\r\n  <span class=\"resize_element\"></span>\r\n  <div class=\"card rounded-0\">\r\n    <div class=\"header p-2\">\r\n      <h5 class=\"modal-title d-inline-block\" id=\"exampleModalLabel\">Details</h5>\r\n      <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n        (click)=\"closeDynamicDetailsSideView()\">\r\n        <span aria-hidden=\"true\">&times;</span>\r\n      </button>\r\n      <span class=\"m-l-10\" *ngIf=\"!isExpand\" title=\"Expand\"><i class=\"la la-expand-arrows-alt\"\r\n          (click)=\"isExpand = true\"></i></span>\r\n      <span class=\"m-l-10\" *ngIf=\"isExpand\" title=\"Compress\"><i class=\"la la-compress-arrows-alt\"\r\n          (click)=\"isExpand = false\"></i></span>\r\n    </div>\r\n    <div class=\"body right_panel-body\">\r\n\r\n      <ng-container [ngTemplateOutlet]=\"detailscontent\" [ngTemplateOutletContext]=\"{type:'IsShowDynamicDetailsSideView'}\">\r\n      </ng-container>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"AssignmentConfig && AssignmentEntityForm && AssignmentEntityForm.RecId\">\r\n  <entity-assignment [EntityTypeId]=\"EntityTypeId\" [AssignmentCurrentData]=\"AssignmentCurrentData\"\r\n    [EntityTypeForm]=\"AssignmentEntityForm\" (closeAssignment)=\"closeAssignmentConfig()\">\r\n  </entity-assignment>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':IsOpenAction}\" id=\"exampleModal\" tabindex=\"-1\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog \">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">{{'Actions Configuration'|translate}}</h5>\r\n        <button type=\"button\" (click)=\"closeActionModel()\" class=\"close\" data-bs-dismiss=\"modal\"\r\n          aria-label=\"Close\">&times;</button>\r\n      </div>\r\n      <div class=\"modal-body mymodel\">\r\n        <div class=\"conditions-box conditions conditionGroup\">\r\n          <div>\r\n            <div class=\"inner_condition\" *ngFor=\"let item of ActionsList; let i = index \" cdkDrag>\r\n              <div class=\"row\">\r\n                <span cdkDragHandle class=\"col col-sm-1\" style=\"cursor: pointer;margin-top: 15px;\"><i\r\n                    class=\"la la-braille p-0\" style=\"font-size: 22px;\"></i>\r\n                </span>\r\n                <div class=\"col col-sm-5\" *ngIf=\"!item.IsDefault else elseaction\">\r\n                  <div class=\"form-group\">\r\n\r\n                    <ng-select [placeholder]=\"'select Entity'\" [(ngModel)]=\"item.EntityTypeId\" [items]=\"PageListDDl\"\r\n                      bindLabel=\"Desc\" bindValue=\"RecId\" (change)=\"selectActionEntity($event,item)\">\r\n                    </ng-select>\r\n                  </div>\r\n\r\n                  <div class=\"form-group m-t-10\" *ngIf=\"item.EntityTypeId\">\r\n\r\n                    <ng-select [placeholder]=\"'select Entity Form'\" [(ngModel)]=\"item.EntityFormId\"\r\n                      [items]=\"EntityFormDDl\" bindLabel=\"FormName\" bindValue=\"RecId\" (change)=\"setName($event,item)\">\r\n                    </ng-select>\r\n                  </div>\r\n\r\n                </div>\r\n                <ng-template #elseaction>\r\n                  <div class=\"col col-sm-5\">\r\n                    <div class=\"form-group\">\r\n                      <input type=\"text\" value=\"Default Action\" readonly=\"{{item.IsDefault}}\" class=\"form-control\">\r\n                    </div>\r\n                  </div>\r\n                </ng-template>\r\n\r\n\r\n                <div class=\"col col-sm-4\">\r\n                  <div class=\"form-group\">\r\n                    <input type=\"text\" class=\"form-control\" placeholder=\"Name\" [(ngModel)]=\"item.Name\">\r\n                  </div>\r\n                </div>\r\n                <div class=\"col col-sm-1\" style=\"margin-top:15px;\">\r\n                  <div class=\"form-group\">\r\n                    <input type=\"checkbox\" class=\"form-control\" placeholder=\"Name\" [(ngModel)]=\"item.Visible\">\r\n                  </div>\r\n                </div>\r\n                <div class=\"col col-sm-1\" style=\"margin-top:10px;\" [hidden]=\"item.IsDefault\">\r\n                  <div class=\"formgroup m-t-10\">\r\n                    <span (click)=\"deleteActions(item,i)\" style=\"cursor: pointer;\">\r\n                      <i class=\"la la-trash-o themecolor\" style=\"font-size: 19px;\"></i>\r\n                    </span>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n              <div *cdkDragPlaceholder></div>\r\n            </div>\r\n\r\n          </div>\r\n          <div class=\"clearfix\">\r\n            <button type=\"button\" style=\"color: black !important;\" class=\"themecolor add_filter_btn bg-success\"\r\n              (click)=\"addActions()\">\r\n              + AddAction\r\n            </button>\r\n            <button class=\"ok_button float-right bg-success\" (click)=\"SaveActionConfig()\">Apply</button>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showFormActionPopup\" [ngClass]=\"{'showPop':showFormActionPopup}\" tabindex=\"-1\"\r\n  role=\"dialog\" aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg modal-dialog-scrollable\" style=\"width: 95%; max-width: 95%;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" style=\"display: inline-block;\" id=\"exampleModalLabel\">{{FormActionView.Name|translate}}\r\n        </h5>\r\n        <div style=\"display: inline-flex;\">\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeformAction()\"\r\n            style=\"padding: 15px 10px;margin-right: 0px;\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n\r\n      </div>\r\n      <div class=\"modal-body\">\r\n\r\n        <ng-container *ngIf=\"!FormActionView.EntityFormId && FormActionView.EntityTypeId\">\r\n          <app-dynamic-list [EntityTypeId]=\"FormActionView.EntityTypeId\" [PageViewFrom]=\"'Popup'\"></app-dynamic-list>\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"FormActionView.EntityFormId && FormActionView.EntityFormType !=_FormType.Details\r\n          && FormActionView.EntityFormType !=_FormType.EntityPage  && FormActionView.EntityFormType !=_FormType.Page \r\n          \">\r\n          <app-dynamic-list [EntityTypeId]=\"FormActionView.EntityTypeId\" [PageRouteType]=\"'FormView'\"\r\n            [PageViewFrom]=\"'Popup'\" [EntityFormId]=\"FormActionView.EntityFormId\"></app-dynamic-list>\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"FormActionView.EntityFormId && FormActionView.EntityFormType==_FormType.Details\">\r\n          <!-- <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"'Create'\" [AppEntityTypeId]=\"FormActionView.EntityTypeId\"\r\n            [EntityTypeId]=\"FormActionView.EntityTypeId\" [Params]=\"FormActionViewData\" [FormValues]=\"FormActionViewData\"\r\n            [FormTitle]=\"FormActionView.Name\" (closeCreate)=\"closePopupCreateView($event.Type)\"></app-ticket-create> -->\r\n\r\n        </ng-container>\r\n\r\n        <ng-container\r\n          *ngIf=\"FormActionView.EntityFormId \r\n                          &&(FormActionView.EntityFormType ==_FormType.EntityPage  || FormActionView.EntityFormType ==_FormType.Page) \">\r\n          <app-dynamic-page [EntityTypeId]=\"FormActionView.EntityTypeId\" [PageViewFrom]=\"'Popup'\"\r\n            [EntityFormId]=\"FormActionView.EntityFormId\" [TableRecId]=\"FormActionViewData.RecId\"></app-dynamic-page>\r\n        </ng-container>\r\n\r\n      </div>\r\n\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"showWorkflowPopup\">\r\n\r\n  <app-workflow-dynamic-popup [showWorkflowPopups]=\"showWorkflowPopup\" [ActionName]=\"ActionName\"  [ActionType]=\"'List'\"\r\n    [CurrentStageName]=\"CurrentStageName\" [currentStage]=\"selectedStageObj\" [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"workflowEntityFormId\"\r\n    [PageGroupValues]=\"SelectedWorkflowData\"\r\n    (getWorkflowActionComments)=\"getWorkflowActionComments($event.comments, $event.updateFileds, $event.updateFieldsObject)\"\r\n    (getWorkflowActionClose)=\"getWorkflowActionClose($event.type)\">\r\n  </app-workflow-dynamic-popup>\r\n</ng-container>\r\n\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showImportPopup\" [ngClass]=\"{'showPop': showImportPopup}\">\r\n  <div class=\"modal-dialog modal-sm\">\r\n\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Import' | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          (click)=\"closeTemplateImportPopup()\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\">\r\n        <form class=\"clearfix\" [formGroup]=\"importform\">\r\n          <div class=\"clearfix\">\r\n\r\n\r\n            <div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 \">\r\n              <div class=\"form-group\">\r\n                <div class=\"clearfix\">\r\n                  <label class=\"control-label\" style=\"padding-right: 0px;\">{{'File' | translate}} <span\r\n                      class=\"red\">*</span></label>\r\n                </div>\r\n                <div class=\"control-input\">\r\n                  <input type=\"file\" name=\"ImportFile\" formControlName=\"ImportFile\" class=\"form-control ImportFile\"\r\n                    (change)=\"handleFileInput($event)\" [accept]=\"importAcceptFiles\"\r\n                    [ngClass]=\"{'is-invalid': submitted && formval.ImportFile.errors }\" />\r\n                  <div *ngIf=\"submitted && formval.ImportFile.errors\" class=\"invalid-feedback\">\r\n                    <div *ngIf=\"formval.ImportFile.errors.required\">{{'File is required' | translate}}</div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n          </div>\r\n        </form>\r\n      </div>\r\n      <div class=\"modal-footer\">\r\n        <button (click)=\"_submitImportData()\" class=\"btn btn-primary\">\r\n          <span class=\"updates\">{{'Import' | translate}}</span>\r\n        </button>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n\r\n<app-attach-popup *ngIf=\"showAttachPopup\" [showAttachPopup]=\"showAttachPopup\" [ViewName]=\"ViewName\"\r\n  [TableName]=\"TableName\" [Permission]=\"Permission\" [refRecId]=\"referRecId\" [TypeId]=\"TypeId\"\r\n  [RefTableName]=\"RefTableName\" [attachmentType]=\"attachmentType\" (closeAttach)=\"closeAttach($event.Switch)\">\r\n</app-attach-popup>\r\n\r\n<div class=\"modal fade show\" *ngIf=\"showActionForm && ActionEntityForm && ActionEntityForm.RecId\"\r\n  [ngClass]=\"{'showPop': showActionForm}\">\r\n  <div class=\"modal-dialog modal-lg\">\r\n\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title h4\" id=\"myLargeModalLabel\">{{'Action ' + ActionEntityForm.FormName | translate}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"showActionForm = false\">\r\n          <span aria-hidden=\"true\">×</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" style=\"overflow:initial;\">\r\n\r\n        <app-entity-dynamic-view [EntityFormId]=\"ActionEntityForm.RecId\" [ViewFrom]=\"'Details'\" [Type]=\"'Create'\"\r\n          [ParameterData]=\"gridData[0]\"\r\n          (submitFormValue)=\"changeActionEntityForm($event.formdata,$event.pageForm,$event.forms)\">\r\n        </app-entity-dynamic-view>\r\n\r\n      </div>\r\n      <div class=\"modal-footer\">\r\n\r\n        <div class=\"text-align-right\">\r\n\r\n          <button class=\"btn btn-small btn-theme color-white m-l-5 m-r-5\" (click)=\"saveActionEntityForm()\">\r\n            {{'Save'|translate}}\r\n          </button>\r\n\r\n          <button class=\"btn btn-small btn-outline-danger m-l-5 m-r-5\" (click)=\"showActionForm = false\">\r\n            {{'Cancel'|translate}}\r\n          </button>\r\n\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n  </div>\r\n</div>\r\n<ng-container *ngIf=\"PermissionPopup\">\r\n  <!-- <app-permission-pop-up [IsPermissionModal]=\"PermissionPopup\" [EntityTypeId]=\"PermissionEntityTypeId\"\r\n    [RecId]=\"PermissionRowRecId\" [Title]=\"PermissionTitle\" (closePermissionModal)=\"closePermissionPopup($event.Type)\">\r\n  </app-permission-pop-up> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"Duplicate\">\r\n  <!-- <app-duplicate-popup [IsDuplicateModal]=\"Duplicate\" [RecId]=\"DuplicateData?.RecId\"\r\n    [Title]=\"DuplicateData?.Description\" [EntityTypeId]=\"DuplicateData?.RecId\"\r\n    (closeDuplicateModal)=\"closeDuplicateModal($event.Type)\">\r\n  </app-duplicate-popup> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"showDataFiledPopup\">\r\n  <!-- <app-data-fields [DataSourceFields]=\"EntityFieldList\" (submitDataFields)=\"submitDataFields($event.DataFields)\"\r\n    (closeDataFieldPopup)=\"closeDataField()\"></app-data-fields> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && showDataSourcePopup\">\r\n  <div class=\"modal fade show showPop\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\"\r\n    aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\" style=\"width:95%; max-width: 95%;color: #000;\">\r\n      <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n        <div class=\"modal-header\">\r\n\r\n          <div id=\"ListView\">\r\n            <!-- <h3>List</h3> -->\r\n            <ul class=\"nav nav-tabs\">\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#FormConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(11)\" [ngClass]=\"{'active': DataSourceTab==11}\">\r\n                  {{\"Confiqure\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ListDataSource'\"\r\n                  (click)=\"DataSourceTabChange(2)\" [ngClass]=\"{'active': DataSourceTab==2}\">\r\n                  {{\"DataSource\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\"\r\n                *ngIf=\"viewTypeData ==_FormType.Table || viewTypeData ==_FormType.List || viewTypeData ==_FormType.Card || viewTypeData ==_FormType.Columns\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ListConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(1)\" [ngClass]=\"{'active': DataSourceTab==1}\">\r\n                  {{\"List\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Gallery\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#GalleryConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(4)\" [ngClass]=\"{'active': DataSourceTab==4}\">\r\n                  {{\"Gallery\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Profile\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ProfileConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(12)\" [ngClass]=\"{'active': DataSourceTab==12}\">\r\n                  {{\"Profile\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Chart\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ChartConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(7)\" [ngClass]=\"{'active': DataSourceTab==7}\">\r\n                  {{\"Chart\"|translate}}</a>\r\n              </li>\r\n\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.Report\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ReportConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(8)\" [ngClass]=\"{'active': DataSourceTab==8}\">\r\n                  {{\"Report\"|translate}}</a>\r\n              </li>\r\n\r\n              <li class=\"nav-item\" *ngIf=\"viewTypeData==_FormType.CustomTemplate\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#CustomTemplateConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(9)\" [ngClass]=\"{'active': DataSourceTab==9}\">\r\n                  {{\"Custom Template\"|translate}}</a>\r\n              </li>\r\n\r\n\r\n\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#ListRules'\" (click)=\"DataSourceTabChange(3)\"\r\n                  [ngClass]=\"{'active': DataSourceTab==3}\">\r\n                  {{\"Rules\"|translate}}</a>\r\n              </li>\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#Fields'\" (click)=\"DataSourceTabChange(5)\"\r\n                  [ngClass]=\"{'active': DataSourceTab==5}\">\r\n                  {{\"Fields\"|translate}}</a>\r\n              </li>\r\n\r\n              <!-- <li class=\"nav-item\">\r\n                <a class=\"nav-link\" data-toggle=\"tab\" [attr.data-target]=\"'#BulkFields'\"\r\n                  (click)=\"DataSourceTabChange(6)\" [ngClass]=\"{'active': DataSourceTab==6}\">\r\n                  {{\"BulkFields\"|translate}}</a>\r\n              </li> -->\r\n\r\n            </ul>\r\n          </div>\r\n\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n            (click)=\"closeDatasourceForm('close')\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n\r\n          <div class=\"tab-content\" style=\"padding: 0;\">\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==1}\" id=\"ListConfiqView\"\r\n              *ngIf=\"DataSourceTab==1\">\r\n\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n\r\n                <!-- <app-form-list-view [listView]=\"listView\" [ActiveEntityForm]=\"ActiveEntityForm\"\r\n                  [EntityTypeId]=\"EntityTypeId\"></app-form-list-view> -->\r\n              </div>\r\n\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==4}\" id=\"GalleryConfiqView\"\r\n              *ngIf=\"DataSourceTab==4\">\r\n\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n                <div class=\"col col-sm-12\">\r\n\r\n                  <!-- <app-dynamic-gallery-canvas [EntityTypeId]=\"EntityTypeId\" [EntityFormId]=\"ActiveEntityForm.RecId\"\r\n                    [EntityTypeForm]=\"ActiveEntityForm\"></app-dynamic-gallery-canvas> -->\r\n\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==7}\" id=\"ChartConfiqView\"\r\n              *ngIf=\"DataSourceTab==7\">\r\n\r\n              <!-- <app-chart-config [ChartConfiq]=\"ReportSetupData\" [EntityFieldList]=\"EntityFieldList\"\r\n                (SaveChartConfiq)=\"saveReportConfiq($event.ChartConfiq)\"></app-chart-config> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==8}\" id=\"ReportConfiqView\"\r\n              *ngIf=\"DataSourceTab==8\">\r\n\r\n              <!-- <app-report [Type]=\"'design'\" [ReportSetup]=\"ReportSetupData\"\r\n                (saveReportConfiq)=\"saveReportConfiq($event.Report)\"></app-report> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==9}\" id=\"CustomTemplateConfiqView\"\r\n              *ngIf=\"DataSourceTab==9\">\r\n\r\n              <!-- <app-custom-templete [Type]=\"'design'\" [CustomTempleteSetup]=\"ReportSetupData\"\r\n                (saveCustomTempleteConfiq)=\"saveReportConfiq($event.CustomTemplete)\"></app-custom-templete> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==11}\" id=\"ListDataSource\"\r\n              *ngIf=\"DataSourceTab==11\">\r\n\r\n              <!-- <form-config-view [EntityTypeForm]=\"ActiveEntityForm\">\r\n              </form-config-view> -->\r\n\r\n            </div>\r\n\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==2}\" id=\"ListDataSource\"\r\n              *ngIf=\"DataSourceTab==2\">\r\n\r\n              <!-- <app-datasource-create [EntityTypeForm]=\"ActiveEntityForm\"\r\n                *ngIf=\"ActiveEntityForm && ActiveEntityForm.RecId && showDataSourcePopup\"\r\n                (closeDatasourceForm)=\"closeDatasourceForm($event.type)\">\r\n              </app-datasource-create> -->\r\n\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==3}\" id=\"ListRules\"\r\n              *ngIf=\"DataSourceTab==3\">\r\n\r\n              <!-- <app-entity-field-rules [FormStatus]=\"ActiveEntityForm.Status\" [EntityTypeId]=\"EntityTypeId\"\r\n                [FormRecId]=\"ActiveEntityForm.RecId\">\r\n              </app-entity-field-rules> -->\r\n\r\n            </div>\r\n\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==5}\" id=\"Fields\"\r\n              *ngIf=\"DataSourceTab==5\">\r\n              \r\n              <!-- <app-entity-type-field-list [EntityTypeId]=\"EntityTypeId\" [SetupDetails]=\"SetupDetails\" ></app-entity-type-field-list> -->\r\n\r\n\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==6}\" id=\"BulkFields\"\r\n              *ngIf=\"DataSourceTab==6\">\r\n\r\n              <!-- <app-entity-type-field-bulkcreate [IsPageType]=\"IsPageType\" [EntityTypeSetupId]=\"EntityTypeId\"\r\n                [EntityTypeDetailsData]=\"SetupDetails\" *ngIf=\"openFieldBulkCretate\"\r\n                (closeFieldBulkCretate)=\"closeFieldBulkCretate($event.type)\">\r\n              </app-entity-type-field-bulkcreate> -->\r\n            </div>\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==12}\" id=\"ProfileConfiqView\"\r\n              *ngIf=\"DataSourceTab==12\">\r\n\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n                <div class=\"col col-sm-12\">\r\n\r\n                    <!-- <app-dynamic-profile \r\n                    [EntityTypeId]=\"EntityTypeId\" \r\n                    [EntityFormId]=\"ActiveEntityForm.RecId\"\r\n                    [EntityTypeForm]=\"ActiveEntityForm\"\r\n                    [EntityFieldList]=\"EntityFieldList\"\r\n                    ></app-dynamic-profile> -->\r\n\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n          </div>\r\n\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n\r\n<!-- Popup for listform only(Worked for survey form list configuration)  -->\r\n<ng-container>\r\n  <div class=\"modal fade show\" [ngClass]=\"{'showPop': showListConfigOnly}\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\"\r\n  aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\"  style=\"width:95%; max-width: 95%;color: #000;\">\r\n      <div class=\"modal-content\" style=\"min-height: 250px;\">\r\n        <div class=\"modal-header\">\r\n          <div id=\"ListView\">\r\n            <ul class=\"nav nav-tabs\">\r\n              <li class=\"nav-item\">\r\n                <a class=\"nav-link \" data-toggle=\"tab\" [attr.data-target]=\"'#ListConfiqView'\"\r\n                  (click)=\"DataSourceTabChange(1)\" [ngClass]=\"{'active': DataSourceTab==1}\">\r\n                  {{\"List\"|translate}}</a>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n            (click)=\"closeListFormForm()\">\r\n            <span aria-hidden=\"true\">&times;</span>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body\">\r\n          <div class=\"tab-content\">\r\n            <div class=\"tab-pane animated active\" [ngClass]=\"{'active':DataSourceTab==1}\">\r\n              <div class=\"row\" *ngIf=\"ActiveEntityForm\">\r\n                <!-- <app-form-list-view [listView]=\"listView\" [ActiveEntityForm]=\"ActiveEntityForm\"\r\n                  [EntityTypeId]=\"EntityTypeId\"></app-form-list-view> -->\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n\r\n<ng-container *ngIf=\"showMultiplefilterpopup\">\r\n  <div class=\"common-filter-modal list-multiple-filter\">\r\n    <div class=\"card p-0\">\r\n      <div class=\"header clearfix p-10\">\r\n        <h2 class=\"pull-left\">{{'Filter'| translate}} - {{ShowView.FormName|translate}}</h2>\r\n        <span class=\"pull-right\" (click)=\"toggleMultipleFilter()\">\r\n          <i class=\"la la-times-circle\"></i>\r\n        </span>\r\n      </div>\r\n\r\n      <div class=\"body\">\r\n\r\n        <div class=\"form-group m-b-10\" *ngFor=\"let item of MultipleFilterData\">\r\n          <div class=\"row\">\r\n            <div class=\"col col-12\">\r\n              <label class=\"control-label m-0 p-0\"> {{item.Name}}</label>\r\n            </div>\r\n            <div class=\"col col-12 control-input\">\r\n              <input [(ngModel)]=\"item.searchData\" class=\"form-control\" placeholder=\"{{item.Name}}\" type=\"text\"\r\n                name=\"{{item.Name}}\">\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n\r\n      </div>\r\n      <div class=\"filter_footer\">\r\n        <div class=\"clearfix\">\r\n          <div class=\"pull-left\">\r\n            <button class=\"btn btn-primary\" (click)=\"callMultipleFilter()\">\r\n              {{'Filter' | translate}}\r\n            </button>\r\n          </div>\r\n\r\n          <div class=\"pull-right\">\r\n            <button class=\"btn btn-secondary\" (click)=\"ClearMultipleFilter()\">\r\n              {{'Clear' | translate}}\r\n            </button>\r\n          </div>\r\n\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':showDependedEntityPoupup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"showDependedEntityPoupup\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-lg\" style=\"min-width: 90%;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"showDependedEntityPoupup\">{{SelectedDependedEntity?.Description}}</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"\r\n          (click)=\"closeDependedEntityPoupup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body\" *ngIf=\"showDependedEntityPoupup && SelectedDependedEntity && DependedEntityValue\">\r\n\r\n        <app-dynamic-list \r\n        [EntityTypeId]=\"SelectedDependedEntity.RecId\" [PageViewFrom]=\"'Popup'\"\r\n        [RelatedEntity]=\"EntityTypeId\"\r\n        [RelatedEntityValue]=\"DependedEntityValue\"\r\n        ></app-dynamic-list>\r\n\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n</ng-template>\r\n</div>\r\n\r\n\r\n\r\n<ng-template #detailscontent let-type='type' >\r\n  \r\n  <app-dynamic-list *ngIf=\"PageType == 1 && DyamicFormId && DyamicPageRecId\"\r\n    [EntityTypeId]=\"DyamicPageRecId\" [PageRouteType]=\"'FormView'\" [PageViewFrom]=\"'Popup'\"\r\n    [EntityFormId]=\"DyamicFormId\"></app-dynamic-list>\r\n\r\n  <app-dynamic-list *ngIf=\"PageType == 1 && !DyamicFormId && DyamicPageRecId\"\r\n    [EntityTypeId]=\"DyamicPageRecId\" [PageViewFrom]=\"'Popup'\"></app-dynamic-list>\r\n\r\n  <app-dynamic-page *ngIf=\"PageType == 2\" [EntityTypeId]=\"DyamicPageRecId\"\r\n    [PageViewFrom]=\"'Popup'\" [EntityFormId]=\"DyamicFormId\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n     [TableRecId]=\"DyamicTableRecId\" [queryParams]=\"queryParams\"></app-dynamic-page>\r\n\r\n  <ng-container *ngIf=\"DynamicTableField;else DynamicTableRecId\">\r\n\r\n    <app-dynamic-entity-details *ngIf=\"PageType == 4\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-dynamic-entity-details>\r\n  \r\n    <app-dynamic-entity-details *ngIf=\"PageType == 5\" [PrimaryKey]=\"DynamicTableField\" [PrimaryKeyValue]=\"DynamicTableFieldValue\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-dynamic-entity-details>\r\n \r\n\r\n  </ng-container>\r\n\r\n  <ng-template #DynamicTableRecId>\r\n    <app-dynamic-entity-details *ngIf=\"PageType == 4\" [RecId]=\"DyamicTableRecId\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-dynamic-entity-details>\r\n  \r\n    <app-dynamic-entity-details *ngIf=\"PageType == 5\" [RecId]=\"DyamicTableRecId\"\r\n      [ViewFrom]=\"'Popup'\" [EntityTypeRecId]=\"DyamicPageRecId\"></app-dynamic-entity-details>\r\n  </ng-template>\r\n\r\n\r\n</ng-template>\r\n","import { Component, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\r\nimport { GlobalService } from '../core/global.service';\r\nimport { DynamicAppsService } from '../dynamic-apps.service';\r\nimport { E_Language, Links } from '../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-fts-system',\r\n  templateUrl: './index.component.html',\r\n  styleUrls: ['./index.component.css'],\r\n})\r\nexport class IndexComponent implements OnInit, OnDestroy {\r\n  constructor(\r\n    public globalService: GlobalService,\r\n    private dynamicAppsService: DynamicAppsService,\r\n    private renderer: Renderer2,\r\n    private el: ElementRef,\r\n    public loaderService: LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    if (!this.PageId || this.PageId <= 0) {\r\n      throw new Error('PageId is mandatory and must be provided..!');\r\n    }\r\n    if (!this.HostUrl || this.HostUrl == '') {\r\n      throw new Error('HostUrl is mandatory and must be provided.!');\r\n    }\r\n    if (!this.UserType || this.UserType <= 0) {\r\n      throw new Error('UserType is mandatory and must be provided.!');\r\n    } else {\r\n      if (this.UserType == 1) {\r\n        this.globalService.CreatedSource = 'Customer'; //ERP\r\n      } else if (this.UserType == 2) {\r\n        this.globalService.CreatedSource = 'Customer';\r\n      } else if (this.UserType == 3) {\r\n        this.globalService.CreatedSource = 'Customer'; //Agent\r\n      } else if (this.UserType == 4) {\r\n        this.globalService.CreatedSource = 'Customer'; //IndividualCustomer\r\n      }\r\n      localStorage.setItem('CreatedSource', this.globalService.CreatedSource);\r\n      localStorage.setItem('UserType', this.UserType.toString());\r\n    }\r\n    if (!this.CustomerId || this.CustomerId == '') {\r\n      throw new Error('CustomerId is mandatory and must be provided.!');\r\n    } else {\r\n      this.globalService.CustomerId = this.CustomerId;\r\n      localStorage.setItem('CustomerId', this.CustomerId);\r\n    }\r\n\r\n    if (this.Language.toLowerCase() == 'eng') this.Language = 'English';\r\n    else if (this.Language.toLowerCase() == 'ar') this.Language = 'Arabic';\r\n    else this.Language = 'English';\r\n\r\n    this.appendStyleLinksDynamically(this.HostUrl);\r\n    this.globalService.setServerHost(this.HostUrl);\r\n    this.globalService.getSystemConfigJSON(this.HostUrl);\r\n    this.globalService.setEnvironmentUrl(this.HostUrl);\r\n    this.globalService.UserType = this.UserType;\r\n    this.globalService.CurrentLanguage = this.Language;\r\n    this.globalService.getLableList();\r\n    if (this.AppName && this.AppName !== '') {\r\n      this.getAppDetails();\r\n    }\r\n  }\r\n\r\n  @Input() AppId: number = 0;\r\n  @Input() AppName: string = '';\r\n  @Input() UserType: number = 0;\r\n  @Input() PageId: number = 0;\r\n  @Input() FormId: number = 0;\r\n  @Input() HostUrl: string = '';\r\n  @Input() CustomerId: string = '';\r\n  @Input() Language: string | E_Language = 'English';\r\n\r\n  isStyleLinkAppended: boolean = false;\r\n\r\n  getAppDetails() {\r\n    debugger;\r\n    this.dynamicAppsService.getAppbyName(this.AppName).subscribe(\r\n      (resp: any) => {\r\n        debugger;\r\n        if (!resp) {\r\n          throw new Error('App not found..!');\r\n        } else {\r\n          let appDetails = resp;\r\n          this.globalService.AppDetails = appDetails;\r\n          this.globalService.AppTitle = appDetails.Title;\r\n          this.globalService.AppName = appDetails.Name;\r\n          this.globalService.AppModuleName = appDetails.Name;\r\n          this.globalService.AppPartyType = appDetails.AppPartyType;\r\n          this.globalService.AppRecId = appDetails.RecId;\r\n          this.globalService.AppModuleId = appDetails.CaseId;\r\n          if (this.globalService.AppModuleId) {\r\n            localStorage.setItem('AppModuleId', this.globalService.AppModuleId);\r\n          }\r\n        }\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error: any) => {\r\n        debugger;\r\n        this.loaderService.hideLoading();\r\n      }\r\n    );\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    localStorage.removeItem('AppModuleId');\r\n    localStorage.removeItem('CreatedSource');\r\n    localStorage.removeItem('CustomerId');\r\n  }\r\n\r\n  appendStyleLinksDynamically(url: string): void {\r\n    try {\r\n      if (url.endsWith('/')) {\r\n        url = url.substring(0, url.length - 1);\r\n      }\r\n      // link URLs\r\n      const links: Links[] = [        \r\n        {\r\n          href: (url+'/Fts_System_Library/RTL_styles.css'),\r\n          rel: 'stylesheet',\r\n          CheckCondition: true,\r\n          ConditionsDetailsData: {\r\n            CondtionOperator: 'AND',\r\n            ConditionList: [\r\n              {\r\n                Name: 'Equal',\r\n                CheckWith: this.Language,\r\n                Value: 'Arabic',\r\n              },\r\n            ],\r\n          },\r\n        },\r\n        {\r\n          href: 'https://erp.arco.sa/SupportRequest/assets/css/bootstrap.min.css',\r\n          rel: 'stylesheet',\r\n          CheckCondition: false,\r\n          ConditionsDetailsData: null,\r\n        },\r\n        {\r\n          href: 'https://erp.arco.sa/SupportRequest/assets/css/font-awesome.min.css',\r\n          rel: 'stylesheet',\r\n          CheckCondition: false,\r\n          ConditionsDetailsData: null,\r\n        },\r\n        {\r\n          href: 'https://erp.arco.sa/SupportRequest/styles.css',\r\n          rel: 'stylesheet',\r\n          CheckCondition: false,\r\n          ConditionsDetailsData: null,\r\n        },\r\n        {\r\n          href: 'https://erp.arco.sa/SupportRequest/assets/css/main.css',\r\n          rel: 'stylesheet',\r\n          CheckCondition: false,\r\n          ConditionsDetailsData: null,\r\n        }        \r\n      ];\r\n      // Loop through the array and append link tags dynamically\r\n      links.forEach((link: Links) => {\r\n        if (link.CheckCondition) {\r\n          this.checkCondition(link);\r\n        } else this.appendLink(link);\r\n      });\r\n      this.isStyleLinkAppended = true;\r\n    } catch (error) {\r\n      console.log(error);\r\n      this.isStyleLinkAppended = false;\r\n    }\r\n  }\r\n  checkCondition(link: Links) {\r\n    let isConditionPassed: boolean = false;\r\n    let checkList: boolean[] = [];\r\n    let isFinallyPassed: boolean = false;\r\n    if (\r\n      link.ConditionsDetailsData &&\r\n      link.ConditionsDetailsData.ConditionList.length > 0\r\n    ) {\r\n      link.ConditionsDetailsData.ConditionList.forEach((con: any) => {\r\n        switch (con.Name) {\r\n          case 'endsWith': {\r\n            isConditionPassed = con.CheckWith.endsWith(con.Value) ? true : false;\r\n            break;\r\n          }\r\n          case 'Equal': {\r\n            isConditionPassed = con.CheckWith == con.Value ? true : false;\r\n            break;\r\n          }\r\n          default:\r\n            isConditionPassed = false;\r\n            break;\r\n        }\r\n        checkList.push(isConditionPassed);\r\n      });\r\n      if (link.ConditionsDetailsData.CondtionOperator == 'AND') {\r\n        isFinallyPassed = checkList.every((value) => value === true);\r\n      } else if (link.ConditionsDetailsData.CondtionOperator == 'OR') {\r\n        isFinallyPassed = checkList.some((value) => value === true);\r\n      }\r\n    }\r\n    if (isFinallyPassed) {\r\n      this.appendLink(link);\r\n    }\r\n  }\r\n  appendLink(link:Links) {\r\n    // Create a new link element\r\n    const linkElement = this.renderer.createElement('link');\r\n    // Set attributes for the link element\r\n    this.renderer.setAttribute(linkElement, 'href', link.href);\r\n    this.renderer.setAttribute(linkElement, 'rel', link.rel);\r\n    // Append the link element to the component's native element\r\n    this.renderer.appendChild(this.el.nativeElement, linkElement);\r\n  }\r\n}\r\n","<ng-container *ngIf=\"isStyleLinkAppended\">\r\n<ng-container *ngIf=\"loaderService.loaderState$ | async\">\r\n    <div class=\"loader-index\">\r\n        <div class=\"lib-loader\">\r\n        </div>\r\n    </div>\r\n</ng-container>\r\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/line-awesome/1.3.0/line-awesome/css/line-awesome.min.css\" integrity=\"sha512-vebUliqxrVkBy3gucMhClmyQP9On/HAWQdKDXRaAlb/FKuTbxkjPKUyqVOxAcGwFDka79eTF+YXwfke1h3/wfg==\" crossorigin=\"anonymous\">\r\n<link href=\"https://unpkg.com/ngx-bootstrap/datepicker/bs-datepicker.css\" rel=\"stylesheet\">\r\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/simple-line-icons/2.5.5/css/simple-line-icons.min.css\">\r\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\">\r\n<ng-container *ngIf=\"PageId\">\r\n    <app-dynamic-list [EntityTypeId]=\"PageId\" [PageViewFrom]=\"'Popup'\"\r\n    [EntityFormId]=\"FormId\">\r\n    </app-dynamic-list>\r\n</ng-container>\r\n</ng-container>","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { IndexComponent } from './index/index.component';\r\n\r\nconst routes: Routes = [\r\n  {path: '',component:IndexComponent}\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule]\r\n})\r\nexport class DynamicAppsRoutingModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n  selector: 'json-preview',\r\n  templateUrl: './json-preview.component.html',\r\n  styleUrls: ['./json-preview.component.scss']\r\n})\r\nexport class JsonPreviewComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\ndebugger\r\n    if (this.Json) {\r\n      if (typeof this.Json == 'string') {\r\n        try {\r\n          this.Json = JSON.parse(this.Json);\r\n        }\r\n        catch(err){\r\n          Swal.fire(\"Json\",\"This is not a json\",\"warning\");\r\n          this.Json = {}\r\n        }\r\n\r\n      }\r\n    }\r\n    else {\r\n      this.Json = {}\r\n    }\r\n\r\n  }\r\n\r\n  @Input() Json: any;\r\n  @Input() ViewType: string|any=null;\r\n\r\n\r\ngetJsonType(data: any,Type?: any,previousdata?: any){\r\n  let datatype='Object';\r\n  if (Array.isArray(data)) {\r\n    datatype = \"Array\"\r\n  }\r\n  else if (typeof data == \"object\") {\r\n    datatype ='Object';\r\n  }\r\n  else {\r\n    datatype ='Other';\r\n  }\r\n  return datatype\r\n}\r\n\r\n  getJsonColumn(data: any) {\r\n    let columns: any[] = [];\r\n    if (Array.isArray(data)) {\r\n      if (data.length > 0) {\r\n        let _col = Object.keys(data[0]);\r\n        columns.push(..._col);\r\n      }\r\n    }\r\n    else if (typeof data == \"object\") {\r\n      let _col = Object.keys(data);\r\n      columns.push(..._col);\r\n    }\r\n    return columns\r\n  }\r\n\r\n\r\n  evaulateJson(data: any){\r\n    let _retdata = [];\r\n    let columns = [];\r\n    if (Array.isArray(data)) {\r\n      _retdata = data;\r\n      let _col = Object.keys(data[0]);\r\n      columns.push(..._col);\r\n    }\r\n    else if (typeof data == \"object\") {\r\n      let _col = Object.keys(data);\r\n      columns.push(..._col);\r\n      _retdata.push(data)\r\n    }\r\n  }\r\n\r\n\r\n}\r\n","<ng-container *ngIf=\"ViewType=='Form';else jsonview\">\r\n\r\n    <ng-container *ngIf=\"getJsonType(Json)=='Object'\">\r\n        <ng-container [ngTemplateOutlet]=\"objectcontent\" [ngTemplateOutletContext]=\"{data:Json}\">\r\n        </ng-container>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"getJsonType(Json)=='Array'\">\r\n        <ng-container [ngTemplateOutlet]=\"arraycontent\" [ngTemplateOutletContext]=\"{data:Json}\">\r\n        </ng-container>\r\n    </ng-container>\r\n\r\n    <ng-container *ngIf=\"getJsonType(Json)=='Other'\">\r\n        <ng-container [ngTemplateOutlet]=\"othertypecontent\" [ngTemplateOutletContext]=\"{data:Json}\">\r\n        </ng-container>\r\n    </ng-container>\r\n\r\n\r\n</ng-container>\r\n\r\n<ng-template #jsonview>\r\n\r\n    <div class=\"\">\r\n        <div class=\"p-10\">\r\n            <pre class=\"well-code\">{{Json | json }}</pre>\r\n        </div>\r\n    </div>\r\n\r\n</ng-template>\r\n\r\n\r\n<ng-template #objectcontent let-data='data' let-type='type'>\r\n\r\n    <ng-container *ngFor=\"let col of getJsonColumn(data)\">\r\n\r\n        <ng-container *ngIf=\"type=='TableColumn';else formcolumn\">\r\n            <td>\r\n                <div class=\"form-group row\" >\r\n                    <label for=\"Description\" class=\"col-12 col-sm-12 col-form-label\">{{col}} :</label>\r\n                    <div class=\"col-12 col-sm-12\" >\r\n        \r\n                        <ng-container *ngIf=\"getJsonType(data[col],'Object1',data)=='Other'\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"data[col]\">\r\n                    </ng-container>\r\n                  \r\n                   \r\n                            <ng-container *ngIf=\"getJsonType(data[col],'Object',data)=='Object'\">\r\n                                <ng-container [ngTemplateOutlet]=\"objectcontent\" [ngTemplateOutletContext]=\"{data:data[col]}\">\r\n                                </ng-container>\r\n                            </ng-container>\r\n                            <ng-container *ngIf=\"getJsonType(data[col],'Object',data)=='Array'\">\r\n                                <ng-container [ngTemplateOutlet]=\"arraycontent\" [ngTemplateOutletContext]=\"{data:data[col]}\">\r\n                                </ng-container>\r\n                            </ng-container>\r\n                        \r\n                            <ng-container *ngIf=\"getJsonType(data[col],'Object',data)=='Other'\">\r\n                                <ng-container [ngTemplateOutlet]=\"othertypecontent\" [ngTemplateOutletContext]=\"{data:data[col]}\">\r\n                                </ng-container>\r\n                            </ng-container>\r\n                \r\n                        \r\n        \r\n                    </div>\r\n                </div>\r\n            </td>\r\n        </ng-container>\r\n        <ng-template #formcolumn>\r\n            <div class=\"form-group row\" >\r\n                <label for=\"Description\" class=\"col-3 col-sm-3 col-form-label\">{{col}} :</label>\r\n                <div class=\"col-9 col-sm-9\" >\r\n    \r\n                    <ng-container *ngIf=\"getJsonType(data[col],'Object1',data)=='Other'\">\r\n                    <input type=\"text\" class=\"form-control\" [(ngModel)]=\"data[col]\">\r\n                </ng-container>\r\n              \r\n                        <ng-container *ngIf=\"getJsonType(data[col],'Object',data)=='Object'\">\r\n                            <ng-container [ngTemplateOutlet]=\"objectcontent\" [ngTemplateOutletContext]=\"{data:data[col]}\">\r\n                            </ng-container>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"getJsonType(data[col],'Object',data)=='Array'\">\r\n                            <ng-container [ngTemplateOutlet]=\"arraycontent\" [ngTemplateOutletContext]=\"{data:data[col]}\">\r\n                            </ng-container>\r\n                        </ng-container>\r\n                    \r\n                        <ng-container *ngIf=\"getJsonType(data[col],'Object',data)=='Other'\">\r\n                            <ng-container [ngTemplateOutlet]=\"othertypecontent\" [ngTemplateOutletContext]=\"{data:data[col]}\">\r\n                            </ng-container>\r\n                        </ng-container>\r\n            \r\n                </div>\r\n            </div>\r\n        </ng-template>\r\n      \r\n\r\n    </ng-container>\r\n\r\n</ng-template>\r\n\r\n<ng-template #arraycontent let-data='data'>\r\n\r\n    <table class=\"table table-bordered\">\r\n\r\n        <tbody>\r\n            <ng-container *ngFor=\"let item of data\">\r\n                <tr>\r\n\r\n                    <ng-container [ngTemplateOutlet]=\"objectcontent\" [ngTemplateOutletContext]=\"{data:item,type:'TableColumn'}\">\r\n                    </ng-container>\r\n                </tr>\r\n            </ng-container>\r\n        </tbody>\r\n\r\n    </table>\r\n\r\n</ng-template>\r\n\r\n\r\n<ng-template #othertypecontent let-data='data'>\r\n\r\n    <ng-container *ngFor=\"let col of getJsonColumn(data)\">\r\n\r\n        <div class=\"form-group row\">\r\n            <label for=\"Description\" class=\"col-12 col-sm-12 col-form-label\">{{col}}</label>\r\n            <div class=\"col-12 col-sm-12\">\r\n                <input type=\"text\" class=\"form-control\" [(ngModel)]=\"data[col]\">\r\n            </div>\r\n        </div>\r\n\r\n    </ng-container>\r\n\r\n</ng-template>","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { E_DataType, E_FormType, E_GalaryViewFieldType, EntityTypeFieldCVM, EntityTypeFieldVM, EntityTypeFormUVM, EntityTypeFormVM, Field_config, IDropDown, ISearchCriteria, ToolTip, ToolTipConfig, moveItem } from '../../core/common-interface-enum-classes-functions';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'app-dynamic-tool-tip-details',\r\n  templateUrl: './dynamic-tool-tip-details.component.html',\r\n  styleUrls: ['./dynamic-tool-tip-details.component.scss'],\r\n})\r\nexport class DynamicToolTipDetailsComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    debugger;\r\n    this.ToolTipDetails = null;\r\n    if (this.ViewType == 'View') this.getDetails();\r\n    if (!this.EntityFieldList || this.EntityFieldList.length < 1)\r\n      this.getFieldListByEntityType();\r\n\r\n    if (\r\n      this.EntityTypeForm &&\r\n      this.EntityTypeForm.RecId &&\r\n      this.EntityTypeForm.FormType == E_FormType.Preview\r\n    ) {\r\n      this.setToolTipdeatils();\r\n    } else {\r\n      if (this.EntityFormId) {\r\n        this.getCurrentEntityForm();\r\n      } else {\r\n        this.getAllEntityToolTipForm();\r\n      }\r\n    }\r\n  }\r\n\r\n  @Input() ViewType: any = 'ToolTip';\r\n  @Input() EntityFormId: number = 0;\r\n  @Input() EntityTypeId: number = 0;\r\n  @Input() EntityFieldGroupId: any = null;\r\n  @Input() EntityTypeForm: EntityTypeFormVM | any = null;\r\n  @Input() EntityFieldList: EntityTypeFieldVM[] = [];\r\n\r\n  @Input() RecId: any;\r\n  @Input() PrimaryKey: any;\r\n  @Input() PrimaryKeyValue: any;\r\n\r\n  @Output() LoadRelationDetailsPopup = new EventEmitter();\r\n\r\n  loaddetailsPopup() {\r\n    this.LoadRelationDetailsPopup.emit();\r\n  }\r\n\r\n  ToolTipDetails: ToolTip | any = new ToolTip();\r\n  _FieldType = E_GalaryViewFieldType;\r\n  ToolTipDetailsSettingConfig: boolean = false;\r\n\r\n  showDataFiledPopup: boolean = false;\r\n  openDataField() {\r\n    this.showDataFiledPopup = true;\r\n  }\r\n\r\n  closeDataField() {\r\n    this.showDataFiledPopup = false;\r\n  }\r\n\r\n  selectedField: EntityTypeFieldVM | any = null;\r\n  selectedFieldIndex: any = null;\r\n  showSettings: boolean = false;\r\n  settings(index: any) {\r\n    this.selectedFieldIndex = index;\r\n    this.selectedField = this.ToolTipDetails.Fields[this.selectedFieldIndex];\r\n    this.getGalaryViewTypeDropDown();\r\n    this.showSettings = true;\r\n  }\r\n  closeSettings() {\r\n    this.showSettings = false;\r\n  }\r\n\r\n  updateFieldSettings() {\r\n    this.ToolTipDetails.Fields[this.selectedFieldIndex] = this.selectedField;\r\n    this.selectedFieldIndex = null;\r\n    this.selectedField = null;\r\n    this.closeSettings();\r\n  }\r\n\r\n  _deleteField(index: any) {\r\n    this.ToolTipDetails.Fields.splice(index, 1);\r\n  }\r\n\r\n  _downField(index: any) {\r\n    if (index != this.ToolTipDetails.Fields.length - 1)\r\n      moveItem(\r\n        this.ToolTipDetails.Fields,\r\n        index,\r\n        index + 1\r\n      );\r\n  }\r\n\r\n  _upField(index: any) {\r\n    if (index != 0)\r\n      moveItem(\r\n        this.ToolTipDetails.Fields,\r\n        index,\r\n        index - 1\r\n      );\r\n  }\r\n\r\n  submitDataFields(Fields: EntityTypeFieldVM[]) {\r\n    debugger;\r\n\r\n    Fields.forEach((field) => {\r\n      field.Config = {\r\n        Type: E_GalaryViewFieldType.Description,\r\n        Position: '',\r\n        top: 'auto',\r\n        left: 'auto',\r\n        right: 'auto',\r\n        bottom: 'auto',\r\n        bgcolor: null,\r\n        textcolor: null,\r\n      };\r\n\r\n      if (field.DataType == E_DataType.button)\r\n        field.Config.Type = E_GalaryViewFieldType.Button;\r\n\r\n      if (field.DataType == E_DataType.image)\r\n        field.Config.Type = E_GalaryViewFieldType.Image;\r\n\r\n      this.ToolTipDetails.Fields.push(field);\r\n    });\r\n\r\n    this.showDataFiledPopup = false;\r\n    this.showClientDataFiledPopup = false;\r\n  }\r\n\r\n  //\r\n  PageGroupClientFields: EntityTypeFieldCVM[] = [];\r\n  showClientDataFiledPopup: boolean = false;\r\n  openClientDataField() {\r\n    debugger;\r\n    this.showClientDataFiledPopup = true;\r\n  }\r\n\r\n  closeClientDataField() {\r\n    this.showClientDataFiledPopup = false;\r\n  }\r\n\r\n  updateClientFields(ClintField: EntityTypeFieldVM[]) {\r\n    debugger;\r\n    this.PageGroupClientFields = ClintField;\r\n  }\r\n  updateClientField(Field: EntityTypeFieldVM) {\r\n    debugger;\r\n\r\n    let indexofEditObj = this.PageGroupClientFields.findIndex(\r\n      (x) => x.Description == Field.Description\r\n    );\r\n    this.PageGroupClientFields.splice(indexofEditObj, 1, Field);\r\n    this.setClientFieldsInPageGroupsForm();\r\n  }\r\n  setClientFieldsInPageGroupsForm() {\r\n    debugger;\r\n\r\n    if (!(this.PageGroupClientFields && this.PageGroupClientFields.length > 0))\r\n      return;\r\n\r\n    let _clientFields: any[] = this.PageGroupClientFields;\r\n\r\n    this.ToolTipDetails.Fields.map((PG: any) => {\r\n      _clientFields.find((f) => f.Description === PG.Description) || PG;\r\n    });\r\n  }\r\n  //\r\n\r\n  getFieldListByEntityType() {\r\n    let _subscribe = this.dynamicAppsService\r\n      .getAllEntityTypeField(null, this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _datas = res.Data ? res.Data : res;\r\n          let TotalCount = _datas.TotalCount ? _datas.TotalCount : res.length;\r\n          this.EntityFieldList = _datas;\r\n          this.loaderService.hideLoading();\r\n          _subscribe.unsubscribe();\r\n        },\r\n        (error) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  getCurrentEntityForm() {\r\n    debugger;\r\n\r\n    if (!this.EntityFormId) {\r\n      return;\r\n    }\r\n\r\n    let _subscribe = this.dynamicAppsService\r\n      .getSingleEntityTypeFormById(this.EntityFormId)\r\n      .subscribe(\r\n        (res: EntityTypeFormVM) => {\r\n          if (res && res.FormType == E_FormType.Preview) {\r\n            this.EntityTypeForm = res;\r\n            this.setToolTipdeatils();\r\n          } else {\r\n            this.getFieldGroupFormData();\r\n          }\r\n          this.loaderService.hideLoading();\r\n          _subscribe.unsubscribe();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  getFieldGroupFormData() {\r\n    if (!this.EntityFieldGroupId) {\r\n      return;\r\n    }\r\n\r\n    let _subscribe = this.dynamicAppsService\r\n      .getSingleEntityTypeFormById(this.EntityFieldGroupId)\r\n      .subscribe(\r\n        (res: EntityTypeFormVM) => {\r\n          if (res && res.FormType == E_FormType.FieldGroup) {\r\n            this.setTooltipDetailsInFieldGroup(res);\r\n          }\r\n          this.loaderService.hideLoading();\r\n          _subscribe.unsubscribe();\r\n        },\r\n        (error: any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  setToolTipdeatils() {\r\n    if (this.EntityTypeForm && this.EntityTypeForm.FormData) {\r\n      let _FormData = JSON.parse(this.EntityTypeForm.FormData);\r\n      this.ToolTipDetails = _FormData;\r\n      if (!this.ToolTipDetails.Fields) {\r\n        this.ToolTipDetails.Fields = [];\r\n      }\r\n      if (!this.ToolTipDetails.Config) {\r\n        this.ToolTipDetails.Config = new ToolTipConfig();\r\n      }\r\n    } else {\r\n      this.ToolTipDetails = new ToolTip();\r\n    }\r\n  }\r\n\r\n  setTooltipDetailsInFieldGroup(form: any) {\r\n    this.ToolTipDetails = new ToolTip();\r\n    if (form && form.DetailsViewData) {\r\n      let _Fields: EntityTypeFieldVM[] = JSON.parse(form.DetailsViewData);\r\n      if (_Fields && _Fields.length > 0) {\r\n        _Fields = _Fields.map((field) => {\r\n          if (!field.Config) {\r\n            field.Config = new Field_config();\r\n          }\r\n          if (field.DataType == E_DataType.image)\r\n            field.Config.Type = E_GalaryViewFieldType.Image;\r\n          return field;\r\n        });\r\n        this.ToolTipDetails.Fields.push(..._Fields);\r\n      }\r\n    }\r\n  }\r\n\r\n  ddlPosition: IDropDown[] = [\r\n    { Id: 'position-static', Description: 'Static' },\r\n    { Id: 'position-absolute', Description: 'Absolute' },\r\n    { Id: 'position-relative', Description: 'Relative' },\r\n  ];\r\n\r\n  ddlGalaryViewType: any = [];\r\n  getGalaryViewTypeDropDown() {\r\n    debugger;\r\n    this.ddlGalaryViewType = [];\r\n    try {\r\n      for (let key in E_GalaryViewFieldType) {\r\n        let val = E_GalaryViewFieldType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlGalaryViewType.push(temp);\r\n        }\r\n      }\r\n    } catch (e: any) {\r\n      console.log(e.message, 'error');\r\n    }\r\n  }\r\n\r\n  saveToolTipDetailsForm() {\r\n    debugger;\r\n    let _FormData = JSON.stringify(this.ToolTipDetails);\r\n    const data: EntityTypeFormUVM = {\r\n      RecId: this.EntityTypeForm.RecId,\r\n      EntityTypeId: this.EntityTypeForm.EntityTypeRecId,\r\n      EntityTypeRecId: this.EntityTypeForm.EntityTypeRecId,\r\n      FormData: _FormData,\r\n      FormName: this.EntityTypeForm.FormName,\r\n      FormType: this.EntityTypeForm.FormType,\r\n    };\r\n    this.dynamicAppsService.putEntityTypeForm(data).subscribe(\r\n      (res) => {\r\n        Swal.fire('', 'Form saved Successfully', 'success');\r\n        this.loaderService.hideLoading();\r\n      },\r\n      (error) => {\r\n        this.loaderService.hideLoading();\r\n        console.log(error);\r\n      }\r\n    );\r\n  }\r\n  _ToolTipDetailsSettingConfig() {\r\n    this.ToolTipDetailsSettingConfig = !this.ToolTipDetailsSettingConfig;\r\n  }\r\n\r\n  getAllEntityToolTipForm() {\r\n    debugger;\r\n    let Criteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: { field: null, direction: null },\r\n    };\r\n\r\n    this.dynamicAppsService\r\n      .getAllEntityTypeForm(Criteria, this.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          debugger;\r\n          let _form: EntityTypeFormVM[] = res.Data ? res.Data : res;\r\n          if (_form && _form.length > 0) {\r\n            this.EntityTypeForm = _form.filter(\r\n              (x) => x.FormType == E_FormType.Preview\r\n            )[0];\r\n            if (this.EntityTypeForm) {\r\n              this.setToolTipdeatils();\r\n            } else if (this.EntityFieldGroupId) {\r\n              let _fieldGroup = _form.filter(\r\n                (x) => x.RecId == this.EntityFieldGroupId\r\n              )[0];\r\n              this.setTooltipDetailsInFieldGroup(_fieldGroup);\r\n            } else this.setToolTipdeatils();\r\n          }\r\n          this.loaderService.hideLoading();\r\n        },\r\n        (error:any) => {\r\n          debugger;\r\n          this.loaderService.hideLoading();\r\n        }\r\n      );\r\n  }\r\n\r\n  DynamicDetails: any = null;\r\n  getDetails() {\r\n    debugger;\r\n    if (this.RecId || this.PrimaryKeyValue) {\r\n      this.dynamicAppsService\r\n        .getDynamicById(\r\n          this.EntityTypeId,\r\n          this.RecId,\r\n          null,\r\n          this.PrimaryKey,\r\n          this.PrimaryKeyValue,\r\n          true\r\n        )\r\n        .subscribe(\r\n          (x: any) => {\r\n            debugger;\r\n            this.DynamicDetails = x;\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error: any) => {\r\n            debugger;\r\n            this.loaderService.hideLoading();\r\n          }\r\n        );\r\n    }\r\n  }\r\n}\r\n","<ng-container *ngIf=\"ToolTipDetails; \">\r\n\r\n\r\n    <ng-container *ngIf=\"ViewType=='View';else elseTemplate\">\r\n        <div class=\"toolTipDetails\" *ngIf=\"DynamicDetails && DynamicDetails.RecId\">\r\n            <div class=\"toolTip-layout {{ToolTipDetails.Config.Class}}\" [style.width.px]=\"ToolTipDetails.Config.Width\"\r\n                [style.min-height.px]=\"ToolTipDetails.Config.Height\">\r\n                <div class=\"toolTip-thumb\">\r\n                    <ng-container *ngFor=\"let field of ToolTipDetails.Fields; let i = index\">\r\n                        <div class=\"tooltip_field {{field.Config.Position}}\" [style.top]=\"field.Config.top\"\r\n                            [style.left]=\"field.Config.left\" [style.right]=\"field.Config.right\"\r\n                            [style.bottom]=\"field.Config.bottom\"\r\n                            [ngClass]=\"{'field-bg': field.Config.bgcolor && (field.Config.Type ==_FieldType.Header || field.Config.Type ==_FieldType.Description)}\">\r\n\r\n                            <div class=\"field_inner\" [style.color]=\"field.Config.textcolor\"\r\n                                [ngClass]=\"{'hidelable': field.Config.hidelabel}\"\r\n                                [style.background]=\"field.Config.bgcolor\">\r\n                                <ng-container [ngSwitch]=\"field.Config.Type\">\r\n\r\n                                    <ng-container *ngSwitchCase=\"_FieldType.Image\">\r\n                                        <div class=\"image\">\r\n                                            <a class=\"product-img has-second-image\">\r\n\r\n                                                <ng-container\r\n                                                    *ngIf=\"DynamicDetails[field.Description];else defaultimage\">\r\n                                                    <img class=\"img-responsive img-first lazyload lazyloaded\"\r\n                                                        alt=\"{{field.Label}}\"\r\n                                                        src=\"{{globalService.ServerUrl}}/{{DynamicDetails[field.Description]}}\"\r\n                                                        [attr.data-darkbox-group]=\"field.Description\"\r\n                                                        [attr.data-darkbox]=\"globalService.ServerUrl+'/'+DynamicDetails[field.Description]\">\r\n                                                </ng-container>\r\n\r\n                                                <ng-template #defaultimage>\r\n\r\n                                                    <img class=\"img-responsive img-first lazyload lazyloaded\"\r\n                                                        src=\"{{globalService.ServerHost}}/System/assets/images/avatar/avataricon2.png\"\r\n                                                        data-darkbox=\"assets/images/avatar/avataricon2.png\"\r\n                                                        [attr.data-darkbox-group]=\"field.Description\">\r\n                                                </ng-template>\r\n\r\n                                            </a>\r\n                                        </div>\r\n\r\n                                    </ng-container>\r\n\r\n\r\n                                    <ng-container *ngSwitchCase=\"_FieldType.Header\">\r\n                                        <div class=\"product-name\">\r\n                                            <a class=\"clearfix\">\r\n                                                <span class=\"pull-left w-50\"\r\n                                                    [ngClass]=\"{'d-none': field.Config.hidelabel}\">{{(field.Label?field.Label:field.Description\r\n                                                    ) | translate}}</span>\r\n                                                <span class=\"pull-left w-50\"\r\n                                                    [ngClass]=\"{'w-100': field.Config.hidelabel}\">{{DynamicDetails[field.Description]}}</span>\r\n                                            </a>\r\n                                        </div>\r\n                                    </ng-container>\r\n\r\n\r\n                                    <ng-container *ngSwitchDefault>\r\n                                        <app-entity-dynamic-field [fieldsList]=\"[field]\" [Type]=\"'Details'\"\r\n                                            [PageGroupValues]=\"DynamicDetails\">\r\n                                        </app-entity-dynamic-field>\r\n                                    </ng-container>\r\n\r\n\r\n                                </ng-container>\r\n                            </div>\r\n\r\n                        </div>\r\n\r\n\r\n                    </ng-container>\r\n                    <a class=\"cursor-pointer link-color\" (click)=\"loaddetailsPopup()\">\r\n                        Show more details\r\n                    </a>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </ng-container>\r\n\r\n    <ng-template #elseTemplate>\r\n        <div class=\"card card_setting\">\r\n            <div class=\"header clearfix\">\r\n                <h2 class=\"float-left\"> ToolTip Details view Confiquration</h2>\r\n                <a href=\"javascript:void(0)\" class=\"pull-right themecolor action-btn m-l-5\"\r\n                    (click)=\"saveToolTipDetailsForm()\">\r\n                    <i class=\"la la-save\"></i>\r\n                </a>\r\n                <a href=\"javascript:void(0)\" class=\"pull-right themecolor action-btn m-l-5\"\r\n                    (click)=\"_ToolTipDetailsSettingConfig()\">\r\n                    <i class=\"la la-cog\"></i>\r\n                </a>\r\n                <div class=\"profile-setting\" *ngIf=\"ToolTipDetailsSettingConfig\">\r\n                    <div class=\"side_header\">\r\n                        <div class=\"row\">\r\n                            <div class=\"col-lg-6\">\r\n                                <div class=\"row\">\r\n                                    <div class=\"col-lg-6\">\r\n                                        <label class=\"\">Width</label>\r\n                                    </div>\r\n                                    <div class=\"col-lg-6\">\r\n                                        <div class=\"\">\r\n                                            <input type=\"number\" class=\"form-control\"\r\n                                                [(ngModel)]=\"ToolTipDetails.Config.Width\">\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                            <div class=\"col-lg-6\">\r\n                                <div class=\"row\">\r\n                                    <div class=\"col-lg-6\">\r\n                                        <label class=\"\">Height</label>\r\n                                    </div>\r\n                                    <div class=\"col-lg-6\">\r\n                                        <input type=\"number\" class=\"form-control\"\r\n                                            [(ngModel)]=\"ToolTipDetails.Config.Height\">\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                        <div class=\"row\">\r\n                            <div class=\"col-lg-6\">\r\n                                <label class=\"\">Class</label>\r\n                            </div>\r\n                            <div class=\"col-lg-6\">\r\n                                <input type=\"text\" class=\"form-control\" [(ngModel)]=\"ToolTipDetails.Config.Class\">\r\n                            </div>\r\n                        </div>\r\n                        <a href=\"javascript:void(0)\" class=\"pull-right themecolor action-btn m-l-5\"\r\n                            (click)=\"_ToolTipDetailsSettingConfig()\">\r\n                        </a>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"row m-b-15\">\r\n            <div class=\"col\">\r\n                <div class=\"form-group\">\r\n                    <div class=\"clearfix\">\r\n                        <label class=\"control-label\" style=\"padding-right: 0px;\">{{\"Form Name\" | translate }}\r\n                            <span class=\"red\">*</span>\r\n                        </label>\r\n                    </div>\r\n                    <div class=\"control-input\">\r\n                        <input type=\"text\" [(ngModel)]=\"EntityTypeForm.FormName\" name=\"url\" class=\"form-control\" />\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n        </div>\r\n        <div class=\"toolTipDetails\">\r\n            <div class=\"toolTip-layout {{ToolTipDetails.Config.Class}}\" [style.width.px]=\"ToolTipDetails.Config.Width\"\r\n                [style.min-height.px]=\"ToolTipDetails.Config.Height\">\r\n                <div class=\"toolTip-thumb\">\r\n                    <ng-container *ngFor=\"let field of ToolTipDetails.Fields; let i = index\">\r\n                        <div class=\"tooltip_field\"\r\n                            [ngClass]=\"{'field-bg': field.Config.bgcolor && (field.Config.Type ==_FieldType.Header || field.Config.Type ==_FieldType.Description)}\">\r\n                            <ng-container [ngSwitch]=\"field.Config.Type\">\r\n\r\n\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Image\">\r\n                                    <div class=\"image\">\r\n                                        <a class=\"product-img has-second-image\">\r\n                                            <img class=\"img-responsive img-first lazyload lazyloaded\"\r\n                                                src=\"https://static3.depositphotos.com/1006458/208/i/450/depositphotos_2083435-stock-photo-paying-attention-to-the-finer.jpg\"\r\n                                                width=\"250\" height=\"250\">\r\n                                        </a>\r\n                                    </div>\r\n\r\n                                </ng-container>\r\n\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Diagonal\">\r\n                                    <span class=\"product-diagonal\">\r\n                                        <b [style.color]=\"field.Config.textcolor\"\r\n                                            [style.background]=\"field.Config.bgcolor\">{{field.Description}}</b>\r\n                                    </span>\r\n                                </ng-container>\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Header\">\r\n                                    <div class=\"product-name {{field.Config.Position}}\" [style.top]=\"field.Config.top\"\r\n                                        [style.left]=\"field.Config.left\" [style.right]=\"field.Config.right\"\r\n                                        [style.bottom]=\"field.Config.bottom\" [style.color]=\"field.Config.textcolor\"\r\n                                        [style.background]=\"field.Config.bgcolor\">\r\n                                        <a [style.color]=\"field.Config.textcolor\"\r\n                                            [style.background]=\"field.Config.bgcolor\">{{field.Description}}</a>\r\n                                    </div>\r\n                                </ng-container>\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Description\">\r\n                                    <p class=\"{{field.Config.Position}}\" [style.top]=\"field.Config.top\"\r\n                                        [style.left]=\"field.Config.left\" [style.right]=\"field.Config.right\"\r\n                                        [style.bottom]=\"field.Config.bottom\" [style.color]=\"field.Config.textcolor\"\r\n                                        [style.background]=\"field.Config.bgcolor\">{{field.Description}}</p>\r\n                                </ng-container>\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Discount\">\r\n                                    <span class=\"product-discount {{field.Config.Position}}\"\r\n                                        [style.top]=\"field.Config.top\" [style.left]=\"field.Config.left\"\r\n                                        [style.right]=\"field.Config.right\" [style.bottom]=\"field.Config.bottom\"\r\n                                        [style.color]=\"field.Config.textcolor\"\r\n                                        [style.background]=\"field.Config.bgcolor\"><b>{{field.Description}}</b></span>\r\n                                </ng-container>\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Tag\">\r\n                                    <span class=\"product-tag {{field.Config.Position}}\" [style.top]=\"field.Config.top\"\r\n                                        [style.left]=\"field.Config.left\" [style.right]=\"field.Config.right\"\r\n                                        [style.bottom]=\"field.Config.bottom\" [style.color]=\"field.Config.textcolor\"\r\n                                        [style.background]=\"field.Config.bgcolor\">\r\n                                        <b>{{field.Description}}</b></span>\r\n                                </ng-container>\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Price\">\r\n                                    <div class=\"price {{field.Config.Position}}\">\r\n                                        <div>\r\n                                            <span class=\"price-new\" [style.top]=\"field.Config.top\"\r\n                                                [style.left]=\"field.Config.left\" [style.right]=\"field.Config.right\"\r\n                                                [style.bottom]=\"field.Config.bottom\"\r\n                                                [style.color]=\"field.Config.textcolor\"\r\n                                                [style.background]=\"field.Config.bgcolor\">{{field.Description}}</span>\r\n\r\n                                        </div>\r\n                                    </div>\r\n                                </ng-container>\r\n                                <ng-container *ngSwitchCase=\"_FieldType.Button\">\r\n                                    <span class=\"product-button\" [style.top]=\"field.Config.top\"\r\n                                        [style.left]=\"field.Config.left\" [style.right]=\"field.Config.right\"\r\n                                        [style.bottom]=\"field.Config.bottom\">\r\n                                        <button class=\"btn btn-primary\" [style.color]=\"field.Config.textcolor\"\r\n                                            [style.border-color]=\"field.Config.bgcolor\"\r\n                                            [style.background]=\"field.Config.bgcolor\">{{field.Label?field.Label:field.Description}}</button>\r\n                                    </span>\r\n                                </ng-container>\r\n\r\n                            </ng-container>\r\n\r\n                            <ng-container>\r\n                                <div class=\"settings position-absolute\">\r\n                                    <i (click)=\"settings(i)\" class=\"la la-cog\"></i>\r\n                                    <i (click)=\"_deleteField(i)\" class=\"la la-trash-o\"></i>\r\n                                    <i (click)=\"_downField(i)\" class=\"la la-arrow-down\"></i>\r\n                                    <i (click)=\"_upField(i)\" class=\"la la-arrow-up\"></i>\r\n                                </div>\r\n                            </ng-container>\r\n\r\n                        </div>\r\n\r\n\r\n                    </ng-container>\r\n\r\n                    <a class=\"themecolor\" style=\"text-decoration: underline;cursor: pointer;\" (click)=\"openDataField()\">\r\n                        <i class=\"la la-plus m-l-5\"></i> {{'Add Field'|translate}}</a>\r\n                    <a class=\"themecolor\" style=\"text-decoration: underline;cursor: pointer;\"\r\n                        (click)=\"openClientDataField()\">\r\n                        <i class=\"la la-plus m-l-5\"></i> {{'Add Client Field'|translate}}</a>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </ng-template>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"showDataFiledPopup\">\r\n    <!-- <app-data-fields [DataSourceFields]=\"EntityFieldList\" (submitDataFields)=\"submitDataFields($event.DataFields)\"\r\n        (closeDataFieldPopup)=\"closeDataField()\"></app-data-fields> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"showClientDataFiledPopup\">\r\n    <!-- <app-form-client-field [EntityTypeId]=\"EntityTypeId\" [DataSourceFields]=\"PageGroupClientFields\"\r\n        (submitDataFields)=\"submitDataFields($event.DataFields)\" (closeDataFieldPopup)=\"closeClientDataField()\"\r\n        (updateClientFields)=\"updateClientFields($event.ClientFields)\"></app-form-client-field> -->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"showSettings\">\r\n    <div class=\"modal showpopup\">\r\n        <div class=\"modal-dialog modal-sm\">\r\n            <div class=\"modal-content\">\r\n\r\n                <!-- Modal Header -->\r\n                <div class=\"modal-header\">\r\n                    <h4 class=\"modal-title\" style=\"padding-left: 5px;\">{{'Field Settings'|translate}}</h4>\r\n                    <button type=\"button\" class=\"close\" (click)=\"closeSettings()\">&times;</button>\r\n                </div>\r\n\r\n                <!-- Modal body -->\r\n                <div class=\"modal-body\">\r\n\r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Type\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <ng-select [(ngModel)]=\"selectedField.Config.Type\" [items]=\"ddlGalaryViewType\"\r\n                                        bindLabel=\"Description\" bindValue=\"Id\">\r\n                                    </ng-select>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Label\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.Label\" name=\"Label\"\r\n                                        class=\"form-control\" />\r\n\r\n                                </div>\r\n\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n\r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Position\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <ng-select [(ngModel)]=\"selectedField.Config.Position\" [items]=\"ddlPosition\"\r\n                                        bindLabel=\"Description\" bindValue=\"Id\"></ng-select>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Config.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"top\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.Config.top\" name=\"top\"\r\n                                        class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Config.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"left\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.Config.left\" name=\"left\"\r\n                                        class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Config.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"right\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.Config.right\" name=\"right\"\r\n                                        class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\" *ngIf=\"selectedField.Config.Position=='position-absolute'\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"bottom\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input type=\"text\" [(ngModel)]=\"selectedField.Config.bottom\" name=\"bottom\"\r\n                                        class=\"form-control\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Background color\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input class=\"colorPicker\" type=\"color\" [(ngModel)]=\"selectedField.Config.bgcolor\"\r\n                                        [style.background]=\"selectedField.Config.bgcolor\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                    <div class=\"row m-b-15\">\r\n                        <div class=\"col\">\r\n                            <div class=\"form-group\">\r\n                                <div class=\"clearfix\">\r\n                                    <label class=\"control-label\">{{\"Text color\" | translate }}</label>\r\n                                </div>\r\n                                <div class=\"control-input\">\r\n                                    <input class=\"colorPicker\" type=\"color\" [(ngModel)]=\"selectedField.Config.textcolor\"\r\n                                        [style.background]=\"selectedField.Config.textcolor\" />\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <div class=\"form-group row m-b-10\">\r\n                        <label class=\"col-12 col-sm col-form-label\">{{\"Hide label\" | translate }}</label>\r\n                        <div class=\"col-12 col-sm\">\r\n                            <div class=\"form-check mt-2\">\r\n                                <input type=\"checkbox\" class=\"form-check-inputd\"\r\n                                    [(ngModel)]=\"selectedField.Config.hidelabel\">\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n\r\n                </div>\r\n\r\n                <div class=\"modal-footer\">\r\n                    <button type=\"submit\" class=\"btn btn-success\" (click)=\"updateFieldSettings()\">save</button>\r\n                </div>\r\n\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n</ng-container>","import { Component, Input, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport * as Handlebars from 'handlebars';\r\nimport { E_EntityType, E_FormType, IDropDown, ISearchCriteria, PageContentGroup, PageContentsRow } from '../../core/common-interface-enum-classes-functions';\r\nimport { DynamicAppsService } from '../../dynamic-apps.service';\r\nimport { GlobalService } from '../../core/global.service';\r\nimport { LoaderService } from '../../loader.service';\r\n\r\n@Component({\r\n  selector: 'detail-page-entity',\r\n  templateUrl: './detail-page-entity.component.html',\r\n  styleUrls: ['./detail-page-entity.component.scss'],\r\n})\r\nexport class DetailPageEntityComponent implements OnInit {\r\n  constructor(\r\n    private dynamicAppsService: DynamicAppsService,\r\n    public globalService: GlobalService,\r\n    private loaderService:LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    // this.route.queryParams.subscribe((res) => {\r\n\r\n    //   this.queryParams = res;\r\n    // });\r\n\r\n    if (this.group.PageEntity) {\r\n      if (!this.group.PageEntity.FormDetailsData)\r\n        this.group.PageEntity.FormDetailsData = {};\r\n    }\r\n\r\n    if (!this.group.Condition) {\r\n      this.group.Condition = {\r\n        Condtion: [],\r\n        CondtionOperator: 1,\r\n      };\r\n    }\r\n\r\n    this.getDataTypeEnumDropDown();\r\n    this.getEntityDetailsData();\r\n  }\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n  @Input() menuText: any;\r\n  @Input() tabIndex: any = 0;\r\n\r\n  _FormType = E_FormType;\r\n  _EntityType = E_EntityType;\r\n\r\n  showConfiqPopup: boolean = false;\r\n  ConfigureEntityForm() {\r\n    this.showConfiqPopup = true;\r\n  }\r\n  submitEntity() {\r\n    this.showConfiqPopup = false;\r\n    this.getEntityDetailsData();\r\n  }\r\n\r\n  ddlEntityType: any = [];\r\n  getDataTypeEnumDropDown() {\r\n    this.ddlEntityType = [];\r\n    try {\r\n      for (let key in E_EntityType) {\r\n        let val = E_EntityType[key];\r\n        if (!isNaN(parseInt(key))) {\r\n          let temp: IDropDown = { Id: key, Description: val };\r\n          this.ddlEntityType.push(temp);\r\n        }\r\n      }\r\n    } catch (e: any) {\r\n      Swal.fire(e.message, 'error');\r\n    }\r\n  }\r\n\r\n  EntityTypeList: any[] = [];\r\n\r\n  getEntityTypeList(event: any) {\r\n    let _Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 0,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n    let filterobj = {\r\n      Field: 'EntityType',\r\n      Operator: '==',\r\n      TableAlias: '',\r\n      Value: this.group.PageEntity.Type,\r\n    };\r\n\r\n    _Searchcriteria.Where.push(filterobj);\r\n\r\n    let getAllEntityTypeSetup = this.dynamicAppsService\r\n      .getAllEntityTypeSetup(_Searchcriteria)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _data = res.Data ? res.Data : res;\r\n          this.EntityTypeList = _data;\r\n          this.loaderService.hideLoading();\r\n          getAllEntityTypeSetup.unsubscribe();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n  onChangeEntityTypeId(event: any) {\r\n    if (event.RecId) {\r\n      this.group.PageEntity.EntityTypeName = event.Description;\r\n      this.getEntityFormList();\r\n    } else {\r\n      this.group.PageEntity.EntityTypeName = null;\r\n    }\r\n  }\r\n\r\n  ddlEntityFormList: any[] = [];\r\n  getEntityFormList() {\r\n    let _Searchcriteria: ISearchCriteria = {\r\n      Pagging: {\r\n        PageNo: 1,\r\n        PageSize: 100,\r\n      },\r\n      Where: [],\r\n      SortOrder: 1,\r\n    };\r\n\r\n    let getAllEntityTypeSetup = this.dynamicAppsService\r\n      .getAllEntityTypeForm(_Searchcriteria, this.group.PageEntity.EntityTypeId)\r\n      .subscribe(\r\n        (res: any) => {\r\n          let _data = res.Data ? res.Data : res;\r\n          _data = _data.map((x: any) => {\r\n            x.Description = x.FormTypeEn + '-' + x.FormName;\r\n            return x;\r\n          });\r\n\r\n          this.ddlEntityFormList = _data;\r\n          this.loaderService.hideLoading();\r\n          getAllEntityTypeSetup.unsubscribe();\r\n        },\r\n        (error:any) => {\r\n          this.loaderService.hideLoading();\r\n          console.log(error);\r\n        }\r\n      );\r\n  }\r\n\r\n  onChangeEntityFormId(event: any) {\r\n    if (event.RecId) {\r\n      let _form = this.ddlEntityFormList.filter(\r\n        (x) => x.RecId == event.RecId\r\n      )[0];\r\n      this.group.PageEntity.EntityFormType = _form.FormType;\r\n      this.group.PageEntity.EntityFormName = event.Description;\r\n    } else {\r\n      this.group.PageEntity.EntityTypeName = null;\r\n    }\r\n  }\r\n\r\n  ddlViewType: IDropDown[] = [\r\n    { Id: 'Create', Description: 'Create' },\r\n    { Id: 'Edit', Description: 'Edit' },\r\n    { Id: 'Details', Description: 'Details' },\r\n    { Id: 'View', Description: 'View' },\r\n  ];\r\n\r\n  ddlDataViewType: IDropDown[] = [\r\n    { Id: 'Value', Description: 'Value' },\r\n    { Id: 'Control', Description: 'Control' },\r\n  ];\r\n\r\n  FormparamsMapPopup: boolean = false;\r\n  FormparamsMapList: any[] = [];\r\n  Formparamsmap = { Params: null, Type: null, Value: null };\r\n  openFormparamsMapPopup() {\r\n    this.FormparamsMapPopup = true;\r\n    if (this.group.PageEntity.FormDataParams) {\r\n      let _Fields = JSON.parse(this.group.PageEntity.FormDataParams);\r\n      this.FormparamsMapList = _Fields;\r\n    }\r\n  }\r\n  closeFormparamsMapPopup() {\r\n    this.FormparamsMapPopup = false;\r\n  }\r\n\r\n  addNewFormparamsmap() {\r\n    this.FormparamsMapList.push(this.Formparamsmap);\r\n    this.Formparamsmap = { Params: null, Type: null, Value: null };\r\n  }\r\n  removeFormparamsmap(index: any) {\r\n    this.FormparamsMapList.splice(index, 1);\r\n  }\r\n\r\n  saveFormparamsmap() {\r\n    debugger;\r\n    let _array: any = JSON.stringify(this.FormparamsMapList);\r\n    this.group.PageEntity.FormDataParams = _array;\r\n    this.closeFormparamsMapPopup();\r\n  }\r\n\r\n  closePopupCreateView(Type: any) {}\r\n\r\n  ddlDataGetMethod: IDropDown[] = [\r\n    { Id: 'Load', Description: 'Load' },\r\n    { Id: 'GridSelect', Description: 'GridSelect' },\r\n  ];\r\n\r\n  getEntityDetailsData() {\r\n    debugger;\r\n    if (\r\n      this.group.PageEntity.EntityTypeId &&\r\n      this.group.PageEntity.FormDataId &&\r\n      this.group.PageEntity.FormViewType\r\n    ) {\r\n      let _FormDataId = this.hanbleBarData(this.group.PageEntity.FormDataId);\r\n      if (this.group.PageEntity.FormDataGetType == 'Control') {\r\n        let Controller = this.group.PageEntity.FormDataGetController;\r\n        let Method = this.group.PageEntity.FormDataGetMethod;\r\n\r\n        let _group: PageContentGroup | any = null;\r\n        this.globalService.pageScema.forEach((row:any) => {\r\n          if (row.Groups.find((x:any) => x.ID == Controller)) {\r\n            _group = row.Groups.filter((x:any) => x.ID == Controller)[0];\r\n          } else {\r\n            row.Groups.forEach((group:any) => {\r\n              group.Tabs.forEach((tab:any) => {\r\n                if (tab.group && tab.group.ID == Controller) {\r\n                  _group = tab.group;\r\n                }\r\n              });\r\n\r\n              if (!_group) {\r\n                group.Section.forEach((sec:any) => {\r\n                  if (sec.group && sec.group.ID == Controller) {\r\n                    _group = sec.group;\r\n                  }\r\n                });\r\n              }\r\n            });\r\n          }\r\n        });\r\n\r\n        if (_group) {\r\n          if (Method == 'Load') {\r\n            if (_group.ControlData.FormData)\r\n              _FormDataId =\r\n                _group.ControlData.FormData[this.group.PageEntity.FormDataId];\r\n          } else if (Method == 'GridSelect') {\r\n            _FormDataId =\r\n              _group.ControlData.GridSelectedData[0][\r\n                this.group.PageEntity.FormDataId\r\n              ];\r\n          }\r\n        }\r\n      }\r\n\r\n      if (!_FormDataId || isNaN(_FormDataId)) {\r\n        return;\r\n      }\r\n\r\n      this.dynamicAppsService\r\n        .getDynamicById(this.group.PageEntity.EntityTypeId, _FormDataId)\r\n        .subscribe(\r\n          (res: any) => {\r\n            this.group.PageEntity.FormDetailsData = res;\r\n            this.group.ControlData.FormData = res;\r\n            this.loaderService.hideLoading();\r\n          },\r\n          (error) => {\r\n            this.loaderService.hideLoading();\r\n          }\r\n        );\r\n    }\r\n  }\r\n\r\n  CheckedGridData(gridData: any, group: PageContentGroup) {\r\n    group.ControlData.GridSelectedData = gridData;\r\n  }\r\n\r\n  @Input() queryParams: any = null;\r\n  hanbleBarData(_code: any, data?: any) {\r\n    if (!data || typeof data != 'object') data = {};\r\n    if (typeof this.queryParams == 'object') data.Query = this.queryParams;\r\n\r\n    data.Local = localStorage;\r\n    if (data.Local.userInfo && typeof data.Local.userInfo == 'string')\r\n      data.LocalUserInfo = JSON.parse(data.Local.userInfo);\r\n    if (\r\n      data.Local.CommonNavbarSearch &&\r\n      typeof data.Local.CommonNavbarSearch == 'string'\r\n    )\r\n      data.NavbarSearchData = JSON.parse(data.Local.CommonNavbarSearch);\r\n    data.Cookies = this.Cookies;\r\n    data.System = this.globalService.systemConfig;\r\n    data.Global = this.globalService;\r\n    if (_code && data) {\r\n      let template = Handlebars.compile(_code);\r\n      let result = template(data);\r\n      return result;\r\n    } else {\r\n      return _code;\r\n    }\r\n  }\r\n\r\n  get Cookies() {\r\n    let cookies = document.cookie.split(';');\r\n    let cookie: any = {};\r\n    for (let i = 0; i < cookies.length; i++) {\r\n      let hash = cookies[i].split('=');\r\n      let _key = hash[0].toString().replace(' ', '');\r\n      cookie[_key] = hash[1];\r\n    }\r\n    return cookie;\r\n  }\r\n}\r\n","<div class=\"card card-group card-tab\">\r\n  <div class=\"header clearfix\" *ngIf=\"ViewType!='viewer'\">\r\n    <h2 class=\"float-left\">\r\n      <code><i>#{{group.ID}}</i></code>\r\n      Entity Controller\r\n\r\n      <a href=\"javascript:void(0)\"\r\n        *ngIf=\"group.PageEntity.EntityTypeId && group.PageEntity.EntityFormId && !showConfiqPopup\"\r\n        class=\"pull-right themecolor action-btn m-l-5\" (click)=\"showConfiqPopup = true;\">\r\n        <i class=\"la la-pencil-square-o\"></i>\r\n      </a>\r\n\r\n    </h2>\r\n  </div>\r\n  <div class=\"body\">\r\n\r\n    <ng-container\r\n      *ngIf=\"group.PageEntity.EntityTypeId && group.PageEntity.EntityFormId && !showConfiqPopup; else EntityTemplate\">\r\n\r\n      <ng-container *ngIf=\"group.PageEntity.EntityFormType==_FormType.Details; else EntityListTemplate\">\r\n\r\n        <ng-container *ngIf=\"group.PageEntity.FormViewType =='Details'; else EntityViewTemplate\">\r\n\r\n          <!-- <h4 class=\"stage-title\">{{'Request Details'|translate}}</h4> -->\r\n\r\n          <app-dynamic-details-view\r\n            *ngIf=\"ViewType !='viewer' || (group.PageEntity.FormDetailsData && group.PageEntity.FormDetailsData.RecId)\"\r\n            [EntityFormId]=\"group.PageEntity.EntityFormId\" [EntityTypeId]=\"group.PageEntity.EntityTypeId\"\r\n            [PageGroupValues]=\"group.PageEntity.FormDetailsData\" [ViewType]=\"'Details'\">\r\n          </app-dynamic-details-view>\r\n\r\n\r\n        </ng-container>\r\n        <ng-template #EntityViewTemplate>\r\n\r\n          <app-ticket-create [ViewFrom]=\"'Popup'\" [Type]=\"group.PageEntity.FormViewType\" [group]=\"group\"\r\n            [EntityTypeId]=\"group.PageEntity.EntityTypeId\" [EntityType]=\"group.PageEntity.Type\"\r\n            [FormValues]=\"this.group.PageEntity.FormDetailsData\" [FormTitle]=\"group.PageEntity.EntityTypeName\"\r\n            [hideCanelBtn]=\"true\" [hideAction]=\"group.PageEntity.HideAction\"\r\n            (closeCreate)=\"closePopupCreateView($event.Type)\">\r\n          </app-ticket-create>\r\n\r\n        </ng-template>\r\n\r\n\r\n      </ng-container>\r\n      <ng-template #EntityListTemplate>\r\n\r\n        <ng-container *ngIf=\"group.PageEntity.Type==_EntityType.Case\">\r\n          <!-- <app-dynamic-ticket-list [EntityTypeId]=\"group.PageEntity.EntityTypeId\"\r\n            (CheckedGridData)=\"CheckedGridData($event.gridData,group)\"></app-dynamic-ticket-list> -->\r\n        </ng-container>\r\n\r\n        <ng-container *ngIf=\"group.PageEntity.Type==_EntityType.Task\">\r\n          <!-- <app-dynamic-task-list [EntityTypeId]=\"group.PageEntity.EntityTypeId\"\r\n            (CheckedGridData)=\"CheckedGridData($event.gridData,group)\"></app-dynamic-task-list> -->\r\n        </ng-container>\r\n        <ng-container\r\n          *ngIf=\"(group.PageEntity.Type==_EntityType.Entity || group.PageEntity.Type==_EntityType.Collection || group.PageEntity.Type==_EntityType.Remote)\">\r\n          <!-- <app-detail-dynamic-list [group]=\"group\" [gridNumber]=\"(group.PageEntity.EntityTypeId+'_'+group.ID+'_'+tabIndex)\"\r\n          [PageName]=\"group.PageEntity.Name\" [menuText]=\"menuText\" [PageViewFrom]=\"'Popup'\"\r\n          [EntityFormId]=\"group.PageEntity.EntityFormId\" [EntityTypeId]=\"group.PageEntity.EntityTypeId\" [queryParams]=\"queryParams\"\r\n          [isHideHeader]=\"group.PageEntity.HideListHeader\" (CheckedGridData)=\"CheckedGridData($event.gridData,group)\">\r\n        </app-detail-dynamic-list> -->\r\n        </ng-container>\r\n\r\n      </ng-template>\r\n\r\n    </ng-container>\r\n    <ng-template #EntityTemplate>\r\n\r\n      <ng-container *ngIf=\"ViewType!='viewer'\">\r\n        <div class=\"d-flex justify-content-center\" *ngIf=\"!showConfiqPopup\">\r\n          <div class=\"mtb50\">\r\n            <span class=\"d-block text-center\">\r\n              <i class=\"la la-cog la-2x\" style=\"font-size: 30px;\"></i>\r\n            </span>\r\n            <span class=\"d-block\">\r\n              <a href=\"javascript:void()\" (click)=\"ConfigureEntityForm()\" rel=\"noopener noreferrer\"> Configure\r\n                EntityForm</a>\r\n            </span>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"d-flex justify-content-center\" *ngIf=\"showConfiqPopup\">\r\n          <div class=\"mtb50\">\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'ID'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <label class=\"form-control\">{{group.ID}}</label>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Name'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"text\" class=\"form-control\" id=\"Name\" [(ngModel)]=\"group.PageEntity.Name\">\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Type'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"ddlEntityType\" (change)=\"getEntityTypeList($event)\" placeholder=\"Type\"\r\n                  bindValue=\"Id\" bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.Type\"></ng-select>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.Type\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Entity Type'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"EntityTypeList\" (change)=\"onChangeEntityTypeId($event)\" placeholder=\"Entity Type\"\r\n                  bindValue=\"RecId\" bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.EntityTypeId\"></ng-select>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.EntityTypeId\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Entity Form'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"ddlEntityFormList\" (change)=\"onChangeEntityFormId($event)\" placeholder=\"Entity Form\"\r\n                  bindValue=\"RecId\" bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.EntityFormId\"></ng-select>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.EntityFormType== _FormType.Details\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Form View Type'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <ng-select [items]=\"ddlViewType\" placeholder=\"Form View Type\" bindValue=\"Id\" bindLabel=\"Description\"\r\n                  [(ngModel)]=\"group.PageEntity.FormViewType\"></ng-select>\r\n              </div>\r\n            </div>\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Hide Header'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"checkbox\" class=\"m-t-10\" [(ngModel)]=\"group.PageEntity.HideListHeader\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Hide Pagination'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"checkbox\" class=\"m-t-10\" [(ngModel)]=\"group.PageEntity.HidePagination\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Hide Action'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"checkbox\" class=\"m-t-10\" [(ngModel)]=\"group.PageEntity.HideAction\" />\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\">\r\n              <label for=\"Label\" class=\"col-sm-12 col-form-label\">{{'Condition'|translate}}</label>\r\n              <div class=\"col-sm-12\">\r\n                <!-- <app-commom-condition [condition]=\"group.Condition\" [EntityTypeFields]=\"[]\"></app-commom-condition> -->\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"form-group row\"\r\n              *ngIf=\"group.PageEntity.FormViewType && group.PageEntity.FormViewType !='Create'\">\r\n\r\n              <div class=\"col col-12 nopadding\">\r\n                <div class=\"row\">\r\n\r\n                  <div class=\"col\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Get Type'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <ng-select [items]=\"ddlDataViewType\" placeholder=\"Get Type\" bindValue=\"Id\" bindLabel=\"Description\"\r\n                        [(ngModel)]=\"group.PageEntity.FormDataGetType\"></ng-select>\r\n                      <!-- <input type=\"text\" class=\"form-control\" id=\"FormDataGetType\" [(ngModel)]=\"group.PageEntity.FormDataGetType\"> -->\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"col\" *ngIf=\"group.PageEntity.FormDataGetType=='Control'\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Control'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <ng-select [items]=\"globalService.AllControlList\" placeholder=\"Get Type\" bindValue=\"Id\"\r\n                        bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.FormDataGetController\"></ng-select>\r\n                      <!-- <input type=\"text\" class=\"form-control\" id=\"FormDataGetType\" [(ngModel)]=\"group.PageEntity.FormDataGetType\"> -->\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"col\" *ngIf=\"group.PageEntity.FormDataGetType=='Control'\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Method'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <ng-select [items]=\"ddlDataGetMethod\" placeholder=\"Get Type\" bindValue=\"Id\"\r\n                        bindLabel=\"Description\" [(ngModel)]=\"group.PageEntity.FormDataGetMethod\"></ng-select>\r\n                      <!-- <input type=\"text\" class=\"form-control\" id=\"FormDataGetType\" [(ngModel)]=\"group.PageEntity.FormDataGetType\"> -->\r\n                    </div>\r\n                  </div>\r\n\r\n\r\n                  <div class=\"col\" *ngIf=\"group.PageEntity.FormDataGetType\">\r\n                    <label for=\"Label\" class=\"d-block col-form-label\">{{'Data Id(RecId)'|translate}}</label>\r\n                    <div class=\"d-block\">\r\n                      <input type=\"text\" class=\"form-control\" id=\"FormDataId\" [(ngModel)]=\"group.PageEntity.FormDataId\">\r\n                    </div>\r\n                  </div>\r\n\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n\r\n            <div class=\"form-group row\" *ngIf=\"group.PageEntity.FormViewType\">\r\n              <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Data Params'|translate}}</label>\r\n              <div class=\"col-sm-8\">\r\n                <input type=\"text\" class=\"form-control\" id=\"Name\" readonly (click)=\"openFormparamsMapPopup()\"\r\n                  [(ngModel)]=\"group.PageEntity.FormDataParams\">\r\n              </div>\r\n            </div>\r\n\r\n            <button type=\"button\" class=\"btn btn-success\" (click)=\"submitEntity()\">save</button>\r\n\r\n          </div>\r\n        </div>\r\n\r\n      </ng-container>\r\n\r\n    </ng-template>\r\n\r\n  </div>\r\n</div>\r\n\r\n\r\n<div class=\"modal fade show\" [ngClass]=\"{'showPop':FormparamsMapPopup}\" tabindex=\"-1\" role=\"dialog\"\r\n  aria-labelledby=\"exampleModalLabel\" aria-hidden=\"true\">\r\n  <div class=\"modal-dialog modal-md\" style=\"max-width: 600px;\">\r\n    <div class=\"modal-content\">\r\n      <div class=\"modal-header\">\r\n        <h5 class=\"modal-title\" id=\"exampleModalLabel\">Form params Map</h5>\r\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\" (click)=\"closeFormparamsMapPopup()\">\r\n          <span aria-hidden=\"true\">&times;</span>\r\n        </button>\r\n      </div>\r\n      <div class=\"modal-body clearfix\">\r\n\r\n        <div class=\"form-group row\">\r\n          <div class=\"col-sm-12\">\r\n            <div class=\"p-1\">\r\n              <h3>Form params List:</h3>\r\n              <div class=\"row\">\r\n                <span class=\"col-sm-1\"></span>\r\n                <span class=\"col-sm-4\">Params</span>\r\n                <span class=\"col-sm-2\">Type</span>\r\n                <span class=\"col-sm-4\">Value</span>\r\n\r\n              </div>\r\n              <div *ngFor=\"let item of FormparamsMapList; let i = index\">\r\n                <div class=\"row\">\r\n                  <a type=\"button\" style=\"font-size: 15px;\" class=\"text-danger col-sm-1\"\r\n                    (click)=\"removeFormparamsmap(i)\">\r\n                    <i class=\"fa fa-trash\"></i></a>\r\n                  <span class=\"col-sm-4\">{{item.Params }}</span>\r\n                  <span class=\"col-sm-2\">{{item.Type }}</span>\r\n                  <span class=\"col-sm-4\">{{item.Value}}</span>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"col-sm-12\">\r\n            <div class=\"p-1\">\r\n              <h3>Add Params:</h3>\r\n              <div class=\"row\">\r\n\r\n                <div class=\"col\">\r\n                  <label for=\"text\">Params:<span class=\"red\">*</span></label>\r\n                  <input type=\"text\" class=\"form-control\" id=\"Params\" [(ngModel)]=\"Formparamsmap.Params\">\r\n                </div>\r\n\r\n                <div class=\"col\">\r\n                  <label for=\"value\">Value:<span class=\"red\">*</span></label>\r\n                  <input type=\"text\" class=\"form-control\" id=\"value\" [(ngModel)]=\"Formparamsmap.Value\">\r\n                </div>\r\n\r\n              </div>\r\n\r\n              <div class=\"clearfix\">\r\n                <button type=\"button\" class=\"btn btn-outline-primary float-left p-1 mt-2\"\r\n                  (click)=\"addNewFormparamsmap()\">Add</button>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n        </div>\r\n        <button type=\"submit\" class=\"btn btn-success float-right\" (click)=\"saveFormparamsmap()\">save</button>\r\n\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PageContentGroup, PageContentsRow } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'detail-page-tab',\r\n  templateUrl: './detail-page-tab.component.html',\r\n  styleUrls: ['./detail-page-tab.component.scss'],\r\n})\r\nexport class DetailPageTabComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {\r\n    if (this.group.Tabs.length > 0) {\r\n      this.group.Tabs.map((x: any) => {\r\n        x.showtext = false;\r\n        return x;\r\n      });\r\n    }\r\n\r\n    if (this.group.Timer) {\r\n      setInterval(() => {\r\n        let tabNum = this.currrentTab + 1;\r\n        if (tabNum >= this.group.Tabs.length) {\r\n          tabNum = 0;\r\n        }\r\n        this.ChangeTab(null, tabNum);\r\n      }, this.group.Timer * 1000);\r\n    }\r\n  }\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n  @Input() queryParams:any=null;\r\n\r\n  @Input() menuText: any;\r\n\r\n  currrentTab: number = 0;\r\n\r\n  ChangeTab(tab: any, index: any) {\r\n    this.currrentTab = index;\r\n  }\r\n\r\n  addNewtab() {\r\n    debugger;\r\n    let num: number = this.group.Tabs.length + 1;\r\n    let _groupid = this.group.ID + '_' + this.getGroupCount();\r\n    let tab = {\r\n      Id: num,\r\n      Name: 'Tab_' + num,\r\n      group: new PageContentGroup(_groupid),\r\n      showtext: false,\r\n    };\r\n    this.group.Tabs.push(tab);\r\n  }\r\n  getGroupCount() {\r\n    debugger;\r\n    let _group = 1;\r\n    this.group.Tabs.forEach((row) => {\r\n      Object.keys(row.group).forEach((key) => {\r\n        if ((key = 'ID')) {\r\n          let _idN: number = Number(row.group[key].split('_')[2]);\r\n          if (_idN >= _group) _group = _idN + 1;\r\n        }\r\n        return _group;\r\n      });\r\n    });\r\n    return _group;\r\n  }\r\n\r\n  tabNameChange(event: any, tab: any) {\r\n    if (event.keyCode == 13) {\r\n      tab.showtext = false;\r\n    }\r\n  }\r\n\r\n  clickshowtext(tab: any) {\r\n    if (this.ViewType == 'viewer') return;\r\n\r\n    tab.showtext = true;\r\n  }\r\n\r\n  removeTab(tab: any, index: any) {\r\n    this.group.Tabs.splice(index, 1);\r\n  }\r\n}\r\n","<div class=\"card card-group card-tab\">\r\n  <div class=\"header clearfix\" *ngIf=\"ViewType!='viewer'\">\r\n    <h2 class=\"float-left\">\r\n      <code><i>#{{group.ID}}</i></code> Tab Controller\r\n    </h2>\r\n    <div class=\"form-group row\">\r\n      <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'Timer (sec)'|translate}}</label>\r\n      <div class=\"col-sm-8\">\r\n        <input type=\"number\" class=\"form-control\" id=\"AutoLoad\" [(ngModel)]=\"group.Timer\">\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"form-group row\">\r\n      <label for=\"Label\" class=\"col-sm-4 col-form-label\">{{'is Load Tab'|translate}}</label>\r\n      <div class=\"col-sm-8\">\r\n        <input type=\"checkbox\" class=\"form-control\" id=\"AutoLoad\" [(ngModel)]=\"group.isLoadTab\">\r\n      </div>\r\n    </div>\r\n\r\n  </div>\r\n  <div class=\"body\">\r\n\r\n    <div class=\"field-tab clearfix\">\r\n\r\n      <ul class=\"nav nav-tabs\">\r\n        <li class=\"nav-item\" *ngFor=\"let tab of group.Tabs;let tabIndex = index\">\r\n          <a class=\"nav-link active\" data-toggle=\"tab\" [attr.data-target]=\"'#tabView_'+tab.Id\"\r\n            (click)=\"ChangeTab(tab,tabIndex)\" [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n            <ng-container *ngIf=\"!tab.showtext\">\r\n\r\n              <span (click)=\"clickshowtext(tab)\"> {{tab.Name |translate}}</span>\r\n\r\n              <common-delete *ngIf=\"ViewType!='viewer'\" [item]=\"tab\" [nowDelete]=\"false\"\r\n                (deleteMethod)=\"removeTab($event.data,tabIndex)\"></common-delete>\r\n\r\n\r\n            </ng-container>\r\n            <ng-container *ngIf=\"tab.showtext\">\r\n              <input type=\"text\" (keyup)=\"tabNameChange($event,tab)\" [(ngModel)]=\"tab.Name\" />\r\n            </ng-container>\r\n          </a>\r\n        </li>\r\n        <li class=\"nav-item\" *ngIf=\"ViewType!='viewer'\">\r\n          <a class=\"nav-link\">\r\n            <div class=\"add_btn pt5\" (click)=\"addNewtab()\">\r\n              <div class=\"round_circle_add\"><i class=\"fa fa-plus\"></i></div>\r\n            </div>\r\n          </a>\r\n        </li>\r\n\r\n\r\n      </ul>\r\n\r\n      <div class=\"tab-content\" style=\"padding: 0;\">\r\n        <ng-container *ngFor=\"let tab of  group.Tabs;let tabIndex = index\">\r\n          <div class=\"tab-pane animated active\"\r\n            *ngIf=\"!group.isLoadTab || (group.isLoadTab ==true && currrentTab==tabIndex)\" id=\"tabView_{{tab.Id}}\"\r\n            [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n            <!-- <page-controller [tabIndex]=\"tabIndex\" [menuText]=\"menuText\" [ViewType]=\"ViewType\" [group]=\"tab.group\"\r\n              [contentGroups]=\"contentGroups\"></page-controller> -->\r\n\r\n              <!-- Duplicate -->\r\n              <ng-container *ngIf=\"group.ControlType; else elseTemplate\">\r\n\r\n                <div class=\"content-box\">\r\n            \r\n                    <div class=\"content-view\" >\r\n                        <div class=\"content-add\">\r\n                          <detail-page-entity [tabIndex]=\"tabIndex\" [ViewType]=\"ViewType\" [group]=\"tab.group\" [menuText]=\"menuText\"\r\n                          class=\"inner_flex\" [queryParams]=\"queryParams\"></detail-page-entity>\r\n                        </div>\r\n            \r\n                    </div>\r\n            \r\n                </div>\r\n            \r\n            </ng-container>\r\n            <ng-template #elseTemplate>\r\n            \r\n                <div class=\"add_contents text-center\">\r\n                    <div class=\"clearfix\">\r\n                        <div class=\"content\">\r\n                            <ng-container *ngIf=\"ViewType!='viewer'\">\r\n                            </ng-container>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            \r\n            </ng-template>\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n\r\n\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { PageContentGroup, PageContentsRow, slide } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'app-detail-progress-bar',\r\n  templateUrl: './detail-progress-bar.component.html',\r\n  styleUrls: ['./detail-progress-bar.component.scss'],\r\n})\r\nexport class DetailProgressBarComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  ngOnInit(): void {\r\n    if (this.group.Tabs.length > 0) {\r\n      this.group.Tabs.map((x: any) => {\r\n        x.showtext = false;\r\n        return x;\r\n      });\r\n    }\r\n  }\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n  @Input() queryParams:any=null;\r\n\r\n  @Input() menuText: any;\r\n\r\n  currrentTab: number = 0;\r\n\r\n  ChangeTab(tab: any, index: any) {\r\n    this.currrentTab = index;\r\n  }\r\n\r\n  addNewtab() {\r\n    debugger;\r\n    let num: number = this.group.Tabs.length + 1;\r\n    let _groupid = this.group.ID + '_' + this.getGroupCount();\r\n    let tab = {\r\n      Id: num,\r\n      Name: 'Tab_' + num,\r\n      group: new PageContentGroup(_groupid),\r\n      showtext: false,\r\n    };\r\n    this.group.Tabs.push(tab);\r\n  }\r\n  getGroupCount() {\r\n    debugger;\r\n    let _group = 1;\r\n    this.group.Tabs.forEach((row) => {\r\n      Object.keys(row.group).forEach((key) => {\r\n        if ((key = 'ID')) {\r\n          let _idN: number = Number(row.group[key].split('_')[2]);\r\n          if (_idN >= _group) _group = _idN + 1;\r\n        }\r\n        return _group;\r\n      });\r\n    });\r\n    return _group;\r\n  }\r\n\r\n  tabNameChange(event: any, tab: any) {\r\n    if (event.keyCode == 13) {\r\n      tab.showtext = false;\r\n    }\r\n  }\r\n\r\n  clickshowtext(tab: any) {\r\n    if (this.ViewType == 'viewer') return;\r\n\r\n    tab.showtext = true;\r\n  }\r\n\r\n  removeTab(tab: any, index: any) {\r\n    this.group.Tabs.splice(index, 1);\r\n  }\r\n\r\n  hasHorizontalScrollbar: boolean = false;\r\n  slider(direction: any, Id: any) {\r\n    slide(direction, Id);\r\n  }\r\n\r\n  changeType() {\r\n    var element = document.getElementById('p_Bar');\r\n    if (element != null) element.classList.toggle('progressBar');\r\n\r\n    var element1 = document.getElementById('slider-arrow');\r\n    if (element1 != null && element1.classList.contains('breadcrumbs')) {\r\n      element1.classList.remove('breadcrumbs');\r\n      element1.classList.add('breadcrumbNew');\r\n    } else {\r\n      if (element1 != null) {\r\n        element1.classList.remove('breadcrumbNew');\r\n        element1.classList.add('breadcrumbs');\r\n      }\r\n    }\r\n  }\r\n}\r\n","<div id=\"p_Bar\" class=\"card card-group card-tab\">\r\n  <div class=\"header clearfix\" *ngIf=\"ViewType!='viewer'\">\r\n    <h2 class=\"float-left\">\r\n      <code><i>#{{group.ID}}</i></code> progressBar Controller\r\n    </h2>\r\n  </div>\r\n  <div class=\"body\">\r\n\r\n    <div class=\"field-tab clearfix\">\r\n\r\n      <div class=\"main-page-view\">\r\n        <div class=\"clearfix\">\r\n          <div class=\"breadcrumbs  checkLength\" [ngClass]=\"{'checkLength' :group.Tabs && group.Tabs.length > 6}\"\r\n            id=\"slider-arrow\">\r\n            <a href=\"javascript:void(0);\" *ngFor=\"let tab of group.Tabs; let tabIndex = index\"\r\n              (click)=\"ChangeTab(tab,tabIndex)\" class=\"breadcrumb__item\" [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n              <ng-container *ngIf=\"!tab.showtext\">\r\n                <span class=\"breadcrumb__inner\">\r\n                  <span class=\"breadcrumb__title\" (click)=\"clickshowtext(tab)\"> {{tab.Name |translate}}</span>\r\n                  <common-delete *ngIf=\"ViewType!='viewer'\" [item]=\"tab\" [nowDelete]=\"false\"\r\n                    (deleteMethod)=\"removeTab($event.data,tabIndex)\"></common-delete>\r\n\r\n                </span>\r\n              </ng-container>\r\n              <ng-container *ngIf=\"tab.showtext\">\r\n                <input type=\"text\" class=\"my-3\" (keyup)=\"tabNameChange($event,tab)\" [(ngModel)]=\"tab.Name\" />\r\n              </ng-container>\r\n            </a>\r\n          </div>\r\n          <div class=\"float-right arrow-border\" [ngClass]=\"hasHorizontalScrollbar ==true ?'d-block':'d-none'\"\r\n            *ngIf=\"group.Tabs&& group.Tabs.length > 6\">\r\n            <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('left','slider-arrow')\"><i\r\n                class=\"fa fa-arrow-left\"></i></a>\r\n            <a href=\"javascript:void(0);\" class=\"arrownext\" (click)=\"slider('right','slider-arrow')\"><i\r\n                class=\"fa fa-arrow-right\"></i></a>\r\n          </div>\r\n          <ng-container *ngIf=\"ViewType!='viewer'\">\r\n\r\n            <div class=\"breadcrumb__item breadcrumb__item-firstChild\">\r\n              <a class=\"breadcrumb__inner\">\r\n                <div class=\"add_btn pt5\" (click)=\"addNewtab()\">\r\n                  <div class=\"round_circle_add\"><i class=\"fa fa-plus\"></i></div>\r\n                </div>\r\n              </a>\r\n            </div>\r\n            <div class=\"d-none my-2\">\r\n              <button class=\"btn btn-small btn-primary\" (click)=\"changeType()\">changeType</button>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n\r\n      <ng-container *ngFor=\"let tab of  group.Tabs;let tabIndex = index\">\r\n\r\n        <div class=\"active\" *ngIf=\"currrentTab==tabIndex\" id=\"tabView_{{tab.Id}}\"\r\n          [ngClass]=\"{'active': currrentTab==tabIndex}\">\r\n\r\n          <!-- <page-controller [tabIndex]=\"tabIndex\" [menuText]=\"menuText\" [ViewType]=\"ViewType\" [group]=\"tab.group\"\r\n            [contentGroups]=\"contentGroups\"></page-controller> -->\r\n                                      <!-- Duplicate -->\r\n                                      <ng-container *ngIf=\"group.ControlType; else elseTemplate\">\r\n\r\n                                        <div class=\"content-box\">\r\n                                    \r\n                                            <div class=\"content-view\" >\r\n                                                <div class=\"content-add\">\r\n                                                  <detail-page-entity [tabIndex]=\"tabIndex\" [ViewType]=\"ViewType\" [group]=\"tab.group\" [menuText]=\"menuText\"\r\n                                                  class=\"inner_flex\" [queryParams]=\"queryParams\"></detail-page-entity>\r\n                                                </div>\r\n                                    \r\n                                            </div>\r\n                                    \r\n                                        </div>\r\n                                    \r\n                                    </ng-container>\r\n                                    <ng-template #elseTemplate>\r\n                                    \r\n                                        <div class=\"add_contents text-center\">\r\n                                            <div class=\"clearfix\">\r\n                                                <div class=\"content\">\r\n                                                    <ng-container *ngIf=\"ViewType!='viewer'\">\r\n                                                    </ng-container>\r\n                                                </div>\r\n                                            </div>\r\n                                        </div>\r\n                                    \r\n                                    </ng-template>\r\n            \r\n\r\n        </div>\r\n\r\n      </ng-container>\r\n\r\n\r\n\r\n    </div>\r\n\r\n  </div>\r\n\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { E_ControllerType, PageContentGroup, PageContentsRow } from '../../core/common-interface-enum-classes-functions';\r\n\r\n@Component({\r\n  selector: 'detail-page-controller',\r\n  templateUrl: './detail-page-controller.component.html',\r\n  styleUrls: ['./detail-page-controller.component.scss'],\r\n})\r\nexport class DeatilPageControllerComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  \r\n  ngOnInit(): void {}\r\n\r\n  @Input() group!: PageContentGroup;\r\n  @Input() DatasourceForm:any = null;\r\n  @Input() contentGroups: PageContentsRow[] = [];\r\n  @Input() ViewType: string | any = null;\r\n\r\n  @Input() menuText: any;\r\n  @Input() tabIndex: any;\r\n  @Input() PageData: any;\r\n  @Input() queryParams:any=null;\r\n\r\n  controllerDropDown: any[] = [\r\n    {\r\n      name: 'Tab',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Tab,\r\n      type: E_ControllerType.Tab,\r\n    },\r\n    {\r\n      name: 'Section',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Section,\r\n      type: E_ControllerType.Section,\r\n    },\r\n    {\r\n      name: 'Entity',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Entity,\r\n      type: E_ControllerType.Entity,\r\n    },\r\n    {\r\n      name: 'WorkFlow',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.WorkFlow,\r\n      type: E_ControllerType.WorkFlow,\r\n    },\r\n    {\r\n      name: 'Chart',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Chart,\r\n      type: E_ControllerType.Chart,\r\n    },\r\n    {\r\n      name: 'Report',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.Report,\r\n      type: E_ControllerType.Report,\r\n    },\r\n    {\r\n      name: 'CustomTemplate',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.CustomTemplate,\r\n      type: E_ControllerType.CustomTemplate,\r\n    },\r\n    {\r\n      name: 'UiComponent',\r\n      icon: 'la la-list',\r\n      Id: E_ControllerType.UiComponent,\r\n      type: E_ControllerType.UiComponent,\r\n    },\r\n    {\r\n      name: 'Iframe',\r\n      icon: 'tabler-ti ti-frame',\r\n      Id: E_ControllerType.Iframe,\r\n      type: E_ControllerType.Iframe,\r\n    },\r\n    {\r\n      name: 'ProgressBar',\r\n      icon: 'la la-fast-forward',\r\n      Id: E_ControllerType.ProgressBar,\r\n      type: E_ControllerType.ProgressBar,\r\n    },\r\n  ];\r\n\r\n  AddControl(group: PageContentGroup, control: any) {\r\n    group.ControlType = control.type;\r\n  }\r\n\r\n}\r\n","<ng-container *ngIf=\"group.ControlType; else elseTemplate\">\r\n\r\n    <div class=\"content-box\">\r\n\r\n        <div class=\"content-view\" [ngSwitch]=\"group.ControlType\">\r\n            <span *ngSwitchDefault>\r\n                No action found\r\n            </span>\r\n            <div class=\"content-add\" *ngSwitchCase=\"1\">\r\n                <detail-page-tab [ViewType]=\"ViewType\" [menuText]=\"menuText\" [group]=\"group\" class=\"inner_flex\" [queryParams]=\"queryParams\"></detail-page-tab>\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"2\">\r\n                <!-- <page-section [ViewType]=\"ViewType\" [group]=\"group\" class=\"inner_flex\"></page-section> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"3\">\r\n                <ng-container *ngIf=\"group.IsDefault\">\r\n                    <!-- <page-entity-confiq [group]=\"group\" class=\"inner_flex\"></page-entity-confiq> -->\r\n                </ng-container>\r\n                <ng-container *ngIf=\"!group.IsDefault\">\r\n                    <detail-page-entity [tabIndex]=\"tabIndex\" [ViewType]=\"ViewType\" [group]=\"group\" [menuText]=\"menuText\"\r\n                        class=\"inner_flex\" [queryParams]=\"queryParams\"></detail-page-entity>\r\n                </ng-container>\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"4\">\r\n                WorkFlow action\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"5\">\r\n                <!-- <page-chart [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\" class=\"inner_flex\"></page-chart> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"6\">\r\n                <!-- <page-report [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    class=\"inner_flex\"></page-report> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"7\">\r\n                <!-- <page-custom-template [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    [DatasourceForm]=\"DatasourceForm\" class=\"inner_flex\"></page-custom-template> -->\r\n            </div>\r\n            <div class=\"content-add\" *ngSwitchCase=\"9\">\r\n                <!-- <app-page-ui-config [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    class=\"inner_flex\"></app-page-ui-config> -->\r\n            </div>\r\n\r\n            <div class=\"content-add\" *ngSwitchCase=\"8\">\r\n                <!-- <page-iframe [ViewType]=\"ViewType\" [group]=\"group\" [PageData]=\"PageData\"\r\n                    class=\"inner_flex\"></page-iframe> -->\r\n            </div>\r\n\r\n            <div class=\"content-add\" *ngSwitchCase=\"10\">\r\n                <app-detail-progress-bar [ViewType]=\"ViewType\" [menuText]=\"menuText\" [group]=\"group\"  [queryParams]=\"queryParams\"\r\n                    class=\"inner_flex\"></app-detail-progress-bar>\r\n            </div>\r\n\r\n\r\n        </div>\r\n\r\n    </div>\r\n\r\n</ng-container>\r\n<ng-template #elseTemplate>\r\n\r\n    <div class=\"add_contents text-center\">\r\n        <div class=\"clearfix\">\r\n            <div class=\"content\">\r\n                <ng-container *ngIf=\"ViewType!='viewer'\">\r\n                    <ng-container *ngFor=\"let control of controllerDropDown\">\r\n                        <div (click)=\"AddControl(group, control)\" class=\"all_btn \">\r\n                            <i class=\"{{ control.icon }}\" aria-hidden=\"true\"></i>\r\n                            <button>{{ control.name }}</button>\r\n                        </div>\r\n                    </ng-container>\r\n                </ng-container>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n</ng-template>","import { NgModule} from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DynamicAppsRoutingModule } from './dynamic-apps-routing.module';\r\nimport { IndexComponent } from './index/index.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { DynamicListComponent } from './dynamic-list/dynamic-list.component';\r\nimport { TranslatePipe } from './core/translate.pipe';\r\nimport { AttachListComponent } from './Templates/attachmentsetup/attach-list/attach-list.component';\r\nimport { AttachPopupComponent } from './Templates/attachmentsetup/attach-popup/attach-popup.component';\r\nimport { CardLineComponent } from './Templates/card-line/card-line.component';\r\nimport { CustomTempleteComponent } from './Templates/custom-templete/custom-templete.component';\r\nimport { DeleteComponent } from './Templates/delete/delete.component';\r\nimport { GridDatatypeComponent } from './Templates/grid/grid-datatype/grid-datatype.component';\r\nimport { GridFiletypeComponent } from './Templates/grid/grid-filetype/grid-filetype.component';\r\nimport { InnerGridComponent } from './Templates/grid/inner-grid/inner-grid.component';\r\nimport { MultipleValueSearchComponent } from './Templates/grid/multiple-value-search/multiple-value-search.component';\r\nimport { GridComponent } from './Templates/grid/grid.component';\r\nimport { ImageTypeComponent } from './Templates/image-type/image-type.component';\r\nimport { JsonPreviewComponent } from './Templates/json-preview/json-preview.component';\r\nimport { NewChartComponent } from './Templates/new-chart/new-chart.component';\r\nimport { PaginationComponent } from './Templates/pagination/pagination.component';\r\nimport { ReportComponent } from './Templates/report/report.component';\r\nimport { TreeGridViewComponent } from './Templates/tree-grid-view/tree-grid-view.component';\r\nimport { DynamicEntityCreateComponent } from './entity-type-setup/dynamic-entity-create/dynamic-entity-create.component';\r\nimport { TicketCreateComponent } from './entity-type-setup/ticket-create/ticket-create.component';\r\nimport { EntityDynamicViewComponent } from './entity-type-setup/entity-dynamic-view/entity-dynamic-view.component';\r\nimport { ValidationErrorComponent } from './entity-type-setup/entity-dynamic-field/validation-error.component';\r\nimport { EntityDynamicFieldComponent } from './entity-type-setup/entity-dynamic-field/entity-dynamic-field.component';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { FilterPipe, UniqueFilterPipe } from './core/allpipe.pipe';\r\nimport { DropdownFieldComponent } from './entity-type-setup/dropdown-field/dropdown-field.component';\r\nimport { DynamicToolTipDetailsComponent } from './entity-type-setup/dynamic-tool-tip-details/dynamic-tool-tip-details.component';\r\nimport { DynamicEntityDetailsComponent } from './entity-type-setup/dynamic-entity-details/dynamic-entity-details.component';\r\nimport { DynamicDetailsViewComponent } from './entity-type-setup/dynamic-details-view/dynamic-details-view.component';\r\nimport { ActivitiesViewComponent } from './entity-type-setup/activities-view/activities-view.component';\r\nimport { WorkflowDynamicPopupComponent } from './entity-type-setup/workflow-dynamic-popup/workflow-dynamic-popup.component';\r\nimport { EntityAssignmentComponent } from './entity-type-setup/entity-assignment/entity-assignment.component';\r\nimport { PageControllerComponent } from './entity-type-setup/page-controller/page-controller.component';\r\nimport { PageTabComponent } from './entity-type-setup/page-tab/page-tab.component';\r\nimport { PageEntityComponent } from './entity-type-setup/page-entity/page-entity.component';\r\nimport { ProgressBarComponent } from './entity-type-setup/progress-bar/progress-bar.component';\r\nimport { DynamicProfileComponent } from './entity-type-setup/dynamic-profile/dynamic-profile.component';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { TimepickerModule } from 'ngx-bootstrap/timepicker';\r\nimport { DynamicPageComponent } from './dynamic-page/dynamic-page.component';\r\nimport { DetailDynamicListComponent } from './duplicate-components-for-cd-error/detail-dynamic-list/detail-dynamic-list.component';\r\nimport { DetailDynamicPageComponent } from './duplicate-components-for-cd-error/detail-dynamic-page/detail-dynamic-page.component';\r\nimport { DeatilPageControllerComponent } from './duplicate-components-for-cd-error/detail-page-controller/detail-page-controller.component';\r\nimport { DetailPageEntityComponent } from './duplicate-components-for-cd-error/detail-page-entity/detail-page-entity.component';\r\nimport { DetailDynamicEntityDetailsComponent } from './duplicate-components-for-cd-error/detail-dynamic-entity-details/detail-dynamic-entity-details.component';\r\nimport { DetailPageTabComponent } from './duplicate-components-for-cd-error/detail-page-tab/detail-page-tab.component';\r\nimport { DetailProgressBarComponent } from './duplicate-components-for-cd-error/detail-progress-bar/detail-progress-bar.component';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    IndexComponent,\r\n    TranslatePipe,\r\n    UniqueFilterPipe,\r\n    FilterPipe,\r\n    AttachListComponent,\r\n    AttachPopupComponent,\r\n    CardLineComponent,\r\n    CustomTempleteComponent,\r\n    DeleteComponent,\r\n    GridDatatypeComponent,\r\n    GridFiletypeComponent,\r\n    InnerGridComponent,\r\n    MultipleValueSearchComponent,\r\n    GridComponent,\r\n    ImageTypeComponent,\r\n    JsonPreviewComponent,\r\n    NewChartComponent,\r\n    PaginationComponent,\r\n    ReportComponent,\r\n    TreeGridViewComponent,\r\n    DynamicListComponent,\r\n    DynamicEntityCreateComponent,\r\n    TicketCreateComponent,\r\n    EntityDynamicViewComponent,\r\n    ValidationErrorComponent,\r\n    EntityDynamicFieldComponent,\r\n    DropdownFieldComponent,\r\n    DynamicToolTipDetailsComponent,\r\n    DynamicEntityDetailsComponent,\r\n    DynamicDetailsViewComponent,\r\n    ActivitiesViewComponent,\r\n    WorkflowDynamicPopupComponent,\r\n    EntityAssignmentComponent,\r\n    PageControllerComponent,\r\n    PageTabComponent,\r\n    PageEntityComponent,\r\n    ProgressBarComponent,\r\n    DynamicProfileComponent,\r\n    DynamicPageComponent,\r\n    DetailDynamicListComponent,\r\n    DetailDynamicPageComponent,\r\n    DeatilPageControllerComponent,\r\n    DetailPageEntityComponent,\r\n    DetailDynamicEntityDetailsComponent,\r\n    DetailPageTabComponent,\r\n    DetailProgressBarComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    BrowserModule,\r\n    BrowserAnimationsModule,\r\n    DynamicAppsRoutingModule,\r\n    HttpClientModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    NgSelectModule,\r\n    NgxPaginationModule,\r\n    BsDatepickerModule.forRoot(),\r\n    TimepickerModule,\r\n  ],\r\n  exports: [\r\n    IndexComponent\r\n  ]\r\n})\r\nexport class DynamicAppsModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.LoaderService","i2.GlobalService","i3.LoaderService","i1.GlobalService","i1.DynamicAppsService","i1","Handlebars","i2","i3.TranslatePipe","i2.GridService","i3.DynamicAppsService","i4.LoaderService","i3","i4","i5.GridDatatypeComponent","i6.PaginationComponent","i7.TranslatePipe","i2.DynamicAppsService","i3.GlobalService","i5.TranslatePipe","i5","i6.DeleteComponent","i7.GridDatatypeComponent","i8.GridFiletypeComponent","i9.InnerGridComponent","i10.MultipleValueSearchComponent","i11.ImageTypeComponent","i12.PaginationComponent","i13.TreeGridViewComponent","i14.TranslatePipe","i6","i7.AttachListComponent","i8.TranslatePipe","i3.GridDatatypeComponent","i4.TranslatePipe","i8.ValidationErrorComponent","i9.TranslatePipe","i10.UniqueFilterPipe","i10.FilterPipe","i7","i9.GridDatatypeComponent","i10.ValidationErrorComponent","i11.DropdownFieldComponent","i12.TranslatePipe","i13.UniqueFilterPipe","i13.FilterPipe","i6.EntityDynamicFieldComponent","i7.EntityDynamicViewComponent","i5.TicketCreateComponent","i6.TranslatePipe","i4.DynamicDetailsViewComponent","i1.GridService","i3.GridService","i4.DynamicAppsService","i5.LoaderService","i7.AttachPopupComponent","i8.GridComponent","i9.TicketCreateComponent","i10.EntityDynamicViewComponent","i11.DynamicDetailsViewComponent","i12.ActivitiesViewComponent","i13.WorkflowDynamicPopupComponent","i14.EntityAssignmentComponent","i15.TranslatePipe","i7.DeleteComponent","i8.EntityDynamicFieldComponent","i9.DetailDynamicEntityDetailsComponent","i10.TranslatePipe","i5.DetailDynamicEntityDetailsComponent","i8.AttachPopupComponent","i9.CardLineComponent","i10.CustomTempleteComponent","i11.GridComponent","i12.NewChartComponent","i13.PaginationComponent","i14.ReportComponent","i15.DynamicEntityCreateComponent","i16.TicketCreateComponent","i17.EntityDynamicViewComponent","i18.WorkflowDynamicPopupComponent","i19.EntityAssignmentComponent","i20.DynamicProfileComponent","i21.DetailDynamicPageComponent","i22.DetailDynamicEntityDetailsComponent","i23.TranslatePipe","i7.TicketCreateComponent","i8.DynamicDetailsViewComponent","i9.DetailDynamicListComponent","i3.DeleteComponent","i4.PageEntityComponent","i2.PageTabComponent","i3.PageEntityComponent","i4.ProgressBarComponent","i15.PageControllerComponent","i16.TranslatePipe","i5.DynamicEntityDetailsComponent","i6.PageControllerComponent","i18.DynamicEntityDetailsComponent","i19.WorkflowDynamicPopupComponent","i20.EntityAssignmentComponent","i21.DynamicProfileComponent","i22.DynamicPageComponent","i5.DynamicListComponent","i7.EntityDynamicFieldComponent","i4.DetailPageEntityComponent","i2.DetailPageEntityComponent","i3.DetailPageTabComponent","i4.DetailProgressBarComponent"],"mappings":"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"}