build_app
This commit is contained in:
		
							parent
							
								
									77144aaa77
								
							
						
					
					
						commit
						856d3149bc
					
				@ -69,6 +69,15 @@ public class BuilderService {
 | 
				
			|||||||
		executeDump(true);
 | 
							executeDump(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// ADD OTHER SERVICE
 | 
							// ADD OTHER SERVICE
 | 
				
			||||||
 | 
					addCustomMenu( "Steps","Stepper_workflow",  "Transcations"); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					addCustomMenu( "Adv2","Adv2",  "Transcations"); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					addCustomMenu( "Testlist","Testlist",  "Transcations"); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		System.out.println("dashboard and menu inserted...");
 | 
							System.out.println("dashboard and menu inserted...");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,123 @@
 | 
				
			|||||||
 | 
					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.Adv2;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.Adv2Service ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RequestMapping(value = "/Adv2")
 | 
				
			||||||
 | 
					 @CrossOrigin("*") 
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class Adv2Controller {
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private Adv2Service Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Value("${projectPath}")
 | 
				
			||||||
 | 
						private String projectPath;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/Adv2")
 | 
				
			||||||
 | 
							  public Adv2 Savedata(@RequestBody Adv2 data) {
 | 
				
			||||||
 | 
							Adv2 save = Service.Savedata(data)	;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							System.out.println("data saved..." + save);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return save;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					@PutMapping("/Adv2/{id}")
 | 
				
			||||||
 | 
						public  Adv2 update(@RequestBody Adv2 data,@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Adv2 update = Service.update(data,id);
 | 
				
			||||||
 | 
							System.out.println("data update..." + update);
 | 
				
			||||||
 | 
							return update;
 | 
				
			||||||
 | 
						}	 
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						@GetMapping("/Adv2/getall/page")
 | 
				
			||||||
 | 
						public Page<Adv2> getall(@RequestParam(value = "page", required = false) Integer page,
 | 
				
			||||||
 | 
								@RequestParam(value = "size", required = false) Integer size) {
 | 
				
			||||||
 | 
							Pageable paging = PageRequest.of(page, size);
 | 
				
			||||||
 | 
							Page<Adv2> get = Service.getAllWithPagination(paging);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}	
 | 
				
			||||||
 | 
						@GetMapping("/Adv2")
 | 
				
			||||||
 | 
						public List<Adv2> getdetails() {
 | 
				
			||||||
 | 
							 List<Adv2> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// get all without authentication 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/token/Adv2")
 | 
				
			||||||
 | 
						public List<Adv2> getallwioutsec() {
 | 
				
			||||||
 | 
							 List<Adv2> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@GetMapping("/Adv2/{id}")
 | 
				
			||||||
 | 
						public  Adv2  getdetailsbyId(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Adv2  get = Service.getdetailsbyId(id);
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					@DeleteMapping("/Adv2/{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,99 @@
 | 
				
			|||||||
 | 
					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.Testlist;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.TestlistService ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RequestMapping(value = "/Testlist")
 | 
				
			||||||
 | 
					 @CrossOrigin("*") 
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class TestlistController {
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private TestlistService Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Value("${projectPath}")
 | 
				
			||||||
 | 
						private String projectPath;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/Testlist")
 | 
				
			||||||
 | 
							  public Testlist Savedata(@RequestBody Testlist data) {
 | 
				
			||||||
 | 
							Testlist save = Service.Savedata(data)	;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							System.out.println("data saved..." + save);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return save;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					@PutMapping("/Testlist/{id}")
 | 
				
			||||||
 | 
						public  Testlist update(@RequestBody Testlist data,@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Testlist update = Service.update(data,id);
 | 
				
			||||||
 | 
							System.out.println("data update..." + update);
 | 
				
			||||||
 | 
							return update;
 | 
				
			||||||
 | 
						}	 
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						@GetMapping("/Testlist/getall/page")
 | 
				
			||||||
 | 
						public Page<Testlist> getall(@RequestParam(value = "page", required = false) Integer page,
 | 
				
			||||||
 | 
								@RequestParam(value = "size", required = false) Integer size) {
 | 
				
			||||||
 | 
							Pageable paging = PageRequest.of(page, size);
 | 
				
			||||||
 | 
							Page<Testlist> get = Service.getAllWithPagination(paging);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}	
 | 
				
			||||||
 | 
						@GetMapping("/Testlist")
 | 
				
			||||||
 | 
						public List<Testlist> getdetails() {
 | 
				
			||||||
 | 
							 List<Testlist> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// get all without authentication 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/token/Testlist")
 | 
				
			||||||
 | 
						public List<Testlist> getallwioutsec() {
 | 
				
			||||||
 | 
							 List<Testlist> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@GetMapping("/Testlist/{id}")
 | 
				
			||||||
 | 
						public  Testlist  getdetailsbyId(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Testlist  get = Service.getdetailsbyId(id);
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					@DeleteMapping("/Testlist/{id}")
 | 
				
			||||||
 | 
						public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
						Service.delete_by_id(id);
 | 
				
			||||||
 | 
								return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Controllers;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					 import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist_ListFilter1;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.Testlist_ListFilter1Service ;
 | 
				
			||||||
 | 
					@RequestMapping(value = "/Testlist_ListFilter1")
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class Testlist_ListFilter1Controller {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private Testlist_ListFilter1Service Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@GetMapping("/Testlist_ListFilter1")
 | 
				
			||||||
 | 
						public List<Testlist_ListFilter1> getlist() {
 | 
				
			||||||
 | 
							 List<Testlist_ListFilter1> get = Service.getlistbuilder();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
							@GetMapping("/Testlist_ListFilter11")
 | 
				
			||||||
 | 
						public List<Testlist_ListFilter1> getlistwithparam( ) {
 | 
				
			||||||
 | 
							 List<Testlist_ListFilter1> get = Service.getlistbuilderparam( );		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,123 @@
 | 
				
			|||||||
 | 
					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.Adv2;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.Adv2Service ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RequestMapping(value = "/token/Adv2")
 | 
				
			||||||
 | 
					 @CrossOrigin("*") 
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class tokenFree_Adv2Controller {
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private Adv2Service Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Value("${projectPath}")
 | 
				
			||||||
 | 
						private String projectPath;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/Adv2")
 | 
				
			||||||
 | 
							  public Adv2 Savedata(@RequestBody Adv2 data) {
 | 
				
			||||||
 | 
							Adv2 save = Service.Savedata(data)	;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							System.out.println("data saved..." + save);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return save;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					@PutMapping("/Adv2/{id}")
 | 
				
			||||||
 | 
						public  Adv2 update(@RequestBody Adv2 data,@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Adv2 update = Service.update(data,id);
 | 
				
			||||||
 | 
							System.out.println("data update..." + update);
 | 
				
			||||||
 | 
							return update;
 | 
				
			||||||
 | 
						}	 
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						@GetMapping("/Adv2/getall/page")
 | 
				
			||||||
 | 
						public Page<Adv2> getall(@RequestParam(value = "page", required = false) Integer page,
 | 
				
			||||||
 | 
								@RequestParam(value = "size", required = false) Integer size) {
 | 
				
			||||||
 | 
							Pageable paging = PageRequest.of(page, size);
 | 
				
			||||||
 | 
							Page<Adv2> get = Service.getAllWithPagination(paging);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}	
 | 
				
			||||||
 | 
						@GetMapping("/Adv2")
 | 
				
			||||||
 | 
						public List<Adv2> getdetails() {
 | 
				
			||||||
 | 
							 List<Adv2> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// get all without authentication 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/token/Adv2")
 | 
				
			||||||
 | 
						public List<Adv2> getallwioutsec() {
 | 
				
			||||||
 | 
							 List<Adv2> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@GetMapping("/Adv2/{id}")
 | 
				
			||||||
 | 
						public  Adv2  getdetailsbyId(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Adv2  get = Service.getdetailsbyId(id);
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					@DeleteMapping("/Adv2/{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,99 @@
 | 
				
			|||||||
 | 
					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.Testlist;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.TestlistService ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RequestMapping(value = "/token/Testlist")
 | 
				
			||||||
 | 
					 @CrossOrigin("*") 
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class tokenFree_TestlistController {
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private TestlistService Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Value("${projectPath}")
 | 
				
			||||||
 | 
						private String projectPath;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/Testlist")
 | 
				
			||||||
 | 
							  public Testlist Savedata(@RequestBody Testlist data) {
 | 
				
			||||||
 | 
							Testlist save = Service.Savedata(data)	;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							System.out.println("data saved..." + save);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return save;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					@PutMapping("/Testlist/{id}")
 | 
				
			||||||
 | 
						public  Testlist update(@RequestBody Testlist data,@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Testlist update = Service.update(data,id);
 | 
				
			||||||
 | 
							System.out.println("data update..." + update);
 | 
				
			||||||
 | 
							return update;
 | 
				
			||||||
 | 
						}	 
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						@GetMapping("/Testlist/getall/page")
 | 
				
			||||||
 | 
						public Page<Testlist> getall(@RequestParam(value = "page", required = false) Integer page,
 | 
				
			||||||
 | 
								@RequestParam(value = "size", required = false) Integer size) {
 | 
				
			||||||
 | 
							Pageable paging = PageRequest.of(page, size);
 | 
				
			||||||
 | 
							Page<Testlist> get = Service.getAllWithPagination(paging);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}	
 | 
				
			||||||
 | 
						@GetMapping("/Testlist")
 | 
				
			||||||
 | 
						public List<Testlist> getdetails() {
 | 
				
			||||||
 | 
							 List<Testlist> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// get all without authentication 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/token/Testlist")
 | 
				
			||||||
 | 
						public List<Testlist> getallwioutsec() {
 | 
				
			||||||
 | 
							 List<Testlist> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@GetMapping("/Testlist/{id}")
 | 
				
			||||||
 | 
						public  Testlist  getdetailsbyId(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Testlist  get = Service.getdetailsbyId(id);
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					@DeleteMapping("/Testlist/{id}")
 | 
				
			||||||
 | 
						public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
						Service.delete_by_id(id);
 | 
				
			||||||
 | 
								return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Controllers;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					 import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist_ListFilter1;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.Testlist_ListFilter1Service ;
 | 
				
			||||||
 | 
					@RequestMapping(value = "/token/Testlist_ListFilter1")
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class tokenFree_Testlist_ListFilter1Controller {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private Testlist_ListFilter1Service Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@GetMapping("/Testlist_ListFilter1")
 | 
				
			||||||
 | 
						public List<Testlist_ListFilter1> getlist() {
 | 
				
			||||||
 | 
							 List<Testlist_ListFilter1> get = Service.getlistbuilder();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
							@GetMapping("/Testlist_ListFilter11")
 | 
				
			||||||
 | 
						public List<Testlist_ListFilter1> getlistwithparam( ) {
 | 
				
			||||||
 | 
							 List<Testlist_ListFilter1> get = Service.getlistbuilderparam( );		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					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    Adv2 extends Extension { 
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						private static final long serialVersionUID = 1L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @Id
 | 
				
			||||||
 | 
					 @GeneratedValue(strategy = GenerationType.IDENTITY)
 | 
				
			||||||
 | 
					 private Integer id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String  name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String sta_mul;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String dynamic;
 | 
				
			||||||
 | 
					private String dynamicname;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String dyanmic_mul;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String autocom;
 | 
				
			||||||
 | 
					private String autocomname;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String auto_mul;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					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    Testlist extends Extension { 
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						private static final long serialVersionUID = 1L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @Id
 | 
				
			||||||
 | 
					 @GeneratedValue(strategy = GenerationType.IDENTITY)
 | 
				
			||||||
 | 
					 private Integer id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String  name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Column(length = 2000)
 | 
				
			||||||
 | 
					private String description;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private boolean active;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Entity;
 | 
				
			||||||
 | 
					 import lombok.*;
 | 
				
			||||||
 | 
					 import javax.persistence.*;
 | 
				
			||||||
 | 
					 import java.time.LocalDateTime;
 | 
				
			||||||
 | 
					 import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @Data
 | 
				
			||||||
 | 
					 public class    Testlist_ListFilter1 { 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 private Integer id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 private String name;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					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.Adv2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Repository
 | 
				
			||||||
 | 
					public interface  Adv2Repository  extends  JpaRepository<Adv2, Integer>  { 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Query(value = "select * from adv2 where  created_by=?1", nativeQuery = true)
 | 
				
			||||||
 | 
						List<Adv2> findAll(Long creayedBy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Query(value = "select * from adv2 where  created_by=?1", nativeQuery = true)
 | 
				
			||||||
 | 
						Page<Adv2> findAll(Pageable page, Long creayedBy);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					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.Testlist;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Repository
 | 
				
			||||||
 | 
					public interface  TestlistRepository  extends  JpaRepository<Testlist, Integer>  { 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Query(value = "select * from testlist where  created_by=?1", nativeQuery = true)
 | 
				
			||||||
 | 
						List<Testlist> findAll(Long creayedBy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Query(value = "select * from testlist where  created_by=?1", nativeQuery = true)
 | 
				
			||||||
 | 
						Page<Testlist> findAll(Pageable page, Long creayedBy);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,167 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Services;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Repository.Adv2Repository;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Adv2
 | 
				
			||||||
 | 
					;import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import com.realnet.SequenceGenerator.Service.SequenceService;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.Page;
 | 
				
			||||||
 | 
					import com.realnet.realm.Entity.Realm;
 | 
				
			||||||
 | 
					import com.realnet.realm.Services.RealmService;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.Pageable;
 | 
				
			||||||
 | 
					import org.springframework.http.*;
 | 
				
			||||||
 | 
					import com.realnet.users.service1.AppUserServiceImpl;
 | 
				
			||||||
 | 
					import com.realnet.users.entity1.AppUser;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.TestlistService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.TestlistService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Service
 | 
				
			||||||
 | 
					 public class Adv2Service {
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
					private Adv2Repository Repository;
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private AppUserServiceImpl userService; 
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
						private RealmService realmService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
						private TestlistService dynamicserv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
						private TestlistService autocomserv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Adv2 Savedata(Adv2 data) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					if (data.getDynamic() != null) {
 | 
				
			||||||
 | 
							try {	
 | 
				
			||||||
 | 
					  int dynamicId = Integer.valueOf(data.getDynamic());
 | 
				
			||||||
 | 
					Testlist get =  dynamicserv.getdetailsbyId(dynamicId);
 | 
				
			||||||
 | 
								if (get != null) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								data.setDynamicname(get.getName());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					} catch (NumberFormatException e) {
 | 
				
			||||||
 | 
									System.out.println(" dynamicId is not integer..");
 | 
				
			||||||
 | 
									// Invalid integer string — ignore or log
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					if (data.getAutocom() != null) {
 | 
				
			||||||
 | 
							try {	
 | 
				
			||||||
 | 
					  int autocomId = Integer.valueOf(data.getAutocom());
 | 
				
			||||||
 | 
					Testlist get =  autocomserv.getdetailsbyId(autocomId);
 | 
				
			||||||
 | 
								if (get != null) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								data.setAutocomname(get.getName());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					} catch (NumberFormatException e) {
 | 
				
			||||||
 | 
									System.out.println(" autocomId is not integer..");
 | 
				
			||||||
 | 
									// Invalid integer string — ignore or log
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						data.setUpdatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
							data.setCreatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
							data.setAccountId(getUser().getAccount().getAccount_id());
 | 
				
			||||||
 | 
					Adv2 save = Repository.save(data);
 | 
				
			||||||
 | 
									return save;	
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						public Page<Adv2> getAllWithPagination(Pageable page) {
 | 
				
			||||||
 | 
							return Repository.findAll(page, getUser().getUserId());
 | 
				
			||||||
 | 
						}			
 | 
				
			||||||
 | 
					public List<Adv2> getdetails() {  
 | 
				
			||||||
 | 
							List<Realm> realm = realmService.findByUserId(getUser().getUserId());
 | 
				
			||||||
 | 
					List<Adv2> all = Repository.findAll(getUser().getUserId());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return all ;		}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Adv2 getdetailsbyId(Integer id) {
 | 
				
			||||||
 | 
						return Repository.findById(id).get();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void delete_by_id(Integer id) {
 | 
				
			||||||
 | 
					 Repository.deleteById(id);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Adv2 update(Adv2 data,Integer id) {
 | 
				
			||||||
 | 
						Adv2 old = Repository.findById(id).get();
 | 
				
			||||||
 | 
					old.setName(data.getName());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setSta_mul(data.getSta_mul());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setDynamic(data.getDynamic());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setDyanmic_mul(data.getDyanmic_mul());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setAutocom(data.getAutocom());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setAuto_mul(data.getAuto_mul());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					final Adv2 test = Repository.save(old);
 | 
				
			||||||
 | 
							data.setUpdatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
					  return test;} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 public AppUser getUser() {
 | 
				
			||||||
 | 
							AppUser user = userService.getLoggedInUser();
 | 
				
			||||||
 | 
							return user;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}}
 | 
				
			||||||
@ -0,0 +1,93 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Services;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Repository.TestlistRepository;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist
 | 
				
			||||||
 | 
					;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 TestlistService {
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
					private TestlistRepository Repository;
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private AppUserServiceImpl userService; 
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
						private RealmService realmService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Testlist Savedata(Testlist data) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						data.setUpdatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
							data.setCreatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
							data.setAccountId(getUser().getAccount().getAccount_id());
 | 
				
			||||||
 | 
					Testlist save = Repository.save(data);
 | 
				
			||||||
 | 
									return save;	
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						public Page<Testlist> getAllWithPagination(Pageable page) {
 | 
				
			||||||
 | 
							return Repository.findAll(page, getUser().getUserId());
 | 
				
			||||||
 | 
						}			
 | 
				
			||||||
 | 
					public List<Testlist> getdetails() {  
 | 
				
			||||||
 | 
							List<Realm> realm = realmService.findByUserId(getUser().getUserId());
 | 
				
			||||||
 | 
					List<Testlist> all = Repository.findAll(getUser().getUserId());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return all ;		}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Testlist getdetailsbyId(Integer id) {
 | 
				
			||||||
 | 
						return Repository.findById(id).get();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void delete_by_id(Integer id) {
 | 
				
			||||||
 | 
					 Repository.deleteById(id);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Testlist update(Testlist data,Integer id) {
 | 
				
			||||||
 | 
						Testlist old = Repository.findById(id).get();
 | 
				
			||||||
 | 
					old.setName(data.getName());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setDescription(data.getDescription());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setActive (data.isActive());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					final Testlist test = Repository.save(old);
 | 
				
			||||||
 | 
							data.setUpdatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
					  return test;} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 public AppUser getUser() {
 | 
				
			||||||
 | 
							AppUser user = userService.getLoggedInUser();
 | 
				
			||||||
 | 
							return user;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}}
 | 
				
			||||||
@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Services;
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Repository.TestlistRepository;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Testlist_ListFilter1;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
						import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Service
 | 
				
			||||||
 | 
					 public class Testlist_ListFilter1Service {
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
					private TestlistRepository Repository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 public   List<Testlist_ListFilter1>   getlistbuilder() {
 | 
				
			||||||
 | 
						List<Testlist> list= Repository.findAll();
 | 
				
			||||||
 | 
							ArrayList<Testlist_ListFilter1> l = new ArrayList<>();
 | 
				
			||||||
 | 
							for (Testlist data : list) {
 | 
				
			||||||
 | 
					boolean isactive = data.isActive();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (isactive) {{	
 | 
				
			||||||
 | 
					Testlist_ListFilter1 dummy = new Testlist_ListFilter1();
 | 
				
			||||||
 | 
								dummy.setId(data.getId());
 | 
				
			||||||
 | 
					  dummy.setName(data.getName());
 | 
				
			||||||
 | 
						l.add(dummy);
 | 
				
			||||||
 | 
					}} 
 | 
				
			||||||
 | 
					} 		
 | 
				
			||||||
 | 
					return l;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 public   List<Testlist_ListFilter1>   getlistbuilderparam( ) {
 | 
				
			||||||
 | 
						List<Testlist> list= Repository.findAll();
 | 
				
			||||||
 | 
							ArrayList<Testlist_ListFilter1> l = new ArrayList<>();
 | 
				
			||||||
 | 
							for (Testlist data : list) {
 | 
				
			||||||
 | 
					boolean isactive = data.isActive();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (isactive) {{	
 | 
				
			||||||
 | 
					Testlist_ListFilter1 dummy = new Testlist_ListFilter1();
 | 
				
			||||||
 | 
								dummy.setId(data.getId());
 | 
				
			||||||
 | 
					  dummy.setName(data.getName());
 | 
				
			||||||
 | 
						l.add(dummy);
 | 
				
			||||||
 | 
					}} 
 | 
				
			||||||
 | 
					} 		
 | 
				
			||||||
 | 
					return l;}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										4
									
								
								stepper061-dbbs-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								stepper061-dbbs-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					CREATE TABLE dbbs.Testlist(id BIGINT NOT NULL AUTO_INCREMENT, active VARCHAR(400), description VARCHAR(400), name VARCHAR(400),  PRIMARY KEY (id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CREATE TABLE dbbs.Adv2(id BIGINT NOT NULL AUTO_INCREMENT, autocom int, auto_mul VARCHAR(400), dyanmic_mul VARCHAR(400), sta_mul VARCHAR(400), dynamic int, name VARCHAR(400),  PRIMARY KEY (id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -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,539 @@
 | 
				
			|||||||
 | 
					<ol class="breadcrumb breadcrumb-arrow font-trirong">
 | 
				
			||||||
 | 
					  <li><a href="javascript://"> Adv2</a></li>
 | 
				
			||||||
 | 
					</ol>
 | 
				
			||||||
 | 
					<div class="dg-wrapper">
 | 
				
			||||||
 | 
					  <div class="clr-row">
 | 
				
			||||||
 | 
					    <div class="clr-col-8">
 | 
				
			||||||
 | 
					      <h3>Adv2 </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]="'sta_mul'"> <ng-container *clrDgHideableColumn="{hidden: false}"> sta mul
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'dynamic'"> <ng-container *clrDgHideableColumn="{hidden: false}"> dynamic
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'dyanmic_mul'"> <ng-container *clrDgHideableColumn="{hidden: false}"> dyanmic mul
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'autocom'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Autocom
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'auto_mul'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Auto mul
 | 
				
			||||||
 | 
											    </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.sta_mul }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user. dynamicname }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user. dyanmic_mul }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user. autocomname }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user. auto_mul }}</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 Adv2
 | 
				
			||||||
 | 
					 <!--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> sta mul</label>
 | 
				
			||||||
 | 
					  <clr-combobox-container style="margin-top: 0; padding-top: 0;">
 | 
				
			||||||
 | 
					    <clr-combobox [(ngModel)]="nodeEditPropertiessta_mul .editselectedAttributessta_mul"  name="
 | 
				
			||||||
 | 
					      editselectedAttributessta_mul" clrMulti="true">
 | 
				
			||||||
 | 
					      <ng-container *clrOptionSelected="let selected">
 | 
				
			||||||
 | 
					        {{selected}} </ng-container>
 | 
				
			||||||
 | 
					      <clr-options>
 | 
				
			||||||
 | 
					        <clr-option *clrOptionItems="let item of selectsta_mul" [clrValue]=" item"> {{item}}
 | 
				
			||||||
 | 
					        </clr-option> </clr-options>
 | 
				
			||||||
 | 
					    </clr-combobox>
 | 
				
			||||||
 | 
					  </clr-combobox-container>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12"> 
 | 
				
			||||||
 | 
					<label>dynamic</label>
 | 
				
			||||||
 | 
					<select name="dynamic" [(ngModel)]="rowSelected.dynamic"> 
 | 
				
			||||||
 | 
					  <option [value]="null">Choose dynamic</option>
 | 
				
			||||||
 | 
					<option *ngFor=" let item of selectdynamic" [value]="item.name">{{item.name }}</option> </select> </div>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					            <label> dyanmic mul</label>
 | 
				
			||||||
 | 
					            <clr-combobox-container style="margin-top: 0; padding-top: 0;">
 | 
				
			||||||
 | 
					              <clr-combobox [(ngModel)]="nodeEditPropertiesdyanmic_mul.editselectedAttributesdyanmic_mul"  name="editselectedAttributesdyanmic_mul" clrMulti="true"             >
 | 
				
			||||||
 | 
					               <ng-container *clrOptionSelected="let selected">
 | 
				
			||||||
 | 
					                 {{selected}}              </ng-container>
 | 
				
			||||||
 | 
					               <clr-options>
 | 
				
			||||||
 | 
					                 <clr-option *clrOptionItems="let item of selectdyanmic_mul" [clrValue]="item.name">{{item.name}} </clr-option>              </clr-options>
 | 
				
			||||||
 | 
					             </clr-combobox>             
 | 
				
			||||||
 | 
					            </clr-combobox-container>         </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					        <label> Autocom</label>
 | 
				
			||||||
 | 
					        <input type="text" list="autocomconfig" class="clr-input" name="autocom" [(ngModel)]="rowSelected.autocom">      
 | 
				
			||||||
 | 
					 <datalist id="autocomconfig">
 | 
				
			||||||
 | 
					        <option *ngFor="let item of selectautocom" [value]="item.name">{{item.name }}</option>  </datalist>         </div>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					            <label> Auto mul</label>
 | 
				
			||||||
 | 
					            <clr-combobox-container style="margin-top: 0; padding-top: 0;">
 | 
				
			||||||
 | 
					              <clr-combobox [(ngModel)]="nodeEditPropertiesauto_mul.editselectedAttributesauto_mul"  name="editselectedAttributesauto_mul" clrMulti="true"             >
 | 
				
			||||||
 | 
					               <ng-container *clrOptionSelected="let selected">
 | 
				
			||||||
 | 
					                 {{selected}}              </ng-container>
 | 
				
			||||||
 | 
					               <clr-options>
 | 
				
			||||||
 | 
					                 <clr-option *clrOptionItems="let item of selectauto_mul" [clrValue]="item.name">{{item.name}} </clr-option>              </clr-options>
 | 
				
			||||||
 | 
					             </clr-combobox>             
 | 
				
			||||||
 | 
					            </clr-combobox-container>         </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 Adv2 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- 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: 'Adv2_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>sta mul</label>
 | 
				
			||||||
 | 
												          <clr-combobox-container style="margin-top: 0; padding-top: 0;">
 | 
				
			||||||
 | 
												            <clr-combobox [(ngModel)]="nodeEditPropertiessta_mul.addselectedAttributessta_mul"  formControlName="sta_mul" clrMulti="true">
 | 
				
			||||||
 | 
												             <ng-container *clrOptionSelected="let selected">
 | 
				
			||||||
 | 
												               {{selected}}          </ng-container>
 | 
				
			||||||
 | 
												            <clr-options>
 | 
				
			||||||
 | 
												                <clr-option *clrOptionItems="let item of selectsta_mul" [clrValue]="item"> {{item}}
 | 
				
			||||||
 | 
												                </clr-option>            </clr-options> 
 | 
				
			||||||
 | 
												           </clr-combobox>           
 | 
				
			||||||
 | 
												          </clr-combobox-container>      </div> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
						          <label>  dynamic</label> 
 | 
				
			||||||
 | 
					<select  formControlName="dynamic">  
 | 
				
			||||||
 | 
					  <option [value]="null">Choose dynamic</option>
 | 
				
			||||||
 | 
									<option *ngFor="let item of selectdynamic" [value]="item.name">{{item.name}}</option>
 | 
				
			||||||
 | 
						      </select>          </div>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">           
 | 
				
			||||||
 | 
					<label>dyanmic mul</label>
 | 
				
			||||||
 | 
						          <clr-combobox-container style="margin-top: 0; padding-top: 0;">
 | 
				
			||||||
 | 
						            <clr-combobox [(ngModel)]="nodeEditPropertiesdyanmic_mul.addselectedAttributesdyanmic_mul"  formControlName="dyanmic_mul" clrMulti="true"             >
 | 
				
			||||||
 | 
						             <ng-container *clrOptionSelected="let selected">
 | 
				
			||||||
 | 
						               {{selected}}              </ng-container>
 | 
				
			||||||
 | 
						             <clr-options>
 | 
				
			||||||
 | 
						               <clr-option *clrOptionItems="let item of selectdyanmic_mul" [clrValue]="item. name"> {{item. name}}</clr-option></clr-options>
 | 
				
			||||||
 | 
						           </clr-combobox>             
 | 
				
			||||||
 | 
						          </clr-combobox-container>         </div>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12" >
 | 
				
			||||||
 | 
						        <label>  Autocom</label>
 | 
				
			||||||
 | 
						        <input type="text" list="autocomconfig" class="clr-input" formControlName="autocom">
 | 
				
			||||||
 | 
						        <datalist id="autocomconfig"> <option *ngFor="let item of selectautocom" [value]="item.name">{{item. name }}</option>     </datalist>       </div>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">           
 | 
				
			||||||
 | 
					<label>Auto mul</label>
 | 
				
			||||||
 | 
						          <clr-combobox-container style="margin-top: 0; padding-top: 0;">
 | 
				
			||||||
 | 
						            <clr-combobox [(ngModel)]="nodeEditPropertiesauto_mul.addselectedAttributesauto_mul"  formControlName="auto_mul" clrMulti="true"             >
 | 
				
			||||||
 | 
						             <ng-container *clrOptionSelected="let selected">
 | 
				
			||||||
 | 
						               {{selected}}              </ng-container>
 | 
				
			||||||
 | 
						             <clr-options>
 | 
				
			||||||
 | 
						               <clr-option *clrOptionItems="let item of selectauto_mul" [clrValue]="item. name"> {{item. name}}</clr-option></clr-options>
 | 
				
			||||||
 | 
						           </clr-combobox>             
 | 
				
			||||||
 | 
						          </clr-combobox-container>         </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,376 @@
 | 
				
			|||||||
 | 
					import { Component, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					import { ToastrService } from 'ngx-toastr';
 | 
				
			||||||
 | 
					import { AlertService } from 'src/app/services/alert.service';
 | 
				
			||||||
 | 
					import { Adv2service} from './Adv2.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 { Adv2cardvariable } from './Adv2_cardvariable';
 | 
				
			||||||
 | 
					import { UserInfoService } from 'src/app/services/user-info.service';
 | 
				
			||||||
 | 
					declare var JsBarcode: any; 
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: 'app-Adv2',
 | 
				
			||||||
 | 
					  templateUrl: './Adv2.component.html',
 | 
				
			||||||
 | 
					  styleUrls: ['./Adv2.component.scss']
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class Adv2Component implements OnInit {
 | 
				
			||||||
 | 
					  cardButton = Adv2cardvariable.cardButton;
 | 
				
			||||||
 | 
					  cardmodeldata = Adv2cardvariable.cardmodeldata;
 | 
				
			||||||
 | 
					  public dashboardArray: DashboardContentModel2[];
 | 
				
			||||||
 | 
					  isCardview = Adv2cardvariable.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 = 'Adv2_formCode'
 | 
				
			||||||
 | 
					tableName = 'Adv2';  checkFormCode; selected: any[] = []; constructor(
 | 
				
			||||||
 | 
					    private extensionService: ExtensionService,
 | 
				
			||||||
 | 
					private userInfoService:UserInfoService,
 | 
				
			||||||
 | 
					    private mainService:Adv2service,
 | 
				
			||||||
 | 
					    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],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sta_mul : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dynamic : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dyanmic_mul : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					autocom : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					auto_mul : [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 === "Adv2_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.getalldynamic();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.getalldyanmic_mul();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.getallautocom();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.getallauto_mul();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 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.nodeEditPropertiessta_mul.editselectedAttributessta_mul = JSON.parse(this.rowSelected.sta_mul );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.nodeEditPropertiesdyanmic_mul.editselectedAttributesdyanmic_mul = JSON.parse(this.rowSelected.dyanmic_mul );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.nodeEditPropertiesauto_mul.editselectedAttributesauto_mul = JSON.parse(this.rowSelected.auto_mul );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.rowSelected.sta_mul  = JSON.stringify(this.nodeEditPropertiessta_mul.editselectedAttributessta_mul  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.rowSelected.dyanmic_mul  = JSON.stringify(this.nodeEditPropertiesdyanmic_mul.editselectedAttributesdyanmic_mul  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.rowSelected.auto_mul  = JSON.stringify(this.nodeEditPropertiesauto_mul.editselectedAttributesauto_mul  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //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.entryForm.value.sta_mul  = JSON.stringify(this.nodeEditPropertiessta_mul.addselectedAttributessta_mul );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.entryForm.value.dyanmic_mul  = JSON.stringify(this.nodeEditPropertiesdyanmic_mul.addselectedAttributesdyanmic_mul );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.entryForm.value.auto_mul  = JSON.stringify(this.nodeEditPropertiesauto_mul.addselectedAttributesauto_mul );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.nodeEditPropertiesdyanmic_mul.addselectedAttributesdyanmic_mul = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					this.nodeEditPropertiesauto_mul.addselectedAttributesauto_mul = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 submitted = false;
 | 
				
			||||||
 | 
					onSubmit() {
 | 
				
			||||||
 | 
					  console.log(this.entryForm.value);
 | 
				
			||||||
 | 
					 this.submitted = true;
 | 
				
			||||||
 | 
					  if (this.entryForm.invalid) {
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }this.onCreate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nodeEditPropertiessta_mul  = {   addselectedAttributessta_mul :"",   editselectedAttributessta_mul :"" }
 | 
				
			||||||
 | 
												 selectsta_mul =[
 | 
				
			||||||
 | 
													
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
													'a',
 | 
				
			||||||
 | 
													 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
													'b',
 | 
				
			||||||
 | 
													 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
													'c',
 | 
				
			||||||
 | 
													 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
												];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					selectdynamic ;     
 | 
				
			||||||
 | 
					getalldynamic() {
 | 
				
			||||||
 | 
					 this.mainService.getAlldynamic().subscribe(data=>{
 | 
				
			||||||
 | 
					this.selectdynamic = data;       
 | 
				
			||||||
 | 
					console.log(data);
 | 
				
			||||||
 | 
					},(error) => {       console.log(error);     });   }							   
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					selectdyanmic_mul;    
 | 
				
			||||||
 | 
					 getalldyanmic_mul () {
 | 
				
			||||||
 | 
							this.mainService.getAlldyanmic_mul().subscribe(data=>{
 | 
				
			||||||
 | 
												      this.selectdyanmic_mul = data;     
 | 
				
			||||||
 | 
					  console.log(data);
 | 
				
			||||||
 | 
					 },(error) => {       console.log(error);     });   } 
 | 
				
			||||||
 | 
					 nodeEditPropertiesdyanmic_mul  = {     addselectedAttributesdyanmic_mul:"",  editselectedAttributesdyanmic_mul :""   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					selectautocom ;    
 | 
				
			||||||
 | 
					 getallautocom () {
 | 
				
			||||||
 | 
												    this.mainService.getAllautocom().subscribe(data=>{
 | 
				
			||||||
 | 
												      this.selectautocom = data;       console.log(data);
 | 
				
			||||||
 | 
												    },(error) => {       console.log(error);     });   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					selectauto_mul;    
 | 
				
			||||||
 | 
					 getallauto_mul () {
 | 
				
			||||||
 | 
							this.mainService.getAllauto_mul().subscribe(data=>{
 | 
				
			||||||
 | 
												      this.selectauto_mul = data;     
 | 
				
			||||||
 | 
					  console.log(data);
 | 
				
			||||||
 | 
					 },(error) => {       console.log(error);     });   } 
 | 
				
			||||||
 | 
					 nodeEditPropertiesauto_mul  = {     addselectedAttributesauto_mul:"",  editselectedAttributesauto_mul :""   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					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 Adv2service{
 | 
				
			||||||
 | 
					  private baseURL = "Adv2/Adv2" ;  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);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					getAlldynamic(): Observable<any> {   
 | 
				
			||||||
 | 
					return this.apiRequest.get("Testlist_ListFilter1/Testlist_ListFilter1");  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					getAlldyanmic_mul(): Observable<any> {   return this.apiRequest.get("Testlist_ListFilter1/Testlist_ListFilter1");  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					getAllautocom(): Observable<any> {   return this.apiRequest.get("Testlist_ListFilter1/Testlist_ListFilter1");  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					getAllauto_mul(): Observable<any> {   return this.apiRequest.get("Testlist_ListFilter1/Testlist_ListFilter1");  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					export const Adv2cardvariable = {
 | 
				
			||||||
 | 
					    "cardButton": false,
 | 
				
			||||||
 | 
					    "cardmodeldata": ``
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,376 @@
 | 
				
			|||||||
 | 
					<ol class="breadcrumb breadcrumb-arrow font-trirong">
 | 
				
			||||||
 | 
					  <li><a href="javascript://"> Testlist</a></li>
 | 
				
			||||||
 | 
					</ol>
 | 
				
			||||||
 | 
					<div class="dg-wrapper">
 | 
				
			||||||
 | 
					  <div class="clr-row">
 | 
				
			||||||
 | 
					    <div class="clr-col-8">
 | 
				
			||||||
 | 
					      <h3>Testlist </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]="'description'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Description
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'active'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Active
 | 
				
			||||||
 | 
											    </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 (click)="goToReplaceStringdescription (user.description)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon>
 | 
				
			||||||
 | 
					</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.active }}</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)]="rsModaldescription" [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 Testlist
 | 
				
			||||||
 | 
					 <!--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> Description</label>
 | 
				
			||||||
 | 
						              <textarea cols="10" rows="2"[(ngModel)]="rowSelected.description" name="description " placeholder="Textarea">  </textarea>
 | 
				
			||||||
 | 
						           </div> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12"> 
 | 
				
			||||||
 | 
					<label> Active</label> 
 | 
				
			||||||
 | 
					<input type="checkbox" name="active" clrToggle [(ngModel)]="rowSelected.active" /> </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 Testlist 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- 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: 'Testlist_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>  Description</label>             
 | 
				
			||||||
 | 
					 <textarea cols="10" rows="2" formControlName="description" placeholder="Textarea">  </textarea>
 | 
				
			||||||
 | 
						            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">            
 | 
				
			||||||
 | 
					 <label> Active</label>            
 | 
				
			||||||
 | 
					  <input type="checkbox" formControlName="active" clrToggle/>            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 </div> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      <!-- 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,270 @@
 | 
				
			|||||||
 | 
					import { Component, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					import { ToastrService } from 'ngx-toastr';
 | 
				
			||||||
 | 
					import { AlertService } from 'src/app/services/alert.service';
 | 
				
			||||||
 | 
					import { Testlistservice} from './Testlist.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 { Testlistcardvariable } from './Testlist_cardvariable';
 | 
				
			||||||
 | 
					import { UserInfoService } from 'src/app/services/user-info.service';
 | 
				
			||||||
 | 
					declare var JsBarcode: any; 
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: 'app-Testlist',
 | 
				
			||||||
 | 
					  templateUrl: './Testlist.component.html',
 | 
				
			||||||
 | 
					  styleUrls: ['./Testlist.component.scss']
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class TestlistComponent implements OnInit {
 | 
				
			||||||
 | 
					  cardButton = Testlistcardvariable.cardButton;
 | 
				
			||||||
 | 
					  cardmodeldata = Testlistcardvariable.cardmodeldata;
 | 
				
			||||||
 | 
					  public dashboardArray: DashboardContentModel2[];
 | 
				
			||||||
 | 
					  isCardview = Testlistcardvariable.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 = 'Testlist_formCode'
 | 
				
			||||||
 | 
					tableName = 'Testlist';  checkFormCode; selected: any[] = []; constructor(
 | 
				
			||||||
 | 
					    private extensionService: ExtensionService,
 | 
				
			||||||
 | 
					private userInfoService:UserInfoService,
 | 
				
			||||||
 | 
					    private mainService:Testlistservice,
 | 
				
			||||||
 | 
					    private alertService: AlertService,
 | 
				
			||||||
 | 
					    private toastr: ToastrService,
 | 
				
			||||||
 | 
					    private _fb: FormBuilder,
 | 
				
			||||||
 | 
					  ) { }
 | 
				
			||||||
 | 
					// component button 
 | 
				
			||||||
 | 
					  ngOnInit(): void {
 | 
				
			||||||
 | 
					    if(this.cardmodeldata !== ''){
 | 
				
			||||||
 | 
					     this.cardmodal = JSON.parse(this.cardmodeldata);
 | 
				
			||||||
 | 
					    this.dashboardArray = this.cardmodal.dashboard.slice();
 | 
				
			||||||
 | 
					    console.log(this.dashboardArray)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.userrole=this.userInfoService.getRoles();
 | 
				
			||||||
 | 
					    this.getData();
 | 
				
			||||||
 | 
					    this.entryForm = this._fb.group({
 | 
				
			||||||
 | 
					name : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					description : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					active : [true],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }); // 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 === "Testlist_formCode");
 | 
				
			||||||
 | 
					      console.log(this.checkFormCode);
 | 
				
			||||||
 | 
					      console.log(this.additionalFieldsFromBackend);
 | 
				
			||||||
 | 
					      if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) {
 | 
				
			||||||
 | 
					        this.additionalFieldsFromBackend.forEach(field => {
 | 
				
			||||||
 | 
					          if (field.formCode === this.formcode) {
 | 
				
			||||||
 | 
					            if (!this.entryForm.contains(field.extValue)) {
 | 
				
			||||||
 | 
					              // Add the control only if it doesn't exist in the form
 | 
				
			||||||
 | 
					              this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    console.log(this.entryForm.value);
 | 
				
			||||||
 | 
					    // form code end 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 error; 
 | 
				
			||||||
 | 
					  getData() {
 | 
				
			||||||
 | 
					    this.mainService.getAll().subscribe((data) => {
 | 
				
			||||||
 | 
					      console.log(data);
 | 
				
			||||||
 | 
					      this.product = data;
 | 
				
			||||||
 | 
					 if(this.product.length==0){
 | 
				
			||||||
 | 
					        this.error="No Data Available"
 | 
				
			||||||
 | 
					     }   
 | 
				
			||||||
 | 
					    },(error) => {
 | 
				
			||||||
 | 
					      console.log(error);
 | 
				
			||||||
 | 
					      if(error){
 | 
				
			||||||
 | 
					       this.error="Server Error";
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  onEdit(row) {
 | 
				
			||||||
 | 
					    this.rowSelected = row;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.modalEdit = true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					   onDelete(row) {
 | 
				
			||||||
 | 
					    this.rowSelected = row;
 | 
				
			||||||
 | 
					     this.modaldelete=true;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  delete(id)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    this.modaldelete = false;
 | 
				
			||||||
 | 
					    console.log("in delete  "+id);
 | 
				
			||||||
 | 
					    this.mainService.delete(id).subscribe(
 | 
				
			||||||
 | 
					      (data) => {
 | 
				
			||||||
 | 
					        console.log(data);
 | 
				
			||||||
 | 
					        this.ngOnInit();
 | 
				
			||||||
 | 
					  if (data) {				      this.toastr.success('Deleted successfully');      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					    onUpdate(id) {
 | 
				
			||||||
 | 
					    this.modalEdit = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //console.log("in update");
 | 
				
			||||||
 | 
					    console.log("id  " + id);
 | 
				
			||||||
 | 
					    console.log(this.rowSelected);
 | 
				
			||||||
 | 
					    //console.log("out update");
 | 
				
			||||||
 | 
					    this.mainService.update(id, this.rowSelected).subscribe(
 | 
				
			||||||
 | 
					      (data) => {
 | 
				
			||||||
 | 
					        console.log(data);
 | 
				
			||||||
 | 
					        if (data || data.status >= 200 && data.status <= 299) {
 | 
				
			||||||
 | 
					          this.toastr.success("Update Successfully");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					setTimeout(() => {
 | 
				
			||||||
 | 
					      this.ngOnInit();
 | 
				
			||||||
 | 
					    }, 500);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      }, (error) => {
 | 
				
			||||||
 | 
					        console.log(error);
 | 
				
			||||||
 | 
					        if (error.status >= 200 && error.status <= 299) {
 | 
				
			||||||
 | 
					          // this.toastr.success("update Succesfully");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (error.status >= 400 && error.status <= 499) {
 | 
				
			||||||
 | 
					          this.toastr.error("Not Updated");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (error.status >= 500 && error.status <= 599) {
 | 
				
			||||||
 | 
					          this.toastr.error("Not Updated");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    setTimeout(() => {
 | 
				
			||||||
 | 
					      this.ngOnInit();
 | 
				
			||||||
 | 
					    }, 500);
 | 
				
			||||||
 | 
					  } 
 | 
				
			||||||
 | 
					onCreate() {
 | 
				
			||||||
 | 
					     this.modalAdd=false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  this.mainService.create(this.entryForm.value).subscribe(
 | 
				
			||||||
 | 
					    (data) => {
 | 
				
			||||||
 | 
					      console.log(data);
 | 
				
			||||||
 | 
					  if (data || data.status >= 200 && data.status <= 299) {
 | 
				
			||||||
 | 
					          this.toastr.success("Added Successfully");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					setTimeout(() => {
 | 
				
			||||||
 | 
					      this.ngOnInit();
 | 
				
			||||||
 | 
					    }, 500);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      }, (error) => {
 | 
				
			||||||
 | 
					        console.log(error);
 | 
				
			||||||
 | 
					        if (error.status >= 200 && error.status <= 299) {
 | 
				
			||||||
 | 
					          // this.toastr.success("Added Succesfully");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (error.status >= 400 && error.status <= 499) {
 | 
				
			||||||
 | 
					          this.toastr.error("Not Added");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (error.status >= 500 && error.status <= 599) {
 | 
				
			||||||
 | 
					          this.toastr.error("Not Added");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    setTimeout(() => {
 | 
				
			||||||
 | 
					      this.ngOnInit();
 | 
				
			||||||
 | 
					    }, 500);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  goToAdd(row) {
 | 
				
			||||||
 | 
					this.modalAdd = true; this.submitted = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 submitted = false;
 | 
				
			||||||
 | 
					onSubmit() {
 | 
				
			||||||
 | 
					  console.log(this.entryForm.value);
 | 
				
			||||||
 | 
					 this.submitted = true;
 | 
				
			||||||
 | 
					  if (this.entryForm.invalid) {
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }this.onCreate();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rsModaldescription = false;   
 | 
				
			||||||
 | 
					goToReplaceStringdescription(row){
 | 
				
			||||||
 | 
					this.rowSelected = row;     this.rsModaldescription  =true;   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					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 Testlistservice{
 | 
				
			||||||
 | 
					  private baseURL = "Testlist/Testlist" ;  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 Testlistcardvariable = {
 | 
				
			||||||
 | 
					    "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(["../steps/", id], { relativeTo: this.route });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					{"version":3,"sources":["steps.component.scss","steps.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":"steps.component.css"}
 | 
				
			||||||
@ -0,0 +1,129 @@
 | 
				
			|||||||
 | 
					<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/sss<br> Information Of
 | 
				
			||||||
 | 
					                Customer</span></clr-timeline-step-description>
 | 
				
			||||||
 | 
					          </clr-timeline-step>  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 <clr-timeline-step [clrState]="timelineStyle.step1.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">sss</h3>
 | 
				
			||||||
 | 
					        <h3 style="text-align: center;" *ngIf="appToUpdate"> Update {{TestlistentryForm.name}}</h3>
 | 
				
			||||||
 | 
					        <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <br />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					          <form [formGroup]="TestlistentryForm">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <div class="clr-row"><div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Name</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="text"  formControlName="name" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">             
 | 
				
			||||||
 | 
					 <label>  Description</label>             
 | 
				
			||||||
 | 
					 <textarea cols="10" rows="2" formControlName="description" placeholder="Textarea">  </textarea>
 | 
				
			||||||
 | 
						            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">            
 | 
				
			||||||
 | 
					 <label> Active</label>            
 | 
				
			||||||
 | 
					  <input type="checkbox" formControlName="active" clrToggle/>            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <div class="clr-row">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					              <!-- end row -->
 | 
				
			||||||
 | 
					              <br>
 | 
				
			||||||
 | 
					<div class="button">
 | 
				
			||||||
 | 
					  <button type="submit" class="btn btn-primary" (click)="onsssSave()">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"> Review And Confirmation</h3>
 | 
				
			||||||
 | 
					        <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <!--  Info -->
 | 
				
			||||||
 | 
					   <div class="clr-row mb-3">
 | 
				
			||||||
 | 
					            <div class="clr-col-12">
 | 
				
			||||||
 | 
					              <h5>Sss Summary:</h5><p><strong>Name : </strong> {{ TestlistentryForm.get('name')?.value | json}}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Description : </strong> {{ TestlistentryForm.get('description')?.value | json}}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Active : </strong> {{ TestlistentryForm.get('active')?.value | json}}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </div><div class="button">
 | 
				
			||||||
 | 
					  <button class="btn btn-primary-outline"
 | 
				
			||||||
 | 
					    (click)="this.timelineStyle.step0 = { state: 'current', open: true };
 | 
				
			||||||
 | 
					             this.timelineStyle.step1 = { state: 'not-started', open: false }">Back</button>
 | 
				
			||||||
 | 
					  <button class="btn btn-primary"
 | 
				
			||||||
 | 
					    (click)="timelineStyle.step1 = { 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 { stepsComponent } from './steps.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe('stepsComponent', () => {
 | 
				
			||||||
 | 
					  let component: stepsComponent;
 | 
				
			||||||
 | 
					  let fixture: ComponentFixture<stepsComponent>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  beforeEach(async () => {
 | 
				
			||||||
 | 
					    await TestBed.configureTestingModule({
 | 
				
			||||||
 | 
					      declarations: [ stepsComponent ]
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    .compileComponents();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  beforeEach(() => {
 | 
				
			||||||
 | 
					    fixture = TestBed.createComponent(stepsComponent);
 | 
				
			||||||
 | 
					    component = fixture.componentInstance;
 | 
				
			||||||
 | 
					    fixture.detectChanges();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  it('should create', () => {
 | 
				
			||||||
 | 
					    expect(component).toBeTruthy();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
@ -0,0 +1,317 @@
 | 
				
			|||||||
 | 
					import { Component, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { ToastrService } from 'ngx-toastr';
 | 
				
			||||||
 | 
					import { ActivatedRoute, Router } from '@angular/router';
 | 
				
			||||||
 | 
					import { College } from 'src/app/models/fnd/play';
 | 
				
			||||||
 | 
					import { student } from 'src/app/models/fnd/Studentadd';
 | 
				
			||||||
 | 
					import { AbstractControl,FormArray, FormBuilder, FormGroup, ValidationErrors, Validators } from '@angular/forms';
 | 
				
			||||||
 | 
					import { Observable } from 'rxjs';
 | 
				
			||||||
 | 
					import { ValidationError } from 'src/app/models/fnd/ValidationError';
 | 
				
			||||||
 | 
					import { stepsservice } from './steps.service';
 | 
				
			||||||
 | 
					declare var JsBarcode: any;
 | 
				
			||||||
 | 
					  @Component({
 | 
				
			||||||
 | 
					  selector: 'app-editstepper',
 | 
				
			||||||
 | 
					  templateUrl: './steps.component.html',
 | 
				
			||||||
 | 
					  styleUrls: ['./steps.component.scss']
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class stepsComponent implements OnInit {
 | 
				
			||||||
 | 
					  updated = false;
 | 
				
			||||||
 | 
					  stringJson: any;
 | 
				
			||||||
 | 
					  customerId: string = '';
 | 
				
			||||||
 | 
					  selectedFile!: File;
 | 
				
			||||||
 | 
					  fileName = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  id: number;
 | 
				
			||||||
 | 
					  errorFields: ValidationError[] = [];
 | 
				
			||||||
 | 
					  appToUpdate: College = null;
 | 
				
			||||||
 | 
					  trained = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  json: string = "";
 | 
				
			||||||
 | 
					  luisApp =
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      name: '',
 | 
				
			||||||
 | 
					      created: 1,
 | 
				
			||||||
 | 
					      trained: 1,
 | 
				
			||||||
 | 
					      tested: 1,
 | 
				
			||||||
 | 
					      updated: 1,
 | 
				
			||||||
 | 
					      published: 1,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  // Layout direction changing
 | 
				
			||||||
 | 
					  layout = {
 | 
				
			||||||
 | 
					    direction: "vertical",
 | 
				
			||||||
 | 
					    block1: "clr-col-lg-3 clr-col-12 ",
 | 
				
			||||||
 | 
					    block2: "clr-col-lg-9 clr-col-12 ",
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  timelineStyle = { 
 | 
				
			||||||
 | 
					 step0: { state: "current", open: true, failed: false }, 
 | 
				
			||||||
 | 
					    step1: { state: "not-started", open: false, failed: false },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					public TestlistentryForm: FormGroup;
 | 
				
			||||||
 | 
					  submitted = false;
 | 
				
			||||||
 | 
					  rowSelected: any = {};
 | 
				
			||||||
 | 
					  modalcomplete = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor( 
 | 
				
			||||||
 | 
					private mainService: stepsservice,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private Testlist_fb: FormBuilder, 
 | 
				
			||||||
 | 
					private router: Router,
 | 
				
			||||||
 | 
					 private route: ActivatedRoute,
 | 
				
			||||||
 | 
					    private toastr: ToastrService,
 | 
				
			||||||
 | 
					  ) { }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ngOnInit(): void {
 | 
				
			||||||
 | 
					    this.id = this.route.snapshot.params["id"];
 | 
				
			||||||
 | 
					    console.log("update with id = ", this.id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 this.TestlistentryForm = this.Testlist_fb.group({ 
 | 
				
			||||||
 | 
					name : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					description : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					active : [true],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 const stepId = this.id; // or from route/query/etc
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					    this.getResolvedDataFromStepper(stepId).subscribe(res => {
 | 
				
			||||||
 | 
					      console.log('response get ', res);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (res === null) {
 | 
				
			||||||
 | 
					        this.showEmptyForm();
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					 if (res['Testlist']) {
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 this.prefillsssForm(res['Testlist']);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					showEmptyForm(): void {
 | 
				
			||||||
 | 
					    console.log('No config found. Showing empty form.');
 | 
				
			||||||
 | 
					    // You can choose to show one or both based on some logic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 this.TestlistentryForm.reset();
 | 
				
			||||||
 | 
					  }  prefillsssForm(data: any): void {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    console.log(' sss data ', data)
 | 
				
			||||||
 | 
					    this.TestlistentryForm.patchValue({
 | 
				
			||||||
 | 
					      id: data.id || '',
 | 
				
			||||||
 | 
					name: data.name || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					description: data.description || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					active: data.active || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 getResolvedDataFromStepper(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    console.log('get step config');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return new Observable(observer => {
 | 
				
			||||||
 | 
					      this.mainService.gettabledata(id).subscribe(configList => {
 | 
				
			||||||
 | 
					        if (!configList || configList.length === 0) {
 | 
				
			||||||
 | 
					          console.log('empty config');
 | 
				
			||||||
 | 
					          observer.next(null);
 | 
				
			||||||
 | 
					          observer.complete();
 | 
				
			||||||
 | 
					          return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const results: { [key: string]: any } = {};
 | 
				
			||||||
 | 
					        let processed = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        configList.forEach(config => {
 | 
				
			||||||
 | 
					          const { table_name, table_id } = config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          this.getByTableNameAndId(table_name, table_id).subscribe(data => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            console.log('data is ', data);
 | 
				
			||||||
 | 
					            results[table_name] = data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            processed++;
 | 
				
			||||||
 | 
					            if (processed === configList.length) {
 | 
				
			||||||
 | 
					              observer.next(results);  // emit combined data
 | 
				
			||||||
 | 
					              observer.complete();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          }, error => {
 | 
				
			||||||
 | 
					            console.error(`Error loading data for table ${table_name}`, error);
 | 
				
			||||||
 | 
					            processed++;
 | 
				
			||||||
 | 
					            if (processed === configList.length) {
 | 
				
			||||||
 | 
					              observer.next(results);  // continue with what we have
 | 
				
			||||||
 | 
					              observer.complete();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      }, error => {
 | 
				
			||||||
 | 
					        console.error("Error loading stepper config", error);
 | 
				
			||||||
 | 
					        observer.error(error);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  getByTableNameAndId(tableName: string, id: number): Observable<any> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (tableName) {
 | 
				
			||||||
 | 
					   case 'Testlist':
 | 
				
			||||||
 | 
					        return this.mainService.getTestlistById(id);// aur bhi cases agar naye table add ho to
 | 
				
			||||||
 | 
					      default:
 | 
				
			||||||
 | 
					        throw new Error(`Unknown table name: ${tableName}`);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  // Change to Horizontal Layout
 | 
				
			||||||
 | 
					  changeToHorizonTal() {
 | 
				
			||||||
 | 
					    this.layout = {
 | 
				
			||||||
 | 
					      direction: "horizontal",
 | 
				
			||||||
 | 
					      block1: "clr-col-lg-12 clr-col-12 height container",
 | 
				
			||||||
 | 
					      block2: "clr-col-lg-12 clr-col-12 container",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  // Change to Vertical Layout
 | 
				
			||||||
 | 
					  changeToVertical() {
 | 
				
			||||||
 | 
					    this.layout = {
 | 
				
			||||||
 | 
					      direction: "vertical",
 | 
				
			||||||
 | 
					      block1: "clr-col-lg-3 clr-col-12 ",
 | 
				
			||||||
 | 
					      block2: "clr-col-lg-9 clr-col-12 ",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onsssSave() {
 | 
				
			||||||
 | 
					    console.log('Form Submitted:', this.TestlistentryForm.value);
 | 
				
			||||||
 | 
					    this.submitted = true;
 | 
				
			||||||
 | 
					    if (this.TestlistentryForm.invalid) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      console.log('invalid form ..');
 | 
				
			||||||
 | 
					      // Log all form errors
 | 
				
			||||||
 | 
					      Object.keys(this.TestlistentryForm.controls).forEach(field => {
 | 
				
			||||||
 | 
					        const control = this.TestlistentryForm.get(field);
 | 
				
			||||||
 | 
					        if (control && control.invalid) {
 | 
				
			||||||
 | 
					          console.log(`Error in field: ${field}`, control.errors);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.onsssCreate();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onsssCreate() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.mainService.createTestlist(this.TestlistentryForm.value).subscribe(
 | 
				
			||||||
 | 
					      (data) => {
 | 
				
			||||||
 | 
					        console.log('adding data ', data);
 | 
				
			||||||
 | 
					        this.customerId = data.id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        console.log('id is  ', this.customerId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 const tableId = data.id;
 | 
				
			||||||
 | 
					        const tableName = 'Testlist';
 | 
				
			||||||
 | 
					        const stepperId = this.id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // Save stepper config
 | 
				
			||||||
 | 
					        this.mainService.saveStepperConfig(stepperId, tableId, tableName).subscribe(() => {
 | 
				
			||||||
 | 
					          this.toastr.success("Stepper Config Saved");
 | 
				
			||||||
 | 
					        });        if (data || data.status >= 200 && data.status <= 299) {
 | 
				
			||||||
 | 
					          this.toastr.success("Added Successfully");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        setTimeout(() => {
 | 
				
			||||||
 | 
					          this.ngOnInit();
 | 
				
			||||||
 | 
					        }, 500);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      }, (error) => {
 | 
				
			||||||
 | 
					        console.log(error);
 | 
				
			||||||
 | 
					        if (error.status >= 200 && error.status <= 299) {
 | 
				
			||||||
 | 
					          // this.toastr.success("Added Succesfully");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (error.status >= 400 && error.status <= 499) {
 | 
				
			||||||
 | 
					          this.toastr.error("Not Added");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        if (error.status >= 500 && error.status <= 599) {
 | 
				
			||||||
 | 
					          this.toastr.error("Not Added");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    this.rowSelected = this.TestlistentryForm.value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    setTimeout(() => {
 | 
				
			||||||
 | 
					      this.ngOnInit();
 | 
				
			||||||
 | 
					    }, 500);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onnext() {
 | 
				
			||||||
 | 
					    this.router.navigate(["../../main/workflow"], { relativeTo: this.route });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  reset() {
 | 
				
			||||||
 | 
					    this.json = "";
 | 
				
			||||||
 | 
					    this.luisApp =
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      name: '',
 | 
				
			||||||
 | 
					      trained: 1,
 | 
				
			||||||
 | 
					      tested: 1,
 | 
				
			||||||
 | 
					      updated: 1,
 | 
				
			||||||
 | 
					      published: 1,
 | 
				
			||||||
 | 
					      created: 1,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.timelineStyle = {
 | 
				
			||||||
 | 
					      step0: { state: "current", open: true, failed: false },
 | 
				
			||||||
 | 
					      step1: { state: "not-started", open: false, failed: false },
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  current() {
 | 
				
			||||||
 | 
					    console.log(this.timelineStyle)
 | 
				
			||||||
 | 
					    this.stringJson = JSON.stringify(this.timelineStyle);
 | 
				
			||||||
 | 
					    console.log("String json object :", this.stringJson);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rsModaldescription = false;   
 | 
				
			||||||
 | 
					goToReplaceStringdescription(row){
 | 
				
			||||||
 | 
					this.rowSelected = row;     this.rsModaldescription  =true;   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,52 @@
 | 
				
			|||||||
 | 
					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 stepsservice{
 | 
				
			||||||
 | 
					  private StepperURL = "Stepper_table_config/Stepper_table_config";
 | 
				
			||||||
 | 
					  private TestlistURL = "Testlist/Testlist" ;  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
 | 
				
			||||||
 | 
					  }  getAllTestlist(page?: number, size?: number): Observable<any> {
 | 
				
			||||||
 | 
					    return this.apiRequest.get(this.TestlistURL);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  getTestlistById(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.TestlistURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.get(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  createTestlist(data: any): Observable<any> {
 | 
				
			||||||
 | 
					    return this.apiRequest.post(this.TestlistURL, data);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  updateTestlist(id: number, data: any): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.TestlistURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.put(_http, data);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  deleteTestlist(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.TestlistURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.delete(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,3 +1,6 @@
 | 
				
			|||||||
 | 
					import { stepsComponent } from './BuilderComponents/stepperworkflow/steps/steps.component';
 | 
				
			||||||
 | 
					import { Adv2Component } from './BuilderComponents/basicp1/Adv2/Adv2.component';
 | 
				
			||||||
 | 
					import { TestlistComponent } from './BuilderComponents/basicp1/Testlist/Testlist.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:'steps/:id',component:stepsComponent},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{path:'Adv2',component:Adv2Component},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{path:'Testlist',component:TestlistComponent},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,6 @@
 | 
				
			|||||||
 | 
					import { stepsComponent } from './BuilderComponents/stepperworkflow/steps/steps.component';
 | 
				
			||||||
 | 
					import { Adv2Component } from './BuilderComponents/basicp1/Adv2/Adv2.component';
 | 
				
			||||||
 | 
					import { TestlistComponent } from './BuilderComponents/basicp1/Testlist/Testlist.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { CommonModule } from '@angular/common';
 | 
					import { CommonModule } from '@angular/common';
 | 
				
			||||||
@ -129,6 +132,15 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // buildercomponents
 | 
					    // buildercomponents
 | 
				
			||||||
 | 
					stepsComponent,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Adv2Component,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TestlistComponent,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -226,10 +226,14 @@
 | 
				
			|||||||
  "MENU_ACTION_LINK": "Menu Action Link",
 | 
					  "MENU_ACTION_LINK": "Menu Action Link",
 | 
				
			||||||
  "STATUS": "Status",
 | 
					  "STATUS": "Status",
 | 
				
			||||||
  "SUB_MENU": "Sub Menu",
 | 
					  "SUB_MENU": "Sub Menu",
 | 
				
			||||||
 | 
					  "Adv2": "Adv2",
 | 
				
			||||||
 | 
					  "Autocom": "Autocom",
 | 
				
			||||||
  "Active": "Active",
 | 
					  "Active": "Active",
 | 
				
			||||||
  "Description": "Description",
 | 
					  "Description": "Description",
 | 
				
			||||||
  "Fileupload_Field": "Fileupload_Field",
 | 
					  "Auto_mul": "Auto_mul",
 | 
				
			||||||
  "Test22": "Test22",
 | 
					  "dyanmic_mul": "dyanmic_mul",
 | 
				
			||||||
  "Test11": "Test11",
 | 
					  "sta_mul": "sta_mul",
 | 
				
			||||||
 | 
					  "Testlist": "Testlist",
 | 
				
			||||||
 | 
					  "dynamic": "dynamic",
 | 
				
			||||||
  "Name": "Name"
 | 
					  "Name": "Name"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user