build_app
This commit is contained in:
		
							parent
							
								
									1df3d9effb
								
							
						
					
					
						commit
						e97c689169
					
				| @ -69,6 +69,15 @@ public class BuilderService { | |||||||
| 		executeDump(true); | 		executeDump(true); | ||||||
| 
 | 
 | ||||||
| 		// ADD OTHER SERVICE | 		// ADD OTHER SERVICE | ||||||
|  | addCustomMenu( "Demotest","Stepper_workflow",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | addCustomMenu( "Advtest1","Advtest1",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | addCustomMenu( "Forma","Forma",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 		System.out.println("dashboard and menu inserted..."); | 		System.out.println("dashboard and menu inserted..."); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -0,0 +1,163 @@ | |||||||
|  | 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.Advtest1; | ||||||
|  | import com.realnet.basicp1.Services.Advtest1Service ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Advtest1") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class Advtest1Controller { | ||||||
|  | 	@Autowired | ||||||
|  | 	private Advtest1Service Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Advtest1") | ||||||
|  | 		  public Advtest1 Savedata(@RequestBody Advtest1 data) { | ||||||
|  | 		Advtest1 save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Advtest1/{id}") | ||||||
|  | 	public  Advtest1 update(@RequestBody Advtest1 data,@PathVariable Integer id ) { | ||||||
|  | 		Advtest1 update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Advtest1/getall/page") | ||||||
|  | 	public Page<Advtest1> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Advtest1> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Advtest1") | ||||||
|  | 	public List<Advtest1> getdetails() { | ||||||
|  | 		 List<Advtest1> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Advtest1") | ||||||
|  | 	public List<Advtest1> getallwioutsec() { | ||||||
|  | 		 List<Advtest1> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Advtest1/{id}") | ||||||
|  | 	public  Advtest1  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Advtest1  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Advtest1/{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,187 @@ | |||||||
|  | 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.Forma; | ||||||
|  | import com.realnet.basicp1.Services.FormaService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Forma") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class FormaController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private FormaService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Forma") | ||||||
|  | 		  public Forma Savedata(@RequestBody Forma data) { | ||||||
|  | 		Forma save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Forma/{id}") | ||||||
|  | 	public  Forma update(@RequestBody Forma data,@PathVariable Integer id ) { | ||||||
|  | 		Forma update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Forma/getall/page") | ||||||
|  | 	public Page<Forma> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Forma> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Forma") | ||||||
|  | 	public List<Forma> getdetails() { | ||||||
|  | 		 List<Forma> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Forma") | ||||||
|  | 	public List<Forma> getallwioutsec() { | ||||||
|  | 		 List<Forma> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Forma/{id}") | ||||||
|  | 	public  Forma  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Forma  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Forma/{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,163 @@ | |||||||
|  | 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.Advtest1; | ||||||
|  | import com.realnet.basicp1.Services.Advtest1Service ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Advtest1") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_Advtest1Controller { | ||||||
|  | 	@Autowired | ||||||
|  | 	private Advtest1Service Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Advtest1") | ||||||
|  | 		  public Advtest1 Savedata(@RequestBody Advtest1 data) { | ||||||
|  | 		Advtest1 save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Advtest1/{id}") | ||||||
|  | 	public  Advtest1 update(@RequestBody Advtest1 data,@PathVariable Integer id ) { | ||||||
|  | 		Advtest1 update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Advtest1/getall/page") | ||||||
|  | 	public Page<Advtest1> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Advtest1> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Advtest1") | ||||||
|  | 	public List<Advtest1> getdetails() { | ||||||
|  | 		 List<Advtest1> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Advtest1") | ||||||
|  | 	public List<Advtest1> getallwioutsec() { | ||||||
|  | 		 List<Advtest1> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Advtest1/{id}") | ||||||
|  | 	public  Advtest1  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Advtest1  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Advtest1/{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,187 @@ | |||||||
|  | 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.Forma; | ||||||
|  | import com.realnet.basicp1.Services.FormaService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Forma") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_FormaController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private FormaService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Forma") | ||||||
|  | 		  public Forma Savedata(@RequestBody Forma data) { | ||||||
|  | 		Forma save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Forma/{id}") | ||||||
|  | 	public  Forma update(@RequestBody Forma data,@PathVariable Integer id ) { | ||||||
|  | 		Forma update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Forma/getall/page") | ||||||
|  | 	public Page<Forma> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Forma> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Forma") | ||||||
|  | 	public List<Forma> getdetails() { | ||||||
|  | 		 List<Forma> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Forma") | ||||||
|  | 	public List<Forma> getallwioutsec() { | ||||||
|  | 		 List<Forma> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Forma/{id}") | ||||||
|  | 	public  Forma  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Forma  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Forma/{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,77 @@ | |||||||
|  | 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    Advtest1 extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | private String  name; | ||||||
|  | 
 | ||||||
|  | private String country; | ||||||
|  | 
 | ||||||
|  |  private String gender; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |    | ||||||
|  |   | ||||||
|  | private boolean villae; | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | private boolean home; | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | private String  fileupload_fieldname; | ||||||
|  | private String  fileupload_fieldpath ; | ||||||
|  | 
 | ||||||
|  | private String  imageupload_fieldname; | ||||||
|  | private String  imageupload_fieldpath ; | ||||||
|  | 
 | ||||||
|  | private String  audio_fieldname; | ||||||
|  | private String  audio_fieldpath ; | ||||||
|  | 
 | ||||||
|  | private String  video_fieldname; | ||||||
|  | private String  video_fieldpath ; | ||||||
|  | 
 | ||||||
|  | private String currency; | ||||||
|  | 
 | ||||||
|  | private String qrcode_field; | ||||||
|  | 
 | ||||||
|  | private String barcode_field; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,81 @@ | |||||||
|  | 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    Forma extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | private String  name; | ||||||
|  | 
 | ||||||
|  | private int number_field; | ||||||
|  | 
 | ||||||
|  |  private String phone_number; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @Column(length = 2000) | ||||||
|  | private String paragraph_field; | ||||||
|  | 
 | ||||||
|  | private String password_field; | ||||||
|  | @Transient | ||||||
|  | private String confirmpassword_field; | ||||||
|  | 
 | ||||||
|  | @Column(length = 2000) | ||||||
|  | private String textarea; | ||||||
|  | 
 | ||||||
|  | private String date_field; | ||||||
|  | 
 | ||||||
|  | private String datetime_field; | ||||||
|  | 
 | ||||||
|  | private String email_field; | ||||||
|  | 
 | ||||||
|  | private boolean toggle_switch; | ||||||
|  | 
 | ||||||
|  |  private double decimal_field; | ||||||
|  | 
 | ||||||
|  | private String url_field; | ||||||
|  | 
 | ||||||
|  | private String recaptcha; | ||||||
|  | 
 | ||||||
|  | private int percentage_field; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,46 @@ | |||||||
|  | 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.Advtest1; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  Advtest1Repository  extends  JpaRepository<Advtest1, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from advtest1 where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Advtest1> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from advtest1 where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Advtest1> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,52 @@ | |||||||
|  | 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.Forma; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  FormaRepository  extends  JpaRepository<Forma, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from forma where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Forma> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from forma where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Forma> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,183 @@ | |||||||
|  | package com.realnet.basicp1.Services; | ||||||
|  | import com.realnet.basicp1.Repository.Advtest1Repository; | ||||||
|  | import com.realnet.basicp1.Entity.Advtest1 | ||||||
|  | ;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 Advtest1Service { | ||||||
|  | @Autowired | ||||||
|  | private Advtest1Repository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Advtest1 Savedata(Advtest1 data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Advtest1 save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Advtest1> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Advtest1> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Advtest1> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Advtest1 getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Advtest1 update(Advtest1 data,Integer id) { | ||||||
|  | 	Advtest1 old = Repository.findById(id).get(); | ||||||
|  | old.setName(data.getName()); | ||||||
|  | 
 | ||||||
|  | old.setCountry(data.getCountry()); | ||||||
|  | 
 | ||||||
|  | old.setGender(data.getGender()); | ||||||
|  | 
 | ||||||
|  |    | ||||||
|  |   | ||||||
|  | old.setVillae(data.isVillae()); | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | old.setHome(data.isHome()); | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |    | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | old.setCurrency(data.getCurrency()); | ||||||
|  | 
 | ||||||
|  | old.setQrcode_field(data.getQrcode_field()); | ||||||
|  | 
 | ||||||
|  | old.setBarcode_field(data.getBarcode_field()); | ||||||
|  | 
 | ||||||
|  | final Advtest1 test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
| @ -0,0 +1,203 @@ | |||||||
|  | package com.realnet.basicp1.Services; | ||||||
|  | import com.realnet.basicp1.Repository.FormaRepository; | ||||||
|  | import com.realnet.basicp1.Entity.Forma | ||||||
|  | ;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 FormaService { | ||||||
|  | @Autowired | ||||||
|  | private FormaRepository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Forma Savedata(Forma data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Forma save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Forma> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Forma> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Forma> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Forma getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Forma update(Forma data,Integer id) { | ||||||
|  | 	Forma old = Repository.findById(id).get(); | ||||||
|  | old.setName(data.getName()); | ||||||
|  | 
 | ||||||
|  | old.setNumber_field(data.getNumber_field()); | ||||||
|  | 
 | ||||||
|  | old.setPhone_number(data.getPhone_number()); | ||||||
|  | 
 | ||||||
|  | old.setParagraph_field(data.getParagraph_field()); | ||||||
|  | 
 | ||||||
|  | old.setPassword_field(data.getPassword_field()); | ||||||
|  | 
 | ||||||
|  | old.setTextarea(data.getTextarea()); | ||||||
|  | 
 | ||||||
|  | old.setDate_field(data.getDate_field()); | ||||||
|  | 
 | ||||||
|  | old.setDatetime_field(data.getDatetime_field()); | ||||||
|  | 
 | ||||||
|  | old.setEmail_field(data.getEmail_field()); | ||||||
|  | 
 | ||||||
|  | old.setToggle_switch (data.isToggle_switch()); | ||||||
|  | 
 | ||||||
|  | old.setDecimal_field(data.getDecimal_field()); | ||||||
|  | 
 | ||||||
|  | old.setUrl_field(data.getUrl_field()); | ||||||
|  | 
 | ||||||
|  | old.setRecaptcha(data.getRecaptcha()); | ||||||
|  | 
 | ||||||
|  | old.setPercentage_field(data.getPercentage_field()); | ||||||
|  | 
 | ||||||
|  | final Forma test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
| @ -2,14 +2,14 @@ | |||||||
| 
 | 
 | ||||||
| export const LoginEnvironment = { | export const LoginEnvironment = { | ||||||
| 
 | 
 | ||||||
|         "templateNo": "<templateNo>", |         "templateNo": "Template 1", | ||||||
|         "loginHeading": "<loginHeading>", |         "loginHeading": "Welcome to", | ||||||
|         "loginHeading2": "<loginHeading2>", |         "loginHeading2": "io8.dev", | ||||||
|         "isSignup": "<isSignup>", |         "isSignup": "true", | ||||||
|         "loginSignup": "<loginSignup> ", |         "loginSignup": "Use your ID to sign in OR  ", | ||||||
|         "loginSignup2": "<loginSignup2>", |         "loginSignup2": "create one now", | ||||||
|         "loginForgotpass": "<loginForgotpass>", |         "loginForgotpass": "FORGOT PASSWORD?", | ||||||
|         "loginImage": "<loginImage>", |         "loginImage": "[]", | ||||||
|         "loginImageURL": "<loginImageURL>" |         "loginImageURL": "null" | ||||||
|      |      | ||||||
| } | } | ||||||
|  | |||||||
| @ -0,0 +1,991 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Advtest1</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Advtest1 </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]="'name'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Name | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'country'"> <ng-container *clrDgHideableColumn="{hidden: false}"> country | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'gender'"> <ng-container *clrDgHideableColumn="{hidden: false}"> gender | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |   | ||||||
|  |   | ||||||
|  | <clr-dg-column [clrDgField]="' villae'"> <ng-container *clrDgHideableColumn="{hidden: false}"> villae | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | <clr-dg-column [clrDgField]="' home'"> <ng-container *clrDgHideableColumn="{hidden: false}"> home | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'currency'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Currency | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'qrcode_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> QRCode Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'barcode_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> BarCode Field | ||||||
|  | 						    </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.name }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.country }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.gender }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | <clr-dg-cell>{{user. villae}}</clr-dg-cell> | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | <clr-dg-cell>{{user. home}}</clr-dg-cell> | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.currency }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.qrcode_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.barcode_field }}</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 Advtest1 | ||||||
|  |  <!--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>Name</label> | ||||||
|  | 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.name" name="name" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label> country</label>  | ||||||
|  | <select name="country" [(ngModel)]="rowSelected.country"> | ||||||
|  |     <option [value]="null">Selectcountry | ||||||
|  |     </option> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> bharat </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> srilanka </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   </select> </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  (change)="updategenderEdit('female')" [checked]="rowSelected.gender  === 'female'" /> | ||||||
|  |                                  <label>female</label> | ||||||
|  |                                </clr-radio-wrapper> | ||||||
|  |                  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |                <clr-radio-wrapper> | ||||||
|  |                                  <input type="radio" clrRadio  (change)="updategenderEdit('male')" [checked]="rowSelected.gender  === 'male'" /> | ||||||
|  |                                  <label>male</label> | ||||||
|  |                                </clr-radio-wrapper> | ||||||
|  |                  | ||||||
|  | 
 | ||||||
|  |                </clr-radio-container>           </div> | ||||||
|  | 
 | ||||||
|  | <!-- multiselect checkbox field start --> | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label> address</label> | ||||||
|  |   <div class="clr-form-control" style="margin-top: 5px;margin-bottom: 10px;"> | ||||||
|  |     <div class="clr-control-container"> | ||||||
|  |        | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |       <div class="clr-checkbox-wrapper"> <input type="checkbox" id="villae" name="villae" [(ngModel)]="rowSelected.villae" class="clr-checkbox" />  | ||||||
|  | <label for="villae" class="clr-control-label"> villae</label> </div> | ||||||
|  | 
 | ||||||
|  |         | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |       <div class="clr-checkbox-wrapper"> <input type="checkbox" id="home" name="home" [(ngModel)]="rowSelected.home" class="clr-checkbox" />  | ||||||
|  | <label for="home" class="clr-control-label"> home</label> </div> | ||||||
|  | 
 | ||||||
|  |         | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- multiselect checkbox field end --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- currency field start --> | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |   <label> Currency</label> | ||||||
|  |   <input type="number" class="clr-input" [(ngModel)]="rowSelected.currency" name="currency" (blur)="formatCurrencycurrency()" [value]="rowSelected.currency  | removeCommas"> | ||||||
|  | </div> | ||||||
|  | <!-- currency field end --> | ||||||
|  | 
 | ||||||
|  | <!-- qrCode field start --> | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |   <label> QRCode Field</label> | ||||||
|  |   <input class="clr-input" type="text" name="qrcode_field" [(ngModel)]="rowSelected.qrcode_field" /> | ||||||
|  |   <qrcode [qrdata]="rowSelected.qrcode_field  ? rowSelected.qrcode_field : '' " [width]="135" [errorCorrectionLevel]="'M'"></qrcode> | ||||||
|  | </div> | ||||||
|  | <!-- qrCode field end --> | ||||||
|  | 
 | ||||||
|  | <!-- bar code field start --> | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |   <label> BarCode Field</label> | ||||||
|  |   <input type="text" class="clr-input" name="barcode_field" [(ngModel)]="rowSelected.barcode_field"  (input)="generateBarcodebarcode_field($event.target.value)" /> <svg  id="barcodebarcode_field"></svg> | ||||||
|  |      </div> <!-- bar code field end --> | ||||||
|  | 
 | ||||||
|  |   </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> | ||||||
|  | 
 | ||||||
|  | <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 audio_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 FileDataaudio_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)="onFileChangedaudio_field($event, i)"  accept="audio/*" /> | ||||||
|  |                </td> | ||||||
|  |              <td>{{attach.uploadedfile_name}}</td> | ||||||
|  |               <td >  <audio *ngIf="attach.filePreview" [src]="attach.filePreview" controls></audio></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)="deleteRowaudio_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)="onAddLinesaudio_field()"> | ||||||
|  |             <clr-icon shape="plus"></clr-icon> | ||||||
|  |           </button> | ||||||
|  |   | ||||||
|  |         </table> </div> | ||||||
|  | 
 | ||||||
|  | <h6> List of video_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 FileDatavideo_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)="onFileChangedvideo_field($event, i)"  accept="video/*" /> | ||||||
|  |                </td> | ||||||
|  |              <td>{{attach.uploadedfile_name}}</td> | ||||||
|  |               <td >            <video *ngIf="attach.filePreview" [src]="attach.filePreview" width="100px" height="100px" controls></video></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)="deleteRowvideo_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)="onAddLinesvideo_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 Advtest1  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Advtest1_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>  Name</label> | ||||||
|  |  <input class="clr-input"  type="text"  formControlName="name" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  | 	 <label>country</label> | ||||||
|  | 							 <select formControlName="country"> | ||||||
|  | 							    <option [value]="null">Select  country </option>  | ||||||
|  | 								 | ||||||
|  |   | ||||||
|  | 								<option> bharat </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> srilanka </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  | 						</select></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('female')" [checked]="entryForm.get('gender').value === 'female'" /> | ||||||
|  |                 <label> female </label> | ||||||
|  |               </clr-radio-wrapper>      | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |    <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-container> | ||||||
|  |           </div>  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- multiselect checkbox field start --> | ||||||
|  |      <div class="clr-col-sm-12">        | ||||||
|  | 		<label> address</label> | ||||||
|  | 	    <div class="clr-form-control" style="margin-top: 5px;margin-bottom: 10px;"> | ||||||
|  | 	      <div class="clr-control-container"> | ||||||
|  | 
 | ||||||
|  |                         | ||||||
|  |   | ||||||
|  | 			<div class="clr-checkbox-wrapper">            | ||||||
|  | 				<input type="checkbox" id="villae" formControlName="villae"  class="clr-checkbox" />        | ||||||
|  | 				    <label for="villae" class="clr-control-label">villae</label>  </div> | ||||||
|  | 	                             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 			<div class="clr-checkbox-wrapper">            | ||||||
|  | 				<input type="checkbox" id="home" formControlName="home"  class="clr-checkbox" />        | ||||||
|  | 				    <label for="home" class="clr-control-label">home</label>  </div> | ||||||
|  | 	                             | ||||||
|  | 
 | ||||||
|  |  </div>       </div>     </div> | ||||||
|  | 	              <!-- multiselect checkbox field end --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- currency field start --> | ||||||
|  |       <div class="clr-col-sm-12">         | ||||||
|  |  <label> Currency</label>          | ||||||
|  | <input type="number"  class="clr-input"   formControlName="currency"  [value]="entryForm.value.currency | number:'1.2-2' | removeCommas">    | ||||||
|  |     </div>  | ||||||
|  | 	      <!-- currency field end --> | ||||||
|  | 
 | ||||||
|  | <!-- qrCode field start -->    | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  | 	    <label>QRCode Field</label> | ||||||
|  | 	    <input class="clr-input" type="text" formControlName="qrcode_field" /> | ||||||
|  | 	    <qrcode [qrdata]="entryForm.value.qrcode_field  ? entryForm.value.qrcode_field : '' " [width]="135" [errorCorrectionLevel]="'M'"  ></qrcode>   </div> | ||||||
|  | 	<!-- qrCode field end --> | ||||||
|  | 
 | ||||||
|  | <!-- bar code field start -->     | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  | 	    <label> BarCode Field</label> | ||||||
|  | 	    <input  type="text" class="clr-input" formControlName="barcode_field" (input)="generateBarcodebarcode_field($event.target.value)" /> | ||||||
|  | 	    <svg id="barcodebarcode_field"></svg>   </div> | ||||||
|  | 	<!-- bar code field end --> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |  </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> | ||||||
|  | 
 | ||||||
|  | <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 audio_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 FileDataaudio_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)="onFileChangedaudio_field($event, i)"  accept="audio/*" /><!--accept=".pdf,.doc,.docx,.jpg,.msg"--> | ||||||
|  |               </td> | ||||||
|  |          <td>{{attach.uploadedfile_name}}</td> | ||||||
|  |              <td >  <audio *ngIf="attach.filePreview" [src]="attach.filePreview" controls></audio></td> | ||||||
|  |              <td> | ||||||
|  |                <a  (click)="deleteRowaudio_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)="onAddLinesaudio_field()"> | ||||||
|  |            <clr-icon shape="plus"></clr-icon> | ||||||
|  |          </button> | ||||||
|  | 
 | ||||||
|  |        </table> </div> | ||||||
|  | 
 | ||||||
|  | <h6> List of video_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 FileDatavideo_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)="onFileChangedvideo_field($event, i)"  accept="video/*" /><!--accept=".mp4,.mpeg4"--> | ||||||
|  |               </td> | ||||||
|  |          <td>{{attach.uploadedfile_name}}</td> | ||||||
|  |              <td >            <video *ngIf="attach.filePreview" [src]="attach.filePreview" width="100px" height="100px" controls></video></td> | ||||||
|  |              <td> | ||||||
|  |                <a  (click)="deleteRowvideo_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)="onAddLinesvideo_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,711 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Advtest1service} from './Advtest1.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 { Advtest1cardvariable } from './Advtest1_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Advtest1', | ||||||
|  |   templateUrl: './Advtest1.component.html', | ||||||
|  |   styleUrls: ['./Advtest1.component.scss'] | ||||||
|  | }) | ||||||
|  | export class Advtest1Component implements OnInit { | ||||||
|  |   cardButton = Advtest1cardvariable.cardButton; | ||||||
|  |   cardmodeldata = Advtest1cardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Advtest1cardvariable.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 = 'Advtest1_formCode' | ||||||
|  | tableName = 'Advtest1';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Advtest1service, | ||||||
|  |     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], | ||||||
|  | 
 | ||||||
|  | country : [null], | ||||||
|  | 
 | ||||||
|  | gender : [null], | ||||||
|  | 
 | ||||||
|  |    | ||||||
|  |   | ||||||
|  | villae:[false], | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | home:[false], | ||||||
|  |     | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | currency : [null, { updateOn: 'blur' }], | ||||||
|  | 
 | ||||||
|  | qrcode_field : [null], | ||||||
|  | 
 | ||||||
|  | barcode_field : [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 === "Advtest1_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[]; | ||||||
|  | 
 | ||||||
|  | FileDataAudio_field: any[]; | ||||||
|  |   selectedAudio_field: any[]; | ||||||
|  | 
 | ||||||
|  | FileDataVideo_field: any[]; | ||||||
|  |   selectedVideo_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.selectedfileupload_field = []; | ||||||
|  |     this.mainService.uploadfilegetByIdfileupload_field(row.id,this.tableName).subscribe(uploaddata =>{ | ||||||
|  |       console.log(uploaddata); | ||||||
|  |       this.FileDatafileupload_field = uploaddata; | ||||||
|  |      | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     this.selectedimageupload_field = []; | ||||||
|  |     this.mainService.uploadImageupload_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ | ||||||
|  |       console.log(uploaddata); | ||||||
|  |       this.FileDataimageupload_field = uploaddata; | ||||||
|  |      | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     this.selectedaudio_field = []; | ||||||
|  |     this.mainService.uploadAudio_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ | ||||||
|  |       console.log(uploaddata); | ||||||
|  |       this.FileDataaudio_field = uploaddata; | ||||||
|  |      | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |     this.selectedvideo_field = []; | ||||||
|  |     this.mainService.uploadVideo_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ | ||||||
|  |       console.log(uploaddata); | ||||||
|  |       this.FileDatavideo_field = uploaddata; | ||||||
|  |      | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   //    bar code field start 
 | ||||||
|  |    setTimeout(function(){  | ||||||
|  | 		JsBarcode("#barcodebarcode_field", row?.barcode_field); | ||||||
|  | 	     }, 500); | ||||||
|  | 	   //    bar code field start
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     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.selectedfileupload_field.length; i++){ | ||||||
|  | 
 | ||||||
|  |   this.mainService.uploadfilefileupload_field(data.id,this.tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ | ||||||
|  |     console.log(uploaddata); | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 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.selectedaudio_field.length; i++){ | ||||||
|  | 
 | ||||||
|  |   this.mainService.uploadAudio_field(data.id,this.tableName,this.selectedaudio_field[i]).subscribe(uploaddata =>{ | ||||||
|  |     console.log(uploaddata); | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | for (let i = 0; i < this.selectedvideo_field.length; i++){ | ||||||
|  | 
 | ||||||
|  |   this.mainService.uploadVideo_field(data.id,this.tableName,this.selectedvideo_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.selectedfileupload_field.length; i++){ | ||||||
|  | 
 | ||||||
|  |   this.mainService.uploadfilefileupload_field(data.id,this.tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ | ||||||
|  |     console.log(uploaddata); | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 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.selectedaudio_field.length; i++){ | ||||||
|  | 
 | ||||||
|  |   this.mainService.uploadAudio_field(data.id,this.tableName,this.selectedaudio_field[i]).subscribe(uploaddata =>{ | ||||||
|  |     console.log(uploaddata); | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | for (let i = 0; i < this.selectedvideo_field.length; i++){ | ||||||
|  | 
 | ||||||
|  |   this.mainService.uploadVideo_field(data.id,this.tableName,this.selectedvideo_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.FileDatafileupload_field = []; | ||||||
|  | this.selectedfileupload_field =[]; | ||||||
|  | 
 | ||||||
|  | this.FileDataImageupload_field = []; | ||||||
|  | this.selectedImageupload_field =[]; | ||||||
|  | 
 | ||||||
|  | this.FileDataAudio_field = []; | ||||||
|  | this.selectedAudio_field =[]; | ||||||
|  | 
 | ||||||
|  | this.FileDataVideo_field = []; | ||||||
|  | this.selectedVideo_field =[]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |  submitted = false; | ||||||
|  | onSubmit() { | ||||||
|  |   console.log(this.entryForm.value); | ||||||
|  |  this.submitted = true; | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     return; | ||||||
|  |   }this.onCreate(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | updategender (gender : string): void {     | ||||||
|  |  this.entryForm.get('gender').setValue(gender);   } | ||||||
|  | 
 | ||||||
|  | updategenderEdit(gender : string): void {    this.rowSelected.gender  =  gender } | ||||||
|  | 						 ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 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); | ||||||
|  |       }) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 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); | ||||||
|  |       }) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | filePreviewaudio_field: string | ArrayBuffer | null = null; | ||||||
|  | FileDataaudio_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
 | ||||||
|  | selectedaudio_field: File[]=[];  | ||||||
|  | public onFileChangedaudio_field(event, index) { | ||||||
|  |   const files = event.target.files; | ||||||
|  |   for (let i = 0; i < files.length; i++) { | ||||||
|  |     const file = files[i]; | ||||||
|  |     this.FileDataaudio_field[index].uploadedfile_name = files[i].name; | ||||||
|  |     this.selectedaudio_field.push(files[i]); | ||||||
|  |     if (file.type.startsWith('audio/')) { | ||||||
|  |       const reader = new FileReader(); | ||||||
|  |       reader.onload = (e) => { | ||||||
|  |         // Set the file preview source
 | ||||||
|  |         const filePreview = e.target?.result as string; | ||||||
|  |         this.FileDataaudio_field[index] = { | ||||||
|  |           ...this.FileDataaudio_field[index], // Preserve existing properties
 | ||||||
|  |           filePreview: filePreview // Update only the filePreview property
 | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |       reader.readAsDataURL(file); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |     onAddLinesaudio_field(){ | ||||||
|  |       this.FileDataaudio_field.push({ | ||||||
|  |         uploadedfile_name: "", | ||||||
|  |         filePreview: "", | ||||||
|  |         // f3: "",
 | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |     deleteRowaudio_field(index,id) { | ||||||
|  |       this.FileDataaudio_field.splice(index, 1); | ||||||
|  | 
 | ||||||
|  |       if(id){ | ||||||
|  |       this.mainService.uploadAudio_fielddelete(id).subscribe(data =>{ | ||||||
|  |         console.log(data); | ||||||
|  |       }) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | filePreviewvideo_field: string | ArrayBuffer | null = null; | ||||||
|  | FileDatavideo_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array
 | ||||||
|  | selectedvideo_field: File[]=[];  | ||||||
|  | public onFileChangedvideo_field(event, index) { | ||||||
|  |   const files = event.target.files; | ||||||
|  |   for (let i = 0; i < files.length; i++) { | ||||||
|  |     const file = files[i]; | ||||||
|  |     this.FileDatavideo_field[index].uploadedfile_name = files[i].name; | ||||||
|  |     this.selectedvideo_field.push(files[i]); | ||||||
|  |     if (file.type.startsWith('video/')) { | ||||||
|  |       const reader = new FileReader(); | ||||||
|  |       reader.onload = (e) => { | ||||||
|  |         // Set the file preview source
 | ||||||
|  |         const filePreview = e.target?.result as string; | ||||||
|  |         this.FileDatavideo_field[index] = { | ||||||
|  |           ...this.FileDatavideo_field[index], // Preserve existing properties
 | ||||||
|  |           filePreview: filePreview // Update only the filePreview property
 | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |       reader.readAsDataURL(file); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |     onAddLinesvideo_field(){ | ||||||
|  |       this.FileDatavideo_field.push({ | ||||||
|  |         uploadedfile_name: "", | ||||||
|  |         filePreview: "", | ||||||
|  |         // f3: "",
 | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|  |     deleteRowvideo_field(index,id) { | ||||||
|  |       this.FileDatavideo_field.splice(index, 1); | ||||||
|  | 
 | ||||||
|  |       if(id){ | ||||||
|  |       this.mainService.uploadVideo_fielddelete(id).subscribe(data =>{ | ||||||
|  |         console.log(data); | ||||||
|  |       }) | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | //currency  field start
 | ||||||
|  |    formatCurrencycurrency () { | ||||||
|  |     // Format the currency with two decimal places    
 | ||||||
|  | 	this.rowSelected.currency = Number(this.rowSelected.currency ).toFixed(2); | ||||||
|  |     // Remove commas from the formatted currency   
 | ||||||
|  | 	 this.rowSelected.currency = this.rowSelected.currency?.replace(/,/g, '');  } | ||||||
|  |   //currency  field end
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //bar code field start 
 | ||||||
|  |      generateBarcodebarcode_field(value) { | ||||||
|  |       const barcodeValue = value; | ||||||
|  |       const barcodeElement = document.getElementById("barcodebarcode_field");  | ||||||
|  |       if (barcodeElement) {         if (barcodeValue) { | ||||||
|  |           JsBarcode(barcodeElement, barcodeValue, {             format: "CODE128" | ||||||
|  |           });         } else { | ||||||
|  |           // Clear the barcode if the input is empty
 | ||||||
|  |           barcodeElement.innerHTML = '';         }       }     } | ||||||
|  |          //    bar code field end 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,107 @@ | |||||||
|  | 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 Advtest1service{ | ||||||
|  |   private baseURL = "Advtest1/Advtest1" ;  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); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadfilefileupload_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadfilegetByIdfileupload_field(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadfiledeletefileupload_field(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadImageupload_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadImageupload_fieldgetById(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadImageupload_fielddelete(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadAudio_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadAudio_fieldgetById(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadAudio_fielddelete(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadVideo_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadVideo_fieldgetById(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadVideo_fielddelete(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export const Advtest1cardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -0,0 +1,737 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Forma</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Forma </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]="'name'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Name | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'number_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Number Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'phone_number'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Phone Number | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'paragraph_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Paragraph Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  <clr-dg-column [clrDgField]="'password_field'"> <ng-container *clrDgHideableColumn="{hidden: false}">Password Field | ||||||
|  | 						 </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'textarea'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Textarea | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'date_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Date Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'datetime_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Datetime Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'email_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Email Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'toggle_switch'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Toggle Switch | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'decimal_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Decimal Field | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  <clr-dg-column [clrDgField]="'url_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Url Field | ||||||
|  | 						 </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'recaptcha'"> <ng-container *clrDgHideableColumn="{hidden: false}"> recaptcha | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'percentage_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Percentage Field | ||||||
|  | 						    </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.name }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.number_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.phone_number }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell (click)="goToReplaceStringparagraph_field(user.paragraph_field)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon></clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.password_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell (click)="goToReplaceStringtextarea (user.textarea)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon> | ||||||
|  | </clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.date_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.datetime_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.email_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.toggle_switch }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.decimal_field }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell (click)="goTourl_fieldUrl(user.url_field)" style="cursor: pointer; color: rgb(108, 108, 194);">{{user.url_field}}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.recaptcha }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.percentage_field }}</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> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-modal [(clrModalOpen)]="rsModalparagraph_field" [clrModalSize]="'xl'" [clrModalStaticBackdrop]="true"> | ||||||
|  | 						  <div class="modal-body"> | ||||||
|  | 						    <textarea class="form-control" style="width:100%; height: 400px;" readonly>{{rowSelected}}</textarea> | ||||||
|  | 						  </div></clr-modal> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-modal [(clrModalOpen)]="rsModaltextarea" [clrModalSize]="'xl'" [clrModalStaticBackdrop]="true"> | ||||||
|  | 						  <div class="modal-body"> | ||||||
|  | 						    <textarea class="form-control" style="width:100%; height: 400px;" readonly>{{rowSelected}}</textarea> | ||||||
|  | 						  </div></clr-modal> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- //		EDIT DATA......... --> | ||||||
|  | <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||||
|  |   <h3 class="modal-title">Update Forma | ||||||
|  |  <!--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>Name</label> | ||||||
|  | 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.name" name="name" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label>Number Field</label> | ||||||
|  | 	        <input id="name" class="clr-input"  type="number" [(ngModel)]="rowSelected.number_field" name="number_field" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">          | ||||||
|  | <label> Phone Number</label> | ||||||
|  | 	        <input id="name" class="clr-input" type="Text" [(ngModel)]="rowSelected.phone_number " name="phone_number" pattern="((\\+)?([1-9]{2}))?[1-9]{1}[0-9]{9}$" /> | ||||||
|  | 	        <div *ngIf="rowSelected.phone_number  && !isValidPhone_number(rowSelected.phone_number)" class="error_mess"> | ||||||
|  | 	          * Please Follow your pattern,+91 Enter 10 digit Mobile Number. | ||||||
|  | 	        </div>       </div>  | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">          | ||||||
|  | <label> Paragraph Field</label> | ||||||
|  | 	        <input id="name"  type="Text" class="form-control" style="border: none; outline: none; height:33px !important;" [(ngModel)]="rowSelected.paragraph_field" name=" paragraph_field " />       </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label> Password Field</label><br>       | ||||||
|  |  <div><input [type]="newpHidepassword_field ? 'password': 'text'" class="clr-input" style="width: 93% !important;" [(ngModel)]="rowSelected.password_field" name="password_field">  | ||||||
|  | 	      <clr-icon [attr.shape]="newIconpassword_field" (click)="newShapeChangerpassword_field()"></clr-icon></div> | ||||||
|  | 	    </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">                | ||||||
|  | <label> Textarea</label> | ||||||
|  | 	              <textarea cols="10" rows="2"[(ngModel)]="rowSelected.textarea" name="textarea " placeholder="Textarea">  </textarea> | ||||||
|  | 	           </div>  | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label>Date Field</label> | ||||||
|  | 	        <input id="name" class="clr-input"  type="date" [(ngModel)]="rowSelected.date_field" name="date_field" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label>Datetime Field</label> | ||||||
|  | 	        <input  class="clr-input"  type="datetime-local" [(ngModel)]="rowSelected.datetime_field" name="datetime_field" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">      | ||||||
|  | <label> Email Field</label> | ||||||
|  | 								  <input id="name" class="clr-input" type="email"  | ||||||
|  | 						 [(ngModel)]="rowSelected.email_field " name="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"> | ||||||
|  | 								  <div *ngIf="rowSelected.email_field && !isValidemail_field(rowSelected.email_field )" class="error_mess"> | ||||||
|  | 	            * Email must be a valid email address.          | ||||||
|  |   </div> </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">  | ||||||
|  | <label> Toggle Switch</label>  | ||||||
|  | <input type="checkbox" name="toggle_switch" clrToggle [(ngModel)]="rowSelected.toggle_switch" /> </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">         | ||||||
|  | <label> Decimal Field</label> | ||||||
|  |           <input  class="clr-input" type="number" step ="0.01" [(ngModel)]="rowSelected.decimal_field" name="decimal_field" /> </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">          | ||||||
|  | <label> Url Field</label> | ||||||
|  | 	        <input type="url" name="url_field" [(ngModel)]="rowSelected.url_field" placeholder="Enter URL" class="clr-input" pattern="https?://.+"> | ||||||
|  | 	        <div *ngIf="!isValidurl_field(rowSelected.url_field )" class="error_mess">  * Please enter a valid URL.         </div>     </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">             | ||||||
|  |  <label> recaptcha</label>   <div><b>{{ recaptchaCode }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha()"> | ||||||
|  | <clr-icon shape="refresh"></clr-icon>   </button></div> | ||||||
|  | 	            <input type="text" name="recaptcha" [(ngModel)]="rowSelected.recaptcha" (ngModelChange)="checkrecaptchaEdit()" class="clr-input"> | ||||||
|  | 	            <div *ngIf=" recaptchaMismatch" class="error_mess"> | ||||||
|  | 	              <div class="error_mess"> recaptcha  not valid.</div> | ||||||
|  | 	            </div>          | ||||||
|  | </div>  | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label>Percentage Field</label> | ||||||
|  | 	        <input id="name" class="clr-input"  type="number" [(ngModel)]="rowSelected.percentage_field" name="percentage_field" /> | ||||||
|  | 	      </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 Forma  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Forma_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>  Name</label> | ||||||
|  |  <input class="clr-input"  type="text"  formControlName="name" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Number Field</label> | ||||||
|  |  <input class="clr-input"  type="number"  formControlName="number_field" />       | ||||||
|  |  <div *ngIf="submitted && entryForm.controls.number_field.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && entryForm.controls.number_field.errors.required" class="error_mess">*This field is Required</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>Paragraph Field</label>       | ||||||
|  |    <input class="form-control" type="Text" formControlName="paragraph_field" style="border: none; outline: none; height:33px !important;" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | 	<label>Password Field</label><br> | ||||||
|  | 	<div><input class="clr-input" style="width: 93% !important;" [type]="newaddpHidepassword_field ? 'password': 'text'" formControlName="password_field" autocomplete >  | ||||||
|  | 		<clr-icon [attr.shape]="newaddIconpassword_field" (click)="newaddChangerpassword_field()"></clr-icon></div> | ||||||
|  | 	</div> | ||||||
|  | 
 | ||||||
|  |           <div class="clr-col-sm-12"> | ||||||
|  | <label>Confirm Password Field</label><br> | ||||||
|  |            <input type="password" class="clr-input" formControlName="confirmpassword_field" autocomplete > | ||||||
|  |            <div *ngIf="entryForm.controls.confirmpassword_field.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="entryForm.controls.confirmpassword_field.errors.confirmedpassword_fieldValidator" class="error_mess">* Password and Confirm Password must be match.</div> | ||||||
|  |         </div> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  |  <label>  Textarea</label>              | ||||||
|  |  <textarea cols="10" rows="2" formControlName="textarea" placeholder="Textarea">  </textarea> | ||||||
|  | 	            </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Date Field</label> | ||||||
|  |  <input class="clr-input"  type="date"  formControlName="date_field" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Datetime Field</label> | ||||||
|  |  <input class="clr-input"  type="datetime-local"  formControlName="datetime_field" />        | ||||||
|  |  </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> Toggle Switch</label>             | ||||||
|  |   <input type="checkbox" formControlName="toggle_switch" clrToggle/>            </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">            | ||||||
|  | <label> Decimal Field</label>           | ||||||
|  |  <input type="number" step ="0.01"  formControlName="decimal_field" />  | ||||||
|  |  <div *ngIf="submitted && entryForm.controls.decimal_field.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && entryForm.controls.decimal_field.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  | </div>  | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">         | ||||||
|  | 	 <label> Url Field </label> | ||||||
|  | 		<input type="url" formControlName="url_field" class="clr-input" pattern="https?://.+"> | ||||||
|  | 		<div *ngIf="entryForm.controls['url_field'].errors" class="error_mess">           | ||||||
|  | 			 <div *ngIf="entryForm.controls['url_field'].hasError('pattern')" class="error_mess">    * Please enter a valid URL.</div> | ||||||
|  | 						      </div>     </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">             | ||||||
|  | <label> recaptcha</label><div><b>{{ recaptchaCode }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha()"><clr-icon shape="refresh"></clr-icon></button></div> | ||||||
|  | 	            <input type="text" formControlName="recaptcha" class="clr-input">        | ||||||
|  | <div *ngIf="submitted && entryForm.controls.recaptcha?.errors.required" class="error_mess">*This field is Required</div>           | ||||||
|  | <div *ngIf="submitted && entryForm.get('recaptcha')?.errors && entryForm.get('recaptcha')?.dirty" class="error_mess"> | ||||||
|  | 	              <div *ngIf="submitted && entryForm.controls['recaptcha']?.hasError('recaptchaMismatch')" class="error_mess"> recaptcha  not valid.</div> | ||||||
|  | 	            </div>         | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Percentage Field</label> | ||||||
|  |  <input class="clr-input"  type="number"  formControlName="percentage_field" />       | ||||||
|  |  <div *ngIf="submitted && entryForm.controls.percentage_field.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && entryForm.controls.percentage_field.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  | </div>   | ||||||
|  |  </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,595 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Formaservice} from './Forma.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 { Formacardvariable } from './Forma_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Forma', | ||||||
|  |   templateUrl: './Forma.component.html', | ||||||
|  |   styleUrls: ['./Forma.component.scss'] | ||||||
|  | }) | ||||||
|  | export class FormaComponent implements OnInit { | ||||||
|  |   cardButton = Formacardvariable.cardButton; | ||||||
|  |   cardmodeldata = Formacardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Formacardvariable.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 = 'Forma_formCode' | ||||||
|  | tableName = 'Forma';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Formaservice, | ||||||
|  |     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], | ||||||
|  | 
 | ||||||
|  | number_field : [null,[Validators.required]], | ||||||
|  | 
 | ||||||
|  | phone_number: ['+91'], | ||||||
|  | 
 | ||||||
|  | paragraph_field : [null], | ||||||
|  | 
 | ||||||
|  | password_field : [null], | ||||||
|  | confirmpassword_field : [null], | ||||||
|  | 
 | ||||||
|  | textarea : [null], | ||||||
|  | 
 | ||||||
|  | date_field : [null], | ||||||
|  | 
 | ||||||
|  | datetime_field : [null], | ||||||
|  | 
 | ||||||
|  | email_field : [null], | ||||||
|  | 
 | ||||||
|  | toggle_switch : [true], | ||||||
|  | 
 | ||||||
|  | decimal_field : [null,[Validators.required]], | ||||||
|  | 
 | ||||||
|  | url_field : [null], | ||||||
|  | 
 | ||||||
|  | recaptcha : ['', [Validators.required,this.checkrecaptcha.bind(this)]], | ||||||
|  | 
 | ||||||
|  | percentage_field : [null,[Validators.required]], | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     }, { | ||||||
|  |         validator: Confirmedpassword_fieldValidator('password_field', 'confirmpassword_field') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   }); // 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 === "Forma_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.generaterecaptcha() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  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(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | isValidPhone_number(phone: string): boolean { | ||||||
|  |   const phonePattern = /^(\+[1-9][0-9]{0,2})?[1-9][0-9]{9}$/; | ||||||
|  |   return phonePattern.test(phone); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | rsModalparagraph_field = false;   | ||||||
|  |  goToReplaceStringparagraph_field (row){ | ||||||
|  | 						    this.rowSelected = row;     this.rsModalparagraph_field  =true;   } | ||||||
|  | 
 | ||||||
|  | newpHidepassword_field: boolean = true; | ||||||
|  |  newIconpassword_field: string = "eye";  | ||||||
|  | newShapeChangerpassword_field() { | ||||||
|  | this.newpHidepassword_field = !this.newpHidepassword_field;   | ||||||
|  |  if(this.newpHidepassword_field){ | ||||||
|  | this.newIconpassword_field = 'eye'   } else {     this.newIconpassword_field = 'eye-hide'   } | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  |  newaddpHidepassword_field: boolean = true; | ||||||
|  |  newaddIconpassword_field: string = "eye"; | ||||||
|  | newaddChangerpassword_field() {   this.newaddpHidepassword_field = !this.newaddpHidepassword_field; | ||||||
|  |  if(this.newaddpHidepassword_field){     this.newaddIconpassword_field = 'eye'   } else { | ||||||
|  |   this.newaddIconpassword_field = 'eye-hide'   } } | ||||||
|  | 
 | ||||||
|  | rsModaltextarea = false;    | ||||||
|  | goToReplaceStringtextarea(row){ | ||||||
|  | this.rowSelected = row;     this.rsModaltextarea  =true;   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | isValidemail_field(email: string): boolean { | ||||||
|  | 						 const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; | ||||||
|  | 						    return emailPattern.test(email);   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | isValidurl_field(url: string): boolean { | ||||||
|  | 						    return  /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url);   }  | ||||||
|  | 						goTourl_fieldUrl(val){     window.open(val)   } | ||||||
|  | 
 | ||||||
|  | recaptchaCode = '';   | ||||||
|  | generaterecaptcha (): void { | ||||||
|  |   const possibleCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; | ||||||
|  |   const codeLength = 6; // Change to desired length
 | ||||||
|  | 
 | ||||||
|  |   let recaptcha= ''; | ||||||
|  |   for (let i = 0; i < codeLength; i++) { | ||||||
|  |     const randomIndex = Math.floor(Math.random() * possibleCharacters.length); | ||||||
|  |     recaptcha += possibleCharacters.charAt(randomIndex); | ||||||
|  |   } | ||||||
|  |   this.recaptchaCode = recaptcha; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | checkrecaptcha(control: AbstractControl): ValidationErrors | null { | ||||||
|  |   if (control.value !== this.recaptchaCode) { | ||||||
|  |     return { recaptchaMismatch: true }; | ||||||
|  |   } | ||||||
|  |   return null; | ||||||
|  | }   | ||||||
|  | 
 | ||||||
|  | recaptchaMismatch = false;   | ||||||
|  | 
 | ||||||
|  | checkrecaptchaEdit(): void { | ||||||
|  | 	  if (this.rowSelected.recaptcha  !== this. recaptchaCode) { | ||||||
|  | 	  this. recaptchaMismatch = true;    } else {      this.recaptchaMismatch = false;    }  }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function Confirmedpassword_fieldValidator(controlName: string, matchingControlName: string){ | ||||||
|  |   return (formGroup: FormGroup) => { | ||||||
|  |       const control = formGroup.controls[controlName]; | ||||||
|  |       const matchingControl = formGroup.controls[matchingControlName]; | ||||||
|  |       if (matchingControl.errors && !matchingControl.errors.confirmedpassword_fieldValidator) { | ||||||
|  |           return; | ||||||
|  |       } | ||||||
|  |       if (control.value !== matchingControl.value) { | ||||||
|  |           matchingControl.setErrors({ confirmedpassword_fieldValidator: true }); | ||||||
|  |       } else { | ||||||
|  |           matchingControl.setErrors(null); | ||||||
|  |       } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,61 @@ | |||||||
|  | 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 Formaservice{ | ||||||
|  |   private baseURL = "Forma/Forma" ;  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 Formacardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -19,6 +19,7 @@ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| import { Component, OnInit } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
| @ -249,6 +250,8 @@ export class Stepper_workflowComponent implements OnInit { | |||||||
|     console.log('id is ', id) |     console.log('id is ', id) | ||||||
| 
 | 
 | ||||||
|     // stepper route
 |     // stepper route
 | ||||||
|  |  this.router.navigate(["../demotest/", id], { relativeTo: this.route }); | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -0,0 +1 @@ | |||||||
|  | {"version":3,"sources":["demotest.component.scss","demotest.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":"demotest.component.css"} | ||||||
| @ -0,0 +1,579 @@ | |||||||
|  | <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/basictets<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/advtest<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">basictets</h3> | ||||||
|  |         <h3 style="text-align: center;" *ngIf="appToUpdate"> Update {{FormaentryForm.name}}</h3> | ||||||
|  |         <div class="container"> | ||||||
|  | 
 | ||||||
|  |           <br /> | ||||||
|  | 
 | ||||||
|  |          | ||||||
|  |           <form [formGroup]="FormaentryForm"> | ||||||
|  | 
 | ||||||
|  |             <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>  Number Field</label> | ||||||
|  |  <input class="clr-input"  type="number"  formControlName="number_field" />       | ||||||
|  |  <div *ngIf="submitted && FormaentryForm.controls.number_field.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && FormaentryForm.controls.number_field.errors.required" class="error_mess">*This field is Required</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 && FormaentryForm.controls['phone_number'].errors" class="error_mess"> | ||||||
|  | 	          <div *ngIf="submitted && FormaentryForm.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>Paragraph Field</label>       | ||||||
|  |    <input class="form-control" type="Text" formControlName="paragraph_field" style="border: none; outline: none; height:33px !important;" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | 	<label>Password Field</label><br> | ||||||
|  | 	<div><input class="clr-input" style="width: 93% !important;" [type]="newaddpHidepassword_field ? 'password': 'text'" formControlName="password_field" autocomplete >  | ||||||
|  | 		<clr-icon [attr.shape]="newaddIconpassword_field" (click)="newaddChangerpassword_field()"></clr-icon></div> | ||||||
|  | 	</div> | ||||||
|  | 
 | ||||||
|  |           <div class="clr-col-sm-12"> | ||||||
|  | <label>Confirm Password Field</label><br> | ||||||
|  |            <input type="password" class="clr-input" formControlName="confirmpassword_field" autocomplete > | ||||||
|  |            <div *ngIf="FormaentryForm.controls.confirmpassword_field.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="FormaentryForm.controls.confirmpassword_field.errors.confirmedpassword_fieldValidator" class="error_mess">* Password and Confirm Password must be match.</div> | ||||||
|  |         </div> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  |  <label>  Textarea</label>              | ||||||
|  |  <textarea cols="10" rows="2" formControlName="textarea" placeholder="Textarea">  </textarea> | ||||||
|  | 	            </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Date Field</label> | ||||||
|  |  <input class="clr-input"  type="date"  formControlName="date_field" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Datetime Field</label> | ||||||
|  |  <input class="clr-input"  type="datetime-local"  formControlName="datetime_field" />        | ||||||
|  |  </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="FormaentryForm.controls['email_field'].errors" class="error_mess"> | ||||||
|  | 						          <div *ngIf="FormaentryForm.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> Toggle Switch</label>             | ||||||
|  |   <input type="checkbox" formControlName="toggle_switch" clrToggle/>            </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">            | ||||||
|  | <label> Decimal Field</label>           | ||||||
|  |  <input type="number" step ="0.01"  formControlName="decimal_field" />  | ||||||
|  |  <div *ngIf="submitted && FormaentryForm.controls.decimal_field.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && FormaentryForm.controls.decimal_field.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  | </div>  | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">         | ||||||
|  | 	 <label> Url Field </label> | ||||||
|  | 		<input type="url" formControlName="url_field" class="clr-input" pattern="https?://.+"> | ||||||
|  | 		<div *ngIf="FormaentryForm.controls['url_field'].errors" class="error_mess">           | ||||||
|  | 			 <div *ngIf="FormaentryForm.controls['url_field'].hasError('pattern')" class="error_mess">    * Please enter a valid URL.</div> | ||||||
|  | 						      </div>     </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">             | ||||||
|  | <label> recaptcha</label><div><b>{{ recaptchaCode }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha()"><clr-icon shape="refresh"></clr-icon></button></div> | ||||||
|  | 	            <input type="text" formControlName="recaptcha" class="clr-input">        | ||||||
|  | <div *ngIf="submitted && FormaentryForm.controls.recaptcha?.errors.required" class="error_mess">*This field is Required</div>           | ||||||
|  | <div *ngIf="submitted && FormaentryForm.get('recaptcha')?.errors && FormaentryForm.get('recaptcha')?.dirty" class="error_mess"> | ||||||
|  | 	              <div *ngIf="submitted && FormaentryForm.controls['recaptcha']?.hasError('recaptchaMismatch')" class="error_mess"> recaptcha  not valid.</div> | ||||||
|  | 	            </div>         | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Percentage Field</label> | ||||||
|  |  <input class="clr-input"  type="number"  formControlName="percentage_field" />       | ||||||
|  |  <div *ngIf="submitted && FormaentryForm.controls.percentage_field.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && FormaentryForm.controls.percentage_field.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  | </div>   | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |               </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |               <div class="clr-row"> | ||||||
|  | 
 | ||||||
|  |               </div> | ||||||
|  |               <!-- end row --> | ||||||
|  |               <br> | ||||||
|  | <div class="button"> | ||||||
|  |   <button type="submit" class="btn btn-primary" (click)="onbasictetsSave()">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">advtest</h3> | ||||||
|  |         <h3 style="text-align: center;" *ngIf="appToUpdate"> Update {{Advtest1entryForm.name}}</h3> | ||||||
|  |         <div class="container"> | ||||||
|  | 
 | ||||||
|  |           <br /> | ||||||
|  | 
 | ||||||
|  |          | ||||||
|  |           <form [formGroup]="Advtest1entryForm"> | ||||||
|  | 
 | ||||||
|  |             <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>country</label> | ||||||
|  | 							 <select formControlName="country"> | ||||||
|  | 							    <option [value]="null">Select  country </option>  | ||||||
|  | 								 | ||||||
|  |   | ||||||
|  | 								<option> bharat </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> srilanka </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  | 						</select></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('female')" [checked]="Advtest1entryForm.get('gender').value === 'female'" /> | ||||||
|  |                 <label> female </label> | ||||||
|  |               </clr-radio-wrapper>      | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |    <clr-radio-wrapper> | ||||||
|  |                 <input type="radio" clrRadio formControlName="gender" (change)="updategender('male')" [checked]="Advtest1entryForm.get('gender').value === 'male'" /> | ||||||
|  |                 <label> male </label> | ||||||
|  |               </clr-radio-wrapper>      | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |  </clr-radio-container> | ||||||
|  |           </div>  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- multiselect checkbox field start --> | ||||||
|  |      <div class="clr-col-sm-12">        | ||||||
|  | 		<label> address</label> | ||||||
|  | 	    <div class="clr-form-control" style="margin-top: 5px;margin-bottom: 10px;"> | ||||||
|  | 	      <div class="clr-control-container"> | ||||||
|  | 
 | ||||||
|  |                         | ||||||
|  |   | ||||||
|  | 			<div class="clr-checkbox-wrapper">            | ||||||
|  | 				<input type="checkbox" id="villae" formControlName="villae"  class="clr-checkbox" />        | ||||||
|  | 				    <label for="villae" class="clr-control-label">villae</label>  </div> | ||||||
|  | 	                             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 			<div class="clr-checkbox-wrapper">            | ||||||
|  | 				<input type="checkbox" id="home" formControlName="home"  class="clr-checkbox" />        | ||||||
|  | 				    <label for="home" class="clr-control-label">home</label>  </div> | ||||||
|  | 	                             | ||||||
|  | 
 | ||||||
|  |  </div>       </div>     </div> | ||||||
|  | 	              <!-- multiselect checkbox field end --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- currency field start --> | ||||||
|  |       <div class="clr-col-sm-12">         | ||||||
|  |  <label> Currency</label>          | ||||||
|  | <input type="number"  class="clr-input"   formControlName="currency"  [value]="Advtest1entryForm.value.currency | number:'1.2-2' | removeCommas">    | ||||||
|  |     </div>  | ||||||
|  | 	      <!-- currency field end --> | ||||||
|  | 
 | ||||||
|  | <!-- qrCode field start -->    | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  | 	    <label>QRCode Field</label> | ||||||
|  | 	    <input class="clr-input" type="text" formControlName="qrcode_field" /> | ||||||
|  | 	    <qrcode [qrdata]="Advtest1entryForm.value.qrcode_field  ? Advtest1entryForm.value.qrcode_field : '' " [width]="135" [errorCorrectionLevel]="'M'"  ></qrcode>   </div> | ||||||
|  | 	<!-- qrCode field end --> | ||||||
|  | 
 | ||||||
|  | <!-- bar code field start -->     | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  | 	    <label> BarCode Field</label> | ||||||
|  | 	    <input  type="text" class="clr-input" formControlName="barcode_field" (input)="generateBarcodebarcode_field($event.target.value)" /> | ||||||
|  | 	    <svg id="barcodebarcode_field"></svg>   </div> | ||||||
|  | 	<!-- bar code field end --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |               </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> | ||||||
|  | 
 | ||||||
|  | <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 audio_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 FileDataaudio_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)="onFileChangedaudio_field($event, i)"  accept="audio/*" /><!--accept="audio file"--> | ||||||
|  |               </td> | ||||||
|  |          <td>{{attach.uploadedfile_name}}</td> | ||||||
|  |              <td >  <audio *ngIf="attach.filePreview" [src]="attach.filePreview" controls></audio></td> | ||||||
|  |              <td> | ||||||
|  |                <a  (click)="deleteRowaudio_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)="onAddLinesaudio_field()"> | ||||||
|  |            <clr-icon shape="plus"></clr-icon> | ||||||
|  |          </button> | ||||||
|  | 
 | ||||||
|  |        </table> </div> | ||||||
|  | 
 | ||||||
|  | <h6> List of video_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 FileDatavideo_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)="onFileChangedvideo_field($event, i)"  accept="video/*" /><!--accept=".mp4,.mpeg4"--> | ||||||
|  |               </td> | ||||||
|  |          <td>{{attach.uploadedfile_name}}</td> | ||||||
|  |              <td >            <video *ngIf="attach.filePreview" [src]="attach.filePreview" width="100px" height="100px" controls></video></td> | ||||||
|  |              <td> | ||||||
|  |                <a  (click)="deleteRowvideo_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)="onAddLinesvideo_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)="onadvtestSave()">advtest</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>basictets Summary:</h5><p><strong>Name : </strong> {{ FormaentryForm.get('name')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Number Field : </strong> {{ FormaentryForm.get('number_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Phone Number : </strong> {{ FormaentryForm.get('phone_number')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Paragraph Field : </strong> {{ FormaentryForm.get('paragraph_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Password Field : </strong> {{ FormaentryForm.get('password_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Textarea : </strong> {{ FormaentryForm.get('textarea')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Date Field : </strong> {{ FormaentryForm.get('date_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Datetime Field : </strong> {{ FormaentryForm.get('datetime_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Email Field : </strong> {{ FormaentryForm.get('email_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Toggle Switch : </strong> {{ FormaentryForm.get('toggle_switch')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Decimal Field : </strong> {{ FormaentryForm.get('decimal_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Url Field : </strong> {{ FormaentryForm.get('url_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>recaptcha : </strong> {{ FormaentryForm.get('recaptcha')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Percentage Field : </strong> {{ FormaentryForm.get('percentage_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |             </div> | ||||||
|  |           </div>   <div class="clr-row mb-3"> | ||||||
|  |             <div class="clr-col-12"> | ||||||
|  |               <h5>advtest Summary:</h5><p><strong>Name : </strong> {{ Advtest1entryForm.get('name')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>country : </strong> {{ Advtest1entryForm.get('country')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>gender : </strong> {{ Advtest1entryForm.get('gender')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>address : </strong> {{ Advtest1entryForm.get('address')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Fileupload Field : </strong> {{ Advtest1entryForm.get('fileupload_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Imageupload Field : </strong> {{ Advtest1entryForm.get('imageupload_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>audio Field : </strong> {{ Advtest1entryForm.get('audio_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>video Field : </strong> {{ Advtest1entryForm.get('video_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>Currency : </strong> {{ Advtest1entryForm.get('currency')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>QRCode Field : </strong> {{ Advtest1entryForm.get('qrcode_field')?.value }}</p> | ||||||
|  | 
 | ||||||
|  | <p><strong>BarCode Field : </strong> {{ Advtest1entryForm.get('barcode_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 { demotestComponent } from './demotest.component'; | ||||||
|  | 
 | ||||||
|  | describe('demotestComponent', () => { | ||||||
|  |   let component: demotestComponent; | ||||||
|  |   let fixture: ComponentFixture<demotestComponent>; | ||||||
|  | 
 | ||||||
|  |   beforeEach(async () => { | ||||||
|  |     await TestBed.configureTestingModule({ | ||||||
|  |       declarations: [ demotestComponent ] | ||||||
|  |     }) | ||||||
|  |     .compileComponents(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(demotestComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -0,0 +1,166 @@ | |||||||
|  | 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 demotestservice{ | ||||||
|  |   private StepperURL = "Stepper_table_config/Stepper_table_config"; | ||||||
|  |   private FormaURL = "Forma/Forma" ;  private Advtest1URL = "Advtest1/Advtest1" ;  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
 | ||||||
|  |   }  getAllForma(page?: number, size?: number): Observable<any> { | ||||||
|  |     return this.apiRequest.get(this.FormaURL); | ||||||
|  |   } | ||||||
|  |   getFormaById(id: number): Observable<any> { | ||||||
|  |     const _http = this.FormaURL + "/" + id; | ||||||
|  |     return this.apiRequest.get(_http); | ||||||
|  |   } | ||||||
|  |   createForma(data: any): Observable<any> { | ||||||
|  |     return this.apiRequest.post(this.FormaURL, data); | ||||||
|  |   } | ||||||
|  |   updateForma(id: number, data: any): Observable<any> { | ||||||
|  |     const _http = this.FormaURL + "/" + id; | ||||||
|  |     return this.apiRequest.put(_http, data); | ||||||
|  |   } | ||||||
|  |   deleteForma(id: number): Observable<any> { | ||||||
|  |     const _http = this.FormaURL + "/" + id; | ||||||
|  |     return this.apiRequest.delete(_http); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   getAllAdvtest1(page?: number, size?: number): Observable<any> { | ||||||
|  |     return this.apiRequest.get(this.Advtest1URL); | ||||||
|  |   } | ||||||
|  |   getAdvtest1ById(id: number): Observable<any> { | ||||||
|  |     const _http = this.Advtest1URL + "/" + id; | ||||||
|  |     return this.apiRequest.get(_http); | ||||||
|  |   } | ||||||
|  |   createAdvtest1(data: any): Observable<any> { | ||||||
|  |     return this.apiRequest.post(this.Advtest1URL, data); | ||||||
|  |   } | ||||||
|  |   updateAdvtest1(id: number, data: any): Observable<any> { | ||||||
|  |     const _http = this.Advtest1URL + "/" + id; | ||||||
|  |     return this.apiRequest.put(_http, data); | ||||||
|  |   } | ||||||
|  |   deleteAdvtest1(id: number): Observable<any> { | ||||||
|  |     const _http = this.Advtest1URL + "/" + id; | ||||||
|  |     return this.apiRequest.delete(_http); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadfilefileupload_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadfilegetByIdfileupload_field(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadfiledeletefileupload_field(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadImageupload_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadImageupload_fieldgetById(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadImageupload_fielddelete(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadAudio_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadAudio_fieldgetById(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadAudio_fielddelete(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadVideo_field(ref:any, Advtest1:any, file:any): Observable<any>{ | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('file', file); | ||||||
|  |     return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   uploadVideo_fieldgetById(ref:any, Advtest1:any,): Observable<any> { | ||||||
|  |     return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Advtest1}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   uploadVideo_fielddelete(id: number): Observable<any> { | ||||||
|  |     return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
| @ -1,3 +1,6 @@ | |||||||
|  | import { demotestComponent } from './BuilderComponents/stepperworkflow/demotest/demotest.component'; | ||||||
|  | import { Advtest1Component } from './BuilderComponents/basicp1/Advtest1/Advtest1.component'; | ||||||
|  | import { FormaComponent } from './BuilderComponents/basicp1/Forma/Forma.component'; | ||||||
| 
 | 
 | ||||||
| import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; | import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; | ||||||
| import { Component, NgModule } from '@angular/core'; | import { Component, NgModule } from '@angular/core'; | ||||||
| @ -256,6 +259,15 @@ const routes: Routes = [ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|       // buildercomponents
 |       // buildercomponents
 | ||||||
|  | {path:'demotest/:id',component:demotestComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {path:'Advtest1',component:Advtest1Component}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {path:'Forma',component:FormaComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,3 +1,6 @@ | |||||||
|  | import { demotestComponent } from './BuilderComponents/stepperworkflow/demotest/demotest.component'; | ||||||
|  | import { Advtest1Component } from './BuilderComponents/basicp1/Advtest1/Advtest1.component'; | ||||||
|  | import { FormaComponent } from './BuilderComponents/basicp1/Forma/Forma.component'; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| import { CommonModule } from '@angular/common'; | import { CommonModule } from '@angular/common'; | ||||||
| @ -129,6 +132,15 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     // buildercomponents
 |     // buildercomponents
 | ||||||
|  | demotestComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Advtest1Component, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | FormaComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -226,10 +226,31 @@ | |||||||
|   "MENU_ACTION_LINK": "Menu Action Link", |   "MENU_ACTION_LINK": "Menu Action Link", | ||||||
|   "STATUS": "Status", |   "STATUS": "Status", | ||||||
|   "SUB_MENU": "Sub Menu", |   "SUB_MENU": "Sub Menu", | ||||||
|   "Active": "Active", |   "country": "country", | ||||||
|   "Description": "Description", |   "villae": "villae", | ||||||
|  |   "video_Field": "video_Field", | ||||||
|  |   "gender": "gender", | ||||||
|  |   "QRCode_Field": "QRCode_Field", | ||||||
|  |   "Datetime_Field": "Datetime_Field", | ||||||
|  |   "Phone_Number": "Phone_Number", | ||||||
|   "Fileupload_Field": "Fileupload_Field", |   "Fileupload_Field": "Fileupload_Field", | ||||||
|   "Test22": "Test22", |   "Name": "Name", | ||||||
|   "Test11": "Test11", |   "Textarea": "Textarea", | ||||||
|   "Name": "Name" |   "Currency": "Currency", | ||||||
|  |   "recaptcha": "recaptcha", | ||||||
|  |   "Date_Field": "Date_Field", | ||||||
|  |   "BarCode_Field": "BarCode_Field", | ||||||
|  |   "Toggle_Switch": "Toggle_Switch", | ||||||
|  |   "Advtest1": "Advtest1", | ||||||
|  |   "Number_Field": "Number_Field", | ||||||
|  |   "Percentage_Field": "Percentage_Field", | ||||||
|  |   "Email_Field": "Email_Field", | ||||||
|  |   "Url_Field": "Url_Field", | ||||||
|  |   "home": "home", | ||||||
|  |   "Forma": "Forma", | ||||||
|  |   "Paragraph_Field": "Paragraph_Field", | ||||||
|  |   "Imageupload_Field": "Imageupload_Field", | ||||||
|  |   "audio_Field": "audio_Field", | ||||||
|  |   "Password_Field": "Password_Field", | ||||||
|  |   "Decimal_Field": "Decimal_Field" | ||||||
| } | } | ||||||
							
								
								
									
										4
									
								
								steptest035-steptest-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								steptest035-steptest-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | CREATE TABLE steptest.Forma(id BIGINT NOT NULL AUTO_INCREMENT, toggle_switch VARCHAR(400), number_field int, datetime_field VARCHAR(400), percentage_field int, phone_number VARCHAR(400), email_field VARCHAR(400), url_field VARCHAR(400), name VARCHAR(400), paragraph_field VARCHAR(400), textarea VARCHAR(400), recaptcha VARCHAR(400), password_field VARCHAR(400), date_field Date, decimal_field double,  PRIMARY KEY (id)); | ||||||
|  | 
 | ||||||
|  | CREATE TABLE steptest.Advtest1(id BIGINT NOT NULL AUTO_INCREMENT, country VARCHAR(400), villae bit(1), video_field VARCHAR(400), gender VARCHAR(400), currency VARCHAR(400), qrcode_field VARCHAR(400), fileupload_field VARCHAR(400), imageupload_field VARCHAR(400), audio_field VARCHAR(400), barcode_field VARCHAR(400), name VARCHAR(400), home bit(1),  PRIMARY KEY (id)); | ||||||
|  | 
 | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user