build_app
This commit is contained in:
		
							parent
							
								
									5d0053ac26
								
							
						
					
					
						commit
						73a88305c3
					
				| @ -69,6 +69,21 @@ public class BuilderService { | |||||||
| 		executeDump(true); | 		executeDump(true); | ||||||
| 
 | 
 | ||||||
| 		// ADD OTHER SERVICE | 		// ADD OTHER SERVICE | ||||||
|  | addCustomMenu( "Founders_friend","Founders_friend",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | addCustomMenu( "Expenses","Expenses",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | addCustomMenu( "Notes","Notes",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | addCustomMenu( "Tasks","Tasks",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | addCustomMenu( "Journal","Journal",  "Transcations");  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 		System.out.println("dashboard and menu inserted..."); | 		System.out.println("dashboard and menu inserted..."); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -0,0 +1,99 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Expenses; | ||||||
|  | import com.realnet.founder's_friend.Services.ExpensesService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Expenses") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class ExpensesController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private ExpensesService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Expenses") | ||||||
|  | 		  public Expenses Savedata(@RequestBody Expenses data) { | ||||||
|  | 		Expenses save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Expenses/{id}") | ||||||
|  | 	public  Expenses update(@RequestBody Expenses data,@PathVariable Integer id ) { | ||||||
|  | 		Expenses update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Expenses/getall/page") | ||||||
|  | 	public Page<Expenses> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Expenses> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Expenses") | ||||||
|  | 	public List<Expenses> getdetails() { | ||||||
|  | 		 List<Expenses> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Expenses") | ||||||
|  | 	public List<Expenses> getallwioutsec() { | ||||||
|  | 		 List<Expenses> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Expenses/{id}") | ||||||
|  | 	public  Expenses  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Expenses  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Expenses/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | package com.realnet.founder's_friend.Controllers; | ||||||
|  | import java.util.List; | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  |  import org.springframework.web.bind.annotation.*; | ||||||
|  | import com.realnet.founder's_friend.Entity.Expenses_ListFilter1; | ||||||
|  | import com.realnet.founder's_friend.Services.Expenses_ListFilter1Service ; | ||||||
|  | @RequestMapping(value = "/Expenses_ListFilter1") | ||||||
|  | @RestController | ||||||
|  | public class Expenses_ListFilter1Controller { | ||||||
|  | 	 | ||||||
|  | 	@Autowired | ||||||
|  | 	private Expenses_ListFilter1Service Service; | ||||||
|  | 
 | ||||||
|  | 		@GetMapping("/Expenses_ListFilter1") | ||||||
|  | 	public List<Expenses_ListFilter1> getlist() { | ||||||
|  | 		 List<Expenses_ListFilter1> get = Service.getlistbuilder();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | 		@GetMapping("/Expenses_ListFilter11") | ||||||
|  | 	public List<Expenses_ListFilter1> getlistwithparam( ) { | ||||||
|  | 		 List<Expenses_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | } | ||||||
| @ -0,0 +1,115 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Founders_friend; | ||||||
|  | import com.realnet.founder's_friend.Services.Founders_friendService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Founders_friend") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class Founders_friendController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private Founders_friendService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Founders_friend") | ||||||
|  | 		  public Founders_friend Savedata(@RequestBody Founders_friend data) { | ||||||
|  | 		Founders_friend save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Founders_friend/{id}") | ||||||
|  | 	public  Founders_friend update(@RequestBody Founders_friend data,@PathVariable Integer id ) { | ||||||
|  | 		Founders_friend update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Founders_friend/getall/page") | ||||||
|  | 	public Page<Founders_friend> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Founders_friend> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Founders_friend") | ||||||
|  | 	public List<Founders_friend> getdetails() { | ||||||
|  | 		 List<Founders_friend> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Founders_friend") | ||||||
|  | 	public List<Founders_friend> getallwioutsec() { | ||||||
|  | 		 List<Founders_friend> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Founders_friend/{id}") | ||||||
|  | 	public  Founders_friend  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Founders_friend  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Founders_friend/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,99 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Journal; | ||||||
|  | import com.realnet.founder's_friend.Services.JournalService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Journal") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class JournalController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private JournalService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Journal") | ||||||
|  | 		  public Journal Savedata(@RequestBody Journal data) { | ||||||
|  | 		Journal save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Journal/{id}") | ||||||
|  | 	public  Journal update(@RequestBody Journal data,@PathVariable Integer id ) { | ||||||
|  | 		Journal update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Journal/getall/page") | ||||||
|  | 	public Page<Journal> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Journal> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Journal") | ||||||
|  | 	public List<Journal> getdetails() { | ||||||
|  | 		 List<Journal> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Journal") | ||||||
|  | 	public List<Journal> getallwioutsec() { | ||||||
|  | 		 List<Journal> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Journal/{id}") | ||||||
|  | 	public  Journal  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Journal  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Journal/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,91 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Notes; | ||||||
|  | import com.realnet.founder's_friend.Services.NotesService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Notes") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class NotesController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private NotesService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Notes") | ||||||
|  | 		  public Notes Savedata(@RequestBody Notes data) { | ||||||
|  | 		Notes save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Notes/{id}") | ||||||
|  | 	public  Notes update(@RequestBody Notes data,@PathVariable Integer id ) { | ||||||
|  | 		Notes update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Notes/getall/page") | ||||||
|  | 	public Page<Notes> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Notes> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Notes") | ||||||
|  | 	public List<Notes> getdetails() { | ||||||
|  | 		 List<Notes> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Notes") | ||||||
|  | 	public List<Notes> getallwioutsec() { | ||||||
|  | 		 List<Notes> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Notes/{id}") | ||||||
|  | 	public  Notes  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Notes  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Notes/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,91 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Tasks; | ||||||
|  | import com.realnet.founder's_friend.Services.TasksService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/Tasks") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class TasksController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private TasksService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Tasks") | ||||||
|  | 		  public Tasks Savedata(@RequestBody Tasks data) { | ||||||
|  | 		Tasks save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Tasks/{id}") | ||||||
|  | 	public  Tasks update(@RequestBody Tasks data,@PathVariable Integer id ) { | ||||||
|  | 		Tasks update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Tasks/getall/page") | ||||||
|  | 	public Page<Tasks> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Tasks> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Tasks") | ||||||
|  | 	public List<Tasks> getdetails() { | ||||||
|  | 		 List<Tasks> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Tasks") | ||||||
|  | 	public List<Tasks> getallwioutsec() { | ||||||
|  | 		 List<Tasks> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Tasks/{id}") | ||||||
|  | 	public  Tasks  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Tasks  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Tasks/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,99 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Expenses; | ||||||
|  | import com.realnet.founder's_friend.Services.ExpensesService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Expenses") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_ExpensesController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private ExpensesService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Expenses") | ||||||
|  | 		  public Expenses Savedata(@RequestBody Expenses data) { | ||||||
|  | 		Expenses save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Expenses/{id}") | ||||||
|  | 	public  Expenses update(@RequestBody Expenses data,@PathVariable Integer id ) { | ||||||
|  | 		Expenses update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Expenses/getall/page") | ||||||
|  | 	public Page<Expenses> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Expenses> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Expenses") | ||||||
|  | 	public List<Expenses> getdetails() { | ||||||
|  | 		 List<Expenses> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Expenses") | ||||||
|  | 	public List<Expenses> getallwioutsec() { | ||||||
|  | 		 List<Expenses> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Expenses/{id}") | ||||||
|  | 	public  Expenses  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Expenses  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Expenses/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | package com.realnet.founder's_friend.Controllers; | ||||||
|  | import java.util.List; | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  |  import org.springframework.web.bind.annotation.*; | ||||||
|  | import com.realnet.founder's_friend.Entity.Expenses_ListFilter1; | ||||||
|  | import com.realnet.founder's_friend.Services.Expenses_ListFilter1Service ; | ||||||
|  | @RequestMapping(value = "/token/Expenses_ListFilter1") | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_Expenses_ListFilter1Controller { | ||||||
|  | 	 | ||||||
|  | 	@Autowired | ||||||
|  | 	private Expenses_ListFilter1Service Service; | ||||||
|  | 
 | ||||||
|  | 		@GetMapping("/Expenses_ListFilter1") | ||||||
|  | 	public List<Expenses_ListFilter1> getlist() { | ||||||
|  | 		 List<Expenses_ListFilter1> get = Service.getlistbuilder();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | 		@GetMapping("/Expenses_ListFilter11") | ||||||
|  | 	public List<Expenses_ListFilter1> getlistwithparam( ) { | ||||||
|  | 		 List<Expenses_ListFilter1> get = Service.getlistbuilderparam( );		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | } | ||||||
| @ -0,0 +1,115 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Founders_friend; | ||||||
|  | import com.realnet.founder's_friend.Services.Founders_friendService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Founders_friend") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_Founders_friendController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private Founders_friendService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Founders_friend") | ||||||
|  | 		  public Founders_friend Savedata(@RequestBody Founders_friend data) { | ||||||
|  | 		Founders_friend save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Founders_friend/{id}") | ||||||
|  | 	public  Founders_friend update(@RequestBody Founders_friend data,@PathVariable Integer id ) { | ||||||
|  | 		Founders_friend update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Founders_friend/getall/page") | ||||||
|  | 	public Page<Founders_friend> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Founders_friend> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Founders_friend") | ||||||
|  | 	public List<Founders_friend> getdetails() { | ||||||
|  | 		 List<Founders_friend> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Founders_friend") | ||||||
|  | 	public List<Founders_friend> getallwioutsec() { | ||||||
|  | 		 List<Founders_friend> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Founders_friend/{id}") | ||||||
|  | 	public  Founders_friend  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Founders_friend  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Founders_friend/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,99 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Journal; | ||||||
|  | import com.realnet.founder's_friend.Services.JournalService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Journal") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_JournalController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private JournalService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Journal") | ||||||
|  | 		  public Journal Savedata(@RequestBody Journal data) { | ||||||
|  | 		Journal save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Journal/{id}") | ||||||
|  | 	public  Journal update(@RequestBody Journal data,@PathVariable Integer id ) { | ||||||
|  | 		Journal update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Journal/getall/page") | ||||||
|  | 	public Page<Journal> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Journal> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Journal") | ||||||
|  | 	public List<Journal> getdetails() { | ||||||
|  | 		 List<Journal> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Journal") | ||||||
|  | 	public List<Journal> getallwioutsec() { | ||||||
|  | 		 List<Journal> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Journal/{id}") | ||||||
|  | 	public  Journal  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Journal  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Journal/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,91 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Notes; | ||||||
|  | import com.realnet.founder's_friend.Services.NotesService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Notes") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_NotesController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private NotesService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Notes") | ||||||
|  | 		  public Notes Savedata(@RequestBody Notes data) { | ||||||
|  | 		Notes save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Notes/{id}") | ||||||
|  | 	public  Notes update(@RequestBody Notes data,@PathVariable Integer id ) { | ||||||
|  | 		Notes update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Notes/getall/page") | ||||||
|  | 	public Page<Notes> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Notes> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Notes") | ||||||
|  | 	public List<Notes> getdetails() { | ||||||
|  | 		 List<Notes> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Notes") | ||||||
|  | 	public List<Notes> getallwioutsec() { | ||||||
|  | 		 List<Notes> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Notes/{id}") | ||||||
|  | 	public  Notes  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Notes  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Notes/{id}") | ||||||
|  | 	public  ResponseEntity<?> delete_by_id(@PathVariable Integer id ) { | ||||||
|  | 	Service.delete_by_id(id); | ||||||
|  | 			return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); | ||||||
|  | 	 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,91 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Tasks; | ||||||
|  | import com.realnet.founder's_friend.Services.TasksService ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @RequestMapping(value = "/token/Tasks") | ||||||
|  |  @CrossOrigin("*")  | ||||||
|  | @RestController | ||||||
|  | public class tokenFree_TasksController { | ||||||
|  | 	@Autowired | ||||||
|  | 	private TasksService Service; | ||||||
|  | 
 | ||||||
|  | @Value("${projectPath}") | ||||||
|  | 	private String projectPath; | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	@PostMapping("/Tasks") | ||||||
|  | 		  public Tasks Savedata(@RequestBody Tasks data) { | ||||||
|  | 		Tasks save = Service.Savedata(data)	; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		System.out.println("data saved..." + save); | ||||||
|  | 
 | ||||||
|  |  return save; | ||||||
|  | 	  } | ||||||
|  | @PutMapping("/Tasks/{id}") | ||||||
|  | 	public  Tasks update(@RequestBody Tasks data,@PathVariable Integer id ) { | ||||||
|  | 		Tasks update = Service.update(data,id); | ||||||
|  | 		System.out.println("data update..." + update); | ||||||
|  | 		return update; | ||||||
|  | 	}	  | ||||||
|  | //	get all with pagination | ||||||
|  | 	@GetMapping("/Tasks/getall/page") | ||||||
|  | 	public Page<Tasks> getall(@RequestParam(value = "page", required = false) Integer page, | ||||||
|  | 			@RequestParam(value = "size", required = false) Integer size) { | ||||||
|  | 		Pageable paging = PageRequest.of(page, size); | ||||||
|  | 		Page<Tasks> get = Service.getAllWithPagination(paging); | ||||||
|  | 
 | ||||||
|  | 		return get; | ||||||
|  | 
 | ||||||
|  | 	}	 | ||||||
|  | 	@GetMapping("/Tasks") | ||||||
|  | 	public List<Tasks> getdetails() { | ||||||
|  | 		 List<Tasks> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | // get all without authentication  | ||||||
|  | 
 | ||||||
|  | 	@GetMapping("/token/Tasks") | ||||||
|  | 	public List<Tasks> getallwioutsec() { | ||||||
|  | 		 List<Tasks> get = Service.getdetails();		 | ||||||
|  | 		return get; | ||||||
|  | } | ||||||
|  | @GetMapping("/Tasks/{id}") | ||||||
|  | 	public  Tasks  getdetailsbyId(@PathVariable Integer id ) { | ||||||
|  | 		Tasks  get = Service.getdetailsbyId(id); | ||||||
|  | 		return get; | ||||||
|  | 	} | ||||||
|  | @DeleteMapping("/Tasks/{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,33 @@ | |||||||
|  | package com.realnet.founder's_friend.Entity; | ||||||
|  |  import lombok.*; | ||||||
|  | import com.realnet.WhoColumn.Entity.Extension;  | ||||||
|  |  import javax.persistence.*; | ||||||
|  |  import java.time.LocalDateTime; | ||||||
|  |  import java.util.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  @Entity  | ||||||
|  |  @Data | ||||||
|  |  public class    Expenses extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | @Column(length = 2000) | ||||||
|  | private String description; | ||||||
|  | 
 | ||||||
|  | private int amount; | ||||||
|  | 
 | ||||||
|  | private String select_category; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | package com.realnet.founder's_friend.Entity; | ||||||
|  |  import lombok.*; | ||||||
|  |  import javax.persistence.*; | ||||||
|  |  import java.time.LocalDateTime; | ||||||
|  |  import java.util.*; | ||||||
|  | 
 | ||||||
|  |  @Data | ||||||
|  |  public class    Expenses_ListFilter1 {  | ||||||
|  | 
 | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  private String amount; | ||||||
|  | } | ||||||
| @ -0,0 +1,44 @@ | |||||||
|  | package com.realnet.founder's_friend.Entity; | ||||||
|  |  import lombok.*; | ||||||
|  | import com.realnet.WhoColumn.Entity.Extension;  | ||||||
|  |  import javax.persistence.*; | ||||||
|  |  import java.time.LocalDateTime; | ||||||
|  |  import java.util.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.realnet.founder's_friend.Entity.Journal; | ||||||
|  | 
 | ||||||
|  | import com.realnet.founder's_friend.Entity.Tasks; | ||||||
|  | 
 | ||||||
|  | import com.realnet.founder's_friend.Entity.Notes; | ||||||
|  | 
 | ||||||
|  | import com.realnet.founder's_friend.Entity.Expenses; | ||||||
|  | 
 | ||||||
|  |  @Entity  | ||||||
|  |  @Data | ||||||
|  |  public class    Founders_friend extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | private String  name; | ||||||
|  | 
 | ||||||
|  | @OneToMany(  cascade=CascadeType.ALL) | ||||||
|  |  private List<Journal> journal = new ArrayList<>(); | ||||||
|  | 
 | ||||||
|  | @OneToMany(  cascade=CascadeType.ALL) | ||||||
|  |  private List<Tasks> tasks = new ArrayList<>(); | ||||||
|  | 
 | ||||||
|  | @OneToMany(  cascade=CascadeType.ALL) | ||||||
|  |  private List<Notes> notes = new ArrayList<>(); | ||||||
|  | 
 | ||||||
|  | @OneToMany(  cascade=CascadeType.ALL) | ||||||
|  |  private List<Expenses> expenses = new ArrayList<>(); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,33 @@ | |||||||
|  | package com.realnet.founder's_friend.Entity; | ||||||
|  |  import lombok.*; | ||||||
|  | import com.realnet.WhoColumn.Entity.Extension;  | ||||||
|  |  import javax.persistence.*; | ||||||
|  |  import java.time.LocalDateTime; | ||||||
|  |  import java.util.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  @Entity  | ||||||
|  |  @Data | ||||||
|  |  public class    Journal extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | private String  title; | ||||||
|  | 
 | ||||||
|  | @Column(length = 2000) | ||||||
|  | private String description; | ||||||
|  | 
 | ||||||
|  | private String datetime_field; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,29 @@ | |||||||
|  | package com.realnet.founder's_friend.Entity; | ||||||
|  |  import lombok.*; | ||||||
|  | import com.realnet.WhoColumn.Entity.Extension;  | ||||||
|  |  import javax.persistence.*; | ||||||
|  |  import java.time.LocalDateTime; | ||||||
|  |  import java.util.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  @Entity  | ||||||
|  |  @Data | ||||||
|  |  public class    Notes extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | private String  note_title; | ||||||
|  | 
 | ||||||
|  | @Column(length = 2000) | ||||||
|  | private String description; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,28 @@ | |||||||
|  | package com.realnet.founder's_friend.Entity; | ||||||
|  |  import lombok.*; | ||||||
|  | import com.realnet.WhoColumn.Entity.Extension;  | ||||||
|  |  import javax.persistence.*; | ||||||
|  |  import java.time.LocalDateTime; | ||||||
|  |  import java.util.*; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  @Entity  | ||||||
|  |  @Data | ||||||
|  |  public class    Tasks extends Extension {  | ||||||
|  |  /** | ||||||
|  | 	 *  | ||||||
|  | 	 */ | ||||||
|  | 	private static final long serialVersionUID = 1L; | ||||||
|  | 
 | ||||||
|  |  @Id | ||||||
|  |  @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||||
|  |  private Integer id; | ||||||
|  | 
 | ||||||
|  | private String  task; | ||||||
|  | 
 | ||||||
|  | private String status; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,30 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Expenses; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  ExpensesRepository  extends  JpaRepository<Expenses, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from expenses where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Expenses> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from expenses where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Expenses> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,34 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Founders_friend; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  Founders_friendRepository  extends  JpaRepository<Founders_friend, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from founders_friend where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Founders_friend> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from founders_friend where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Founders_friend> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,30 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Journal; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  JournalRepository  extends  JpaRepository<Journal, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from journal where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Journal> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from journal where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Journal> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,28 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Notes; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  NotesRepository  extends  JpaRepository<Notes, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from notes where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Notes> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from notes where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Notes> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,28 @@ | |||||||
|  | package com.realnet.founder's_friend.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.founder's_friend.Entity.Tasks; | ||||||
|  | 
 | ||||||
|  | @Repository | ||||||
|  | public interface  TasksRepository  extends  JpaRepository<Tasks, Integer>  {  | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from tasks where  created_by=?1", nativeQuery = true) | ||||||
|  | 	List<Tasks> findAll(Long creayedBy); | ||||||
|  | 
 | ||||||
|  | @Query(value = "select * from tasks where  created_by=?1", nativeQuery = true) | ||||||
|  | 	Page<Tasks> findAll(Pageable page, Long creayedBy); | ||||||
|  | } | ||||||
| @ -0,0 +1,93 @@ | |||||||
|  | package com.realnet.founder's_friend.Services; | ||||||
|  | import com.realnet.founder's_friend.Repository.ExpensesRepository; | ||||||
|  | import com.realnet.founder's_friend.Entity.Expenses | ||||||
|  | ;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 ExpensesService { | ||||||
|  | @Autowired | ||||||
|  | private ExpensesRepository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Expenses Savedata(Expenses data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Expenses save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Expenses> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Expenses> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Expenses> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Expenses getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Expenses update(Expenses data,Integer id) { | ||||||
|  | 	Expenses old = Repository.findById(id).get(); | ||||||
|  | old.setDescription(data.getDescription()); | ||||||
|  | 
 | ||||||
|  | old.setAmount(data.getAmount()); | ||||||
|  | 
 | ||||||
|  | old.setSelect_category(data.getSelect_category()); | ||||||
|  | 
 | ||||||
|  | final Expenses test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
| @ -0,0 +1,47 @@ | |||||||
|  | package com.realnet.founder's_friend.Services; | ||||||
|  | import java.util.*; | ||||||
|  | import com.realnet.founder's_friend.Repository.ExpensesRepository; | ||||||
|  | import com.realnet.founder's_friend.Entity.Expenses; | ||||||
|  | 
 | ||||||
|  | import com.realnet.founder's_friend.Entity.Expenses_ListFilter1; | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | 	import org.springframework.stereotype.Service; | ||||||
|  | 
 | ||||||
|  | @Service | ||||||
|  |  public class Expenses_ListFilter1Service { | ||||||
|  | @Autowired | ||||||
|  | private ExpensesRepository Repository; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public   List<Expenses_ListFilter1>   getlistbuilder() { | ||||||
|  | 	List<Expenses> list= Repository.findAll(); | ||||||
|  | 		ArrayList<Expenses_ListFilter1> l = new ArrayList<>(); | ||||||
|  | 		for (Expenses data : list) { | ||||||
|  | {	 | ||||||
|  | Expenses_ListFilter1 dummy = new Expenses_ListFilter1(); | ||||||
|  | 			dummy.setId(data.getId()); | ||||||
|  |   dummy.setAmount(data.getAmount()); | ||||||
|  | 	l.add(dummy); | ||||||
|  | }  | ||||||
|  | } 		 | ||||||
|  | return l;} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public   List<Expenses_ListFilter1>   getlistbuilderparam( ) { | ||||||
|  | 	List<Expenses> list= Repository.findAll(); | ||||||
|  | 		ArrayList<Expenses_ListFilter1> l = new ArrayList<>(); | ||||||
|  | 		for (Expenses data : list) { | ||||||
|  | {	 | ||||||
|  | Expenses_ListFilter1 dummy = new Expenses_ListFilter1(); | ||||||
|  | 			dummy.setId(data.getId()); | ||||||
|  |   dummy.setAmount(data.getAmount()); | ||||||
|  | 	l.add(dummy); | ||||||
|  | }  | ||||||
|  | } 		 | ||||||
|  | return l;} | ||||||
|  | } | ||||||
| @ -0,0 +1,113 @@ | |||||||
|  | package com.realnet.founder's_friend.Services; | ||||||
|  | import com.realnet.founder's_friend.Repository.Founders_friendRepository; | ||||||
|  | import com.realnet.founder's_friend.Entity.Founders_friend | ||||||
|  | ;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 Founders_friendService { | ||||||
|  | @Autowired | ||||||
|  | private Founders_friendRepository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Founders_friend Savedata(Founders_friend data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Founders_friend save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Founders_friend> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Founders_friend> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Founders_friend> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Founders_friend getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Founders_friend update(Founders_friend data,Integer id) { | ||||||
|  | 	Founders_friend old = Repository.findById(id).get(); | ||||||
|  | old.setName(data.getName()); | ||||||
|  | 
 | ||||||
|  | old.setJournal(data.getJournal()); | ||||||
|  | 
 | ||||||
|  | old.setTasks(data.getTasks()); | ||||||
|  | 
 | ||||||
|  | old.setNotes(data.getNotes()); | ||||||
|  | 
 | ||||||
|  | old.setExpenses(data.getExpenses()); | ||||||
|  | 
 | ||||||
|  | final Founders_friend test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
| @ -0,0 +1,93 @@ | |||||||
|  | package com.realnet.founder's_friend.Services; | ||||||
|  | import com.realnet.founder's_friend.Repository.JournalRepository; | ||||||
|  | import com.realnet.founder's_friend.Entity.Journal | ||||||
|  | ;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 JournalService { | ||||||
|  | @Autowired | ||||||
|  | private JournalRepository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Journal Savedata(Journal data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Journal save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Journal> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Journal> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Journal> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Journal getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Journal update(Journal data,Integer id) { | ||||||
|  | 	Journal old = Repository.findById(id).get(); | ||||||
|  | old.setTitle(data.getTitle()); | ||||||
|  | 
 | ||||||
|  | old.setDescription(data.getDescription()); | ||||||
|  | 
 | ||||||
|  | old.setDatetime_field(data.getDatetime_field()); | ||||||
|  | 
 | ||||||
|  | final Journal test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
| @ -0,0 +1,83 @@ | |||||||
|  | package com.realnet.founder's_friend.Services; | ||||||
|  | import com.realnet.founder's_friend.Repository.NotesRepository; | ||||||
|  | import com.realnet.founder's_friend.Entity.Notes | ||||||
|  | ;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 NotesService { | ||||||
|  | @Autowired | ||||||
|  | private NotesRepository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Notes Savedata(Notes data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Notes save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Notes> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Notes> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Notes> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Notes getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Notes update(Notes data,Integer id) { | ||||||
|  | 	Notes old = Repository.findById(id).get(); | ||||||
|  | old.setNote_title(data.getNote_title()); | ||||||
|  | 
 | ||||||
|  | old.setDescription(data.getDescription()); | ||||||
|  | 
 | ||||||
|  | final Notes test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
| @ -0,0 +1,83 @@ | |||||||
|  | package com.realnet.founder's_friend.Services; | ||||||
|  | import com.realnet.founder's_friend.Repository.TasksRepository; | ||||||
|  | import com.realnet.founder's_friend.Entity.Tasks | ||||||
|  | ;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 TasksService { | ||||||
|  | @Autowired | ||||||
|  | private TasksRepository Repository; | ||||||
|  | 	@Autowired | ||||||
|  | 	private AppUserServiceImpl userService;  | ||||||
|  | @Autowired | ||||||
|  | 	private RealmService realmService; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Tasks Savedata(Tasks data) { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	data.setUpdatedBy(getUser().getUserId()); | ||||||
|  | 		data.setCreatedBy(getUser().getUserId()); | ||||||
|  | 		data.setAccountId(getUser().getAccount().getAccount_id()); | ||||||
|  | Tasks save = Repository.save(data); | ||||||
|  | 				return save;	 | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //	get all with pagination | ||||||
|  | 	public Page<Tasks> getAllWithPagination(Pageable page) { | ||||||
|  | 		return Repository.findAll(page, getUser().getUserId()); | ||||||
|  | 	}			 | ||||||
|  | public List<Tasks> getdetails() {   | ||||||
|  | 		List<Realm> realm = realmService.findByUserId(getUser().getUserId()); | ||||||
|  | List<Tasks> all = Repository.findAll(getUser().getUserId()); | ||||||
|  | 		 | ||||||
|  | 		return all ;		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Tasks getdetailsbyId(Integer id) { | ||||||
|  | 	return Repository.findById(id).get(); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	public void delete_by_id(Integer id) { | ||||||
|  |  Repository.deleteById(id); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public Tasks update(Tasks data,Integer id) { | ||||||
|  | 	Tasks old = Repository.findById(id).get(); | ||||||
|  | old.setTask(data.getTask()); | ||||||
|  | 
 | ||||||
|  | old.setStatus(data.getStatus()); | ||||||
|  | 
 | ||||||
|  | final Tasks test = Repository.save(old); | ||||||
|  | 		data.setUpdatedBy(getUser().getUserId()); | ||||||
|  |   return test;}  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public AppUser getUser() { | ||||||
|  | 		AppUser user = userService.getLoggedInUser(); | ||||||
|  | 		return user; | ||||||
|  | 
 | ||||||
|  | 	}} | ||||||
							
								
								
									
										10
									
								
								foundersfriend01-dbf-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								foundersfriend01-dbf-d/authsec_mysql/mysql/wf_table/wf_table.sql
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | CREATE TABLE dbf.Journal(id BIGINT NOT NULL AUTO_INCREMENT, description VARCHAR(400), datetime_field VARCHAR(400), title VARCHAR(400),  PRIMARY KEY (id)); | ||||||
|  | 
 | ||||||
|  | CREATE TABLE dbf.Tasks(id BIGINT NOT NULL AUTO_INCREMENT, task VARCHAR(400), status VARCHAR(400),  PRIMARY KEY (id)); | ||||||
|  | 
 | ||||||
|  | CREATE TABLE dbf.Notes(id BIGINT NOT NULL AUTO_INCREMENT, description VARCHAR(400), note_title VARCHAR(400),  PRIMARY KEY (id)); | ||||||
|  | 
 | ||||||
|  | CREATE TABLE dbf.Expenses(id BIGINT NOT NULL AUTO_INCREMENT, description VARCHAR(400), amount int, select_category VARCHAR(400),  PRIMARY KEY (id)); | ||||||
|  | 
 | ||||||
|  | CREATE TABLE dbf.Founders_friend(id BIGINT NOT NULL AUTO_INCREMENT, onetomanyextension VARCHAR(400), 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,434 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Expenses</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Expenses </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]="'description'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Description | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'amount'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Amount | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'select_category'"> <ng-container *clrDgHideableColumn="{hidden: false}"> select Category | ||||||
|  | 						    </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 (click)="goToReplaceStringdescription (user.description)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon> | ||||||
|  | </clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.amount }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.select_category }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |   <!-- who column --> | ||||||
|  | <clr-dg-cell> | ||||||
|  |   <clr-signpost> | ||||||
|  |    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||||
|  |    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||||
|  |      <h5 style="margin-top: 0">Who Column</h5> | ||||||
|  |            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||||
|  |            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||||
|  |            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||||
|  |            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||||
|  |            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||||
|  |    </clr-signpost-content> | ||||||
|  |  </clr-signpost> | ||||||
|  |  </clr-dg-cell> | ||||||
|  |   | ||||||
|  |  <!-- who colmn -->  | ||||||
|  |   | ||||||
|  |  <clr-dg-action-overflow> | ||||||
|  |         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||||
|  |         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||||
|  |       </clr-dg-action-overflow> | ||||||
|  |          </clr-dg-row> | ||||||
|  |     <clr-dg-footer> | ||||||
|  |       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||||
|  |         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||||
|  |         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||||
|  |         of {{pagination.totalItems}} users | ||||||
|  |       </clr-dg-pagination> | ||||||
|  |     </clr-dg-footer> | ||||||
|  |   </clr-datagrid> </ng-container> | ||||||
|  | <ng-template #showInfo> | ||||||
|  |   <div class="alert alert-info" role="alert"> | ||||||
|  |       <div class="alert-items"> | ||||||
|  |           <div class="alert-item static"> | ||||||
|  |               <span class="alert-text"> | ||||||
|  |                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||||
|  |                     Data could be found. Loading.. | ||||||
|  |                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||||
|  |               </span> | ||||||
|  |           </div> | ||||||
|  |       </div> | ||||||
|  |   </div> | ||||||
|  | </ng-template><ng-container *ngIf="isCardview"> | ||||||
|  |   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||||
|  |     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||||
|  |       <div class="clr-row"> | ||||||
|  |         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||||
|  |   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||||
|  |     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||||
|  |       <ng-container *ngFor="let item of dashboardArray"> | ||||||
|  |         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||||
|  |           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||||
|  |           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |            {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] }} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] | date}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  |           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ]}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||||
|  |           <hr> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           > | ||||||
|  |             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name == 'Image'" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||||
|  |             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||||
|  |             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||||
|  |         </div> | ||||||
|  |       </ng-container> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </ng-container> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | <clr-modal [(clrModalOpen)]="rsModaldescription" [clrModalSize]="'xl'" [clrModalStaticBackdrop]="true"> | ||||||
|  | 						  <div class="modal-body"> | ||||||
|  | 						    <textarea class="form-control" style="width:100%; height: 400px;" readonly>{{rowSelected}}</textarea> | ||||||
|  | 						  </div></clr-modal> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- //		EDIT DATA......... --> | ||||||
|  | <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||||
|  |   <h3 class="modal-title">Update Expenses | ||||||
|  |  <!--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> Description</label> | ||||||
|  | 	              <textarea cols="10" rows="2"[(ngModel)]="rowSelected.description" name="description " placeholder="Textarea">  </textarea> | ||||||
|  | 	           </div>  | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label>Amount</label> | ||||||
|  | 	        <input id="name" class="clr-input"  type="number" [(ngModel)]="rowSelected.amount" name="amount" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label> select Category</label>  | ||||||
|  | <select name="select_category" [(ngModel)]="rowSelected.select_category"> | ||||||
|  |     <option [value]="null">Selectselect_category | ||||||
|  |     </option> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> utilities </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> transport </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> entertainment </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> food </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> other </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   </select> </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 Expenses  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Expenses_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>  Description</label>              | ||||||
|  |  <textarea cols="10" rows="2" formControlName="description" placeholder="Textarea">  </textarea> | ||||||
|  | 	            </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Amount</label> | ||||||
|  |  <input class="clr-input"  type="number"  formControlName="amount" />       | ||||||
|  |  <div *ngIf="submitted && entryForm.controls.amount.errors" class="error_mess"> | ||||||
|  |   <div *ngIf="submitted && entryForm.controls.amount.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  | </div>   | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  | 	 <label>select Category</label> | ||||||
|  | 							 <select formControlName="select_category"> | ||||||
|  | 							    <option [value]="null">Select  select Category </option>  | ||||||
|  | 								 | ||||||
|  |   | ||||||
|  | 								<option> utilities </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> transport </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> entertainment </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> food </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> other </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  | 						</select></div> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |  </div>  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       <!-- form code start --> | ||||||
|  |       <div *ngIf="checkFormCode"> | ||||||
|  |         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||||
|  |         <br> | ||||||
|  |         <hr> | ||||||
|  |         <div class="clr-row"> | ||||||
|  |           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||||
|  |             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||||
|  |               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||||
|  |               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||||
|  |                 class="clr-input" /> | ||||||
|  |               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||||
|  |               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||||
|  |                 class="clr-input" /> | ||||||
|  |               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||||
|  |               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||||
|  |               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||||
|  |               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||||
|  |                 class="clr-checkbox" /> | ||||||
|  |             </ng-container> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |       <!-- form code end --> <div class="modal-footer"> | ||||||
|  | <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||||
|  |         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||||
|  |         </div> | ||||||
|  | </form> | ||||||
|  |   </div> | ||||||
|  | </clr-modal> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- htmlpopup --> | ||||||
| @ -0,0 +1,78 @@ | |||||||
|  | //@import "../../../../assets/scss/var"; | ||||||
|  | .s-info-bar { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: row; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   button { | ||||||
|  |     outline: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .delete,.heading{ | ||||||
|  |   text-align: center; | ||||||
|  |   color: red; | ||||||
|  | } | ||||||
|  | .entry-pg { | ||||||
|  |   width: 750px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .button1::after { | ||||||
|  |   content: none; | ||||||
|  | } | ||||||
|  | .button1:hover::after { | ||||||
|  |   content: "ADD ROWS"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .section { | ||||||
|  |   background-color: #dddddd; | ||||||
|  |   height: 40px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .section p { | ||||||
|  |   //color: white; | ||||||
|  |   padding: 10px; | ||||||
|  |   font-size: 18px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clr-input { | ||||||
|  |   color: #212529; | ||||||
|  |   border: 1px solid #ced4da; | ||||||
|  |   border-radius: 0.25rem; | ||||||
|  |   padding: 0.75rem 0.75rem; | ||||||
|  |   margin-top: 3px; | ||||||
|  |   width: 100%; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clr-file { | ||||||
|  |   color: #212529; | ||||||
|  |   border: 1px solid #ced4da; | ||||||
|  |   border-radius: 0.25rem; | ||||||
|  |   //padding: 0.6rem 0.75rem; | ||||||
|  |   margin-top: 3px; | ||||||
|  |   width: 100%; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .center { | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  | select{ | ||||||
|  |   width: 100%; | ||||||
|  |   margin-top: 3px; | ||||||
|  |   padding: 5px 5px; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  | } | ||||||
|  | input[type=text],[type=date],[type=number],textarea { | ||||||
|  |   width: 100%; | ||||||
|  |   padding: 15px 15px; | ||||||
|  |   background-color:rgb(255, 255, 255); | ||||||
|  |  // margin: 8px 0; | ||||||
|  |   display: inline-block; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  |   box-sizing: border-box; | ||||||
|  | } | ||||||
|  | .error_mess { | ||||||
|  |   color: red; | ||||||
|  | } | ||||||
| @ -0,0 +1,270 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Expensesservice} from './Expenses.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 { Expensescardvariable } from './Expenses_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Expenses', | ||||||
|  |   templateUrl: './Expenses.component.html', | ||||||
|  |   styleUrls: ['./Expenses.component.scss'] | ||||||
|  | }) | ||||||
|  | export class ExpensesComponent implements OnInit { | ||||||
|  |   cardButton = Expensescardvariable.cardButton; | ||||||
|  |   cardmodeldata = Expensescardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Expensescardvariable.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 = 'Expenses_formCode' | ||||||
|  | tableName = 'Expenses';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Expensesservice, | ||||||
|  |     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({ | ||||||
|  | description : [null], | ||||||
|  | 
 | ||||||
|  | amount : [null,[Validators.required]], | ||||||
|  | 
 | ||||||
|  | select_category : [null], | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   }); // component_button200
 | ||||||
|  |  // form code start
 | ||||||
|  |     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||||
|  |       console.log(data); | ||||||
|  |       const jsonArray = data.map((str) => JSON.parse(str)); | ||||||
|  |       this.additionalFieldsFromBackend = jsonArray; | ||||||
|  |       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Expenses_formCode"); | ||||||
|  |       console.log(this.checkFormCode); | ||||||
|  |       console.log(this.additionalFieldsFromBackend); | ||||||
|  |       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||||
|  |         this.additionalFieldsFromBackend.forEach(field => { | ||||||
|  |           if (field.formCode === this.formcode) { | ||||||
|  |             if (!this.entryForm.contains(field.extValue)) { | ||||||
|  |               // Add the control only if it doesn't exist in the form
 | ||||||
|  |               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     console.log(this.entryForm.value); | ||||||
|  |     // form code end 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  error;  | ||||||
|  |   getData() { | ||||||
|  |     this.mainService.getAll().subscribe((data) => { | ||||||
|  |       console.log(data); | ||||||
|  |       this.product = data; | ||||||
|  |  if(this.product.length==0){ | ||||||
|  |         this.error="No Data Available" | ||||||
|  |      }    | ||||||
|  |     },(error) => { | ||||||
|  |       console.log(error); | ||||||
|  |       if(error){ | ||||||
|  |        this.error="Server Error"; | ||||||
|  |      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   onEdit(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.modalEdit = true; | ||||||
|  |   } | ||||||
|  |    onDelete(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  |      this.modaldelete=true; | ||||||
|  |   } | ||||||
|  |   delete(id) | ||||||
|  |   { | ||||||
|  |     this.modaldelete = false; | ||||||
|  |     console.log("in delete  "+id); | ||||||
|  |     this.mainService.delete(id).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         this.ngOnInit(); | ||||||
|  |   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |     onUpdate(id) { | ||||||
|  |     this.modalEdit = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     //console.log("in update");
 | ||||||
|  |     console.log("id  " + id); | ||||||
|  |     console.log(this.rowSelected); | ||||||
|  |     //console.log("out update");
 | ||||||
|  |     this.mainService.update(id, this.rowSelected).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Update Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("update Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   }  | ||||||
|  | onCreate() { | ||||||
|  |      this.modalAdd=false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   this.mainService.create(this.entryForm.value).subscribe( | ||||||
|  |     (data) => { | ||||||
|  |       console.log(data); | ||||||
|  |   if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Added Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("Added Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   } | ||||||
|  |   goToAdd(row) { | ||||||
|  | this.modalAdd = true; this.submitted = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |  submitted = false; | ||||||
|  | onSubmit() { | ||||||
|  |   console.log(this.entryForm.value); | ||||||
|  |  this.submitted = true; | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     return; | ||||||
|  |   }this.onCreate(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | rsModaldescription = false;    | ||||||
|  | goToReplaceStringdescription(row){ | ||||||
|  | this.rowSelected = row;     this.rsModaldescription  =true;   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,39 @@ | |||||||
|  | import { Injectable } from '@angular/core'; | ||||||
|  | import { Observable } from "rxjs"; | ||||||
|  | import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||||
|  | import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||||
|  | import { environment } from 'src/environments/environment'; | ||||||
|  | @Injectable({ | ||||||
|  |   providedIn: 'root' | ||||||
|  | }) | ||||||
|  | export class Expensesservice{ | ||||||
|  |   private baseURL = "Expenses/Expenses" ;  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 Expensescardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -0,0 +1,813 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Founders Friend</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Founders Friend </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> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |  <!-- 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> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |   <!-- who column --> | ||||||
|  | <clr-dg-cell> | ||||||
|  |   <clr-signpost> | ||||||
|  |    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||||
|  |    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||||
|  |      <h5 style="margin-top: 0">Who Column</h5> | ||||||
|  |            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||||
|  |            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||||
|  |            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||||
|  |            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||||
|  |            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||||
|  |    </clr-signpost-content> | ||||||
|  |  </clr-signpost> | ||||||
|  |  </clr-dg-cell> | ||||||
|  |   | ||||||
|  |  <!-- who colmn -->  | ||||||
|  |   | ||||||
|  |  <clr-dg-action-overflow> | ||||||
|  |         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||||
|  |         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||||
|  |       </clr-dg-action-overflow> | ||||||
|  |          </clr-dg-row> | ||||||
|  |     <clr-dg-footer> | ||||||
|  |       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||||
|  |         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||||
|  |         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||||
|  |         of {{pagination.totalItems}} users | ||||||
|  |       </clr-dg-pagination> | ||||||
|  |     </clr-dg-footer> | ||||||
|  |   </clr-datagrid> </ng-container> | ||||||
|  | <ng-template #showInfo> | ||||||
|  |   <div class="alert alert-info" role="alert"> | ||||||
|  |       <div class="alert-items"> | ||||||
|  |           <div class="alert-item static"> | ||||||
|  |               <span class="alert-text"> | ||||||
|  |                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||||
|  |                     Data could be found. Loading.. | ||||||
|  |                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||||
|  |               </span> | ||||||
|  |           </div> | ||||||
|  |       </div> | ||||||
|  |   </div> | ||||||
|  | </ng-template><ng-container *ngIf="isCardview"> | ||||||
|  |   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||||
|  |     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||||
|  |       <div class="clr-row"> | ||||||
|  |         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||||
|  |   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||||
|  |     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||||
|  |       <ng-container *ngFor="let item of dashboardArray"> | ||||||
|  |         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||||
|  |           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||||
|  |           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |            {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] }} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] | date}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  |           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ]}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||||
|  |           <hr> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           > | ||||||
|  |             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name == 'Image'" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||||
|  |             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||||
|  |             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||||
|  |         </div> | ||||||
|  |       </ng-container> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </ng-container> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- //		EDIT DATA......... --> | ||||||
|  | <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||||
|  |   <h3 class="modal-title">Update Founders Friend | ||||||
|  |  <!--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>  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">description</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">datetime_field</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">title</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |        <th class="right" style="width:200px;">{{ components?.length >= 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let component of components; let i = index"> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="description" [(ngModel)]="component.description" [ngModelOptions]=" {standalone: true}" placeholder="Enter  description" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="datetime_field" [(ngModel)]="component.datetime_field" [ngModelOptions]=" {standalone: true}" placeholder="Enter  datetime_field" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="title" [(ngModel)]="component.title" [ngModelOptions]=" {standalone: true}" placeholder="Enter  title" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |           <td> <a> | ||||||
|  |               <clr-icon shape="trash" class="is-error" (click)="deleteRow(i)"></clr-icon> | ||||||
|  |             </a> </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="oneditLines()" style="margin-left: 20px;"> | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">task</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">status</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |        <th class="right" style="width:200px;">{{ components?.length >= 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let component of components; let i = index"> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="task" [(ngModel)]="component.task" [ngModelOptions]=" {standalone: true}" placeholder="Enter  task" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="status" [(ngModel)]="component.status" [ngModelOptions]=" {standalone: true}" placeholder="Enter  status" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |           <td> <a> | ||||||
|  |               <clr-icon shape="trash" class="is-error" (click)="deleteRow(i)"></clr-icon> | ||||||
|  |             </a> </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="oneditLines()" style="margin-left: 20px;"> | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">description</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">note_title</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |        <th class="right" style="width:200px;">{{ components?.length >= 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let component of components; let i = index"> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="description" [(ngModel)]="component.description" [ngModelOptions]=" {standalone: true}" placeholder="Enter  description" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="note_title" [(ngModel)]="component.note_title" [ngModelOptions]=" {standalone: true}" placeholder="Enter  note_title" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |           <td> <a> | ||||||
|  |               <clr-icon shape="trash" class="is-error" (click)="deleteRow(i)"></clr-icon> | ||||||
|  |             </a> </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="oneditLines()" style="margin-left: 20px;"> | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">description</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">amount</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">select_category</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:200px;">total_expenses</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |        <th class="right" style="width:200px;">{{ components?.length >= 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let component of components; let i = index"> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="description" [(ngModel)]="component.description" [ngModelOptions]=" {standalone: true}" placeholder="Enter  description" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="amount" [(ngModel)]="component.amount" [ngModelOptions]=" {standalone: true}" placeholder="Enter  amount" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="select_category" [(ngModel)]="component.select_category" [ngModelOptions]=" {standalone: true}" placeholder="Enter  select_category" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" name="total_expenses" [(ngModel)]="component.total_expenses" [ngModelOptions]=" {standalone: true}" placeholder="Enter  total_expenses" class="clr-input"> | ||||||
|  |           </td> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |           <td> <a> | ||||||
|  |               <clr-icon shape="trash" class="is-error" (click)="deleteRow(i)"></clr-icon> | ||||||
|  |             </a> </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="oneditLines()" style="margin-left: 20px;"> | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- 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 Founders Friend  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Founders_friend_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>  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div style="margin-top: 30px;"><h4 style="display: inline;">Journal </h4> | ||||||
|  | </div> | ||||||
|  | <hr> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;" formArrayName="journal"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">description</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">datetime_field</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">title</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <th class="right" style="width:125px;">{{ controls.length > 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let item of controls; let i=index" [formGroupName]="i"> | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="description" placeholder="Enter description" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="datetime_field" placeholder="Enter datetime_field" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="title" placeholder="Enter title" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <td style="width:40px;"> | ||||||
|  |             <a *ngIf="controls.length > 1" (click)="onRemoveLines(i)"><clr-icon shape="trash" class="is-error"></clr-icon> | ||||||
|  |             </a> | ||||||
|  |           </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="onAddLines()" > | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div style="margin-top: 30px;"><h4 style="display: inline;">Tasks </h4> | ||||||
|  | </div> | ||||||
|  | <hr> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;" formArrayName="tasks"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">task</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">status</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <th class="right" style="width:125px;">{{ controls.length > 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let item of controls; let i=index" [formGroupName]="i"> | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="task" placeholder="Enter task" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="status" placeholder="Enter status" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <td style="width:40px;"> | ||||||
|  |             <a *ngIf="controls.length > 1" (click)="onRemoveLines(i)"><clr-icon shape="trash" class="is-error"></clr-icon> | ||||||
|  |             </a> | ||||||
|  |           </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="onAddLines()" > | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div style="margin-top: 30px;"><h4 style="display: inline;">Notes </h4> | ||||||
|  | </div> | ||||||
|  | <hr> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;" formArrayName="notes"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">description</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">note_title</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <th class="right" style="width:125px;">{{ controls.length > 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let item of controls; let i=index" [formGroupName]="i"> | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="description" placeholder="Enter description" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="note_title" placeholder="Enter note_title" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <td style="width:40px;"> | ||||||
|  |             <a *ngIf="controls.length > 1" (click)="onRemoveLines(i)"><clr-icon shape="trash" class="is-error"></clr-icon> | ||||||
|  |             </a> | ||||||
|  |           </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="onAddLines()" > | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | <!-- one to many code start here --> | ||||||
|  | <div style="margin-top: 30px;"><h4 style="display: inline;">Expenses </h4> | ||||||
|  | </div> | ||||||
|  | <hr> | ||||||
|  | <div class="clr-row"> | ||||||
|  |   <div class="clr-col-lg-12"> | ||||||
|  |     <table class="table" style="width:100%;" formArrayName="expenses"> | ||||||
|  |       <thead> | ||||||
|  |         <tr> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">description</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">amount</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">select_category</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <th class="left" style="width:125px;">total_expenses</th> | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <th class="right" style="width:125px;">{{ controls.length > 1 ? 'Actions' : '' }}</th> | ||||||
|  |         </tr> | ||||||
|  |       </thead> | ||||||
|  |       <tbody> | ||||||
|  |         <tr *ngFor="let item of controls; let i=index" [formGroupName]="i"> | ||||||
|  |            | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="description" placeholder="Enter description" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="amount" placeholder="Enter amount" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="select_category" placeholder="Enter select_category" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |           <td class="left"> <input type="text" formControlName="total_expenses" placeholder="Enter total_expenses" style="width:180px" | ||||||
|  |                             class="clr-input"> </td>  | ||||||
|  |             | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |           <td style="width:40px;"> | ||||||
|  |             <a *ngIf="controls.length > 1" (click)="onRemoveLines(i)"><clr-icon shape="trash" class="is-error"></clr-icon> | ||||||
|  |             </a> | ||||||
|  |           </td> | ||||||
|  |         </tr> | ||||||
|  |       </tbody> | ||||||
|  |       <button type="button" class="btn btn-primary button1" (click)="onAddLines()" > | ||||||
|  |         <clr-icon shape="plus"></clr-icon> </button> | ||||||
|  |     </table> | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
|  | <!-- one to many code end here --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       <!-- 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,480 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Founders_friendservice} from './Founders_friend.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 { Founders_friendcardvariable } from './Founders_friend_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Founders_friend', | ||||||
|  |   templateUrl: './Founders_friend.component.html', | ||||||
|  |   styleUrls: ['./Founders_friend.component.scss'] | ||||||
|  | }) | ||||||
|  | export class Founders_friendComponent implements OnInit { | ||||||
|  |   cardButton = Founders_friendcardvariable.cardButton; | ||||||
|  |   cardmodeldata = Founders_friendcardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Founders_friendcardvariable.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 = 'Founders_friend_formCode' | ||||||
|  | tableName = 'Founders_friend';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Founders_friendservice, | ||||||
|  |     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], | ||||||
|  | 
 | ||||||
|  | journal: this._fb.array([this.initLinesForm()]), | ||||||
|  | 
 | ||||||
|  | tasks: this._fb.array([this.initLinesForm()]), | ||||||
|  | 
 | ||||||
|  | notes: this._fb.array([this.initLinesForm()]), | ||||||
|  | 
 | ||||||
|  | expenses: this._fb.array([this.initLinesForm()]), | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   }); // 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 === "Founders_friend_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 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // one to many start
 | ||||||
|  |  initLinesForm() {    return this._fb.group({  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  description: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  datetime_field: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  title: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | });  }   | ||||||
|  | get controls() {return (this.entryForm.get("journal") as FormArray).controls;  } | ||||||
|  | onAddLines() { | ||||||
|  | (<FormArray>this.entryForm.get("journal")).push(this.initLinesForm());  } | ||||||
|  | onRemoveLines(index: number) { | ||||||
|  | (<FormArray>this.entryForm.get("journal")).removeAt(index);  } | ||||||
|  |  oneditLines() {    this.components.push({  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | description: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | datetime_field: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | title: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	  });  }   | ||||||
|  |  deleteRow(index) { | ||||||
|  |  this.components.splice(index, 1);  | ||||||
|  |  }   | ||||||
|  | 		 components; | ||||||
|  |  // one to many end 
 | ||||||
|  | 
 | ||||||
|  | // one to many start
 | ||||||
|  |  initLinesForm() {    return this._fb.group({  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  task: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  status: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | });  }   | ||||||
|  | get controls() {return (this.entryForm.get("tasks") as FormArray).controls;  } | ||||||
|  | onAddLines() { | ||||||
|  | (<FormArray>this.entryForm.get("tasks")).push(this.initLinesForm());  } | ||||||
|  | onRemoveLines(index: number) { | ||||||
|  | (<FormArray>this.entryForm.get("tasks")).removeAt(index);  } | ||||||
|  |  oneditLines() {    this.components.push({  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | task: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | status: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	  });  }   | ||||||
|  |  deleteRow(index) { | ||||||
|  |  this.components.splice(index, 1);  | ||||||
|  |  }   | ||||||
|  | 		 components; | ||||||
|  |  // one to many end 
 | ||||||
|  | 
 | ||||||
|  | // one to many start
 | ||||||
|  |  initLinesForm() {    return this._fb.group({  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  description: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  note_title: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | });  }   | ||||||
|  | get controls() {return (this.entryForm.get("notes") as FormArray).controls;  } | ||||||
|  | onAddLines() { | ||||||
|  | (<FormArray>this.entryForm.get("notes")).push(this.initLinesForm());  } | ||||||
|  | onRemoveLines(index: number) { | ||||||
|  | (<FormArray>this.entryForm.get("notes")).removeAt(index);  } | ||||||
|  |  oneditLines() {    this.components.push({  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | description: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | note_title: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	  });  }   | ||||||
|  |  deleteRow(index) { | ||||||
|  |  this.components.splice(index, 1);  | ||||||
|  |  }   | ||||||
|  | 		 components; | ||||||
|  |  // one to many end 
 | ||||||
|  | 
 | ||||||
|  | // one to many start
 | ||||||
|  |  initLinesForm() {    return this._fb.group({  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  description: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  amount: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  select_category: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |  	 | ||||||
|  |  total_expenses: [null], | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | });  }   | ||||||
|  | get controls() {return (this.entryForm.get("expenses") as FormArray).controls;  } | ||||||
|  | onAddLines() { | ||||||
|  | (<FormArray>this.entryForm.get("expenses")).push(this.initLinesForm());  } | ||||||
|  | onRemoveLines(index: number) { | ||||||
|  | (<FormArray>this.entryForm.get("expenses")).removeAt(index);  } | ||||||
|  |  oneditLines() {    this.components.push({  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | description: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | amount: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | select_category: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | total_expenses: "", | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 	  });  }   | ||||||
|  |  deleteRow(index) { | ||||||
|  |  this.components.splice(index, 1);  | ||||||
|  |  }   | ||||||
|  | 		 components; | ||||||
|  |  // one to many 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.components = row.journal; | ||||||
|  | 
 | ||||||
|  | this.components = row.tasks; | ||||||
|  | 
 | ||||||
|  | this.components = row.notes; | ||||||
|  | 
 | ||||||
|  | this.components = row.expenses; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.modalEdit = true; | ||||||
|  |   } | ||||||
|  |    onDelete(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  |      this.modaldelete=true; | ||||||
|  |   } | ||||||
|  |   delete(id) | ||||||
|  |   { | ||||||
|  |     this.modaldelete = false; | ||||||
|  |     console.log("in delete  "+id); | ||||||
|  |     this.mainService.delete(id).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         this.ngOnInit(); | ||||||
|  |   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |     onUpdate(id) { | ||||||
|  |     this.modalEdit = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     //console.log("in update");
 | ||||||
|  |     console.log("id  " + id); | ||||||
|  |     console.log(this.rowSelected); | ||||||
|  |     //console.log("out update");
 | ||||||
|  |     this.mainService.update(id, this.rowSelected).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Update Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("update Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   }  | ||||||
|  | onCreate() { | ||||||
|  |      this.modalAdd=false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   this.mainService.create(this.entryForm.value).subscribe( | ||||||
|  |     (data) => { | ||||||
|  |       console.log(data); | ||||||
|  |   if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Added Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("Added Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   } | ||||||
|  |   goToAdd(row) { | ||||||
|  | this.modalAdd = true; this.submitted = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |  submitted = false; | ||||||
|  | onSubmit() { | ||||||
|  |   console.log(this.entryForm.value); | ||||||
|  |  this.submitted = true; | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     return; | ||||||
|  |   }this.onCreate(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,43 @@ | |||||||
|  | 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 Founders_friendservice{ | ||||||
|  |   private baseURL = "Founders_friend/Founders_friend" ;  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 Founders_friendcardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -0,0 +1,378 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Journal</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Journal </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]="'title'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Title | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'description'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Description | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'datetime_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Datetime 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.title }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell (click)="goToReplaceStringdescription (user.description)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon> | ||||||
|  | </clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.datetime_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)]="rsModaldescription" [clrModalSize]="'xl'" [clrModalStaticBackdrop]="true"> | ||||||
|  | 						  <div class="modal-body"> | ||||||
|  | 						    <textarea class="form-control" style="width:100%; height: 400px;" readonly>{{rowSelected}}</textarea> | ||||||
|  | 						  </div></clr-modal> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- //		EDIT DATA......... --> | ||||||
|  | <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||||
|  |   <h3 class="modal-title">Update Journal | ||||||
|  |  <!--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>Title</label> | ||||||
|  | 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.title" name="title" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">                | ||||||
|  | <label> Description</label> | ||||||
|  | 	              <textarea cols="10" rows="2"[(ngModel)]="rowSelected.description" name="description " placeholder="Textarea">  </textarea> | ||||||
|  | 	           </div>  | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">        | ||||||
|  | <label>Datetime Field</label> | ||||||
|  | 	        <input  class="clr-input"  type="datetime-local" [(ngModel)]="rowSelected.datetime_field" name="datetime_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 Journal  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Journal_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>  Title</label> | ||||||
|  |  <input class="clr-input"  type="text"  formControlName="title" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  |  <label>  Description</label>              | ||||||
|  |  <textarea cols="10" rows="2" formControlName="description" placeholder="Textarea">  </textarea> | ||||||
|  | 	            </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label>  Datetime Field</label> | ||||||
|  |  <input class="clr-input"  type="datetime-local"  formControlName="datetime_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" [formControlName]="field.extValue" | ||||||
|  |                 class="clr-input" /> | ||||||
|  |               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||||
|  |               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||||
|  |                 class="clr-input" /> | ||||||
|  |               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||||
|  |               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||||
|  |               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||||
|  |               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||||
|  |                 class="clr-checkbox" /> | ||||||
|  |             </ng-container> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |       <!-- form code end --> <div class="modal-footer"> | ||||||
|  | <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||||
|  |         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||||
|  |         </div> | ||||||
|  | </form> | ||||||
|  |   </div> | ||||||
|  | </clr-modal> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- htmlpopup --> | ||||||
| @ -0,0 +1,78 @@ | |||||||
|  | //@import "../../../../assets/scss/var"; | ||||||
|  | .s-info-bar { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: row; | ||||||
|  |   justify-content: space-between; | ||||||
|  |   button { | ||||||
|  |     outline: none; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | .delete,.heading{ | ||||||
|  |   text-align: center; | ||||||
|  |   color: red; | ||||||
|  | } | ||||||
|  | .entry-pg { | ||||||
|  |   width: 750px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .button1::after { | ||||||
|  |   content: none; | ||||||
|  | } | ||||||
|  | .button1:hover::after { | ||||||
|  |   content: "ADD ROWS"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .section { | ||||||
|  |   background-color: #dddddd; | ||||||
|  |   height: 40px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .section p { | ||||||
|  |   //color: white; | ||||||
|  |   padding: 10px; | ||||||
|  |   font-size: 18px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clr-input { | ||||||
|  |   color: #212529; | ||||||
|  |   border: 1px solid #ced4da; | ||||||
|  |   border-radius: 0.25rem; | ||||||
|  |   padding: 0.75rem 0.75rem; | ||||||
|  |   margin-top: 3px; | ||||||
|  |   width: 100%; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .clr-file { | ||||||
|  |   color: #212529; | ||||||
|  |   border: 1px solid #ced4da; | ||||||
|  |   border-radius: 0.25rem; | ||||||
|  |   //padding: 0.6rem 0.75rem; | ||||||
|  |   margin-top: 3px; | ||||||
|  |   width: 100%; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .center { | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  | select{ | ||||||
|  |   width: 100%; | ||||||
|  |   margin-top: 3px; | ||||||
|  |   padding: 5px 5px; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  | } | ||||||
|  | input[type=text],[type=date],[type=number],textarea { | ||||||
|  |   width: 100%; | ||||||
|  |   padding: 15px 15px; | ||||||
|  |   background-color:rgb(255, 255, 255); | ||||||
|  |  // margin: 8px 0; | ||||||
|  |   display: inline-block; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  |   box-sizing: border-box; | ||||||
|  | } | ||||||
|  | .error_mess { | ||||||
|  |   color: red; | ||||||
|  | } | ||||||
| @ -0,0 +1,270 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Journalservice} from './Journal.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 { Journalcardvariable } from './Journal_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Journal', | ||||||
|  |   templateUrl: './Journal.component.html', | ||||||
|  |   styleUrls: ['./Journal.component.scss'] | ||||||
|  | }) | ||||||
|  | export class JournalComponent implements OnInit { | ||||||
|  |   cardButton = Journalcardvariable.cardButton; | ||||||
|  |   cardmodeldata = Journalcardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Journalcardvariable.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 = 'Journal_formCode' | ||||||
|  | tableName = 'Journal';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Journalservice, | ||||||
|  |     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({ | ||||||
|  | title : [null], | ||||||
|  | 
 | ||||||
|  | description : [null], | ||||||
|  | 
 | ||||||
|  | datetime_field : [null], | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   }); // component_button200
 | ||||||
|  |  // form code start
 | ||||||
|  |     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||||
|  |       console.log(data); | ||||||
|  |       const jsonArray = data.map((str) => JSON.parse(str)); | ||||||
|  |       this.additionalFieldsFromBackend = jsonArray; | ||||||
|  |       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Journal_formCode"); | ||||||
|  |       console.log(this.checkFormCode); | ||||||
|  |       console.log(this.additionalFieldsFromBackend); | ||||||
|  |       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||||
|  |         this.additionalFieldsFromBackend.forEach(field => { | ||||||
|  |           if (field.formCode === this.formcode) { | ||||||
|  |             if (!this.entryForm.contains(field.extValue)) { | ||||||
|  |               // Add the control only if it doesn't exist in the form
 | ||||||
|  |               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     console.log(this.entryForm.value); | ||||||
|  |     // form code end 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  error;  | ||||||
|  |   getData() { | ||||||
|  |     this.mainService.getAll().subscribe((data) => { | ||||||
|  |       console.log(data); | ||||||
|  |       this.product = data; | ||||||
|  |  if(this.product.length==0){ | ||||||
|  |         this.error="No Data Available" | ||||||
|  |      }    | ||||||
|  |     },(error) => { | ||||||
|  |       console.log(error); | ||||||
|  |       if(error){ | ||||||
|  |        this.error="Server Error"; | ||||||
|  |      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   onEdit(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.modalEdit = true; | ||||||
|  |   } | ||||||
|  |    onDelete(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  |      this.modaldelete=true; | ||||||
|  |   } | ||||||
|  |   delete(id) | ||||||
|  |   { | ||||||
|  |     this.modaldelete = false; | ||||||
|  |     console.log("in delete  "+id); | ||||||
|  |     this.mainService.delete(id).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         this.ngOnInit(); | ||||||
|  |   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |     onUpdate(id) { | ||||||
|  |     this.modalEdit = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     //console.log("in update");
 | ||||||
|  |     console.log("id  " + id); | ||||||
|  |     console.log(this.rowSelected); | ||||||
|  |     //console.log("out update");
 | ||||||
|  |     this.mainService.update(id, this.rowSelected).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Update Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("update Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   }  | ||||||
|  | onCreate() { | ||||||
|  |      this.modalAdd=false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   this.mainService.create(this.entryForm.value).subscribe( | ||||||
|  |     (data) => { | ||||||
|  |       console.log(data); | ||||||
|  |   if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Added Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("Added Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   } | ||||||
|  |   goToAdd(row) { | ||||||
|  | this.modalAdd = true; this.submitted = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |  submitted = false; | ||||||
|  | onSubmit() { | ||||||
|  |   console.log(this.entryForm.value); | ||||||
|  |  this.submitted = true; | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     return; | ||||||
|  |   }this.onCreate(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | rsModaldescription = false;    | ||||||
|  | goToReplaceStringdescription(row){ | ||||||
|  | this.rowSelected = row;     this.rsModaldescription  =true;   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,39 @@ | |||||||
|  | import { Injectable } from '@angular/core'; | ||||||
|  | import { Observable } from "rxjs"; | ||||||
|  | import { HttpClient, HttpHeaders, HttpParams, } from "@angular/common/http"; | ||||||
|  | import { ApiRequestService } from "src/app/services/api/api-request.service"; | ||||||
|  | import { environment } from 'src/environments/environment'; | ||||||
|  | @Injectable({ | ||||||
|  |   providedIn: 'root' | ||||||
|  | }) | ||||||
|  | export class Journalservice{ | ||||||
|  |   private baseURL = "Journal/Journal" ;  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 Journalcardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -0,0 +1,349 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Notes</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Notes </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]="'note_title'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Note Title | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'description'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Description | ||||||
|  | 						    </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.note_title }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell (click)="goToReplaceStringdescription (user.description)" style="cursor: pointer; align-items: center;"><clr-icon shape="details"></clr-icon> | ||||||
|  | </clr-dg-cell> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |   <!-- who column --> | ||||||
|  | <clr-dg-cell> | ||||||
|  |   <clr-signpost> | ||||||
|  |    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||||
|  |    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||||
|  |      <h5 style="margin-top: 0">Who Column</h5> | ||||||
|  |            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||||
|  |            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||||
|  |            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||||
|  |            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||||
|  |            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||||
|  |    </clr-signpost-content> | ||||||
|  |  </clr-signpost> | ||||||
|  |  </clr-dg-cell> | ||||||
|  |   | ||||||
|  |  <!-- who colmn -->  | ||||||
|  |   | ||||||
|  |  <clr-dg-action-overflow> | ||||||
|  |         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||||
|  |         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||||
|  |       </clr-dg-action-overflow> | ||||||
|  |          </clr-dg-row> | ||||||
|  |     <clr-dg-footer> | ||||||
|  |       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||||
|  |         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||||
|  |         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||||
|  |         of {{pagination.totalItems}} users | ||||||
|  |       </clr-dg-pagination> | ||||||
|  |     </clr-dg-footer> | ||||||
|  |   </clr-datagrid> </ng-container> | ||||||
|  | <ng-template #showInfo> | ||||||
|  |   <div class="alert alert-info" role="alert"> | ||||||
|  |       <div class="alert-items"> | ||||||
|  |           <div class="alert-item static"> | ||||||
|  |               <span class="alert-text"> | ||||||
|  |                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||||
|  |                     Data could be found. Loading.. | ||||||
|  |                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||||
|  |               </span> | ||||||
|  |           </div> | ||||||
|  |       </div> | ||||||
|  |   </div> | ||||||
|  | </ng-template><ng-container *ngIf="isCardview"> | ||||||
|  |   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||||
|  |     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||||
|  |       <div class="clr-row"> | ||||||
|  |         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||||
|  |   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||||
|  |     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||||
|  |       <ng-container *ngFor="let item of dashboardArray"> | ||||||
|  |         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||||
|  |           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||||
|  |           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |            {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] }} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] | date}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  |           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ]}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||||
|  |           <hr> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           > | ||||||
|  |             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name == 'Image'" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||||
|  |             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||||
|  |             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||||
|  |         </div> | ||||||
|  |       </ng-container> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </ng-container> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-modal [(clrModalOpen)]="rsModaldescription" [clrModalSize]="'xl'" [clrModalStaticBackdrop]="true"> | ||||||
|  | 						  <div class="modal-body"> | ||||||
|  | 						    <textarea class="form-control" style="width:100%; height: 400px;" readonly>{{rowSelected}}</textarea> | ||||||
|  | 						  </div></clr-modal> | ||||||
|  | 
 | ||||||
|  | <!-- //		EDIT DATA......... --> | ||||||
|  | <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||||
|  |   <h3 class="modal-title">Update Notes | ||||||
|  |  <!--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>Note Title</label> | ||||||
|  | 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.note_title" name="note_title" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">                | ||||||
|  | <label> Description</label> | ||||||
|  | 	              <textarea cols="10" rows="2"[(ngModel)]="rowSelected.description" name="description " placeholder="Textarea">  </textarea> | ||||||
|  | 	           </div>  | ||||||
|  | 
 | ||||||
|  |   </div>  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- 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 Notes  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Notes_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>  Note Title</label> | ||||||
|  |  <input class="clr-input"  type="text"  formControlName="note_title" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  |  <label>  Description</label>              | ||||||
|  |  <textarea cols="10" rows="2" formControlName="description" placeholder="Textarea">  </textarea> | ||||||
|  | 	            </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,246 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Notesservice} from './Notes.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 { Notescardvariable } from './Notes_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Notes', | ||||||
|  |   templateUrl: './Notes.component.html', | ||||||
|  |   styleUrls: ['./Notes.component.scss'] | ||||||
|  | }) | ||||||
|  | export class NotesComponent implements OnInit { | ||||||
|  |   cardButton = Notescardvariable.cardButton; | ||||||
|  |   cardmodeldata = Notescardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Notescardvariable.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 = 'Notes_formCode' | ||||||
|  | tableName = 'Notes';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Notesservice, | ||||||
|  |     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({ | ||||||
|  | note_title : [null], | ||||||
|  | 
 | ||||||
|  | description : [null], | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   }); // component_button200
 | ||||||
|  |  // form code start
 | ||||||
|  |     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||||
|  |       console.log(data); | ||||||
|  |       const jsonArray = data.map((str) => JSON.parse(str)); | ||||||
|  |       this.additionalFieldsFromBackend = jsonArray; | ||||||
|  |       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Notes_formCode"); | ||||||
|  |       console.log(this.checkFormCode); | ||||||
|  |       console.log(this.additionalFieldsFromBackend); | ||||||
|  |       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||||
|  |         this.additionalFieldsFromBackend.forEach(field => { | ||||||
|  |           if (field.formCode === this.formcode) { | ||||||
|  |             if (!this.entryForm.contains(field.extValue)) { | ||||||
|  |               // Add the control only if it doesn't exist in the form
 | ||||||
|  |               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     console.log(this.entryForm.value); | ||||||
|  |     // form code end 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  error;  | ||||||
|  |   getData() { | ||||||
|  |     this.mainService.getAll().subscribe((data) => { | ||||||
|  |       console.log(data); | ||||||
|  |       this.product = data; | ||||||
|  |  if(this.product.length==0){ | ||||||
|  |         this.error="No Data Available" | ||||||
|  |      }    | ||||||
|  |     },(error) => { | ||||||
|  |       console.log(error); | ||||||
|  |       if(error){ | ||||||
|  |        this.error="Server Error"; | ||||||
|  |      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   onEdit(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.modalEdit = true; | ||||||
|  |   } | ||||||
|  |    onDelete(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  |      this.modaldelete=true; | ||||||
|  |   } | ||||||
|  |   delete(id) | ||||||
|  |   { | ||||||
|  |     this.modaldelete = false; | ||||||
|  |     console.log("in delete  "+id); | ||||||
|  |     this.mainService.delete(id).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         this.ngOnInit(); | ||||||
|  |   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |     onUpdate(id) { | ||||||
|  |     this.modalEdit = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     //console.log("in update");
 | ||||||
|  |     console.log("id  " + id); | ||||||
|  |     console.log(this.rowSelected); | ||||||
|  |     //console.log("out update");
 | ||||||
|  |     this.mainService.update(id, this.rowSelected).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Update Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("update Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   }  | ||||||
|  | onCreate() { | ||||||
|  |      this.modalAdd=false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   this.mainService.create(this.entryForm.value).subscribe( | ||||||
|  |     (data) => { | ||||||
|  |       console.log(data); | ||||||
|  |   if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Added Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("Added Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   } | ||||||
|  |   goToAdd(row) { | ||||||
|  | this.modalAdd = true; this.submitted = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |  submitted = false; | ||||||
|  | onSubmit() { | ||||||
|  |   console.log(this.entryForm.value); | ||||||
|  |  this.submitted = true; | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     return; | ||||||
|  |   }this.onCreate(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | rsModaldescription = false;    | ||||||
|  | goToReplaceStringdescription(row){ | ||||||
|  | this.rowSelected = row;     this.rsModaldescription  =true;   } | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,37 @@ | |||||||
|  | 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 Notesservice{ | ||||||
|  |   private baseURL = "Notes/Notes" ;  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 Notescardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -0,0 +1,379 @@ | |||||||
|  | <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||||
|  |   <li><a href="javascript://"> Tasks</a></li> | ||||||
|  | </ol> | ||||||
|  | <div class="dg-wrapper"> | ||||||
|  |   <div class="clr-row"> | ||||||
|  |     <div class="clr-col-8"> | ||||||
|  |       <h3>Tasks </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]="'task'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Task | ||||||
|  | 						    </ng-container></clr-dg-column> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-column [clrDgField]="'status'"> <ng-container *clrDgHideableColumn="{hidden: false}"> status | ||||||
|  | 						    </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.task }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <clr-dg-cell>{{user.status }}</clr-dg-cell> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  |   <!-- who column --> | ||||||
|  | <clr-dg-cell> | ||||||
|  |   <clr-signpost> | ||||||
|  |    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||||
|  |    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||||
|  |      <h5 style="margin-top: 0">Who Column</h5> | ||||||
|  |            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||||
|  |            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||||
|  |            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||||
|  |            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||||
|  |            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||||
|  |    </clr-signpost-content> | ||||||
|  |  </clr-signpost> | ||||||
|  |  </clr-dg-cell> | ||||||
|  |   | ||||||
|  |  <!-- who colmn -->  | ||||||
|  |   | ||||||
|  |  <clr-dg-action-overflow> | ||||||
|  |         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||||
|  |         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||||
|  |       </clr-dg-action-overflow> | ||||||
|  |          </clr-dg-row> | ||||||
|  |     <clr-dg-footer> | ||||||
|  |       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||||
|  |         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||||
|  |         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||||
|  |         of {{pagination.totalItems}} users | ||||||
|  |       </clr-dg-pagination> | ||||||
|  |     </clr-dg-footer> | ||||||
|  |   </clr-datagrid> </ng-container> | ||||||
|  | <ng-template #showInfo> | ||||||
|  |   <div class="alert alert-info" role="alert"> | ||||||
|  |       <div class="alert-items"> | ||||||
|  |           <div class="alert-item static"> | ||||||
|  |               <span class="alert-text"> | ||||||
|  |                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||||
|  |                     Data could be found. Loading.. | ||||||
|  |                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||||
|  |               </span> | ||||||
|  |           </div> | ||||||
|  |       </div> | ||||||
|  |   </div> | ||||||
|  | </ng-template><ng-container *ngIf="isCardview"> | ||||||
|  |   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||||
|  |     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||||
|  |       <div class="clr-row"> | ||||||
|  |         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||||
|  |   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||||
|  |     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||||
|  |       <ng-container *ngFor="let item of dashboardArray"> | ||||||
|  |         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||||
|  |           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||||
|  |           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |            {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] }} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ] | date}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  |           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||||
|  |           {{beforeText(item.fieldtext)}} | ||||||
|  |           {{ app[transform(item.fieldtext) ]}} | ||||||
|  |           {{afterText(item.fieldtext)}} | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||||
|  |           <hr> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |            | ||||||
|  |           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           > | ||||||
|  |             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="item.name == 'Image'" | ||||||
|  |           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||||
|  |           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||||
|  |           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||||
|  |           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||||
|  |           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||||
|  |           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||||
|  |           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||||
|  |           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||||
|  |           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||||
|  |           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||||
|  |           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||||
|  |             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||||
|  |             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||||
|  |         </div> | ||||||
|  |       </ng-container> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </div> | ||||||
|  |   </ng-container> | ||||||
|  | </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <!-- //		EDIT DATA......... --> | ||||||
|  | <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||||
|  |   <h3 class="modal-title">Update Tasks | ||||||
|  |  <!--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>Task</label> | ||||||
|  | 	        <input class="clr-input"  type="text" [(ngModel)]="rowSelected.task" name="task" /> | ||||||
|  | 	      </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12"> | ||||||
|  |  <label> status</label>  | ||||||
|  | <select name="status" [(ngModel)]="rowSelected.status"> | ||||||
|  |     <option [value]="null">Selectstatus | ||||||
|  |     </option> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> done </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> to_do </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  |     <option> in_progress </option> | ||||||
|  |       | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   </select> </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 Tasks  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   <!-- 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: 'Tasks_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>  Task</label> | ||||||
|  |  <input class="clr-input"  type="text"  formControlName="task" />        | ||||||
|  |  </div> | ||||||
|  | 
 | ||||||
|  | <div class="clr-col-sm-12">              | ||||||
|  | 	 <label>status</label> | ||||||
|  | 							 <select formControlName="status"> | ||||||
|  | 							    <option [value]="null">Select  status </option>  | ||||||
|  | 								 | ||||||
|  |   | ||||||
|  | 								<option> done </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> to_do </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 								<option> in_progress </option> | ||||||
|  | 								  | ||||||
|  | 
 | ||||||
|  | 						</select></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,244 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { AlertService } from 'src/app/services/alert.service'; | ||||||
|  | import { Tasksservice} from './Tasks.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 { Taskscardvariable } from './Tasks_cardvariable'; | ||||||
|  | import { UserInfoService } from 'src/app/services/user-info.service'; | ||||||
|  | declare var JsBarcode: any;  | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-Tasks', | ||||||
|  |   templateUrl: './Tasks.component.html', | ||||||
|  |   styleUrls: ['./Tasks.component.scss'] | ||||||
|  | }) | ||||||
|  | export class TasksComponent implements OnInit { | ||||||
|  |   cardButton = Taskscardvariable.cardButton; | ||||||
|  |   cardmodeldata = Taskscardvariable.cardmodeldata; | ||||||
|  |   public dashboardArray: DashboardContentModel2[]; | ||||||
|  |   isCardview = Taskscardvariable.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 = 'Tasks_formCode' | ||||||
|  | tableName = 'Tasks';  checkFormCode; selected: any[] = []; constructor( | ||||||
|  |     private extensionService: ExtensionService, | ||||||
|  | private userInfoService:UserInfoService, | ||||||
|  |     private mainService:Tasksservice, | ||||||
|  |     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({ | ||||||
|  | task : [null], | ||||||
|  | 
 | ||||||
|  | status : [null], | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   }); // component_button200
 | ||||||
|  |  // form code start
 | ||||||
|  |     this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { | ||||||
|  |       console.log(data); | ||||||
|  |       const jsonArray = data.map((str) => JSON.parse(str)); | ||||||
|  |       this.additionalFieldsFromBackend = jsonArray; | ||||||
|  |       this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Tasks_formCode"); | ||||||
|  |       console.log(this.checkFormCode); | ||||||
|  |       console.log(this.additionalFieldsFromBackend); | ||||||
|  |       if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { | ||||||
|  |         this.additionalFieldsFromBackend.forEach(field => { | ||||||
|  |           if (field.formCode === this.formcode) { | ||||||
|  |             if (!this.entryForm.contains(field.extValue)) { | ||||||
|  |               // Add the control only if it doesn't exist in the form
 | ||||||
|  |               this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }); | ||||||
|  |       } | ||||||
|  |     }); | ||||||
|  |     console.log(this.entryForm.value); | ||||||
|  |     // form code end 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  error;  | ||||||
|  |   getData() { | ||||||
|  |     this.mainService.getAll().subscribe((data) => { | ||||||
|  |       console.log(data); | ||||||
|  |       this.product = data; | ||||||
|  |  if(this.product.length==0){ | ||||||
|  |         this.error="No Data Available" | ||||||
|  |      }    | ||||||
|  |     },(error) => { | ||||||
|  |       console.log(error); | ||||||
|  |       if(error){ | ||||||
|  |        this.error="Server Error"; | ||||||
|  |      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   onEdit(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.modalEdit = true; | ||||||
|  |   } | ||||||
|  |    onDelete(row) { | ||||||
|  |     this.rowSelected = row; | ||||||
|  |      this.modaldelete=true; | ||||||
|  |   } | ||||||
|  |   delete(id) | ||||||
|  |   { | ||||||
|  |     this.modaldelete = false; | ||||||
|  |     console.log("in delete  "+id); | ||||||
|  |     this.mainService.delete(id).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         this.ngOnInit(); | ||||||
|  |   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |     onUpdate(id) { | ||||||
|  |     this.modalEdit = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     //console.log("in update");
 | ||||||
|  |     console.log("id  " + id); | ||||||
|  |     console.log(this.rowSelected); | ||||||
|  |     //console.log("out update");
 | ||||||
|  |     this.mainService.update(id, this.rowSelected).subscribe( | ||||||
|  |       (data) => { | ||||||
|  |         console.log(data); | ||||||
|  |         if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Update Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("update Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Updated"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   }  | ||||||
|  | onCreate() { | ||||||
|  |      this.modalAdd=false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   this.mainService.create(this.entryForm.value).subscribe( | ||||||
|  |     (data) => { | ||||||
|  |       console.log(data); | ||||||
|  |   if (data || data.status >= 200 && data.status <= 299) { | ||||||
|  |           this.toastr.success("Added Successfully"); | ||||||
|  |         } | ||||||
|  | setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       }, (error) => { | ||||||
|  |         console.log(error); | ||||||
|  |         if (error.status >= 200 && error.status <= 299) { | ||||||
|  |           // this.toastr.success("Added Succesfully");
 | ||||||
|  |         } | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |         if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("Not Added"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     setTimeout(() => { | ||||||
|  |       this.ngOnInit(); | ||||||
|  |     }, 500); | ||||||
|  |   } | ||||||
|  |   goToAdd(row) { | ||||||
|  | this.modalAdd = true; this.submitted = false; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |  submitted = false; | ||||||
|  | onSubmit() { | ||||||
|  |   console.log(this.entryForm.value); | ||||||
|  |  this.submitted = true; | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     return; | ||||||
|  |   }this.onCreate(); | ||||||
|  | 
 | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // updateaction
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,37 @@ | |||||||
|  | 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 Tasksservice{ | ||||||
|  |   private baseURL = "Tasks/Tasks" ;  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 Taskscardvariable = { | ||||||
|  |     "cardButton": false, | ||||||
|  |     "cardmodeldata": `` | ||||||
|  | } | ||||||
| @ -1,3 +1,8 @@ | |||||||
|  | import { Founders_friendComponent } from './BuilderComponents/founder's_friend/Founders_friend/Founders_friend.component'; | ||||||
|  | import { ExpensesComponent } from './BuilderComponents/founder's_friend/Expenses/Expenses.component'; | ||||||
|  | import { NotesComponent } from './BuilderComponents/founder's_friend/Notes/Notes.component'; | ||||||
|  | import { TasksComponent } from './BuilderComponents/founder's_friend/Tasks/Tasks.component'; | ||||||
|  | import { JournalComponent } from './BuilderComponents/founder's_friend/Journal/Journal.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 +261,21 @@ const routes: Routes = [ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|       // buildercomponents
 |       // buildercomponents
 | ||||||
|  | {path:'Founders_friend',component:Founders_friendComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {path:'Expenses',component:ExpensesComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {path:'Notes',component:NotesComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {path:'Tasks',component:TasksComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {path:'Journal',component:JournalComponent}, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,3 +1,8 @@ | |||||||
|  | import { Founders_friendComponent } from './BuilderComponents/founder's_friend/Founders_friend/Founders_friend.component'; | ||||||
|  | import { ExpensesComponent } from './BuilderComponents/founder's_friend/Expenses/Expenses.component'; | ||||||
|  | import { NotesComponent } from './BuilderComponents/founder's_friend/Notes/Notes.component'; | ||||||
|  | import { TasksComponent } from './BuilderComponents/founder's_friend/Tasks/Tasks.component'; | ||||||
|  | import { JournalComponent } from './BuilderComponents/founder's_friend/Journal/Journal.component'; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| import { CommonModule } from '@angular/common'; | import { CommonModule } from '@angular/common'; | ||||||
| @ -129,6 +134,21 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     // buildercomponents
 |     // buildercomponents
 | ||||||
|  | Founders_friendComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ExpensesComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | NotesComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | TasksComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | JournalComponent, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -226,10 +226,19 @@ | |||||||
|   "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", |   "Task": "Task", | ||||||
|   "Description": "Description", |   "Description": "Description", | ||||||
|   "Fileupload_Field": "Fileupload_Field", |   "Tasks": "Tasks", | ||||||
|   "Test22": "Test22", |   "OneToManyExtension": "OneToManyExtension", | ||||||
|   "Test11": "Test11", |   "Expenses": "Expenses", | ||||||
|   "Name": "Name" |   "Amount": "Amount", | ||||||
|  |   "Datetime_Field": "Datetime_Field", | ||||||
|  |   "Title": "Title", | ||||||
|  |   "select_Category": "select_Category", | ||||||
|  |   "Journal": "Journal", | ||||||
|  |   "Name": "Name", | ||||||
|  |   "Note_Title": "Note_Title", | ||||||
|  |   "Notes": "Notes", | ||||||
|  |   "status": "status", | ||||||
|  |   "Founders_friend": "Founders_friend" | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user