build_app
This commit is contained in:
		
							parent
							
								
									6cd6be6315
								
							
						
					
					
						commit
						fd07e85217
					
				| @ -69,6 +69,18 @@ public class BuilderService { | ||||
| 		executeDump(true); | ||||
| 
 | ||||
| 		// ADD OTHER SERVICE | ||||
| addCustomMenu( "test VPS","Stepper_workflow",  "Transcations");  | ||||
| 
 | ||||
| 
 | ||||
| addCustomMenu( "Document_upload","Document_upload",  "Transcations");  | ||||
| 
 | ||||
| 
 | ||||
| addCustomMenu( "Visa_entry_type","Visa_entry_type",  "Transcations");  | ||||
| 
 | ||||
| 
 | ||||
| addCustomMenu( "Customer_information","Customer_information",  "Transcations");  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("dashboard and menu inserted..."); | ||||
| 
 | ||||
|  | ||||
| @ -0,0 +1,251 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Customer_information; | ||||
| import com.realnet.basicp1.Services.Customer_informationService ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Customer_information") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class Customer_informationController { | ||||
| 	@Autowired | ||||
| 	private Customer_informationService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Customer_information") | ||||
| 		  public Customer_information Savedata(@RequestBody Customer_information data) { | ||||
| 		Customer_information save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Customer_information/{id}") | ||||
| 	public  Customer_information update(@RequestBody Customer_information data,@PathVariable Integer id ) { | ||||
| 		Customer_information update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Customer_information/getall/page") | ||||
| 	public Page<Customer_information> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Customer_information> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Customer_information") | ||||
| 	public List<Customer_information> getdetails() { | ||||
| 		 List<Customer_information> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Customer_information") | ||||
| 	public List<Customer_information> getallwioutsec() { | ||||
| 		 List<Customer_information> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Customer_information/{id}") | ||||
| 	public  Customer_information  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Customer_information  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Customer_information/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,91 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Document_upload; | ||||
| import com.realnet.basicp1.Services.Document_uploadService ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Document_upload") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class Document_uploadController { | ||||
| 	@Autowired | ||||
| 	private Document_uploadService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Document_upload") | ||||
| 		  public Document_upload Savedata(@RequestBody Document_upload data) { | ||||
| 		Document_upload save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Document_upload/{id}") | ||||
| 	public  Document_upload update(@RequestBody Document_upload data,@PathVariable Integer id ) { | ||||
| 		Document_upload update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Document_upload/getall/page") | ||||
| 	public Page<Document_upload> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Document_upload> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Document_upload") | ||||
| 	public List<Document_upload> getdetails() { | ||||
| 		 List<Document_upload> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Document_upload") | ||||
| 	public List<Document_upload> getallwioutsec() { | ||||
| 		 List<Document_upload> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Document_upload/{id}") | ||||
| 	public  Document_upload  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Document_upload  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Document_upload/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type; | ||||
| import com.realnet.basicp1.Services.Visa_entry_typeService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/Visa_entry_type") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class Visa_entry_typeController { | ||||
| 	@Autowired | ||||
| 	private Visa_entry_typeService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Visa_entry_type") | ||||
| 		  public Visa_entry_type Savedata(@RequestBody Visa_entry_type data) { | ||||
| 		Visa_entry_type save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Visa_entry_type/{id}") | ||||
| 	public  Visa_entry_type update(@RequestBody Visa_entry_type data,@PathVariable Integer id ) { | ||||
| 		Visa_entry_type update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Visa_entry_type/getall/page") | ||||
| 	public Page<Visa_entry_type> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Visa_entry_type> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Visa_entry_type") | ||||
| 	public List<Visa_entry_type> getdetails() { | ||||
| 		 List<Visa_entry_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Visa_entry_type") | ||||
| 	public List<Visa_entry_type> getallwioutsec() { | ||||
| 		 List<Visa_entry_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Visa_entry_type/{id}") | ||||
| 	public  Visa_entry_type  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Visa_entry_type  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Visa_entry_type/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Visa_entry_type_ListFilter1Service ; | ||||
| @RequestMapping(value = "/Visa_entry_type_ListFilter1") | ||||
| @RestController | ||||
| public class Visa_entry_type_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Visa_entry_type_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Visa_entry_type_ListFilter1") | ||||
| 	public List<Visa_entry_type_ListFilter1> getlist() { | ||||
| 		 List<Visa_entry_type_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Visa_entry_type_ListFilter11") | ||||
| 	public List<Visa_entry_type_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Visa_entry_type_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,251 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Customer_information; | ||||
| import com.realnet.basicp1.Services.Customer_informationService ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Customer_information") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_Customer_informationController { | ||||
| 	@Autowired | ||||
| 	private Customer_informationService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Customer_information") | ||||
| 		  public Customer_information Savedata(@RequestBody Customer_information data) { | ||||
| 		Customer_information save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Customer_information/{id}") | ||||
| 	public  Customer_information update(@RequestBody Customer_information data,@PathVariable Integer id ) { | ||||
| 		Customer_information update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Customer_information/getall/page") | ||||
| 	public Page<Customer_information> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Customer_information> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Customer_information") | ||||
| 	public List<Customer_information> getdetails() { | ||||
| 		 List<Customer_information> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Customer_information") | ||||
| 	public List<Customer_information> getallwioutsec() { | ||||
| 		 List<Customer_information> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Customer_information/{id}") | ||||
| 	public  Customer_information  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Customer_information  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Customer_information/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,91 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Document_upload; | ||||
| import com.realnet.basicp1.Services.Document_uploadService ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Document_upload") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_Document_uploadController { | ||||
| 	@Autowired | ||||
| 	private Document_uploadService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Document_upload") | ||||
| 		  public Document_upload Savedata(@RequestBody Document_upload data) { | ||||
| 		Document_upload save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Document_upload/{id}") | ||||
| 	public  Document_upload update(@RequestBody Document_upload data,@PathVariable Integer id ) { | ||||
| 		Document_upload update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Document_upload/getall/page") | ||||
| 	public Page<Document_upload> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Document_upload> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Document_upload") | ||||
| 	public List<Document_upload> getdetails() { | ||||
| 		 List<Document_upload> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Document_upload") | ||||
| 	public List<Document_upload> getallwioutsec() { | ||||
| 		 List<Document_upload> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Document_upload/{id}") | ||||
| 	public  Document_upload  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Document_upload  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Document_upload/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
| import com.fasterxml.jackson.core.JsonProcessingException; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.realnet.config.EmailService; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import org.springframework.data.domain.*; | ||||
| import com.realnet.fnd.response.EntityResponse; | ||||
| import org.springframework.http.*; | ||||
| import org.springframework.beans.factory.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type; | ||||
| import com.realnet.basicp1.Services.Visa_entry_typeService ; | ||||
| 
 | ||||
| 
 | ||||
| @RequestMapping(value = "/token/Visa_entry_type") | ||||
|  @CrossOrigin("*")  | ||||
| @RestController | ||||
| public class tokenFree_Visa_entry_typeController { | ||||
| 	@Autowired | ||||
| 	private Visa_entry_typeService Service; | ||||
| 
 | ||||
| @Value("${projectPath}") | ||||
| 	private String projectPath; | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 	@PostMapping("/Visa_entry_type") | ||||
| 		  public Visa_entry_type Savedata(@RequestBody Visa_entry_type data) { | ||||
| 		Visa_entry_type save = Service.Savedata(data)	; | ||||
| 
 | ||||
| 		System.out.println("data saved..." + save); | ||||
| 
 | ||||
|  return save; | ||||
| 	  } | ||||
| @PutMapping("/Visa_entry_type/{id}") | ||||
| 	public  Visa_entry_type update(@RequestBody Visa_entry_type data,@PathVariable Integer id ) { | ||||
| 		Visa_entry_type update = Service.update(data,id); | ||||
| 		System.out.println("data update..." + update); | ||||
| 		return update; | ||||
| 	}	  | ||||
| //	get all with pagination | ||||
| 	@GetMapping("/Visa_entry_type/getall/page") | ||||
| 	public Page<Visa_entry_type> getall(@RequestParam(value = "page", required = false) Integer page, | ||||
| 			@RequestParam(value = "size", required = false) Integer size) { | ||||
| 		Pageable paging = PageRequest.of(page, size); | ||||
| 		Page<Visa_entry_type> get = Service.getAllWithPagination(paging); | ||||
| 
 | ||||
| 		return get; | ||||
| 
 | ||||
| 	}	 | ||||
| 	@GetMapping("/Visa_entry_type") | ||||
| 	public List<Visa_entry_type> getdetails() { | ||||
| 		 List<Visa_entry_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| // get all without authentication  | ||||
| 
 | ||||
| 	@GetMapping("/token/Visa_entry_type") | ||||
| 	public List<Visa_entry_type> getallwioutsec() { | ||||
| 		 List<Visa_entry_type> get = Service.getdetails();		 | ||||
| 		return get; | ||||
| } | ||||
| @GetMapping("/Visa_entry_type/{id}") | ||||
| 	public  Visa_entry_type  getdetailsbyId(@PathVariable Integer id ) { | ||||
| 		Visa_entry_type  get = Service.getdetailsbyId(id); | ||||
| 		return get; | ||||
| 	} | ||||
| @DeleteMapping("/Visa_entry_type/{id}") | ||||
| 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||
| 	Service.delete_by_id(id); | ||||
| 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||
| 	 | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Controllers; | ||||
| import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
|  import org.springframework.web.bind.annotation.*; | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type_ListFilter1; | ||||
| import com.realnet.basicp1.Services.Visa_entry_type_ListFilter1Service ; | ||||
| @RequestMapping(value = "/token/Visa_entry_type_ListFilter1") | ||||
| @RestController | ||||
| public class tokenFree_Visa_entry_type_ListFilter1Controller { | ||||
| 	 | ||||
| 	@Autowired | ||||
| 	private Visa_entry_type_ListFilter1Service Service; | ||||
| 
 | ||||
| 		@GetMapping("/Visa_entry_type_ListFilter1") | ||||
| 	public List<Visa_entry_type_ListFilter1> getlist() { | ||||
| 		 List<Visa_entry_type_ListFilter1> get = Service.getlistbuilder();		 | ||||
| 		return get; | ||||
| } | ||||
| 		@GetMapping("/Visa_entry_type_ListFilter11") | ||||
| 	public List<Visa_entry_type_ListFilter1> getlistwithparam( ) { | ||||
| 		 List<Visa_entry_type_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||
| 		return get; | ||||
| } | ||||
| } | ||||
| @ -0,0 +1,110 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Customer_information extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  name; | ||||
| 
 | ||||
| @Column(length = 2000) | ||||
| private String description; | ||||
| 
 | ||||
| private boolean active; | ||||
| 
 | ||||
| private Integer visa_entry_type; | ||||
| private String visa_entry_typename; | ||||
| 
 | ||||
| private String visa_duration; | ||||
| 
 | ||||
| private String visa_processing; | ||||
| 
 | ||||
| private String travel_start_date; | ||||
| 
 | ||||
| private String travel_end_date; | ||||
| 
 | ||||
| private int passport_number; | ||||
| 
 | ||||
| private String passport_issue_date; | ||||
| 
 | ||||
| private String passport_expiry_date; | ||||
| 
 | ||||
| private String email_field; | ||||
| 
 | ||||
|  private String phone_number; | ||||
| 
 | ||||
| private String  birth_place; | ||||
| 
 | ||||
| private String date_of_birth; | ||||
| 
 | ||||
|  private String gender; | ||||
| 
 | ||||
| private String  profession; | ||||
| 
 | ||||
| private String visa_cost; | ||||
| 
 | ||||
| private String referrer; | ||||
| 
 | ||||
| private String nationality; | ||||
| 
 | ||||
| private String supplier; | ||||
| 
 | ||||
| private String agent; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,30 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Document_upload extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  imageupload_fieldname; | ||||
| private String  imageupload_fieldpath ; | ||||
| 
 | ||||
| private String  fileupload_fieldname; | ||||
| private String  fileupload_fieldpath ; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,24 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
| import com.realnet.WhoColumn.Entity.Extension;  | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
|  @Entity  | ||||
|  @Data | ||||
|  public class    Visa_entry_type extends Extension {  | ||||
|  /** | ||||
| 	 *  | ||||
| 	 */ | ||||
| 	private static final long serialVersionUID = 1L; | ||||
| 
 | ||||
|  @Id | ||||
|  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|  private Integer id; | ||||
| 
 | ||||
| private String  visa_entry_type; | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| package com.realnet.basicp1.Entity; | ||||
|  import lombok.*; | ||||
|  import javax.persistence.*; | ||||
|  import java.time.LocalDateTime; | ||||
|  import java.util.*; | ||||
| 
 | ||||
|  @Data | ||||
|  public class    Visa_entry_type_ListFilter1 {  | ||||
| 
 | ||||
|  private Integer id; | ||||
| 
 | ||||
| 
 | ||||
|  private String visa_entry_type; | ||||
| } | ||||
| @ -0,0 +1,68 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Customer_information; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  Customer_informationRepository  extends  JpaRepository<Customer_information, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from customer_information where  created_by=?1", nativeQuery = true) | ||||
| 	List<Customer_information> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from customer_information where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Customer_information> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,28 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Document_upload; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  Document_uploadRepository  extends  JpaRepository<Document_upload, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from document_upload where  created_by=?1", nativeQuery = true) | ||||
| 	List<Document_upload> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from document_upload where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Document_upload> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,26 @@ | ||||
| package com.realnet.basicp1.Repository; | ||||
| 
 | ||||
| 
 | ||||
| import org.springframework.data.domain.Page; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.Query; | ||||
| 
 | ||||
| import org.springframework.stereotype.Repository;  | ||||
| import java.util.*; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type; | ||||
| 
 | ||||
| @Repository | ||||
| public interface  Visa_entry_typeRepository  extends  JpaRepository<Visa_entry_type, Integer>  {  | ||||
| 
 | ||||
| @Query(value = "select * from visa_entry_type where  created_by=?1", nativeQuery = true) | ||||
| 	List<Visa_entry_type> findAll(Long creayedBy); | ||||
| 
 | ||||
| @Query(value = "select * from visa_entry_type where  created_by=?1", nativeQuery = true) | ||||
| 	Page<Visa_entry_type> findAll(Pageable page, Long creayedBy); | ||||
| } | ||||
| @ -0,0 +1,296 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.Customer_informationRepository; | ||||
| import com.realnet.basicp1.Entity.Customer_information | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type; | ||||
| import com.realnet.basicp1.Services.Visa_entry_typeService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Customer_informationService { | ||||
| @Autowired | ||||
| private Customer_informationRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @Autowired | ||||
| 	private Visa_entry_typeService visa_entry_typeserv; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| public Customer_information Savedata(Customer_information data) { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| if (data.getVisa_entry_type() != null) { | ||||
| 			Visa_entry_type get =  visa_entry_typeserv.getdetailsbyId(data.getVisa_entry_type()); | ||||
| 			data.setVisa_entry_typename(get.getVisa_entry_type()); | ||||
| 
 | ||||
| 		} | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Customer_information save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Customer_information> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Customer_information> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Customer_information> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Customer_information getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Customer_information update(Customer_information data,Integer id) { | ||||
| 	Customer_information old = Repository.findById(id).get(); | ||||
| old.setName(data.getName()); | ||||
| 
 | ||||
| old.setDescription(data.getDescription()); | ||||
| 
 | ||||
| old.setActive (data.isActive()); | ||||
| 
 | ||||
| old.setVisa_entry_type(data.getVisa_entry_type()); | ||||
| 
 | ||||
| old.setVisa_duration(data.getVisa_duration()); | ||||
| 
 | ||||
| old.setVisa_processing(data.getVisa_processing()); | ||||
| 
 | ||||
| old.setTravel_start_date(data.getTravel_start_date()); | ||||
| 
 | ||||
| old.setTravel_end_date(data.getTravel_end_date()); | ||||
| 
 | ||||
| old.setPassport_number(data.getPassport_number()); | ||||
| 
 | ||||
| old.setPassport_issue_date(data.getPassport_issue_date()); | ||||
| 
 | ||||
| old.setPassport_expiry_date(data.getPassport_expiry_date()); | ||||
| 
 | ||||
| old.setEmail_field(data.getEmail_field()); | ||||
| 
 | ||||
| old.setPhone_number(data.getPhone_number()); | ||||
| 
 | ||||
| old.setBirth_place(data.getBirth_place()); | ||||
| 
 | ||||
| old.setDate_of_birth(data.getDate_of_birth()); | ||||
| 
 | ||||
| old.setGender(data.getGender()); | ||||
| 
 | ||||
| old.setProfession(data.getProfession()); | ||||
| 
 | ||||
| old.setVisa_cost(data.getVisa_cost()); | ||||
| 
 | ||||
| old.setReferrer(data.getReferrer()); | ||||
| 
 | ||||
| old.setNationality(data.getNationality()); | ||||
| 
 | ||||
| old.setSupplier(data.getSupplier()); | ||||
| 
 | ||||
| old.setAgent(data.getAgent()); | ||||
| 
 | ||||
| final Customer_information test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,83 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.Document_uploadRepository; | ||||
| import com.realnet.basicp1.Entity.Document_upload | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Document_uploadService { | ||||
| @Autowired | ||||
| private Document_uploadRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| public Document_upload Savedata(Document_upload data) { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Document_upload save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Document_upload> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Document_upload> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Document_upload> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Document_upload getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Document_upload update(Document_upload data,Integer id) { | ||||
| 	Document_upload old = Repository.findById(id).get(); | ||||
|   | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| final Document_upload test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,73 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import com.realnet.basicp1.Repository.Visa_entry_typeRepository; | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type | ||||
| ;import java.util.*; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import com.realnet.SequenceGenerator.Service.SequenceService; | ||||
| import org.springframework.data.domain.Page; | ||||
| import com.realnet.realm.Entity.Realm; | ||||
| import com.realnet.realm.Services.RealmService; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.http.*; | ||||
| import com.realnet.users.service1.AppUserServiceImpl; | ||||
| import com.realnet.users.entity1.AppUser; | ||||
| 
 | ||||
| 
 | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Visa_entry_typeService { | ||||
| @Autowired | ||||
| private Visa_entry_typeRepository Repository; | ||||
| 	@Autowired | ||||
| 	private AppUserServiceImpl userService;  | ||||
| @Autowired | ||||
| 	private RealmService realmService; | ||||
| 
 | ||||
| public Visa_entry_type Savedata(Visa_entry_type data) { | ||||
| 
 | ||||
| 
 | ||||
| 	data.setUpdatedBy(getUser().getUserId()); | ||||
| 		data.setCreatedBy(getUser().getUserId()); | ||||
| 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||
| Visa_entry_type save = Repository.save(data); | ||||
| 				return save;	 | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| //	get all with pagination | ||||
| 	public Page<Visa_entry_type> getAllWithPagination(Pageable page) { | ||||
| 		return Repository.findAll(page, getUser().getUserId()); | ||||
| 	}			 | ||||
| public List<Visa_entry_type> getdetails() {   | ||||
| 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||
| List<Visa_entry_type> all = Repository.findAll(getUser().getUserId()); | ||||
| 		 | ||||
| 		return all ;		} | ||||
| 
 | ||||
| 
 | ||||
| public Visa_entry_type getdetailsbyId(Integer id) { | ||||
| 	return Repository.findById(id).get(); | ||||
| 			} | ||||
| 
 | ||||
| 
 | ||||
| 	public void delete_by_id(Integer id) { | ||||
|  Repository.deleteById(id); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| public Visa_entry_type update(Visa_entry_type data,Integer id) { | ||||
| 	Visa_entry_type old = Repository.findById(id).get(); | ||||
| old.setVisa_entry_type(data.getVisa_entry_type()); | ||||
| 
 | ||||
| final Visa_entry_type test = Repository.save(old); | ||||
| 		data.setUpdatedBy(getUser().getUserId()); | ||||
|   return test;}  | ||||
| 
 | ||||
| 
 | ||||
|  public AppUser getUser() { | ||||
| 		AppUser user = userService.getLoggedInUser(); | ||||
| 		return user; | ||||
| 
 | ||||
| 	}} | ||||
| @ -0,0 +1,47 @@ | ||||
| package com.realnet.basicp1.Services; | ||||
| import java.util.*; | ||||
| import com.realnet.basicp1.Repository.Visa_entry_typeRepository; | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type; | ||||
| 
 | ||||
| import com.realnet.basicp1.Entity.Visa_entry_type_ListFilter1; | ||||
| import java.util.List; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| 	import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| @Service | ||||
|  public class Visa_entry_type_ListFilter1Service { | ||||
| @Autowired | ||||
| private Visa_entry_typeRepository Repository; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Visa_entry_type_ListFilter1>   getlistbuilder() { | ||||
| 	List<Visa_entry_type> list= Repository.findAll(); | ||||
| 		ArrayList<Visa_entry_type_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Visa_entry_type data : list) { | ||||
| {	 | ||||
| Visa_entry_type_ListFilter1 dummy = new Visa_entry_type_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setVisa_entry_type(data.getVisa_entry_type()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  public   List<Visa_entry_type_ListFilter1>   getlistbuilderparam( ) { | ||||
| 	List<Visa_entry_type> list= Repository.findAll(); | ||||
| 		ArrayList<Visa_entry_type_ListFilter1> l = new ArrayList<>(); | ||||
| 		for (Visa_entry_type data : list) { | ||||
| {	 | ||||
| Visa_entry_type_ListFilter1 dummy = new Visa_entry_type_ListFilter1(); | ||||
| 			dummy.setId(data.getId()); | ||||
|   dummy.setVisa_entry_type(data.getVisa_entry_type()); | ||||
| 	l.add(dummy); | ||||
| }  | ||||
| } 		 | ||||
| return l;} | ||||
| } | ||||
							
								
								
									
										6
									
								
								testvpssteper-db-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								testvpssteper-db-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,6 @@ | ||||
| CREATE TABLE db.Customer_information(id BIGINT NOT NULL AUTO_INCREMENT, agent VARCHAR(400), visa_processing VARCHAR(400), description VARCHAR(400), date_of_birth Date, visa_duration VARCHAR(400), phone_number VARCHAR(400), gender VARCHAR(400), email_field VARCHAR(400), nationality VARCHAR(400), name VARCHAR(400), travel_end_date Date, passport_number int, active VARCHAR(400), birth_place VARCHAR(400), profession VARCHAR(400), visa_entry_type int, travel_start_date Date, passport_expiry_date Date, referrer VARCHAR(400), supplier VARCHAR(400), passport_issue_date Date, visa_cost VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| CREATE TABLE db.Visa_entry_type(id BIGINT NOT NULL AUTO_INCREMENT, visa_entry_type VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| CREATE TABLE db.Document_upload(id BIGINT NOT NULL AUTO_INCREMENT, imageupload_field VARCHAR(400), fileupload_field VARCHAR(400),  PRIMARY KEY (id)); | ||||
| 
 | ||||
| @ -2,14 +2,14 @@ | ||||
| 
 | ||||
| export const LoginEnvironment = { | ||||
| 
 | ||||
|         "templateNo": "<templateNo>", | ||||
|         "loginHeading": "<loginHeading>", | ||||
|         "loginHeading2": "<loginHeading2>", | ||||
|         "isSignup": "<isSignup>", | ||||
|         "loginSignup": "<loginSignup> ", | ||||
|         "loginSignup2": "<loginSignup2>", | ||||
|         "loginForgotpass": "<loginForgotpass>", | ||||
|         "loginImage": "<loginImage>", | ||||
|         "loginImageURL": "<loginImageURL>" | ||||
|         "templateNo": "Template 1", | ||||
|         "loginHeading": "Welcome to", | ||||
|         "loginHeading2": "io8.dev", | ||||
|         "isSignup": "true", | ||||
|         "loginSignup": "Use your ID to sign in OR  ", | ||||
|         "loginSignup2": "create one now", | ||||
|         "loginForgotpass": "FORGOT PASSWORD?", | ||||
|         "loginImage": "[]", | ||||
|         "loginImageURL": "null" | ||||
|      | ||||
| } | ||||
|  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,746 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Customer_informationservice} from './Customer_information.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Customer_informationcardvariable } from './Customer_information_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Customer_information', | ||||
|   templateUrl: './Customer_information.component.html', | ||||
|   styleUrls: ['./Customer_information.component.scss'] | ||||
| }) | ||||
| export class Customer_informationComponent implements OnInit { | ||||
|   cardButton = Customer_informationcardvariable.cardButton; | ||||
|   cardmodeldata = Customer_informationcardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Customer_informationcardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Customer_information_formCode' | ||||
| tableName = 'Customer_information';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Customer_informationservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|   ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| name : [null], | ||||
| 
 | ||||
| description : [null], | ||||
| 
 | ||||
| active : [true], | ||||
| 
 | ||||
| visa_entry_type : [null], | ||||
| 
 | ||||
| visa_duration : [null], | ||||
| 
 | ||||
| visa_processing : [null], | ||||
| 
 | ||||
| travel_start_date : [null], | ||||
| 
 | ||||
| travel_end_date : [null], | ||||
| 
 | ||||
| passport_number : [null,[Validators.required]], | ||||
| 
 | ||||
| passport_issue_date : [null], | ||||
| 
 | ||||
| passport_expiry_date : [null], | ||||
| 
 | ||||
| email_field : [null], | ||||
| 
 | ||||
| phone_number: ['+91'], | ||||
| 
 | ||||
| birth_place : [null], | ||||
| 
 | ||||
| date_of_birth : [null], | ||||
| 
 | ||||
| gender : [null], | ||||
| 
 | ||||
| profession : [null], | ||||
| 
 | ||||
| visa_cost : [null, { updateOn: 'blur' }], | ||||
| 
 | ||||
| referrer : [null], | ||||
| 
 | ||||
| nationality : [null], | ||||
| 
 | ||||
| supplier : [null], | ||||
| 
 | ||||
| agent : [null], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Customer_information_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| this.getallvisa_entry_type(); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
| rsModaldescription = false;    | ||||
| goToReplaceStringdescription(row){ | ||||
| this.rowSelected = row;     this.rsModaldescription  =true;   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| selectvisa_entry_type ;      | ||||
| getallvisa_entry_type() { | ||||
|  this.mainService.getAllvisa_entry_type().subscribe(data=>{ | ||||
| this.selectvisa_entry_type = data;        | ||||
| console.log(data); | ||||
| },(error) => {       console.log(error);     });   }							    | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| isValidemail_field(email: string): boolean { | ||||
| 						 const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; | ||||
| 						    return emailPattern.test(email);   } | ||||
| 
 | ||||
| isValidPhone_number(phone: string): boolean { | ||||
|   const phonePattern = /^(\+[1-9][0-9]{0,2})?[1-9][0-9]{9}$/; | ||||
|   return phonePattern.test(phone); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| updategender (gender : string): void {     | ||||
|  this.entryForm.get('gender').setValue(gender);   } | ||||
| 
 | ||||
| updategenderEdit(gender : string): void {    this.rowSelected.gender  =  gender } | ||||
| 						 ; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| //currency  field start
 | ||||
|    formatCurrencyvisa_cost () { | ||||
|     // Format the currency with two decimal places    
 | ||||
| 	this.rowSelected.visa_cost = Number(this.rowSelected.visa_cost ).toFixed(2); | ||||
|     // Remove commas from the formatted currency   
 | ||||
| 	 this.rowSelected.visa_cost = this.rowSelected.visa_cost?.replace(/,/g, '');  } | ||||
|   //currency  field end
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,78 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Customer_informationservice{ | ||||
|   private baseURL = "Customer_information/Customer_information" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| getAllvisa_entry_type(): Observable<any> {    | ||||
| return this.apiRequest.get("Visa_entry_type_ListFilter1/Visa_entry_type_ListFilter1");  } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Customer_informationcardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -0,0 +1,472 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Document Upload</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Document Upload </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
|         <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Document Upload | ||||
|  <!--update button --> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   </div>  | ||||
| <h6> List of imageupload_field</h6> | ||||
| 
 | ||||
|   <div  class="clr-row" style="margin-top: 10px;"> | ||||
|     <table class="table"> | ||||
|         <thead> | ||||
|          <tr> | ||||
|          <th>No</th> | ||||
|           <th> File</th> | ||||
|          <th>File Name</th> | ||||
|            <th>Preview</th> | ||||
|            <th>Cancel</th> | ||||
|             </tr> | ||||
|           </thead> | ||||
|           <tbody > | ||||
|             <tr *ngFor="let attach of FileDataimageupload_field; let i=index"> | ||||
|               <td style="width: 70px;"><input type="text" class="clr-input"  value={{i+1}} [readonly]="true">  </td> | ||||
|               <td><input type="file" (change)="onFileChangedimageupload_field($event, i)"  accept="image/*" /> | ||||
|                </td> | ||||
|              <td>{{attach.uploadedfile_name}}</td> | ||||
|               <td >  <img [src]="attach.filePreview" alt="File Preview"  [ngModelOptions]="{standalone: true}" name="filePreview" width="100px" height="100px"></td> | ||||
|               <td> | ||||
|                   <clr-signpost style="padding-right: 10px;"> | ||||
|                       <clr-icon shape="trash" class="is-error" aria-label="Icon Button Trigger" clrSignpostTrigger></clr-icon> | ||||
|                   | ||||
|                     <clr-signpost-content [clrPosition]="'bottom-middle'" *clrIfOpen> | ||||
|                   <div style="text-align: center;"><b >Are you sure?</b></div> | ||||
|                       <button class="btn btn-outline" [clrSignpostTrigger]="false">cancel</button>  | ||||
|                       <button class="btn btn-primary"  (click)="deleteRowimageupload_field(i,attach.id)" >Delete</button> | ||||
|                     </clr-signpost-content> | ||||
|                   </clr-signpost> | ||||
|                  | ||||
|               </td> | ||||
|             </tr> | ||||
|   | ||||
|   | ||||
|         </tbody> | ||||
|           <button type="button" class="btn btn-primary button1" style="margin-left: 20px;" (click)="onAddLinesimageupload_field()"> | ||||
|             <clr-icon shape="plus"></clr-icon> | ||||
|           </button> | ||||
|   | ||||
|         </table> </div> | ||||
| 
 | ||||
| <h6> List of fileupload_field</h6> | ||||
| 
 | ||||
|   <div  class="clr-row" style="margin-top: 10px;"> | ||||
|     <table class="table"> | ||||
|         <thead> | ||||
|          <tr> | ||||
|          <th>No</th> | ||||
|           <th> File</th> | ||||
|          <th>File Name</th> | ||||
|            <th>Preview</th> | ||||
|            <th>Cancel</th> | ||||
|             </tr> | ||||
|           </thead> | ||||
|           <tbody > | ||||
|             <tr *ngFor="let attach of FileDatafileupload_field; let i=index"> | ||||
|               <td style="width: 70px;"><input type="text" class="clr-input"  value={{i+1}} [readonly]="true">  </td> | ||||
|               <td><input type="file" (change)="onFileChangedfileupload_field($event, i)"  accept = "application/pdf,.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"/> | ||||
|                </td> | ||||
|              <td>{{attach.uploadedfile_name}}</td> | ||||
|               <td >  <img [src]="attach.filePreview" alt="File Preview"  [ngModelOptions]="{standalone: true}" name="filePreview" width="100px" height="100px"></td> | ||||
|               <td> | ||||
|                   <clr-signpost style="padding-right: 10px;"> | ||||
|                       <clr-icon shape="trash" class="is-error" aria-label="Icon Button Trigger" clrSignpostTrigger></clr-icon> | ||||
|                   | ||||
|                     <clr-signpost-content [clrPosition]="'bottom-middle'" *clrIfOpen> | ||||
|   <div style="text-align: center;"><b >Are you sure?</b></div> | ||||
|                       <button class="btn btn-outline" [clrSignpostTrigger]="false">cancel</button>  | ||||
|                       <button class="btn btn-primary"  (click)="deleteRowfileupload_field(i,attach.id)" >Delete</button> | ||||
|                     </clr-signpost-content> | ||||
|                   </clr-signpost> | ||||
|                  | ||||
|               </td> | ||||
|             </tr> | ||||
|   | ||||
|   | ||||
|         </tbody> | ||||
|           <button type="button" class="btn btn-primary button1" style="margin-left: 20px;" (click)="onAddLinesfileupload_field()"> | ||||
|             <clr-icon shape="plus"></clr-icon> | ||||
|           </button> | ||||
|   | ||||
|         </table> </div> | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Document Upload  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Document_upload_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| <h6> List of imageupload_field</h6> | ||||
| 
 | ||||
|  <div  class="clr-row" style="margin-top: 10px;"> | ||||
|    <table class="table"> | ||||
|        <thead> | ||||
|         <tr> | ||||
|         <th>No</th> | ||||
|          <th> File</th> | ||||
|          <th>File Name</th> | ||||
|           <th>Preview</th> | ||||
|           <th>Cancel</th> | ||||
|            </tr> | ||||
|          </thead> | ||||
|          <tbody > | ||||
|            <tr *ngFor="let attach of FileDataimageupload_field; let i=index"> | ||||
|              <td style="width: 70px;"><input type="text" class="clr-input"  value={{i+1}} [readonly]="true">  </td> | ||||
|              <td><input type="file" (change)="onFileChangedimageupload_field($event, i)"  accept="image/*" /><!--accept=".pdf,.doc,.docx,.jpg,.msg"--> | ||||
|               </td> | ||||
|          <td>{{attach.uploadedfile_name}}</td> | ||||
|              <td >  <img [src]="attach.filePreview" alt="File Preview"  [ngModelOptions]="{standalone: true}" name="filePreview" width="100px" height="100px"></td> | ||||
|              <td> | ||||
|                <a  (click)="deleteRowimageupload_field(i)"> | ||||
|                  <clr-icon shape="trash" class="is-error"></clr-icon> | ||||
|                </a> | ||||
|              </td> | ||||
|            </tr> | ||||
| 
 | ||||
| 
 | ||||
|        </tbody> | ||||
|          <button type="button" class="btn btn-primary button1" style="margin-left: 20px;" (click)="onAddLinesimageupload_field()"> | ||||
|            <clr-icon shape="plus"></clr-icon> | ||||
|          </button> | ||||
| 
 | ||||
|        </table> </div> | ||||
| 
 | ||||
| <h6> List of fileupload_field</h6> | ||||
| 
 | ||||
|  <div  class="clr-row" style="margin-top: 10px;"> | ||||
|    <table class="table"> | ||||
|        <thead> | ||||
|         <tr> | ||||
|         <th>No</th> | ||||
|          <th> File</th> | ||||
|          <th>File Name</th> | ||||
|           <th>Preview</th> | ||||
|           <th>Cancel</th> | ||||
|            </tr> | ||||
|          </thead> | ||||
|          <tbody > | ||||
|            <tr *ngFor="let attach of FileDatafileupload_field; let i=index"> | ||||
|              <td style="width: 70px;"><input type="text" class="clr-input"  value={{i+1}} [readonly]="true">  </td> | ||||
|              <td><input type="file" (change)="onFileChangedfileupload_field($event, i)"  accept = "application/pdf,.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" /><!--accept=".pdf,.doc,.docx,.jpg,.msg"--> | ||||
|               </td> | ||||
|          <td>{{attach.uploadedfile_name}}</td> | ||||
|              <td >  <img [src]="attach.filePreview" alt="File Preview"  [ngModelOptions]="{standalone: true}" name="filePreview" width="100px" height="100px"></td> | ||||
|              <td> | ||||
|                <a  (click)="deleteRowfileupload_field(i)"> | ||||
|                  <clr-icon shape="trash" class="is-error"></clr-icon> | ||||
|                </a> | ||||
|              </td> | ||||
|            </tr> | ||||
| 
 | ||||
| 
 | ||||
|        </tbody> | ||||
|          <button type="button" class="btn btn-primary button1" style="margin-left: 20px;" (click)="onAddLinesfileupload_field()"> | ||||
|            <clr-icon shape="plus"></clr-icon> | ||||
|          </button> | ||||
| 
 | ||||
|        </table> </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,353 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Document_uploadservice} from './Document_upload.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Document_uploadcardvariable } from './Document_upload_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Document_upload', | ||||
|   templateUrl: './Document_upload.component.html', | ||||
|   styleUrls: ['./Document_upload.component.scss'] | ||||
| }) | ||||
| export class Document_uploadComponent implements OnInit { | ||||
|   cardButton = Document_uploadcardvariable.cardButton; | ||||
|   cardmodeldata = Document_uploadcardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Document_uploadcardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Document_upload_formCode' | ||||
| tableName = 'Document_upload';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Document_uploadservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|   ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Document_upload_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| FileDataImageupload_field: any[]; | ||||
|   selectedImageupload_field: any[]; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
|     this.selectedimageupload_field = []; | ||||
|     this.mainService.uploadImageupload_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ | ||||
|       console.log(uploaddata); | ||||
|       this.FileDataimageupload_field = uploaddata; | ||||
|      | ||||
|     }) | ||||
| 
 | ||||
|     this.selectedfileupload_field = []; | ||||
|     this.mainService.uploadfilegetByIdfileupload_field(row.id,this.tableName).subscribe(uploaddata =>{ | ||||
|       console.log(uploaddata); | ||||
|       this.FileDatafileupload_field = uploaddata; | ||||
|      | ||||
|     }) | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| for (let i = 0; i < this.selectedimageupload_field.length; i++){ | ||||
| 
 | ||||
|   this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{ | ||||
|     console.log(uploaddata); | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| for (let i = 0; i < this.selectedfileupload_field.length; i++){ | ||||
| 
 | ||||
|   this.mainService.uploadfilefileupload_field(data.id,this.tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ | ||||
|     console.log(uploaddata); | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500);for (let i = 0; i < this.selectedimageupload_field.length; i++){ | ||||
| 
 | ||||
|   this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{ | ||||
|     console.log(uploaddata); | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| for (let i = 0; i < this.selectedfileupload_field.length; i++){ | ||||
| 
 | ||||
|   this.mainService.uploadfilefileupload_field(data.id,this.tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ | ||||
|     console.log(uploaddata); | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false;this.FileDataImageupload_field = []; | ||||
| this.selectedImageupload_field =[]; | ||||
| 
 | ||||
| this.FileDatafileupload_field = []; | ||||
| this.selectedfileupload_field =[]; | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| filePreviewimageupload_field: string | ArrayBuffer | null = null; | ||||
| FileDataimageupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
 | ||||
| selectedimageupload_field: File[]=[];  | ||||
| public onFileChangedimageupload_field(event, index) { | ||||
|   const files = event.target.files; | ||||
|   for (let i = 0; i < files.length; i++) { | ||||
|     const file = files[i]; | ||||
|     this.FileDataimageupload_field[index].uploadedfile_name = files[i].name; | ||||
|     this.selectedimageupload_field.push(files[i]); | ||||
|     if (file.type.startsWith('image/')) { | ||||
|       const reader = new FileReader(); | ||||
|       reader.onload = (e) => { | ||||
|         // Set the file preview source
 | ||||
|         const filePreview = e.target?.result as string; | ||||
|         this.FileDataimageupload_field[index] = { | ||||
|           ...this.FileDataimageupload_field[index], // Preserve existing properties
 | ||||
|           filePreview: filePreview // Update only the filePreview property
 | ||||
|         }; | ||||
|       }; | ||||
|       reader.readAsDataURL(file); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|     onAddLinesimageupload_field(){ | ||||
|       this.FileDataimageupload_field.push({ | ||||
|         uploadedfile_name: "", | ||||
|         filePreview: "", | ||||
|         // f3: "",
 | ||||
|       }); | ||||
|     } | ||||
|     deleteRowimageupload_field(index,id) { | ||||
|       this.FileDataimageupload_field.splice(index, 1); | ||||
| 
 | ||||
|       if(id){ | ||||
|       this.mainService.uploadImageupload_fielddelete(id).subscribe(data =>{ | ||||
|         console.log(data); | ||||
|       }) | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
| filePreviewfileupload_field: string | ArrayBuffer | null = null; | ||||
| FileDatafileupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
 | ||||
| selectedfileupload_field: File[]=[];  | ||||
| public onFileChangedfileupload_field(event, index) { | ||||
|   const files = event.target.files; | ||||
|   for (let i = 0; i < files.length; i++) { | ||||
|     const file = files[i]; | ||||
|     this.FileDatafileupload_field[index].uploadedfile_name = files[i].name; | ||||
|     this.selectedfileupload_field.push(files[i]); | ||||
|     if (file.type.startsWith('file/')) { | ||||
|       const reader = new FileReader(); | ||||
|       reader.onload = (e) => { | ||||
|         // Set the file preview source
 | ||||
|         const filePreview = e.target?.result as string; | ||||
|         this.FileDatafileupload_field[index] = { | ||||
|           ...this.FileDatafileupload_field[index], // Preserve existing properties
 | ||||
|           filePreview: filePreview // Update only the filePreview property
 | ||||
|         }; | ||||
|       }; | ||||
|       reader.readAsDataURL(file); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|     onAddLinesfileupload_field(){ | ||||
|       this.FileDatafileupload_field.push({ | ||||
|         uploadedfile_name: "", | ||||
|         filePreview: "", | ||||
|         // f3: "",
 | ||||
|       }); | ||||
|     } | ||||
|     deleteRowfileupload_field(index,id) { | ||||
|       this.FileDatafileupload_field.splice(index, 1); | ||||
| 
 | ||||
|       if(id){ | ||||
|       this.mainService.uploadfiledeletefileupload_field(id).subscribe(data =>{ | ||||
|         console.log(data); | ||||
|       }) | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,63 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Document_uploadservice{ | ||||
|   private baseURL = "Document_upload/Document_upload" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
|   uploadImageupload_field(ref:any, Document_upload:any, file:any): Observable<any>{ | ||||
|     const formData = new FormData(); | ||||
|     formData.append('file', file); | ||||
|     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`, formData); | ||||
|   } | ||||
| 
 | ||||
|   uploadImageupload_fieldgetById(ref:any, Document_upload:any,): Observable<any> { | ||||
|     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   uploadImageupload_fielddelete(id: number): Observable<any> { | ||||
|     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||
|   } | ||||
| 
 | ||||
|   uploadfilefileupload_field(ref:any, Document_upload:any, file:any): Observable<any>{ | ||||
|     const formData = new FormData(); | ||||
|     formData.append('file', file); | ||||
|     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`, formData); | ||||
|   } | ||||
| 
 | ||||
|   uploadfilegetByIdfileupload_field(ref:any, Document_upload:any,): Observable<any> { | ||||
|     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   uploadfiledeletefileupload_field(id: number): Observable<any> { | ||||
|     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||
|   } | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Document_uploadcardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -0,0 +1,315 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Visa Entry Type</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Visa Entry Type </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
|         <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="' visa_entry_type'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Visa Entry Type | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| <clr-dg-cell>{{user. visa_entry_type }}</clr-dg-cell> | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Visa Entry Type | ||||
|  <!--update button --> | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Visa Entry Type</label> | ||||
| 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.visa_entry_type" name="visa_entry_type" /> | ||||
| 	      </div> | ||||
| 
 | ||||
|   </div>  | ||||
| 
 | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Visa Entry Type  | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Visa_entry_type_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Visa Entry Type</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="visa_entry_type" />        | ||||
|  </div> | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
| @ -0,0 +1,78 @@ | ||||
| //@import "../../../../assets/scss/var"; | ||||
| .s-info-bar { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: space-between; | ||||
|   button { | ||||
|     outline: none; | ||||
|   } | ||||
| } | ||||
| .delete,.heading{ | ||||
|   text-align: center; | ||||
|   color: red; | ||||
| } | ||||
| .entry-pg { | ||||
|   width: 750px; | ||||
| } | ||||
| 
 | ||||
| .button1::after { | ||||
|   content: none; | ||||
| } | ||||
| .button1:hover::after { | ||||
|   content: "ADD ROWS"; | ||||
| } | ||||
| 
 | ||||
| .section { | ||||
|   background-color: #dddddd; | ||||
|   height: 40px; | ||||
| } | ||||
| 
 | ||||
| .section p { | ||||
|   //color: white; | ||||
|   padding: 10px; | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| .clr-input { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   padding: 0.75rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .clr-file { | ||||
|   color: #212529; | ||||
|   border: 1px solid #ced4da; | ||||
|   border-radius: 0.25rem; | ||||
|   //padding: 0.6rem 0.75rem; | ||||
|   margin-top: 3px; | ||||
|   width: 100%; | ||||
|   margin-bottom: 10px; | ||||
| } | ||||
| 
 | ||||
| .center { | ||||
|   text-align: center; | ||||
| } | ||||
| select{ | ||||
|   width: 100%; | ||||
|   margin-top: 3px; | ||||
|   padding: 5px 5px; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
| } | ||||
| input[type=text],[type=date],[type=number],textarea { | ||||
|   width: 100%; | ||||
|   padding: 15px 15px; | ||||
|   background-color:rgb(255, 255, 255); | ||||
|  // margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .error_mess { | ||||
|   color: red; | ||||
| } | ||||
| @ -0,0 +1,220 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Visa_entry_typeservice} from './Visa_entry_type.service'; | ||||
| import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms'; | ||||
| import { ExtensionService } from 'src/app/services/fnd/extension.service'; | ||||
| import { DashboardContentModel2 } from 'src/app/models/builder/dashboard';  | ||||
| import { Visa_entry_typecardvariable } from './Visa_entry_type_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Visa_entry_type', | ||||
|   templateUrl: './Visa_entry_type.component.html', | ||||
|   styleUrls: ['./Visa_entry_type.component.scss'] | ||||
| }) | ||||
| export class Visa_entry_typeComponent implements OnInit { | ||||
|   cardButton = Visa_entry_typecardvariable.cardButton; | ||||
|   cardmodeldata = Visa_entry_typecardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Visa_entry_typecardvariable.cardButton; | ||||
|   cardmodal;  changeView(){ | ||||
|   this.isCardview = !this.isCardview; | ||||
|   } | ||||
|     beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | ||||
|     const index = fieldtext.indexOf('<'); | ||||
|     return index !== -1 ? fieldtext.substring(0, index) : fieldtext; | ||||
|   } | ||||
|   afterText(fieldtext: string): string { // Extract the text after the last '>'
 | ||||
|     const index = fieldtext.lastIndexOf('>'); | ||||
|     return index !== -1 ? fieldtext.substring(index + 1) : ''; | ||||
|   } | ||||
|   transform(fieldtext: string): string { | ||||
|     const match = fieldtext.match(/<([^>]*)>/); | ||||
|     return match ? match[1] : ''; // Extract the text between '<' and '>'
 | ||||
|   } | ||||
|  userrole; | ||||
|   rowSelected :any= {}; | ||||
|   modaldelete=false; | ||||
|   modalEdit=false; | ||||
|   modalAdd= false; | ||||
|   public entryForm: FormGroup; | ||||
|   loading = false; | ||||
|   product; | ||||
|   modalOpenedforNewLine = false; | ||||
|   newLine:any; | ||||
|  additionalFieldsFromBackend: any[] = []; | ||||
|   formcode = 'Visa_entry_type_formCode' | ||||
| tableName = 'Visa_entry_type';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Visa_entry_typeservice, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|   ) { } | ||||
| // component button 
 | ||||
|   ngOnInit(): void { | ||||
|     if(this.cardmodeldata !== ''){ | ||||
|      this.cardmodal = JSON.parse(this.cardmodeldata); | ||||
|     this.dashboardArray = this.cardmodal.dashboard.slice(); | ||||
|     console.log(this.dashboardArray) | ||||
|     } | ||||
|     this.userrole=this.userInfoService.getRoles(); | ||||
|     this.getData(); | ||||
|     this.entryForm = this._fb.group({ | ||||
| visa_entry_type : [null], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
|   }); // component_button200
 | ||||
|  // form code start
 | ||||
|     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||
|       console.log(data); | ||||
|       const jsonArray = data.map((str) => JSON.parse(str)); | ||||
|       this.additionalFieldsFromBackend = jsonArray; | ||||
|       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Visa_entry_type_formCode"); | ||||
|       console.log(this.checkFormCode); | ||||
|       console.log(this.additionalFieldsFromBackend); | ||||
|       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||
|         this.additionalFieldsFromBackend.forEach(field => { | ||||
|           if (field.formCode === this.formcode) { | ||||
|             if (!this.entryForm.contains(field.extValue)) { | ||||
|               // Add the control only if it doesn't exist in the form
 | ||||
|               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       } | ||||
|     }); | ||||
|     console.log(this.entryForm.value); | ||||
|     // form code end 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
|  if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,35 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class Visa_entry_typeservice{ | ||||
|   private baseURL = "Visa_entry_type/Visa_entry_type" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| @ -0,0 +1,4 @@ | ||||
| export const Visa_entry_typecardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
| @ -19,6 +19,7 @@ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| @ -249,6 +250,8 @@ export class Stepper_workflowComponent implements OnInit { | ||||
|     console.log('id is ', id) | ||||
| 
 | ||||
|     // stepper route
 | ||||
|  this.router.navigate(["../test_VPS/", id], { relativeTo: this.route }); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -0,0 +1 @@ | ||||
| {"version":3,"sources":["test_VPS.component.scss","test_VPS.component.css"],"names":[],"mappings":"AAAA;EACE,UAAA;EACA,YAAA;ACCF;;ADCA;EACE,UAAA;EACA,aAAA;ACEF;;ADAA;EACE,UAAA;EACA,aAAA;ACGF;;ADDA;EACE,UAAA;EACA,aAAA;ACIF;;ADDA;EACE,WAAA;EACA,aAAA;ACIF;;ADDA;EACE,WAAA;EACA,kBAAA;EACA,aAAA;EACA,qBAAA;EACA,sBAAA;EACA,kBAAA;EACA,sBAAA;ACIF;;ADFA;EACE,UAAA;ACKF;;ADHA;EACE,kBAAA;ACMF;;ADHA;EACE,WAAA;ACMF;;ADJA;EACA;IACA,WAAA;ECOE;AACF","file":"test_VPS.component.css"} | ||||
| @ -0,0 +1,523 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://" [routerLink]="['/']">Home</a></li> | ||||
|   <li><a href="javascript://">stepper</a></li> | ||||
| </ol> | ||||
| 
 | ||||
| <div class="button-bar"> | ||||
| 
 | ||||
|   <span class="spacer"></span> | ||||
|   <button class="btn btn-sm btn-primary" (click)="reset()">Reset</button> | ||||
| 
 | ||||
|   <button class="btn btn-sm btn-primary" (click)="changeToHorizonTal()" | ||||
|     *ngIf="layout.direction === 'vertical'">HorizonTal Layout</button> | ||||
|   <button class="btn btn-sm btn-primary" (click)="changeToVertical()" *ngIf="layout.direction === 'horizontal'">Vertical | ||||
|     Layout</button> | ||||
| 
 | ||||
| </div> | ||||
| 
 | ||||
| <div class="clr-row"> | ||||
|   <div [class]="layout.block1"> | ||||
|     <div class="card"> | ||||
|       <div class="card-header"> | ||||
|         <h3 style="text-align: center;"> Workflow</h3> | ||||
|       </div> | ||||
| 
 | ||||
|       <div class=" card-block container"> | ||||
| 
 | ||||
|         <clr-timeline [clrLayout]="layout.direction"> | ||||
|    <clr-timeline-step [clrState]="timelineStyle.step0.state"> | ||||
|             <clr-timeline-step-header>step 0</clr-timeline-step-header> | ||||
|             <clr-timeline-step-title> <span *ngIf="!appToUpdate">Application</span><span *ngIf="appToUpdate"> Update | ||||
|                 Datagrid</span> </clr-timeline-step-title> | ||||
|             <clr-timeline-step-description> <span>Create/Test_customer_information<br> Information Of | ||||
|                 Customer</span></clr-timeline-step-description> | ||||
|           </clr-timeline-step>   | ||||
| 
 | ||||
|    <clr-timeline-step [clrState]="timelineStyle.step1.state"> | ||||
|             <clr-timeline-step-header>step 1</clr-timeline-step-header> | ||||
|             <clr-timeline-step-title> <span *ngIf="!appToUpdate">Application</span><span *ngIf="appToUpdate"> Update | ||||
|                 Datagrid</span> </clr-timeline-step-title> | ||||
|             <clr-timeline-step-description> <span>Create/Test_document_upload<br> Information Of | ||||
|                 Customer</span></clr-timeline-step-description> | ||||
|           </clr-timeline-step>   | ||||
| 
 | ||||
|  <clr-timeline-step [clrState]="timelineStyle.step2.state"> | ||||
|             <clr-timeline-step-header>Step 2</clr-timeline-step-header> | ||||
|             <clr-timeline-step-title>Review And <br>Confirmation</clr-timeline-step-title> | ||||
|             <clr-timeline-step-description> | ||||
|               Finish . | ||||
|             </clr-timeline-step-description> | ||||
|           </clr-timeline-step></clr-timeline> | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|   <div [class]="layout.block2"> | ||||
|     <!--STEP 0--> | ||||
|     <div class="card" *ngIf="timelineStyle.step0.open"> | ||||
|       <div class="card-header"> | ||||
|         <h3 style="text-align: center;" *ngIf="!appToUpdate">Test_customer_information</h3> | ||||
|         <h3 style="text-align: center;" *ngIf="appToUpdate"> Update {{Customer_informationentryForm.name}}</h3> | ||||
|         <div class="container"> | ||||
| 
 | ||||
|           <br /> | ||||
| 
 | ||||
|          | ||||
|           <form [formGroup]="Customer_informationentryForm"> | ||||
| 
 | ||||
|             <div class="container"> | ||||
| 
 | ||||
|               <div class="clr-row"><div class="clr-col-sm-12"> | ||||
|  <label>  Name</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="name" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
|  <label>  Description</label>              | ||||
|  <textarea cols="10" rows="2" formControlName="description" placeholder="Textarea">  </textarea> | ||||
| 	            </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
|  <label> Active</label>             | ||||
|   <input type="checkbox" formControlName="active" clrToggle/>            </div> | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| <div class="clr-col-sm-12"> | ||||
| 	          <label>  Visa Entry Type</label>  | ||||
| <select  formControlName="visa_entry_type">   | ||||
|   <option [value]="null">Choose Visa Entry Type</option> | ||||
| 				<option *ngFor="let item of selectvisa_entry_type" [value]="item.id">{{item.Visa_entry_type}}</option> | ||||
| 	      </select>          </div> | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
| 	 <label>Visa Duration</label> | ||||
| 							 <select formControlName="visa_duration"> | ||||
| 							    <option [value]="null">Select  Visa Duration </option>  | ||||
| 								 | ||||
|   | ||||
| 								<option> 10_days </option> | ||||
| 								  | ||||
| 
 | ||||
|   | ||||
| 								<option> 20_days </option> | ||||
| 								  | ||||
| 
 | ||||
| 						</select></div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
| 	 <label>Visa Processing</label> | ||||
| 							 <select formControlName="visa_processing"> | ||||
| 							    <option [value]="null">Select  Visa Processing </option>  | ||||
| 								 | ||||
|   | ||||
| 								<option> test2 </option> | ||||
| 								  | ||||
| 
 | ||||
|   | ||||
| 								<option> test </option> | ||||
| 								  | ||||
| 
 | ||||
| 						</select></div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Travel start date</label> | ||||
|  <input class="clr-input"  type="date"  formControlName="travel_start_date" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Travel end date</label> | ||||
|  <input class="clr-input"  type="date"  formControlName="travel_end_date" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  passport Number</label> | ||||
|  <input class="clr-input"  type="number"  formControlName="passport_number" />       | ||||
|  <div *ngIf="submitted && entryForm.controls.passport_number.errors" class="error_mess"> | ||||
|   <div *ngIf="submitted && entryForm.controls.passport_number.errors.required" class="error_mess">*This field is Required</div> | ||||
| </div>   | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Passport issue date</label> | ||||
|  <input class="clr-input"  type="date"  formControlName="passport_issue_date" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Passport expiry date</label> | ||||
|  <input class="clr-input"  type="date"  formControlName="passport_expiry_date" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
| 						<label> Email Field</label> | ||||
| <input class="clr-input" type="email" formControlName="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"> | ||||
| <div *ngIf="entryForm.controls['email_field'].errors" class="error_mess"> | ||||
| 						          <div *ngIf="entryForm.controls['email_field'].hasError('pattern')" class="error_mess">* Email must be a valid email address | ||||
| 						            </div>  </div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">         | ||||
| <label>  Phone Number</label>         | ||||
| <input class="clr-input" type="text" formControlName="phone_number" pattern="((\+)?([1-9]{2}))?[1-9]{1}[0-9]{9}$" /> | ||||
| 	        <div *ngIf="submitted && entryForm.controls['phone_number'].errors" class="error_mess"> | ||||
| 	          <div *ngIf="submitted && entryForm.controls['phone_number'].hasError('pattern')" class="error_mess">* Please Follow your pattern,+91 Enter 10 digit Mobile Number. | ||||
| 	          </div>      </div>      </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Birth Place</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="birth_place" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Date of Birth</label> | ||||
|  <input class="clr-input"  type="date"  formControlName="date_of_birth" />        | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|             <label>Gender</label> | ||||
|             <clr-radio-container clrInline style="margin-top: 0;">  | ||||
| 
 | ||||
|   | ||||
|    <clr-radio-wrapper> | ||||
|                 <input type="radio" clrRadio formControlName="gender" (change)="updategender('Male')" [checked]="entryForm.get('gender').value === 'Male'" /> | ||||
|                 <label> Male </label> | ||||
|               </clr-radio-wrapper>      | ||||
|   | ||||
| 
 | ||||
|   | ||||
|    <clr-radio-wrapper> | ||||
|                 <input type="radio" clrRadio formControlName="gender" (change)="updategender('Female')" [checked]="entryForm.get('gender').value === 'Female'" /> | ||||
|                 <label> Female </label> | ||||
|               </clr-radio-wrapper>      | ||||
|   | ||||
| 
 | ||||
|      | ||||
|  </clr-radio-container> | ||||
|           </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Profession</label> | ||||
|  <input class="clr-input"  type="text"  formControlName="profession" />        | ||||
|  </div> | ||||
| 
 | ||||
| <!-- currency field start --> | ||||
|       <div class="clr-col-sm-12">         | ||||
|  <label> Visa cost</label>          | ||||
| <input type="number"  class="clr-input"   formControlName="visa_cost"  [value]="entryForm.value.visa_cost | number:'1.2-2' | removeCommas">    | ||||
|     </div>  | ||||
| 	      <!-- currency field end --> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
| 	 <label>Referrer</label> | ||||
| 							 <select formControlName="referrer"> | ||||
| 							    <option [value]="null">Select  Referrer </option>  | ||||
| 								 | ||||
|   | ||||
| 								<option> Ref1 </option> | ||||
| 								  | ||||
| 
 | ||||
|   | ||||
| 								<option> Ref2 </option> | ||||
| 								  | ||||
| 
 | ||||
| 						</select></div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
| 	 <label>Nationality</label> | ||||
| 							 <select formControlName="nationality"> | ||||
| 							    <option [value]="null">Select  Nationality </option>  | ||||
| 								 | ||||
|   | ||||
| 								<option> British </option> | ||||
| 								  | ||||
| 
 | ||||
|   | ||||
| 								<option> Indian </option> | ||||
| 								  | ||||
| 
 | ||||
| 						</select></div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
| 	 <label>Supplier</label> | ||||
| 							 <select formControlName="supplier"> | ||||
| 							    <option [value]="null">Select  Supplier </option>  | ||||
| 								 | ||||
|   | ||||
| 								<option> sup2 </option> | ||||
| 								  | ||||
| 
 | ||||
|   | ||||
| 								<option> sup1 </option> | ||||
| 								  | ||||
| 
 | ||||
| 						</select></div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">              | ||||
| 	 <label>Agent</label> | ||||
| 							 <select formControlName="agent"> | ||||
| 							    <option [value]="null">Select  Agent </option>  | ||||
| 								 | ||||
|   | ||||
| 								<option> Agent1 </option> | ||||
| 								  | ||||
| 
 | ||||
|   | ||||
| 								<option> Agent2 </option> | ||||
| 								  | ||||
| 
 | ||||
| 						</select></div> | ||||
| 
 | ||||
| 
 | ||||
|               </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|               <div class="clr-row"> | ||||
| 
 | ||||
|               </div> | ||||
|               <!-- end row --> | ||||
|               <br> | ||||
| <div class="button"> | ||||
|   <button type="submit" class="btn btn-primary" (click)="onTest_customer_informationSave()">Submit</button> | ||||
|   <button type="button" class="btn btn-primary" | ||||
|     (click)="this.timelineStyle.step0 = { state: 'success', open: false }; | ||||
|              this.timelineStyle.step1 = { state: 'current', open: true }; this.current()">Complete</button> | ||||
|   <button type="button" class="btn btn-primary" | ||||
|     (click)="this.timelineStyle.step0 = { state: 'current', open: false }; | ||||
|              this.timelineStyle.step1 = { state: 'not-started', open: true }">Next</button> | ||||
| </div>  </div> | ||||
|           </form> | ||||
| 
 | ||||
|         </div> | ||||
| 
 | ||||
|       </div> | ||||
|     </div>  | ||||
|     <!--STEP 1--> | ||||
|     <div class="card" *ngIf="timelineStyle.step1.open"> | ||||
|       <div class="card-header"> | ||||
|         <h3 style="text-align: center;" *ngIf="!appToUpdate">Test_document_upload</h3> | ||||
|         <h3 style="text-align: center;" *ngIf="appToUpdate"> Update {{Document_uploadentryForm.name}}</h3> | ||||
|         <div class="container"> | ||||
| 
 | ||||
|           <br /> | ||||
| 
 | ||||
|          | ||||
|           <form [formGroup]="Document_uploadentryForm"> | ||||
| 
 | ||||
|             <div class="container"> | ||||
| 
 | ||||
|               <div class="clr-row"> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|               </div> | ||||
| 
 | ||||
| <h6> List of imageupload_field</h6> | ||||
| 
 | ||||
|  <div  class="clr-row" style="margin-top: 10px;"> | ||||
|    <table class="table"> | ||||
|        <thead> | ||||
|         <tr> | ||||
|         <th>No</th> | ||||
|          <th> File</th> | ||||
|          <th>File Name</th> | ||||
|           <th>Preview</th> | ||||
|           <th>Cancel</th> | ||||
|            </tr> | ||||
|          </thead> | ||||
|          <tbody > | ||||
|            <tr *ngFor="let attach of FileDataimageupload_field; let i=index"> | ||||
|              <td style="width: 70px;"><input type="text" class="clr-input"  value={{i+1}} [readonly]="true">  </td> | ||||
|              <td><input type="file" (change)="onFileChangedimageupload_field($event, i)"  accept="image/*" /><!--accept=".pdf,.doc,.docx,.jpg,.msg"--> | ||||
|               </td> | ||||
|          <td>{{attach.uploadedfile_name}}</td> | ||||
|              <td >  <img [src]="attach.filePreview" alt="File Preview"  [ngModelOptions]="{standalone: true}" name="filePreview" width="100px" height="100px"></td> | ||||
|              <td> | ||||
|                <a  (click)="deleteRowimageupload_field(i)"> | ||||
|                  <clr-icon shape="trash" class="is-error"></clr-icon> | ||||
|                </a> | ||||
|              </td> | ||||
|            </tr> | ||||
| 
 | ||||
| 
 | ||||
|        </tbody> | ||||
|          <button type="button" class="btn btn-primary button1" style="margin-left: 20px;" (click)="onAddLinesimageupload_field()"> | ||||
|            <clr-icon shape="plus"></clr-icon> | ||||
|          </button> | ||||
| 
 | ||||
|        </table> </div> | ||||
| 
 | ||||
| <h6> List of fileupload_field</h6> | ||||
| 
 | ||||
|  <div  class="clr-row" style="margin-top: 10px;"> | ||||
|    <table class="table"> | ||||
|        <thead> | ||||
|         <tr> | ||||
|         <th>No</th> | ||||
|          <th> File</th> | ||||
|          <th>File Name</th> | ||||
|           <th>Preview</th> | ||||
|           <th>Cancel</th> | ||||
|            </tr> | ||||
|          </thead> | ||||
|          <tbody > | ||||
|            <tr *ngFor="let attach of FileDatafileupload_field; let i=index"> | ||||
|              <td style="width: 70px;"><input type="text" class="clr-input"  value={{i+1}} [readonly]="true">  </td> | ||||
|              <td><input type="file" (change)="onFileChangedfileupload_field($event, i)"  accept = "application/pdf,.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" /><!--accept=".pdf,.doc,.docx,.jpg,.msg"--> | ||||
|               </td> | ||||
|          <td>{{attach.uploadedfile_name}}</td> | ||||
|              <td >  <img [src]="attach.filePreview" alt="File Preview"  [ngModelOptions]="{standalone: true}" name="filePreview" width="100px" height="100px"></td> | ||||
|              <td> | ||||
|                <a  (click)="deleteRowfileupload_field(i)"> | ||||
|                  <clr-icon shape="trash" class="is-error"></clr-icon> | ||||
|                </a> | ||||
|              </td> | ||||
|            </tr> | ||||
| 
 | ||||
| 
 | ||||
|        </tbody> | ||||
|          <button type="button" class="btn btn-primary button1" style="margin-left: 20px;" (click)="onAddLinesfileupload_field()"> | ||||
|            <clr-icon shape="plus"></clr-icon> | ||||
|          </button> | ||||
| 
 | ||||
|        </table> </div> | ||||
| 
 | ||||
|               <div class="clr-row"> | ||||
| 
 | ||||
|               </div> | ||||
|               <!-- end row --> | ||||
|               <br> | ||||
| <div class="button"> | ||||
|   <button type="submit" class="btn btn-success" (click)="onTest_document_uploadSave()">Test Document Upload</button> | ||||
|   <button type="button" class="btn btn-primary" | ||||
|     (click)="timelineStyle.step1 = { state: 'success', open: false }; | ||||
|              timelineStyle.step2 = { state: 'current', open: true }">Complete</button> | ||||
|   <button class="btn btn-primary-outline" | ||||
|     (click)="timelineStyle.step0 = { state: 'current', open: true }; | ||||
|              timelineStyle.step1 = { state: 'not-started', open: false }">Back</button> | ||||
| </div>  </div> | ||||
|           </form> | ||||
| 
 | ||||
|         </div> | ||||
| 
 | ||||
|       </div> | ||||
|     </div>  | ||||
|  <!--STEP 2-->  <div class="card" *ngIf="timelineStyle.step2.open"> | ||||
|       <div class="card-header"> | ||||
|         <h3 style="text-align: center;" *ngIf="!appToUpdate"> Review And Confirmation</h3> | ||||
|         <div class="container"> | ||||
| 
 | ||||
|           <!--  Info --> | ||||
|    <div class="clr-row mb-3"> | ||||
|             <div class="clr-col-12"> | ||||
|               <h5>Test_customer_information Summary:</h5><p><strong>Name : </strong> {{ Customer_informationentryForm.get('name')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Description : </strong> {{ Customer_informationentryForm.get('description')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Active : </strong> {{ Customer_informationentryForm.get('active')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Visa Entry Type : </strong> {{ Customer_informationentryForm.get('visa_entry_type')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Visa Duration : </strong> {{ Customer_informationentryForm.get('visa_duration')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Visa Processing : </strong> {{ Customer_informationentryForm.get('visa_processing')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Travel start date : </strong> {{ Customer_informationentryForm.get('travel_start_date')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Travel end date : </strong> {{ Customer_informationentryForm.get('travel_end_date')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>passport Number : </strong> {{ Customer_informationentryForm.get('passport_number')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Passport issue date : </strong> {{ Customer_informationentryForm.get('passport_issue_date')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Passport expiry date : </strong> {{ Customer_informationentryForm.get('passport_expiry_date')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Email Field : </strong> {{ Customer_informationentryForm.get('email_field')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Phone Number : </strong> {{ Customer_informationentryForm.get('phone_number')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Birth Place : </strong> {{ Customer_informationentryForm.get('birth_place')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Date of Birth : </strong> {{ Customer_informationentryForm.get('date_of_birth')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Gender : </strong> {{ Customer_informationentryForm.get('gender')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Profession : </strong> {{ Customer_informationentryForm.get('profession')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Visa cost : </strong> {{ Customer_informationentryForm.get('visa_cost')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Referrer : </strong> {{ Customer_informationentryForm.get('referrer')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Nationality : </strong> {{ Customer_informationentryForm.get('nationality')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Supplier : </strong> {{ Customer_informationentryForm.get('supplier')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Agent : </strong> {{ Customer_informationentryForm.get('agent')?.value }}</p> | ||||
| 
 | ||||
| 
 | ||||
|             </div> | ||||
|           </div>   <div class="clr-row mb-3"> | ||||
|             <div class="clr-col-12"> | ||||
|               <h5>Test_document_upload Summary:</h5><p><strong>Imageupload Field : </strong> {{ Document_uploadentryForm.get('imageupload_field')?.value }}</p> | ||||
| 
 | ||||
| <p><strong>Fileupload Field : </strong> {{ Document_uploadentryForm.get('fileupload_field')?.value }}</p> | ||||
| 
 | ||||
| 
 | ||||
|             </div> | ||||
|           </div><div class="button"> | ||||
|   <button class="btn btn-primary-outline" | ||||
|     (click)="this.timelineStyle.step1 = { state: 'current', open: true }; | ||||
|              this.timelineStyle.step2 = { state: 'not-started', open: false }">Back</button> | ||||
|   <button class="btn btn-primary" | ||||
|     (click)="timelineStyle.step2 = { state: 'success', open: false }; current(); | ||||
|              alert('Process Finished Successfully!')">Finish</button> | ||||
| </div></div> | ||||
|       </div> | ||||
|     </div> | ||||
| @ -0,0 +1,46 @@ | ||||
| .horizontal{ | ||||
|   width: 25%; | ||||
|   padding: 5px; | ||||
| } | ||||
| .horizontal1{ | ||||
|   width: 50%; | ||||
|   padding: 10px; | ||||
| } | ||||
| .middle{ | ||||
|   width: 33%; | ||||
|   padding: 10px; | ||||
| } | ||||
| .middle1{ | ||||
|   width: 75%; | ||||
|   padding: 10px; | ||||
| } | ||||
| 
 | ||||
| .full{ | ||||
|   width: 100%; | ||||
|   padding: 10px; | ||||
| } | ||||
| 
 | ||||
| input[type=text],[type=date], select { | ||||
|   width: 100%; | ||||
|   padding: 12px 20px; | ||||
|   margin: 8px 0; | ||||
|   display: inline-block; | ||||
|   border: 1px solid #ccc; | ||||
|   border-radius: 4px; | ||||
|   box-sizing: border-box; | ||||
| } | ||||
| .required-field{ | ||||
|   color: red; | ||||
| } | ||||
| .center { | ||||
|   text-align: center; | ||||
| 
 | ||||
| } | ||||
| .center{ | ||||
|   color: blue; | ||||
| } | ||||
| @media (max-width: 600px){ | ||||
| .horizontal,.middle,.horizontal1,.middle1 { | ||||
| width: 100%; | ||||
| }} | ||||
| 
 | ||||
| @ -0,0 +1,25 @@ | ||||
| import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||||
| 
 | ||||
| import { test_VPSComponent } from './test_VPS.component'; | ||||
| 
 | ||||
| describe('test_VPSComponent', () => { | ||||
|   let component: test_VPSComponent; | ||||
|   let fixture: ComponentFixture<test_VPSComponent>; | ||||
| 
 | ||||
|   beforeEach(async () => { | ||||
|     await TestBed.configureTestingModule({ | ||||
|       declarations: [ test_VPSComponent ] | ||||
|     }) | ||||
|     .compileComponents(); | ||||
|   }); | ||||
| 
 | ||||
|   beforeEach(() => { | ||||
|     fixture = TestBed.createComponent(test_VPSComponent); | ||||
|     component = fixture.componentInstance; | ||||
|     fixture.detectChanges(); | ||||
|   }); | ||||
| 
 | ||||
|   it('should create', () => { | ||||
|     expect(component).toBeTruthy(); | ||||
|   }); | ||||
| }); | ||||
| @ -0,0 +1,824 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| 
 | ||||
| 
 | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { ActivatedRoute, Router } from '@angular/router'; | ||||
| import { College } from 'src/app/models/fnd/play'; | ||||
| import { student } from 'src/app/models/fnd/Studentadd'; | ||||
| import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||||
| import { Observable } from 'rxjs'; | ||||
| import { ValidationError } from 'src/app/models/fnd/ValidationError'; | ||||
| import { test_VPSservice } from './test_VPS.service'; | ||||
| @Component({ | ||||
|   selector: 'app-editstepper', | ||||
|   templateUrl: './test_VPS.component.html', | ||||
|   styleUrls: ['./test_VPS.component.scss'] | ||||
| }) | ||||
| export class test_VPSComponent implements OnInit { | ||||
|   updated = false; | ||||
|   stringJson: any; | ||||
|   customerId: string = ''; | ||||
|   selectedFile!: File; | ||||
|   fileName = ''; | ||||
| 
 | ||||
|   id: number; | ||||
|   errorFields: ValidationError[] = []; | ||||
|   appToUpdate: College = null; | ||||
|   trained = false; | ||||
| 
 | ||||
|   json: string = ""; | ||||
|   luisApp = | ||||
|     { | ||||
|       name: '', | ||||
|       created: 1, | ||||
|       trained: 1, | ||||
|       tested: 1, | ||||
|       updated: 1, | ||||
|       published: 1, | ||||
| 
 | ||||
|     }; | ||||
|   // Layout direction changing
 | ||||
|   layout = { | ||||
|     direction: "vertical", | ||||
|     block1: "clr-col-lg-3 clr-col-12 ", | ||||
|     block2: "clr-col-lg-9 clr-col-12 ", | ||||
|   }; | ||||
| 
 | ||||
|   timelineStyle = {  | ||||
|  step0: { state: "current", open: true, failed: false },  | ||||
|     step1: { state: "not-started", open: false, failed: false }, | ||||
|     step2: { state: "not-started", open: false, failed: false }, | ||||
| }; | ||||
| public Customer_informationentryForm: FormGroup; | ||||
| public Document_uploadentryForm: FormGroup; | ||||
|   submitted = false; | ||||
|   rowSelected: any = {}; | ||||
|   modalcomplete = false; | ||||
| 
 | ||||
|   constructor(  | ||||
| private mainService: test_VPSservice, | ||||
| 
 | ||||
| private Test_customer_information_fb: FormBuilder,  | ||||
| private Test_document_upload_fb: FormBuilder,  | ||||
| private router: Router, | ||||
|  private route: ActivatedRoute, | ||||
|     private toastr: ToastrService, | ||||
|   ) { } | ||||
| 
 | ||||
|   ngOnInit(): void { | ||||
|     this.id = this.route.snapshot.params["id"]; | ||||
|     console.log("update with id = ", this.id); | ||||
| 
 | ||||
| 
 | ||||
|  this.Customer_informationentryForm = this.Test_customer_information_fb.group({  | ||||
| name : [null], | ||||
| 
 | ||||
| description : [null], | ||||
| 
 | ||||
| active : [true], | ||||
| 
 | ||||
| visa_entry_type : [null], | ||||
| 
 | ||||
| visa_duration : [null], | ||||
| 
 | ||||
| visa_processing : [null], | ||||
| 
 | ||||
| travel_start_date : [null], | ||||
| 
 | ||||
| travel_end_date : [null], | ||||
| 
 | ||||
| passport_number : [null,[Validators.required]], | ||||
| 
 | ||||
| passport_issue_date : [null], | ||||
| 
 | ||||
| passport_expiry_date : [null], | ||||
| 
 | ||||
| email_field : [null], | ||||
| 
 | ||||
| phone_number: ['+91'], | ||||
| 
 | ||||
| birth_place : [null], | ||||
| 
 | ||||
| date_of_birth : [null], | ||||
| 
 | ||||
| gender : [null], | ||||
| 
 | ||||
| profession : [null], | ||||
| 
 | ||||
| visa_cost : [null, { updateOn: 'blur' }], | ||||
| 
 | ||||
| referrer : [null], | ||||
| 
 | ||||
| nationality : [null], | ||||
| 
 | ||||
| supplier : [null], | ||||
| 
 | ||||
| agent : [null], | ||||
| 
 | ||||
| 
 | ||||
|   }); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| this.getallvisa_entry_type(); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  this.Document_uploadentryForm = this.Test_document_upload_fb.group({  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   }); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| this.getallvisa_entry_type(); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  const stepId = this.id; // or from route/query/etc
 | ||||
|   | ||||
|     this.getResolvedDataFromStepper(stepId).subscribe(res => { | ||||
|       console.log('response get ', res); | ||||
| 
 | ||||
|       if (res === null) { | ||||
|         this.showEmptyForm(); | ||||
|       } else { | ||||
|  if (res['Customer_information']) { | ||||
|   | ||||
|  this.prefillTest_customer_informationForm(res['Customer_information']); | ||||
|         } | ||||
| 
 | ||||
|  if (res['Document_upload']) { | ||||
|   | ||||
|  this.prefillTest_document_uploadForm(res['Document_upload']); | ||||
|         } | ||||
| } | ||||
|     }); | ||||
| 
 | ||||
|   } | ||||
| showEmptyForm(): void { | ||||
|     console.log('No config found. Showing empty form.'); | ||||
|     // You can choose to show one or both based on some logic
 | ||||
| 
 | ||||
|  this.Customer_informationentryForm.reset(); | ||||
| 
 | ||||
|  this.Document_uploadentryForm.reset(); | ||||
|   }  prefillTest_customer_informationForm(data: any): void { | ||||
| 
 | ||||
|     console.log(' Test_customer_information data ', data) | ||||
|     this.Customer_informationentryForm.patchValue({ | ||||
|       id: data.id || '', | ||||
| name: data.name || '', | ||||
| 
 | ||||
| description: data.description || '', | ||||
| 
 | ||||
| active: data.active || '', | ||||
| 
 | ||||
| visa_entry_type: data.visa_entry_type || '', | ||||
| 
 | ||||
| visa_duration: data.visa_duration || '', | ||||
| 
 | ||||
| visa_processing: data.visa_processing || '', | ||||
| 
 | ||||
| travel_start_date: data.travel_start_date || '', | ||||
| 
 | ||||
| travel_end_date: data.travel_end_date || '', | ||||
| 
 | ||||
| passport_number: data.passport_number || '', | ||||
| 
 | ||||
| passport_issue_date: data.passport_issue_date || '', | ||||
| 
 | ||||
| passport_expiry_date: data.passport_expiry_date || '', | ||||
| 
 | ||||
| email_field: data.email_field || '', | ||||
| 
 | ||||
| phone_number: data.phone_number || '', | ||||
| 
 | ||||
| birth_place: data.birth_place || '', | ||||
| 
 | ||||
| date_of_birth: data.date_of_birth || '', | ||||
| 
 | ||||
| gender: data.gender || '', | ||||
| 
 | ||||
| profession: data.profession || '', | ||||
| 
 | ||||
| visa_cost: data.visa_cost || '', | ||||
| 
 | ||||
| referrer: data.referrer || '', | ||||
| 
 | ||||
| nationality: data.nationality || '', | ||||
| 
 | ||||
| supplier: data.supplier || '', | ||||
| 
 | ||||
| agent: data.agent || '', | ||||
| 
 | ||||
|     }); | ||||
|   }  prefillTest_document_uploadForm(data: any): void { | ||||
| 
 | ||||
|     console.log(' Test_document_upload data ', data) | ||||
|     this.Document_uploadentryForm.patchValue({ | ||||
|       id: data.id || '', | ||||
| imageupload_field: data.imageupload_field || '', | ||||
| 
 | ||||
| fileupload_field: data.fileupload_field || '', | ||||
| 
 | ||||
|     }); | ||||
|   } | ||||
|  getResolvedDataFromStepper(id: number): Observable<any> { | ||||
|     console.log('get step config'); | ||||
| 
 | ||||
|     return new Observable(observer => { | ||||
|       this.mainService.gettabledata(id).subscribe(configList => { | ||||
|         if (!configList || configList.length === 0) { | ||||
|           console.log('empty config'); | ||||
|           observer.next(null); | ||||
|           observer.complete(); | ||||
|           return; | ||||
|         } | ||||
| 
 | ||||
|         const results: { [key: string]: any } = {}; | ||||
|         let processed = 0; | ||||
| 
 | ||||
|         configList.forEach(config => { | ||||
|           const { table_name, table_id } = config; | ||||
| 
 | ||||
|           this.getByTableNameAndId(table_name, table_id).subscribe(data => { | ||||
| 
 | ||||
|             console.log('data is ', data); | ||||
|             results[table_name] = data; | ||||
| 
 | ||||
|             processed++; | ||||
|             if (processed === configList.length) { | ||||
|               observer.next(results);  // emit combined data
 | ||||
|               observer.complete(); | ||||
|             } | ||||
| 
 | ||||
|           }, error => { | ||||
|             console.error(`Error loading data for table ${table_name}`, error); | ||||
|             processed++; | ||||
|             if (processed === configList.length) { | ||||
|               observer.next(results);  // continue with what we have
 | ||||
|               observer.complete(); | ||||
|             } | ||||
|           }); | ||||
|         }); | ||||
| 
 | ||||
|       }, error => { | ||||
|         console.error("Error loading stepper config", error); | ||||
|         observer.error(error); | ||||
|       }); | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   getByTableNameAndId(tableName: string, id: number): Observable<any> { | ||||
| 
 | ||||
|     switch (tableName) { | ||||
|    case 'Customer_information': | ||||
|         return this.mainService.getCustomer_informationById(id); case 'Document_upload': | ||||
|         return this.mainService.getDocument_uploadById(id);// aur bhi cases agar naye table add ho to
 | ||||
|       default: | ||||
|         throw new Error(`Unknown table name: ${tableName}`); | ||||
|     } | ||||
|   } | ||||
|   // Change to Horizontal Layout
 | ||||
|   changeToHorizonTal() { | ||||
|     this.layout = { | ||||
|       direction: "horizontal", | ||||
|       block1: "clr-col-lg-12 clr-col-12 height container", | ||||
|       block2: "clr-col-lg-12 clr-col-12 container", | ||||
|     } | ||||
|   } | ||||
|   // Change to Vertical Layout
 | ||||
|   changeToVertical() { | ||||
|     this.layout = { | ||||
|       direction: "vertical", | ||||
|       block1: "clr-col-lg-3 clr-col-12 ", | ||||
|       block2: "clr-col-lg-9 clr-col-12 ", | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   onTest_customer_informationSave() { | ||||
|     console.log('Form Submitted:', this.Customer_informationentryForm.value); | ||||
|     this.submitted = true; | ||||
|     if (this.Customer_informationentryForm.invalid) { | ||||
| 
 | ||||
|       console.log('invalid form ..'); | ||||
|       // Log all form errors
 | ||||
|       Object.keys(this.Customer_informationentryForm.controls).forEach(field => { | ||||
|         const control = this.Customer_informationentryForm.get(field); | ||||
|         if (control && control.invalid) { | ||||
|           console.log(`Error in field: ${field}`, control.errors); | ||||
|         } | ||||
|       } | ||||
|       ); | ||||
|       return; | ||||
|     } | ||||
|     this.onTest_customer_informationCreate(); | ||||
|   } | ||||
| 
 | ||||
|   onTest_customer_informationCreate() { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.mainService.createCustomer_information(this.Customer_informationentryForm.value).subscribe( | ||||
|       (data) => { | ||||
|         console.log('adding data ', data); | ||||
|         this.customerId = data.id; | ||||
| 
 | ||||
|         console.log('id is  ', this.customerId); | ||||
| 
 | ||||
| 
 | ||||
|  const tableId = data.id; | ||||
|         const tableName = 'Customer_information'; | ||||
|         const stepperId = this.id; | ||||
| 
 | ||||
|         // Save stepper config
 | ||||
|         this.mainService.saveStepperConfig(stepperId, tableId, tableName).subscribe(() => { | ||||
|           this.toastr.success("Stepper Config Saved"); | ||||
|         });        if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
|         setTimeout(() => { | ||||
|           this.ngOnInit(); | ||||
|         }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     this.rowSelected = this.Customer_informationentryForm.value; | ||||
| 
 | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   onTest_document_uploadSave() { | ||||
|     console.log('Form Submitted:', this.Document_uploadentryForm.value); | ||||
|     this.submitted = true; | ||||
|     if (this.Document_uploadentryForm.invalid) { | ||||
| 
 | ||||
|       console.log('invalid form ..'); | ||||
|       // Log all form errors
 | ||||
|       Object.keys(this.Document_uploadentryForm.controls).forEach(field => { | ||||
|         const control = this.Document_uploadentryForm.get(field); | ||||
|         if (control && control.invalid) { | ||||
|           console.log(`Error in field: ${field}`, control.errors); | ||||
|         } | ||||
|       } | ||||
|       ); | ||||
|       return; | ||||
|     } | ||||
|     this.onTest_document_uploadCreate(); | ||||
|   } | ||||
| 
 | ||||
|   onTest_document_uploadCreate() { | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.mainService.createDocument_upload(this.Document_uploadentryForm.value).subscribe( | ||||
|       (data) => { | ||||
|         console.log('adding data ', data); | ||||
|         this.customerId = data.id; | ||||
| 
 | ||||
|         console.log('id is  ', this.customerId); | ||||
| 
 | ||||
| 
 | ||||
|  const tableId = data.id; | ||||
|         const tableName = 'Document_upload'; | ||||
|         const stepperId = this.id; | ||||
| 
 | ||||
|         // Save stepper config
 | ||||
|         this.mainService.saveStepperConfig(stepperId, tableId, tableName).subscribe(() => { | ||||
|           this.toastr.success("Stepper Config Saved"); | ||||
|         });        if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
|         setTimeout(() => { | ||||
|           this.ngOnInit(); | ||||
|         }, 500); | ||||
| for (let i = 0; i < this.selectedimageupload_field.length; i++){ | ||||
| 
 | ||||
|   this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{ | ||||
|     console.log(uploaddata); | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| for (let i = 0; i < this.selectedfileupload_field.length; i++){ | ||||
| 
 | ||||
|   this.mainService.uploadfilefileupload_field(data.id,tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ | ||||
|     console.log(uploaddata); | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     this.rowSelected = this.Document_uploadentryForm.value; | ||||
| 
 | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   onnext() { | ||||
|     this.router.navigate(["../../main/workflow"], { relativeTo: this.route }); | ||||
|   } | ||||
|   reset() { | ||||
|     this.json = ""; | ||||
|     this.luisApp = | ||||
|     { | ||||
|       name: '', | ||||
|       trained: 1, | ||||
|       tested: 1, | ||||
|       updated: 1, | ||||
|       published: 1, | ||||
|       created: 1, | ||||
| 
 | ||||
|     }; | ||||
| 
 | ||||
|     this.timelineStyle = { | ||||
|       step0: { state: "current", open: true, failed: false }, | ||||
|       step1: { state: "not-started", open: false, failed: false }, | ||||
|       step2: { state: "not-started", open: false, failed: false }, | ||||
|  }; | ||||
|   } | ||||
|   current() { | ||||
|     console.log(this.timelineStyle) | ||||
|     this.stringJson = JSON.stringify(this.timelineStyle); | ||||
|     console.log("String json object :", this.stringJson); | ||||
| 
 | ||||
|   } | ||||
| filePreviewimageupload_field: string | ArrayBuffer | null = null; | ||||
| FileDataimageupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
 | ||||
| selectedimageupload_field: File[]=[];  | ||||
| public onFileChangedimageupload_field(event, index) { | ||||
|   const files = event.target.files; | ||||
|   for (let i = 0; i < files.length; i++) { | ||||
|     const file = files[i]; | ||||
|     this.FileDataimageupload_field[index].uploadedfile_name = files[i].name; | ||||
|     this.selectedimageupload_field.push(files[i]); | ||||
|     if (file.type.startsWith('image/')) { | ||||
|       const reader = new FileReader(); | ||||
|       reader.onload = (e) => { | ||||
|         // Set the file preview source
 | ||||
|         const filePreview = e.target?.result as string; | ||||
|         this.FileDataimageupload_field[index] = { | ||||
|           ...this.FileDataimageupload_field[index], // Preserve existing properties
 | ||||
|           filePreview: filePreview // Update only the filePreview property
 | ||||
|         }; | ||||
|       }; | ||||
|       reader.readAsDataURL(file); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|     onAddLinesimageupload_field(){ | ||||
|       this.FileDataimageupload_field.push({ | ||||
|         uploadedfile_name: "", | ||||
|         filePreview: "", | ||||
|         // f3: "",
 | ||||
|       }); | ||||
|     } | ||||
|     deleteRowimageupload_field(index,id) { | ||||
|       this.FileDataimageupload_field.splice(index, 1); | ||||
| 
 | ||||
|       if(id){ | ||||
|       this.mainService.uploadImageupload_fielddelete(id).subscribe(data =>{ | ||||
|         console.log(data); | ||||
|       }) | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
| filePreviewfileupload_field: string | ArrayBuffer | null = null; | ||||
| FileDatafileupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
 | ||||
| selectedfileupload_field: File[]=[];  | ||||
| public onFileChangedfileupload_field(event, index) { | ||||
|   const files = event.target.files; | ||||
|   for (let i = 0; i < files.length; i++) { | ||||
|     const file = files[i]; | ||||
|     this.FileDatafileupload_field[index].uploadedfile_name = files[i].name; | ||||
|     this.selectedfileupload_field.push(files[i]); | ||||
|     if (file.type.startsWith('file/')) { | ||||
|       const reader = new FileReader(); | ||||
|       reader.onload = (e) => { | ||||
|         // Set the file preview source
 | ||||
|         const filePreview = e.target?.result as string; | ||||
|         this.FileDatafileupload_field[index] = { | ||||
|           ...this.FileDatafileupload_field[index], // Preserve existing properties
 | ||||
|           filePreview: filePreview // Update only the filePreview property
 | ||||
|         }; | ||||
|       }; | ||||
|       reader.readAsDataURL(file); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|     onAddLinesfileupload_field(){ | ||||
|       this.FileDatafileupload_field.push({ | ||||
|         uploadedfile_name: "", | ||||
|         filePreview: "", | ||||
|         // f3: "",
 | ||||
|       }); | ||||
|     } | ||||
|     deleteRowfileupload_field(index,id) { | ||||
|       this.FileDatafileupload_field.splice(index, 1); | ||||
| 
 | ||||
|       if(id){ | ||||
|       this.mainService.uploadfiledeletefileupload_field(id).subscribe(data =>{ | ||||
|         console.log(data); | ||||
|       }) | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| FileDataImageupload_field: any[]; | ||||
|   selectedImageupload_field: any[]; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -0,0 +1,139 @@ | ||||
| import { Injectable } from '@angular/core'; | ||||
| import { Observable } from "rxjs"; | ||||
| import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||
| import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||
| import { environment } from 'src/environments/environment'; | ||||
| @Injectable({ | ||||
|   providedIn: 'root' | ||||
| }) | ||||
| export class test_VPSservice{ | ||||
|   private StepperURL = "Stepper_table_config/Stepper_table_config"; | ||||
|   private Customer_informationURL = "Customer_information/Customer_information" ;  private Document_uploadURL = "Document_upload/Document_upload" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
| gettabledata(id: number): Observable<any> { | ||||
|     const _http = this.StepperURL + "/stepId/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
| 
 | ||||
|   saveStepperConfig(stepperId: number, tableId: number, tableName: string): Observable<any> { | ||||
|     const params = new HttpParams() | ||||
|       .set('stepperId', stepperId.toString()) | ||||
|       .set('tableId', tableId.toString()) | ||||
|       .set('tableName', tableName); | ||||
| 
 | ||||
|     return this.apiRequest.post(this.StepperURL, null, params); // null body, params used
 | ||||
|   }  getAllCustomer_information(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.Customer_informationURL); | ||||
|   } | ||||
|   getCustomer_informationById(id: number): Observable<any> { | ||||
|     const _http = this.Customer_informationURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   createCustomer_information(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.Customer_informationURL, data); | ||||
|   } | ||||
|   updateCustomer_information(id: number, data: any): Observable<any> { | ||||
|     const _http = this.Customer_informationURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   deleteCustomer_information(id: number): Observable<any> { | ||||
|     const _http = this.Customer_informationURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| getAllvisa_entry_type(): Observable<any> {    | ||||
| return this.apiRequest.get("Visa_entry_type_ListFilter1/Visa_entry_type_ListFilter1");  } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   getAllDocument_upload(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.Document_uploadURL); | ||||
|   } | ||||
|   getDocument_uploadById(id: number): Observable<any> { | ||||
|     const _http = this.Document_uploadURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   createDocument_upload(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.Document_uploadURL, data); | ||||
|   } | ||||
|   updateDocument_upload(id: number, data: any): Observable<any> { | ||||
|     const _http = this.Document_uploadURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   deleteDocument_upload(id: number): Observable<any> { | ||||
|     const _http = this.Document_uploadURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
|   uploadImageupload_field(ref:any, Document_upload:any, file:any): Observable<any>{ | ||||
|     const formData = new FormData(); | ||||
|     formData.append('file', file); | ||||
|     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`, formData); | ||||
|   } | ||||
| 
 | ||||
|   uploadImageupload_fieldgetById(ref:any, Document_upload:any,): Observable<any> { | ||||
|     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   uploadImageupload_fielddelete(id: number): Observable<any> { | ||||
|     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||
|   } | ||||
| 
 | ||||
|   uploadfilefileupload_field(ref:any, Document_upload:any, file:any): Observable<any>{ | ||||
|     const formData = new FormData(); | ||||
|     formData.append('file', file); | ||||
|     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`, formData); | ||||
|   } | ||||
| 
 | ||||
|   uploadfilegetByIdfileupload_field(ref:any, Document_upload:any,): Observable<any> { | ||||
|     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Document_upload}`); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   uploadfiledeletefileupload_field(id: number): Observable<any> { | ||||
|     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||
|   } | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| @ -1,3 +1,7 @@ | ||||
| import { test_VPSComponent } from './BuilderComponents/stepperworkflow/test_VPS/test_VPS.component'; | ||||
| import { Document_uploadComponent } from './BuilderComponents/basicp1/Document_upload/Document_upload.component'; | ||||
| import { Visa_entry_typeComponent } from './BuilderComponents/basicp1/Visa_entry_type/Visa_entry_type.component'; | ||||
| import { Customer_informationComponent } from './BuilderComponents/basicp1/Customer_information/Customer_information.component'; | ||||
| 
 | ||||
| import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; | ||||
| import { Component, NgModule } from '@angular/core'; | ||||
| @ -256,6 +260,18 @@ const routes: Routes = [ | ||||
| 
 | ||||
| 
 | ||||
|       // buildercomponents
 | ||||
| {path:'test_VPS/:id',component:test_VPSComponent}, | ||||
| 
 | ||||
| 
 | ||||
| {path:'Document_upload',component:Document_uploadComponent}, | ||||
| 
 | ||||
| 
 | ||||
| {path:'Visa_entry_type',component:Visa_entry_typeComponent}, | ||||
| 
 | ||||
| 
 | ||||
| {path:'Customer_information',component:Customer_informationComponent}, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,3 +1,7 @@ | ||||
| import { test_VPSComponent } from './BuilderComponents/stepperworkflow/test_VPS/test_VPS.component'; | ||||
| import { Document_uploadComponent } from './BuilderComponents/basicp1/Document_upload/Document_upload.component'; | ||||
| import { Visa_entry_typeComponent } from './BuilderComponents/basicp1/Visa_entry_type/Visa_entry_type.component'; | ||||
| import { Customer_informationComponent } from './BuilderComponents/basicp1/Customer_information/Customer_information.component'; | ||||
| 
 | ||||
| 
 | ||||
| import { CommonModule } from '@angular/common'; | ||||
| @ -129,6 +133,18 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S | ||||
| 
 | ||||
| 
 | ||||
|     // buildercomponents
 | ||||
| test_VPSComponent, | ||||
| 
 | ||||
| 
 | ||||
| Document_uploadComponent, | ||||
| 
 | ||||
| 
 | ||||
| Visa_entry_typeComponent, | ||||
| 
 | ||||
| 
 | ||||
| Customer_informationComponent, | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -226,10 +226,31 @@ | ||||
|   "MENU_ACTION_LINK": "Menu Action Link", | ||||
|   "STATUS": "Status", | ||||
|   "SUB_MENU": "Sub Menu", | ||||
|   "Active": "Active", | ||||
|   "Description": "Description", | ||||
|   "Document_upload": "Document_upload", | ||||
|   "Phone_Number": "Phone_Number", | ||||
|   "Gender": "Gender", | ||||
|   "Fileupload_Field": "Fileupload_Field", | ||||
|   "Test22": "Test22", | ||||
|   "Test11": "Test11", | ||||
|   "Name": "Name" | ||||
|   "Name": "Name", | ||||
|   "Travel_end_date": "Travel_end_date", | ||||
|   "Birth_Place": "Birth_Place", | ||||
|   "Visa_Entry_Type": "Visa_Entry_Type", | ||||
|   "Travel_start_date": "Travel_start_date", | ||||
|   "Visa_entry_type": "Visa_entry_type", | ||||
|   "Supplier": "Supplier", | ||||
|   "Visa_cost": "Visa_cost", | ||||
|   "Agent": "Agent", | ||||
|   "Visa_Processing": "Visa_Processing", | ||||
|   "Date_of_Birth": "Date_of_Birth", | ||||
|   "Visa_Duration": "Visa_Duration", | ||||
|   "Customer_information": "Customer_information", | ||||
|   "Email_Field": "Email_Field", | ||||
|   "Nationality": "Nationality", | ||||
|   "passport_Number": "passport_Number", | ||||
|   "Active": "Active", | ||||
|   "Profession": "Profession", | ||||
|   "Passport_expiry_date": "Passport_expiry_date", | ||||
|   "Referrer": "Referrer", | ||||
|   "Passport_issue_date": "Passport_issue_date", | ||||
|   "Imageupload_Field": "Imageupload_Field" | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user