build_app
This commit is contained in:
		
							parent
							
								
									d51b75ea9d
								
							
						
					
					
						commit
						78ff14839b
					
				@ -69,6 +69,12 @@ public class BuilderService {
 | 
				
			|||||||
		executeDump(true);
 | 
							executeDump(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// ADD OTHER SERVICE
 | 
							// ADD OTHER SERVICE
 | 
				
			||||||
 | 
					addCustomMenu( "Steps","Stepper_workflow",  "Transcations"); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					addCustomMenu( "Forma","Forma",  "Transcations"); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		System.out.println("dashboard and menu inserted...");
 | 
							System.out.println("dashboard and menu inserted...");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,139 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Controllers;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					 import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
 | 
					import org.springframework.web.multipart.MultipartFile;
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.core.JsonProcessingException;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.CrossOrigin;
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.databind.JsonMappingException;
 | 
				
			||||||
 | 
					import com.realnet.config.EmailService;
 | 
				
			||||||
 | 
					import com.realnet.users.entity1.AppUser;
 | 
				
			||||||
 | 
					import com.realnet.users.service1.AppUserServiceImpl;
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.databind.ObjectMapper;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.*;
 | 
				
			||||||
 | 
					import com.realnet.fnd.response.EntityResponse;
 | 
				
			||||||
 | 
					import org.springframework.http.*;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.*;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Forma;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.FormaService ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RequestMapping(value = "/Forma")
 | 
				
			||||||
 | 
					 @CrossOrigin("*") 
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class FormaController {
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private FormaService Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Value("${projectPath}")
 | 
				
			||||||
 | 
						private String projectPath;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/Forma")
 | 
				
			||||||
 | 
							  public Forma Savedata(@RequestBody Forma data) {
 | 
				
			||||||
 | 
							Forma save = Service.Savedata(data)	;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							System.out.println("data saved..." + save);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return save;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					@PutMapping("/Forma/{id}")
 | 
				
			||||||
 | 
						public  Forma update(@RequestBody Forma data,@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Forma update = Service.update(data,id);
 | 
				
			||||||
 | 
							System.out.println("data update..." + update);
 | 
				
			||||||
 | 
							return update;
 | 
				
			||||||
 | 
						}	 
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						@GetMapping("/Forma/getall/page")
 | 
				
			||||||
 | 
						public Page<Forma> getall(@RequestParam(value = "page", required = false) Integer page,
 | 
				
			||||||
 | 
								@RequestParam(value = "size", required = false) Integer size) {
 | 
				
			||||||
 | 
							Pageable paging = PageRequest.of(page, size);
 | 
				
			||||||
 | 
							Page<Forma> get = Service.getAllWithPagination(paging);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}	
 | 
				
			||||||
 | 
						@GetMapping("/Forma")
 | 
				
			||||||
 | 
						public List<Forma> getdetails() {
 | 
				
			||||||
 | 
							 List<Forma> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// get all without authentication 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/token/Forma")
 | 
				
			||||||
 | 
						public List<Forma> getallwioutsec() {
 | 
				
			||||||
 | 
							 List<Forma> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@GetMapping("/Forma/{id}")
 | 
				
			||||||
 | 
						public  Forma  getdetailsbyId(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Forma  get = Service.getdetailsbyId(id);
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					@DeleteMapping("/Forma/{id}")
 | 
				
			||||||
 | 
						public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
						Service.delete_by_id(id);
 | 
				
			||||||
 | 
								return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,139 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Controllers;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					 import org.springframework.web.bind.annotation.*;
 | 
				
			||||||
 | 
					import org.springframework.web.multipart.MultipartFile;
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.core.JsonProcessingException;
 | 
				
			||||||
 | 
					import org.springframework.web.bind.annotation.CrossOrigin;
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.databind.JsonMappingException;
 | 
				
			||||||
 | 
					import com.realnet.config.EmailService;
 | 
				
			||||||
 | 
					import com.realnet.users.entity1.AppUser;
 | 
				
			||||||
 | 
					import com.realnet.users.service1.AppUserServiceImpl;
 | 
				
			||||||
 | 
					import com.fasterxml.jackson.databind.ObjectMapper;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.*;
 | 
				
			||||||
 | 
					import com.realnet.fnd.response.EntityResponse;
 | 
				
			||||||
 | 
					import org.springframework.http.*;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.*;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Forma;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Services.FormaService ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@RequestMapping(value = "/token/Forma")
 | 
				
			||||||
 | 
					 @CrossOrigin("*") 
 | 
				
			||||||
 | 
					@RestController
 | 
				
			||||||
 | 
					public class tokenFree_FormaController {
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private FormaService Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Value("${projectPath}")
 | 
				
			||||||
 | 
						private String projectPath;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@PostMapping("/Forma")
 | 
				
			||||||
 | 
							  public Forma Savedata(@RequestBody Forma data) {
 | 
				
			||||||
 | 
							Forma save = Service.Savedata(data)	;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							System.out.println("data saved..." + save);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 return save;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
					@PutMapping("/Forma/{id}")
 | 
				
			||||||
 | 
						public  Forma update(@RequestBody Forma data,@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Forma update = Service.update(data,id);
 | 
				
			||||||
 | 
							System.out.println("data update..." + update);
 | 
				
			||||||
 | 
							return update;
 | 
				
			||||||
 | 
						}	 
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						@GetMapping("/Forma/getall/page")
 | 
				
			||||||
 | 
						public Page<Forma> getall(@RequestParam(value = "page", required = false) Integer page,
 | 
				
			||||||
 | 
								@RequestParam(value = "size", required = false) Integer size) {
 | 
				
			||||||
 | 
							Pageable paging = PageRequest.of(page, size);
 | 
				
			||||||
 | 
							Page<Forma> get = Service.getAllWithPagination(paging);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}	
 | 
				
			||||||
 | 
						@GetMapping("/Forma")
 | 
				
			||||||
 | 
						public List<Forma> getdetails() {
 | 
				
			||||||
 | 
							 List<Forma> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					// get all without authentication 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@GetMapping("/token/Forma")
 | 
				
			||||||
 | 
						public List<Forma> getallwioutsec() {
 | 
				
			||||||
 | 
							 List<Forma> get = Service.getdetails();		
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@GetMapping("/Forma/{id}")
 | 
				
			||||||
 | 
						public  Forma  getdetailsbyId(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
							Forma  get = Service.getdetailsbyId(id);
 | 
				
			||||||
 | 
							return get;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					@DeleteMapping("/Forma/{id}")
 | 
				
			||||||
 | 
						public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) {
 | 
				
			||||||
 | 
						Service.delete_by_id(id);
 | 
				
			||||||
 | 
								return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Entity;
 | 
				
			||||||
 | 
					 import lombok.*;
 | 
				
			||||||
 | 
					import com.realnet.WhoColumn.Entity.Extension; 
 | 
				
			||||||
 | 
					 import javax.persistence.*;
 | 
				
			||||||
 | 
					 import java.time.LocalDateTime;
 | 
				
			||||||
 | 
					 import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @Entity 
 | 
				
			||||||
 | 
					 @Data
 | 
				
			||||||
 | 
					 public class    Forma extends Extension { 
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						private static final long serialVersionUID = 1L;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 @Id
 | 
				
			||||||
 | 
					 @GeneratedValue(strategy = GenerationType.IDENTITY)
 | 
				
			||||||
 | 
					 private Integer id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String  name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Column(length = 2000)
 | 
				
			||||||
 | 
					private String textarea;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String date_field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String datetime_field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String email_field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private String url_field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 private double decimal_field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private int percentage_field;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Repository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.data.domain.Page;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.Pageable;
 | 
				
			||||||
 | 
					import org.springframework.data.jpa.repository.JpaRepository;
 | 
				
			||||||
 | 
					import org.springframework.data.jpa.repository.Query;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.stereotype.Repository; 
 | 
				
			||||||
 | 
					import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Forma;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Repository
 | 
				
			||||||
 | 
					public interface  FormaRepository  extends  JpaRepository<Forma, Integer>  { 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Query(value = "select * from forma where  created_by=?1", nativeQuery = true)
 | 
				
			||||||
 | 
						List<Forma> findAll(Long creayedBy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Query(value = "select * from forma where  created_by=?1", nativeQuery = true)
 | 
				
			||||||
 | 
						Page<Forma> findAll(Pageable page, Long creayedBy);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,143 @@
 | 
				
			|||||||
 | 
					package com.realnet.basicp1.Services;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Repository.FormaRepository;
 | 
				
			||||||
 | 
					import com.realnet.basicp1.Entity.Forma
 | 
				
			||||||
 | 
					;import java.util.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import com.realnet.SequenceGenerator.Service.SequenceService;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.Page;
 | 
				
			||||||
 | 
					import com.realnet.realm.Entity.Realm;
 | 
				
			||||||
 | 
					import com.realnet.realm.Services.RealmService;
 | 
				
			||||||
 | 
					import org.springframework.data.domain.Pageable;
 | 
				
			||||||
 | 
					import org.springframework.http.*;
 | 
				
			||||||
 | 
					import com.realnet.users.service1.AppUserServiceImpl;
 | 
				
			||||||
 | 
					import com.realnet.users.entity1.AppUser;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						import org.springframework.stereotype.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Service
 | 
				
			||||||
 | 
					 public class FormaService {
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
					private FormaRepository Repository;
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private AppUserServiceImpl userService; 
 | 
				
			||||||
 | 
					@Autowired
 | 
				
			||||||
 | 
						private RealmService realmService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Forma Savedata(Forma data) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						data.setUpdatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
							data.setCreatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
							data.setAccountId(getUser().getAccount().getAccount_id());
 | 
				
			||||||
 | 
					Forma save = Repository.save(data);
 | 
				
			||||||
 | 
									return save;	
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//	get all with pagination
 | 
				
			||||||
 | 
						public Page<Forma> getAllWithPagination(Pageable page) {
 | 
				
			||||||
 | 
							return Repository.findAll(page, getUser().getUserId());
 | 
				
			||||||
 | 
						}			
 | 
				
			||||||
 | 
					public List<Forma> getdetails() {  
 | 
				
			||||||
 | 
							List<Realm> realm = realmService.findByUserId(getUser().getUserId());
 | 
				
			||||||
 | 
					List<Forma> all = Repository.findAll(getUser().getUserId());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return all ;		}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Forma getdetailsbyId(Integer id) {
 | 
				
			||||||
 | 
						return Repository.findById(id).get();
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void delete_by_id(Integer id) {
 | 
				
			||||||
 | 
					 Repository.deleteById(id);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public Forma update(Forma data,Integer id) {
 | 
				
			||||||
 | 
						Forma old = Repository.findById(id).get();
 | 
				
			||||||
 | 
					old.setName(data.getName());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setTextarea(data.getTextarea());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setDate_field(data.getDate_field());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setDatetime_field(data.getDatetime_field());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setEmail_field(data.getEmail_field());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setUrl_field(data.getUrl_field());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setDecimal_field(data.getDecimal_field());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					old.setPercentage_field(data.getPercentage_field());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					final Forma test = Repository.save(old);
 | 
				
			||||||
 | 
							data.setUpdatedBy(getUser().getUserId());
 | 
				
			||||||
 | 
					  return test;} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 public AppUser getUser() {
 | 
				
			||||||
 | 
							AppUser user = userService.getLoggedInUser();
 | 
				
			||||||
 | 
							return user;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}}
 | 
				
			||||||
							
								
								
									
										2
									
								
								stepper015-db-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								stepper015-db-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					CREATE TABLE db.Forma(id BIGINT NOT NULL AUTO_INCREMENT, textarea VARCHAR(400), datetime_field VARCHAR(400), percentage_field int, date_field Date, email_field VARCHAR(400), url_field VARCHAR(400), decimal_field double, 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,537 @@
 | 
				
			|||||||
 | 
					<ol class="breadcrumb breadcrumb-arrow font-trirong">
 | 
				
			||||||
 | 
					  <li><a href="javascript://"> Forma</a></li>
 | 
				
			||||||
 | 
					</ol>
 | 
				
			||||||
 | 
					<div class="dg-wrapper">
 | 
				
			||||||
 | 
					  <div class="clr-row">
 | 
				
			||||||
 | 
					    <div class="clr-col-8">
 | 
				
			||||||
 | 
					      <h3>Forma </h3>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="clr-col-4" style="text-align: right;">
 | 
				
			||||||
 | 
					 <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" >
 | 
				
			||||||
 | 
					        <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon>
 | 
				
			||||||
 | 
					      </button>
 | 
				
			||||||
 | 
					        <!-- button -->
 | 
				
			||||||
 | 
					     <button id="add" class="btn btn-primary" (click)="goToAdd(product)" >
 | 
				
			||||||
 | 
					        <clr-icon shape="plus"></clr-icon>ADD
 | 
				
			||||||
 | 
					      </button>
 | 
				
			||||||
 | 
					    </div></div>
 | 
				
			||||||
 | 
					  <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected">
 | 
				
			||||||
 | 
					    <clr-dg-placeholder>
 | 
				
			||||||
 | 
					        <ng-template #loadingSpinner>
 | 
				
			||||||
 | 
					            <clr-spinner>Loading ... </clr-spinner>
 | 
				
			||||||
 | 
					        </ng-template>
 | 
				
			||||||
 | 
					        <div *ngIf="error;else loadingSpinner">{{error}}</div>
 | 
				
			||||||
 | 
					    </clr-dg-placeholder>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'name'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Name
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'textarea'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Textarea
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'date_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Date Field
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'datetime_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Datetime Field
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'email_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Email Field
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 <clr-dg-column [clrDgField]="'url_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Url Field
 | 
				
			||||||
 | 
											 </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'decimal_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Decimal Field
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-column [clrDgField]="'percentage_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Percentage Field
 | 
				
			||||||
 | 
											    </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 <!-- who column -->
 | 
				
			||||||
 | 
					      <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}">
 | 
				
			||||||
 | 
					        <clr-icon shape="bars"></clr-icon> Action
 | 
				
			||||||
 | 
					      </ng-container></clr-dg-column>
 | 
				
			||||||
 | 
					      <!-- end --> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.name }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell (click)="goToReplaceStringtextarea (user.textarea)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon>
 | 
				
			||||||
 | 
					</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.date_field }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.datetime_field }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.email_field }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell (click)="goTourl_fieldUrl(user.url_field)" style="cursor: pointer; color: rgb(108, 108, 194);">{{user.url_field}}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.decimal_field }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-dg-cell>{{user.percentage_field }}</clr-dg-cell>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					  <!-- who column -->
 | 
				
			||||||
 | 
					<clr-dg-cell>
 | 
				
			||||||
 | 
					  <clr-signpost>
 | 
				
			||||||
 | 
					   <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span>
 | 
				
			||||||
 | 
					   <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen>
 | 
				
			||||||
 | 
					     <h5 style="margin-top: 0">Who Column</h5>
 | 
				
			||||||
 | 
					           <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div>
 | 
				
			||||||
 | 
					           <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div>
 | 
				
			||||||
 | 
					           <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div>
 | 
				
			||||||
 | 
					           <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div>
 | 
				
			||||||
 | 
					           <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div>
 | 
				
			||||||
 | 
					   </clr-signpost-content>
 | 
				
			||||||
 | 
					 </clr-signpost>
 | 
				
			||||||
 | 
					 </clr-dg-cell>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 <!-- who colmn --> 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 <clr-dg-action-overflow>
 | 
				
			||||||
 | 
					        <button class="action-item" (click)="onEdit(user)">Edit</button>
 | 
				
			||||||
 | 
					        <button class="action-item" (click)="onDelete(user)">Delete</button>
 | 
				
			||||||
 | 
					      </clr-dg-action-overflow>
 | 
				
			||||||
 | 
					         </clr-dg-row>
 | 
				
			||||||
 | 
					    <clr-dg-footer>
 | 
				
			||||||
 | 
					      <clr-dg-pagination #pagination [clrDgPageSize]="10">
 | 
				
			||||||
 | 
					        <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size>
 | 
				
			||||||
 | 
					        {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}}
 | 
				
			||||||
 | 
					        of {{pagination.totalItems}} users
 | 
				
			||||||
 | 
					      </clr-dg-pagination>
 | 
				
			||||||
 | 
					    </clr-dg-footer>
 | 
				
			||||||
 | 
					  </clr-datagrid> </ng-container>
 | 
				
			||||||
 | 
					<ng-template #showInfo>
 | 
				
			||||||
 | 
					  <div class="alert alert-info" role="alert">
 | 
				
			||||||
 | 
					      <div class="alert-items">
 | 
				
			||||||
 | 
					          <div class="alert-item static">
 | 
				
			||||||
 | 
					              <span class="alert-text">
 | 
				
			||||||
 | 
					                <clr-icon class="alert-icon" shape="info-circle"></clr-icon>
 | 
				
			||||||
 | 
					                    Data could be found. Loading..
 | 
				
			||||||
 | 
					                  <clr-spinner [clrMedium]="true">Loading ...</clr-spinner>
 | 
				
			||||||
 | 
					              </span>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</ng-template><ng-container *ngIf="isCardview">
 | 
				
			||||||
 | 
					  <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start">
 | 
				
			||||||
 | 
					    <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" >
 | 
				
			||||||
 | 
					      <div class="clr-row">
 | 
				
			||||||
 | 
					        <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;">
 | 
				
			||||||
 | 
					  <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'">
 | 
				
			||||||
 | 
					    <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;">
 | 
				
			||||||
 | 
					      <ng-container *ngFor="let item of dashboardArray">
 | 
				
			||||||
 | 
					        <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1"
 | 
				
			||||||
 | 
					          [style.gridRowEnd]="item.y + item.rows + 1">
 | 
				
			||||||
 | 
					          <div *ngIf="item.name === 'textField'" class="title-card card-title"
 | 
				
			||||||
 | 
					          [style.text-align]="item.alignment !== '' ? item.alignment : 'left'"
 | 
				
			||||||
 | 
					          [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'"
 | 
				
			||||||
 | 
					          [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'"
 | 
				
			||||||
 | 
					          [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'"
 | 
				
			||||||
 | 
					          [style.font-style]="item.italic == true ? 'Italic' : 'normal'"
 | 
				
			||||||
 | 
					          [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' : 
 | 
				
			||||||
 | 
					          (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))"
 | 
				
			||||||
 | 
					          [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'"
 | 
				
			||||||
 | 
					          [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor"
 | 
				
			||||||
 | 
					          [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">
 | 
				
			||||||
 | 
					           {{beforeText(item.fieldtext)}}
 | 
				
			||||||
 | 
					          {{ app[transform(item.fieldtext) ] }}
 | 
				
			||||||
 | 
					          {{afterText(item.fieldtext)}}
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <div *ngIf="item.name === 'dateField'" class="title-card card-title"
 | 
				
			||||||
 | 
					          [style.text-align]="item.alignment !== '' ? item.alignment : 'left'"
 | 
				
			||||||
 | 
					          [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'"
 | 
				
			||||||
 | 
					          [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'"
 | 
				
			||||||
 | 
					          [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'"
 | 
				
			||||||
 | 
					          [style.font-style]="item.italic == true ? 'Italic' : 'normal'"
 | 
				
			||||||
 | 
					          [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' : 
 | 
				
			||||||
 | 
					          (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))"
 | 
				
			||||||
 | 
					          [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'"
 | 
				
			||||||
 | 
					          [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor"
 | 
				
			||||||
 | 
					          [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">
 | 
				
			||||||
 | 
					          {{beforeText(item.fieldtext)}}
 | 
				
			||||||
 | 
					          {{ app[transform(item.fieldtext) ] | date}}
 | 
				
			||||||
 | 
					          {{afterText(item.fieldtext)}}
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					          <div *ngIf="item.name === 'numberField'" class="title-card card-title"
 | 
				
			||||||
 | 
					          [style.text-align]="item.alignment !== '' ? item.alignment : 'left'"
 | 
				
			||||||
 | 
					          [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'"
 | 
				
			||||||
 | 
					          [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'"
 | 
				
			||||||
 | 
					          [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'"
 | 
				
			||||||
 | 
					          [style.font-style]="item.italic == true ? 'Italic' : 'normal'"
 | 
				
			||||||
 | 
					          [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' : 
 | 
				
			||||||
 | 
					          (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))"
 | 
				
			||||||
 | 
					          [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'"
 | 
				
			||||||
 | 
					          [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor"
 | 
				
			||||||
 | 
					          [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">
 | 
				
			||||||
 | 
					          {{beforeText(item.fieldtext)}}
 | 
				
			||||||
 | 
					          {{ app[transform(item.fieldtext) ]}}
 | 
				
			||||||
 | 
					          {{afterText(item.fieldtext)}}
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <div *ngIf="item.name === 'Line'" class="title-card card-title"
 | 
				
			||||||
 | 
					          [style.text-align]="item.alignment !== '' ? item.alignment : 'left'"
 | 
				
			||||||
 | 
					          [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'"
 | 
				
			||||||
 | 
					          [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'"
 | 
				
			||||||
 | 
					          [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'"
 | 
				
			||||||
 | 
					          [style.font-style]="item.italic == true ? 'Italic' : 'normal'"
 | 
				
			||||||
 | 
					          [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' : 
 | 
				
			||||||
 | 
					          (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))"
 | 
				
			||||||
 | 
					          [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'"
 | 
				
			||||||
 | 
					          [style.color]="item.textcolor !== '' ? item.textcolor : 'black'">
 | 
				
			||||||
 | 
					          <hr>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					          <div *ngIf="item.name === 'Icon'" class="icon-card"
 | 
				
			||||||
 | 
					          [style.text-align]="item.alignment !== '' ? item.alignment : 'left'"
 | 
				
			||||||
 | 
					          [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'"
 | 
				
			||||||
 | 
					          [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'"
 | 
				
			||||||
 | 
					          [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'"
 | 
				
			||||||
 | 
					          [style.font-style]="item.italic == true ? 'Italic' : 'normal'"
 | 
				
			||||||
 | 
					          [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' : 
 | 
				
			||||||
 | 
					          (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))"
 | 
				
			||||||
 | 
					          [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'"
 | 
				
			||||||
 | 
					          [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <clr-icon [attr.shape]="item.iconName"></clr-icon>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <div *ngIf="item.name == 'Image'"
 | 
				
			||||||
 | 
					          [style.text-align]="item.alignment !== '' ? item.alignment : 'left'"
 | 
				
			||||||
 | 
					          [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'"
 | 
				
			||||||
 | 
					          [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'"
 | 
				
			||||||
 | 
					          [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'"
 | 
				
			||||||
 | 
					          [style.font-style]="item.italic == true ? 'Italic' : 'normal'"
 | 
				
			||||||
 | 
					          [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' : 
 | 
				
			||||||
 | 
					          (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))"
 | 
				
			||||||
 | 
					          [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'"
 | 
				
			||||||
 | 
					          [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"
 | 
				
			||||||
 | 
					          [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor"
 | 
				
			||||||
 | 
					          [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview"
 | 
				
			||||||
 | 
					            [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"
 | 
				
			||||||
 | 
					            [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </ng-container>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  </ng-container>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<clr-modal [(clrModalOpen)]="rsModaltextarea" [clrModalSize]="'xl'" [clrModalStaticBackdrop]="true">
 | 
				
			||||||
 | 
											  <div class="modal-body">
 | 
				
			||||||
 | 
											    <textarea class="form-control" style="width:100%; height: 400px;" readonly>{{rowSelected}}</textarea>
 | 
				
			||||||
 | 
											  </div></clr-modal>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- //		EDIT DATA......... -->
 | 
				
			||||||
 | 
					<clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true">
 | 
				
			||||||
 | 
					  <h3 class="modal-title">Update Forma
 | 
				
			||||||
 | 
					 <!--update button -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</h3>
 | 
				
			||||||
 | 
					  <div class="modal-body" *ngIf="rowSelected.id">
 | 
				
			||||||
 | 
					    <h2 class="heading">{{rowSelected.id}}</h2>
 | 
				
			||||||
 | 
					<!-- button -->
 | 
				
			||||||
 | 
					    <form >
 | 
				
			||||||
 | 
					<div class="clr-row"> 
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">       
 | 
				
			||||||
 | 
					<label>Name</label>
 | 
				
			||||||
 | 
						        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.name" name="name" />
 | 
				
			||||||
 | 
						      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">               
 | 
				
			||||||
 | 
					<label> Textarea</label>
 | 
				
			||||||
 | 
						              <textarea cols="10" rows="2"[(ngModel)]="rowSelected.textarea" name="textarea " placeholder="Textarea">  </textarea>
 | 
				
			||||||
 | 
						           </div> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">       
 | 
				
			||||||
 | 
					<label>Date Field</label>
 | 
				
			||||||
 | 
						        <input id="name" class="clr-input"  type="date" [(ngModel)]="rowSelected.date_field" name="date_field" />
 | 
				
			||||||
 | 
						      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">       
 | 
				
			||||||
 | 
					<label>Datetime Field</label>
 | 
				
			||||||
 | 
						        <input  class="clr-input"  type="datetime-local" [(ngModel)]="rowSelected.datetime_field" name="datetime_field" />
 | 
				
			||||||
 | 
						      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">     
 | 
				
			||||||
 | 
					<label> Email Field</label>
 | 
				
			||||||
 | 
													  <input id="name" class="clr-input" type="email" 
 | 
				
			||||||
 | 
											 [(ngModel)]="rowSelected.email_field " name="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$">
 | 
				
			||||||
 | 
													  <div *ngIf="rowSelected.email_field && !isValidemail_field(rowSelected.email_field )" class="error_mess">
 | 
				
			||||||
 | 
						            * Email must be a valid email address.         
 | 
				
			||||||
 | 
					  </div> </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">         
 | 
				
			||||||
 | 
					<label> Url Field</label>
 | 
				
			||||||
 | 
						        <input type="url" name="url_field" [(ngModel)]="rowSelected.url_field" placeholder="Enter URL" class="clr-input" pattern="https?://.+">
 | 
				
			||||||
 | 
						        <div *ngIf="!isValidurl_field(rowSelected.url_field )" class="error_mess">  * Please enter a valid URL.         </div>     </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">        
 | 
				
			||||||
 | 
					<label> Decimal Field</label>
 | 
				
			||||||
 | 
					          <input  class="clr-input" type="number" step ="0.01" [(ngModel)]="rowSelected.decimal_field" name="decimal_field" /> </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">       
 | 
				
			||||||
 | 
					<label>Percentage Field</label>
 | 
				
			||||||
 | 
						        <input id="name" class="clr-input"  type="number" [(ngModel)]="rowSelected.percentage_field" name="percentage_field" />
 | 
				
			||||||
 | 
						      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  </div> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- form code start -->
 | 
				
			||||||
 | 
					  <div *ngIf="checkFormCode">
 | 
				
			||||||
 | 
					    <h4 style="font-weight: 300;display: inline;">Extension</h4>
 | 
				
			||||||
 | 
					    <br>
 | 
				
			||||||
 | 
					    <hr>
 | 
				
			||||||
 | 
					    <div class="clr-row">
 | 
				
			||||||
 | 
					      <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend">
 | 
				
			||||||
 | 
					        <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType">
 | 
				
			||||||
 | 
					          <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label>
 | 
				
			||||||
 | 
					          <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" />
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					          <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label>
 | 
				
			||||||
 | 
					          <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" />
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					          <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label>
 | 
				
			||||||
 | 
					          <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					          <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br>
 | 
				
			||||||
 | 
					          <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" />
 | 
				
			||||||
 | 
					        </ng-container>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- form code end -->  <div class="modal-footer">
 | 
				
			||||||
 | 
					      <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button>
 | 
				
			||||||
 | 
					      <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </form>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</clr-modal>
 | 
				
			||||||
 | 
					<clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true">
 | 
				
			||||||
 | 
					  <div class="modal-body" *ngIf="rowSelected.id">
 | 
				
			||||||
 | 
					    <h1 class="delete">Are You Sure Want to delete?</h1>
 | 
				
			||||||
 | 
					    <h2 class="heading">{{rowSelected.id}}</h2>
 | 
				
			||||||
 | 
					    <div class="modal-footer">
 | 
				
			||||||
 | 
					      <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button>
 | 
				
			||||||
 | 
					    <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</clr-modal>
 | 
				
			||||||
 | 
					<!-- ADD FORM ..... -->
 | 
				
			||||||
 | 
					<clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true">
 | 
				
			||||||
 | 
					  <h3 class="modal-title">Add Forma 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- aeroplane icon -->
 | 
				
			||||||
 | 
					           
 | 
				
			||||||
 | 
					    <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true"
 | 
				
			||||||
 | 
					      class="tooltip tooltip-sm tooltip-bottom-left">
 | 
				
			||||||
 | 
					      <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Forma_formCode' }">
 | 
				
			||||||
 | 
					        <clr-icon shape="airplane" size="32"></clr-icon>
 | 
				
			||||||
 | 
					      </a>
 | 
				
			||||||
 | 
					      <span class="tooltip-content">Form Extension</span>
 | 
				
			||||||
 | 
					    </a> </h3>
 | 
				
			||||||
 | 
					  <div class="modal-body">
 | 
				
			||||||
 | 
					     <form [formGroup]="entryForm" >
 | 
				
			||||||
 | 
					   <div class="clr-row" style="height: fit-content;">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Name</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="text"  formControlName="name" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">             
 | 
				
			||||||
 | 
					 <label>  Textarea</label>             
 | 
				
			||||||
 | 
					 <textarea cols="10" rows="2" formControlName="textarea" placeholder="Textarea">  </textarea>
 | 
				
			||||||
 | 
						            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Date Field</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="date"  formControlName="date_field" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Datetime Field</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="datetime-local"  formControlName="datetime_field" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
											<label> Email Field</label>
 | 
				
			||||||
 | 
					<input class="clr-input" type="email" formControlName="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$">
 | 
				
			||||||
 | 
					<div *ngIf="entryForm.controls['email_field'].errors" class="error_mess">
 | 
				
			||||||
 | 
											          <div *ngIf="entryForm.controls['email_field'].hasError('pattern')" class="error_mess">* Email must be a valid email address
 | 
				
			||||||
 | 
											            </div>  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">        
 | 
				
			||||||
 | 
						 <label> Url Field </label>
 | 
				
			||||||
 | 
							<input type="url" formControlName="url_field" class="clr-input" pattern="https?://.+">
 | 
				
			||||||
 | 
							<div *ngIf="entryForm.controls['url_field'].errors" class="error_mess">          
 | 
				
			||||||
 | 
								 <div *ngIf="entryForm.controls['url_field'].hasError('pattern')" class="error_mess">    * Please enter a valid URL.</div>
 | 
				
			||||||
 | 
											      </div>     </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">           
 | 
				
			||||||
 | 
					<label> Decimal Field</label>          
 | 
				
			||||||
 | 
					 <input type="number" step ="0.01"  formControlName="decimal_field" /> 
 | 
				
			||||||
 | 
					 <div *ngIf="submitted && entryForm.controls.decimal_field.errors" class="error_mess">
 | 
				
			||||||
 | 
					  <div *ngIf="submitted && entryForm.controls.decimal_field.errors.required" class="error_mess">*This field is Required</div>
 | 
				
			||||||
 | 
					</div> 
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Percentage Field</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="number"  formControlName="percentage_field" />      
 | 
				
			||||||
 | 
					 <div *ngIf="submitted && entryForm.controls.percentage_field.errors" class="error_mess">
 | 
				
			||||||
 | 
					  <div *ngIf="submitted && entryForm.controls.percentage_field.errors.required" class="error_mess">*This field is Required</div>
 | 
				
			||||||
 | 
					</div>  
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 </div> 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      <!-- form code start -->
 | 
				
			||||||
 | 
					      <div *ngIf="checkFormCode">
 | 
				
			||||||
 | 
					        <h4 style="font-weight: 300;display: inline;">Extension</h4>
 | 
				
			||||||
 | 
					        <br>
 | 
				
			||||||
 | 
					        <hr>
 | 
				
			||||||
 | 
					        <div class="clr-row">
 | 
				
			||||||
 | 
					          <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend">
 | 
				
			||||||
 | 
					            <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType">
 | 
				
			||||||
 | 
					              <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label>
 | 
				
			||||||
 | 
					              <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue"
 | 
				
			||||||
 | 
					                class="clr-input" />
 | 
				
			||||||
 | 
					              <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label>
 | 
				
			||||||
 | 
					              <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue"
 | 
				
			||||||
 | 
					                class="clr-input" />
 | 
				
			||||||
 | 
					              <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label>
 | 
				
			||||||
 | 
					              <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea>
 | 
				
			||||||
 | 
					              <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br>
 | 
				
			||||||
 | 
					              <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue"
 | 
				
			||||||
 | 
					                class="clr-checkbox" />
 | 
				
			||||||
 | 
					            </ng-container>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					      <!-- form code end --> <div class="modal-footer">
 | 
				
			||||||
 | 
					<button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button>
 | 
				
			||||||
 | 
					        <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					</form>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</clr-modal>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <!-- htmlpopup -->
 | 
				
			||||||
@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					//@import "../../../../assets/scss/var";
 | 
				
			||||||
 | 
					.s-info-bar {
 | 
				
			||||||
 | 
					  display: flex;
 | 
				
			||||||
 | 
					  flex-direction: row;
 | 
				
			||||||
 | 
					  justify-content: space-between;
 | 
				
			||||||
 | 
					  button {
 | 
				
			||||||
 | 
					    outline: none;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.delete,.heading{
 | 
				
			||||||
 | 
					  text-align: center;
 | 
				
			||||||
 | 
					  color: red;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.entry-pg {
 | 
				
			||||||
 | 
					  width: 750px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.button1::after {
 | 
				
			||||||
 | 
					  content: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.button1:hover::after {
 | 
				
			||||||
 | 
					  content: "ADD ROWS";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.section {
 | 
				
			||||||
 | 
					  background-color: #dddddd;
 | 
				
			||||||
 | 
					  height: 40px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.section p {
 | 
				
			||||||
 | 
					  //color: white;
 | 
				
			||||||
 | 
					  padding: 10px;
 | 
				
			||||||
 | 
					  font-size: 18px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.clr-input {
 | 
				
			||||||
 | 
					  color: #212529;
 | 
				
			||||||
 | 
					  border: 1px solid #ced4da;
 | 
				
			||||||
 | 
					  border-radius: 0.25rem;
 | 
				
			||||||
 | 
					  padding: 0.75rem 0.75rem;
 | 
				
			||||||
 | 
					  margin-top: 3px;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.clr-file {
 | 
				
			||||||
 | 
					  color: #212529;
 | 
				
			||||||
 | 
					  border: 1px solid #ced4da;
 | 
				
			||||||
 | 
					  border-radius: 0.25rem;
 | 
				
			||||||
 | 
					  //padding: 0.6rem 0.75rem;
 | 
				
			||||||
 | 
					  margin-top: 3px;
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  margin-bottom: 10px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.center {
 | 
				
			||||||
 | 
					  text-align: center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					select{
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  margin-top: 3px;
 | 
				
			||||||
 | 
					  padding: 5px 5px;
 | 
				
			||||||
 | 
					  border: 1px solid #ccc;
 | 
				
			||||||
 | 
					  border-radius: 4px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					input[type=text],[type=date],[type=number],textarea {
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  padding: 15px 15px;
 | 
				
			||||||
 | 
					  background-color:rgb(255, 255, 255);
 | 
				
			||||||
 | 
					 // margin: 8px 0;
 | 
				
			||||||
 | 
					  display: inline-block;
 | 
				
			||||||
 | 
					  border: 1px solid #ccc;
 | 
				
			||||||
 | 
					  border-radius: 4px;
 | 
				
			||||||
 | 
					  box-sizing: border-box;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.error_mess {
 | 
				
			||||||
 | 
					  color: red;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,394 @@
 | 
				
			|||||||
 | 
					import { Component, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					import { ToastrService } from 'ngx-toastr';
 | 
				
			||||||
 | 
					import { AlertService } from 'src/app/services/alert.service';
 | 
				
			||||||
 | 
					import { Formaservice} from './Forma.service';
 | 
				
			||||||
 | 
					import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators, ValidationErrors } from '@angular/forms';
 | 
				
			||||||
 | 
					import { ExtensionService } from 'src/app/services/fnd/extension.service';
 | 
				
			||||||
 | 
					import { DashboardContentModel2 } from 'src/app/models/builder/dashboard'; 
 | 
				
			||||||
 | 
					import { Formacardvariable } from './Forma_cardvariable';
 | 
				
			||||||
 | 
					import { UserInfoService } from 'src/app/services/user-info.service';
 | 
				
			||||||
 | 
					declare var JsBarcode: any; 
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: 'app-Forma',
 | 
				
			||||||
 | 
					  templateUrl: './Forma.component.html',
 | 
				
			||||||
 | 
					  styleUrls: ['./Forma.component.scss']
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class FormaComponent implements OnInit {
 | 
				
			||||||
 | 
					  cardButton = Formacardvariable.cardButton;
 | 
				
			||||||
 | 
					  cardmodeldata = Formacardvariable.cardmodeldata;
 | 
				
			||||||
 | 
					  public dashboardArray: DashboardContentModel2[];
 | 
				
			||||||
 | 
					  isCardview = Formacardvariable.cardButton;
 | 
				
			||||||
 | 
					  cardmodal;  changeView(){
 | 
				
			||||||
 | 
					  this.isCardview = !this.isCardview;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					    beforeText(fieldtext: string): string { // Extract the text before the first '<'
 | 
				
			||||||
 | 
					    const index = fieldtext.indexOf('<');
 | 
				
			||||||
 | 
					    return index !== -1 ? fieldtext.substring(0, index) : fieldtext;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  afterText(fieldtext: string): string { // Extract the text after the last '>'
 | 
				
			||||||
 | 
					    const index = fieldtext.lastIndexOf('>');
 | 
				
			||||||
 | 
					    return index !== -1 ? fieldtext.substring(index + 1) : '';
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  transform(fieldtext: string): string {
 | 
				
			||||||
 | 
					    const match = fieldtext.match(/<([^>]*)>/);
 | 
				
			||||||
 | 
					    return match ? match[1] : ''; // Extract the text between '<' and '>'
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 userrole;
 | 
				
			||||||
 | 
					  rowSelected :any= {};
 | 
				
			||||||
 | 
					  modaldelete=false;
 | 
				
			||||||
 | 
					  modalEdit=false;
 | 
				
			||||||
 | 
					  modalAdd= false;
 | 
				
			||||||
 | 
					  public entryForm: FormGroup;
 | 
				
			||||||
 | 
					  loading = false;
 | 
				
			||||||
 | 
					  product;
 | 
				
			||||||
 | 
					  modalOpenedforNewLine = false;
 | 
				
			||||||
 | 
					  newLine:any;
 | 
				
			||||||
 | 
					 additionalFieldsFromBackend: any[] = [];
 | 
				
			||||||
 | 
					  formcode = 'Forma_formCode'
 | 
				
			||||||
 | 
					tableName = 'Forma';  checkFormCode; selected: any[] = []; constructor(
 | 
				
			||||||
 | 
					    private extensionService: ExtensionService,
 | 
				
			||||||
 | 
					private userInfoService:UserInfoService,
 | 
				
			||||||
 | 
					    private mainService:Formaservice,
 | 
				
			||||||
 | 
					    private alertService: AlertService,
 | 
				
			||||||
 | 
					    private toastr: ToastrService,
 | 
				
			||||||
 | 
					    private _fb: FormBuilder,
 | 
				
			||||||
 | 
					  ) { }
 | 
				
			||||||
 | 
					// component button 
 | 
				
			||||||
 | 
					  ngOnInit(): void {
 | 
				
			||||||
 | 
					    if(this.cardmodeldata !== ''){
 | 
				
			||||||
 | 
					     this.cardmodal = JSON.parse(this.cardmodeldata);
 | 
				
			||||||
 | 
					    this.dashboardArray = this.cardmodal.dashboard.slice();
 | 
				
			||||||
 | 
					    console.log(this.dashboardArray)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.userrole=this.userInfoService.getRoles();
 | 
				
			||||||
 | 
					    this.getData();
 | 
				
			||||||
 | 
					    this.entryForm = this._fb.group({
 | 
				
			||||||
 | 
					name : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					textarea : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					date_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					datetime_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					email_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					url_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					decimal_field : [null,[Validators.required]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					percentage_field : [null,[Validators.required]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }); // component_button200
 | 
				
			||||||
 | 
					 // form code start
 | 
				
			||||||
 | 
					    this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => {
 | 
				
			||||||
 | 
					      console.log(data);
 | 
				
			||||||
 | 
					      const jsonArray = data.map((str) => JSON.parse(str));
 | 
				
			||||||
 | 
					      this.additionalFieldsFromBackend = jsonArray;
 | 
				
			||||||
 | 
					      this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Forma_formCode");
 | 
				
			||||||
 | 
					      console.log(this.checkFormCode);
 | 
				
			||||||
 | 
					      console.log(this.additionalFieldsFromBackend);
 | 
				
			||||||
 | 
					      if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) {
 | 
				
			||||||
 | 
					        this.additionalFieldsFromBackend.forEach(field => {
 | 
				
			||||||
 | 
					          if (field.formCode === this.formcode) {
 | 
				
			||||||
 | 
					            if (!this.entryForm.contains(field.extValue)) {
 | 
				
			||||||
 | 
					              // Add the control only if it doesn't exist in the form
 | 
				
			||||||
 | 
					              this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue));
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    console.log(this.entryForm.value);
 | 
				
			||||||
 | 
					    // form code end 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 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();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rsModaltextarea = false;   
 | 
				
			||||||
 | 
					goToReplaceStringtextarea(row){
 | 
				
			||||||
 | 
					this.rowSelected = row;     this.rsModaltextarea  =true;   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					isValidemail_field(email: string): boolean {
 | 
				
			||||||
 | 
											 const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
 | 
				
			||||||
 | 
											    return emailPattern.test(email);   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					isValidurl_field(url: string): boolean {
 | 
				
			||||||
 | 
											    return  /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url);   } 
 | 
				
			||||||
 | 
											goTourl_fieldUrl(val){     window.open(val)   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					import { Injectable } from '@angular/core';
 | 
				
			||||||
 | 
					import { Observable } from "rxjs";
 | 
				
			||||||
 | 
					import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http";
 | 
				
			||||||
 | 
					import { ApiRequestService } from "src/app/services/api/api-request.service";
 | 
				
			||||||
 | 
					import { environment } from 'src/environments/environment';
 | 
				
			||||||
 | 
					@Injectable({
 | 
				
			||||||
 | 
					  providedIn: 'root'
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class Formaservice{
 | 
				
			||||||
 | 
					  private baseURL = "Forma/Forma" ;  constructor(
 | 
				
			||||||
 | 
					    private http: HttpClient,
 | 
				
			||||||
 | 
					    private apiRequest: ApiRequestService,
 | 
				
			||||||
 | 
					  ) { }
 | 
				
			||||||
 | 
					  getAll(page?: number, size?: number): Observable<any> {
 | 
				
			||||||
 | 
					    return this.apiRequest.get(this.baseURL);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  getById(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.baseURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.get(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  create(data: any): Observable<any> {
 | 
				
			||||||
 | 
					    return this.apiRequest.post(this.baseURL, data);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  update(id: number, data: any): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.baseURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.put(_http, data);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  delete(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.baseURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.delete(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					export const Formacardvariable = {
 | 
				
			||||||
 | 
					    "cardButton": false,
 | 
				
			||||||
 | 
					    "cardmodeldata": ``
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -19,6 +19,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { Component, OnInit } from '@angular/core';
 | 
					import { Component, OnInit } from '@angular/core';
 | 
				
			||||||
@ -249,6 +250,8 @@ export class Stepper_workflowComponent implements OnInit {
 | 
				
			|||||||
    console.log('id is ', id)
 | 
					    console.log('id is ', id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // stepper route
 | 
					    // stepper route
 | 
				
			||||||
 | 
					 this.router.navigate(["../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,187 @@
 | 
				
			|||||||
 | 
					<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/ddd<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">ddd</h3>
 | 
				
			||||||
 | 
					        <h3 style="text-align: center;" *ngIf="appToUpdate"> Update {{FormaentryForm.name}}</h3>
 | 
				
			||||||
 | 
					        <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          <br />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					          <form [formGroup]="FormaentryForm">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <div class="container">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <div class="clr-row"><div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Name</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="text"  formControlName="name" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">             
 | 
				
			||||||
 | 
					 <label>  Textarea</label>             
 | 
				
			||||||
 | 
					 <textarea cols="10" rows="2" formControlName="textarea" placeholder="Textarea">  </textarea>
 | 
				
			||||||
 | 
						            </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Date Field</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="date"  formControlName="date_field" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Datetime Field</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="datetime-local"  formControlName="datetime_field" />       
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
											<label> Email Field</label>
 | 
				
			||||||
 | 
					<input class="clr-input" type="email" formControlName="email_field" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$">
 | 
				
			||||||
 | 
					<div *ngIf="entryForm.controls['email_field'].errors" class="error_mess">
 | 
				
			||||||
 | 
											          <div *ngIf="entryForm.controls['email_field'].hasError('pattern')" class="error_mess">* Email must be a valid email address
 | 
				
			||||||
 | 
											            </div>  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">        
 | 
				
			||||||
 | 
						 <label> Url Field </label>
 | 
				
			||||||
 | 
							<input type="url" formControlName="url_field" class="clr-input" pattern="https?://.+">
 | 
				
			||||||
 | 
							<div *ngIf="entryForm.controls['url_field'].errors" class="error_mess">          
 | 
				
			||||||
 | 
								 <div *ngIf="entryForm.controls['url_field'].hasError('pattern')" class="error_mess">    * Please enter a valid URL.</div>
 | 
				
			||||||
 | 
											      </div>     </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">           
 | 
				
			||||||
 | 
					<label> Decimal Field</label>          
 | 
				
			||||||
 | 
					 <input type="number" step ="0.01"  formControlName="decimal_field" /> 
 | 
				
			||||||
 | 
					 <div *ngIf="submitted && entryForm.controls.decimal_field.errors" class="error_mess">
 | 
				
			||||||
 | 
					  <div *ngIf="submitted && entryForm.controls.decimal_field.errors.required" class="error_mess">*This field is Required</div>
 | 
				
			||||||
 | 
					</div> 
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="clr-col-sm-12">
 | 
				
			||||||
 | 
					 <label>  Percentage Field</label>
 | 
				
			||||||
 | 
					 <input class="clr-input"  type="number"  formControlName="percentage_field" />      
 | 
				
			||||||
 | 
					 <div *ngIf="submitted && FormaentryForm.controls.percentage_field.errors" class="error_mess">
 | 
				
			||||||
 | 
					  <div *ngIf="submitted && FormaentryForm.controls.percentage_field.errors.required" class="error_mess">*This field is Required</div>
 | 
				
			||||||
 | 
					</div>  
 | 
				
			||||||
 | 
					 </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <div class="clr-row">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					              <!-- end row -->
 | 
				
			||||||
 | 
					              <br>
 | 
				
			||||||
 | 
					<div class="button">
 | 
				
			||||||
 | 
					  <button type="submit" class="btn btn-primary" (click)="ondddSave()">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>ddd Summary:</h5><p><strong>Name : </strong> {{ FormaentryForm.get('name')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Textarea : </strong> {{ FormaentryForm.get('textarea')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Date Field : </strong> {{ FormaentryForm.get('date_field')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Datetime Field : </strong> {{ FormaentryForm.get('datetime_field')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Email Field : </strong> {{ FormaentryForm.get('email_field')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Url Field : </strong> {{ FormaentryForm.get('url_field')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Decimal Field : </strong> {{ FormaentryForm.get('decimal_field')?.value }}</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<p><strong>Percentage Field : </strong> {{ FormaentryForm.get('percentage_field')?.value }}</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,401 @@
 | 
				
			|||||||
 | 
					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, 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 FormaentryForm: FormGroup;
 | 
				
			||||||
 | 
					  submitted = false;
 | 
				
			||||||
 | 
					  rowSelected: any = {};
 | 
				
			||||||
 | 
					  modalcomplete = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor( 
 | 
				
			||||||
 | 
					private mainService: stepsservice,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private ddd_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.FormaentryForm = this.ddd_fb.group({ 
 | 
				
			||||||
 | 
					name : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					textarea : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					date_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					datetime_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					email_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					url_field : [null],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					decimal_field : [null,[Validators.required]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					percentage_field : [null,[Validators.required]],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 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['Forma']) {
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 this.prefilldddForm(res['Forma']);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					showEmptyForm(): void {
 | 
				
			||||||
 | 
					    console.log('No config found. Showing empty form.');
 | 
				
			||||||
 | 
					    // You can choose to show one or both based on some logic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 this.FormaentryForm.reset();
 | 
				
			||||||
 | 
					  }  prefilldddForm(data: any): void {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    console.log(' ddd data ', data)
 | 
				
			||||||
 | 
					    this.FormaentryForm.patchValue({
 | 
				
			||||||
 | 
					      id: data.id || '',
 | 
				
			||||||
 | 
					name: data.name || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					textarea: data.textarea || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					date_field: data.date_field || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					datetime_field: data.datetime_field || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					email_field: data.email_field || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					url_field: data.url_field || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					decimal_field: data.decimal_field || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					percentage_field: data.percentage_field || '',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					 getResolvedDataFromStepper(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    console.log('get step config');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return new Observable(observer => {
 | 
				
			||||||
 | 
					      this.mainService.gettabledata(id).subscribe(configList => {
 | 
				
			||||||
 | 
					        if (!configList || configList.length === 0) {
 | 
				
			||||||
 | 
					          console.log('empty config');
 | 
				
			||||||
 | 
					          observer.next(null);
 | 
				
			||||||
 | 
					          observer.complete();
 | 
				
			||||||
 | 
					          return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const results: { [key: string]: any } = {};
 | 
				
			||||||
 | 
					        let processed = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        configList.forEach(config => {
 | 
				
			||||||
 | 
					          const { table_name, table_id } = config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          this.getByTableNameAndId(table_name, table_id).subscribe(data => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            console.log('data is ', data);
 | 
				
			||||||
 | 
					            results[table_name] = data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            processed++;
 | 
				
			||||||
 | 
					            if (processed === configList.length) {
 | 
				
			||||||
 | 
					              observer.next(results);  // emit combined data
 | 
				
			||||||
 | 
					              observer.complete();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          }, error => {
 | 
				
			||||||
 | 
					            console.error(`Error loading data for table ${table_name}`, error);
 | 
				
			||||||
 | 
					            processed++;
 | 
				
			||||||
 | 
					            if (processed === configList.length) {
 | 
				
			||||||
 | 
					              observer.next(results);  // continue with what we have
 | 
				
			||||||
 | 
					              observer.complete();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      }, error => {
 | 
				
			||||||
 | 
					        console.error("Error loading stepper config", error);
 | 
				
			||||||
 | 
					        observer.error(error);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  getByTableNameAndId(tableName: string, id: number): Observable<any> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    switch (tableName) {
 | 
				
			||||||
 | 
					   case 'Forma':
 | 
				
			||||||
 | 
					        return this.mainService.getFormaById(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 ",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ondddSave() {
 | 
				
			||||||
 | 
					    console.log('Form Submitted:', this.FormaentryForm.value);
 | 
				
			||||||
 | 
					    this.submitted = true;
 | 
				
			||||||
 | 
					    if (this.FormaentryForm.invalid) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      console.log('invalid form ..');
 | 
				
			||||||
 | 
					      // Log all form errors
 | 
				
			||||||
 | 
					      Object.keys(this.FormaentryForm.controls).forEach(field => {
 | 
				
			||||||
 | 
					        const control = this.FormaentryForm.get(field);
 | 
				
			||||||
 | 
					        if (control && control.invalid) {
 | 
				
			||||||
 | 
					          console.log(`Error in field: ${field}`, control.errors);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.ondddCreate();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ondddCreate() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.mainService.createForma(this.FormaentryForm.value).subscribe(
 | 
				
			||||||
 | 
					      (data) => {
 | 
				
			||||||
 | 
					        console.log('adding data ', data);
 | 
				
			||||||
 | 
					        this.customerId = data.id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        console.log('id is  ', this.customerId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 const tableId = data.id;
 | 
				
			||||||
 | 
					        const tableName = 'Forma';
 | 
				
			||||||
 | 
					        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.FormaentryForm.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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rsModaltextarea = false;   
 | 
				
			||||||
 | 
					goToReplaceStringtextarea(row){
 | 
				
			||||||
 | 
					this.rowSelected = row;     this.rsModaltextarea  =true;   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					isValidemail_field(email: string): boolean {
 | 
				
			||||||
 | 
											 const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
 | 
				
			||||||
 | 
											    return emailPattern.test(email);   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					isValidurl_field(url: string): boolean {
 | 
				
			||||||
 | 
											    return  /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url);   } 
 | 
				
			||||||
 | 
											goTourl_fieldUrl(val){     window.open(val)   }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					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 FormaURL = "Forma/Forma" ;  constructor(
 | 
				
			||||||
 | 
					    private http: HttpClient,
 | 
				
			||||||
 | 
					    private apiRequest: ApiRequestService,
 | 
				
			||||||
 | 
					  ) { }
 | 
				
			||||||
 | 
					gettabledata(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.StepperURL + "/stepId/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.get(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  saveStepperConfig(stepperId: number, tableId: number, tableName: string): Observable<any> {
 | 
				
			||||||
 | 
					    const params = new HttpParams()
 | 
				
			||||||
 | 
					      .set('stepperId', stepperId.toString())
 | 
				
			||||||
 | 
					      .set('tableId', tableId.toString())
 | 
				
			||||||
 | 
					      .set('tableName', tableName);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return this.apiRequest.post(this.StepperURL, null, params); // null body, params used
 | 
				
			||||||
 | 
					  }  getAllForma(page?: number, size?: number): Observable<any> {
 | 
				
			||||||
 | 
					    return this.apiRequest.get(this.FormaURL);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  getFormaById(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.FormaURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.get(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  createForma(data: any): Observable<any> {
 | 
				
			||||||
 | 
					    return this.apiRequest.post(this.FormaURL, data);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  updateForma(id: number, data: any): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.FormaURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.put(_http, data);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  deleteForma(id: number): Observable<any> {
 | 
				
			||||||
 | 
					    const _http = this.FormaURL + "/" + id;
 | 
				
			||||||
 | 
					    return this.apiRequest.delete(_http);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// updateaction
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,3 +1,5 @@
 | 
				
			|||||||
 | 
					import { stepsComponent } from './BuilderComponents/stepperworkflow/steps/steps.component';
 | 
				
			||||||
 | 
					import { FormaComponent } from './BuilderComponents/basicp1/Forma/Forma.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component';
 | 
					import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component';
 | 
				
			||||||
import { Component, NgModule } from '@angular/core';
 | 
					import { Component, NgModule } from '@angular/core';
 | 
				
			||||||
@ -256,6 +258,12 @@ const routes: Routes = [
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // buildercomponents
 | 
					      // buildercomponents
 | 
				
			||||||
 | 
					{path:'steps/:id',component:stepsComponent},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{path:'Forma',component:FormaComponent},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,5 @@
 | 
				
			|||||||
 | 
					import { stepsComponent } from './BuilderComponents/stepperworkflow/steps/steps.component';
 | 
				
			||||||
 | 
					import { FormaComponent } from './BuilderComponents/basicp1/Forma/Forma.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { CommonModule } from '@angular/common';
 | 
					import { CommonModule } from '@angular/common';
 | 
				
			||||||
@ -129,6 +131,12 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // buildercomponents
 | 
					    // buildercomponents
 | 
				
			||||||
 | 
					stepsComponent,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FormaComponent,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -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",
 | 
				
			||||||
  "Active": "Active",
 | 
					  "Forma": "Forma",
 | 
				
			||||||
  "Description": "Description",
 | 
					  "Textarea": "Textarea",
 | 
				
			||||||
  "Fileupload_Field": "Fileupload_Field",
 | 
					  "Toggle_Switch": "Toggle_Switch",
 | 
				
			||||||
  "Test22": "Test22",
 | 
					  "Datetime_Field": "Datetime_Field",
 | 
				
			||||||
  "Test11": "Test11",
 | 
					  "Percentage_Field": "Percentage_Field",
 | 
				
			||||||
 | 
					  "Date_Field": "Date_Field",
 | 
				
			||||||
 | 
					  "Email_Field": "Email_Field",
 | 
				
			||||||
 | 
					  "Url_Field": "Url_Field",
 | 
				
			||||||
 | 
					  "Decimal_Field": "Decimal_Field",
 | 
				
			||||||
  "Name": "Name"
 | 
					  "Name": "Name"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user