diff --git a/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java index 11edc5f..1724d70 100644 --- a/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java +++ b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java @@ -69,6 +69,9 @@ public class BuilderService { executeDump(true); // ADD OTHER SERVICE +addCustomMenu( "Emp_details", "Transcations"); + + System.out.println("dashboard and menu inserted..."); diff --git a/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Controllers/Emp_detailsController.java b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Controllers/Emp_detailsController.java new file mode 100644 index 0000000..82d3f67 --- /dev/null +++ b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Controllers/Emp_detailsController.java @@ -0,0 +1,299 @@ +package com.realnet.vpspack.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.vpspack.Entity.Emp_details; +import com.realnet.vpspack.Services.Emp_detailsService ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@RequestMapping(value = "/Emp_details") + @CrossOrigin("*") +@RestController +public class Emp_detailsController { + @Autowired + private Emp_detailsService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @PostMapping("/Emp_details") + public Emp_details Savedata(@RequestBody Emp_details data) { + Emp_details save = Service.Savedata(data) ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Emp_details/{id}") + public Emp_details update(@RequestBody Emp_details data,@PathVariable Integer id ) { + Emp_details update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Emp_details/getall/page") + public Page getall(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "size", required = false) Integer size) { + Pageable paging = PageRequest.of(page, size); + Page get = Service.getAllWithPagination(paging); + + return get; + + } + @GetMapping("/Emp_details") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Emp_details") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Emp_details/{id}") + public Emp_details getdetailsbyId(@PathVariable Integer id ) { + Emp_details get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Emp_details/{id}") + public ResponseEntity delete_by_id(@PathVariable Integer id ) { + Service.delete_by_id(id); + return new ResponseEntity<>(new EntityResponse("Deleted"), HttpStatus.OK); + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Entity/Emp_details.java b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Entity/Emp_details.java new file mode 100644 index 0000000..0839801 --- /dev/null +++ b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Entity/Emp_details.java @@ -0,0 +1,150 @@ +package com.realnet.vpspack.Entity; + import lombok.*; +import com.realnet.WhoColumn.Entity.Extension; + import javax.persistence.*; + import java.time.LocalDateTime; + import java.util.*; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @Entity + @Data + public class Emp_details extends Extension { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + +private String first_name; + +private int numbera; + + private String phone_number; + + +@Column(length = 2000) +private String paragraph_field; + +private String password_field; +@Transient +private String confirmpassword_field; + +@Column(length = 2000) +private String textarea_field; + +private String date_field; + +private String datetime_field; + +private String email_field; + +private boolean toggle_switch; + +private String url_field; + +private int decimal_field; + +private int percentage_field; + +private String recaptcha; + +private String documentsequence; + +private String selectsta; + + private String radios; + + + + +private boolean q; + + + +private boolean b; + + + +private String fileupload_fieldname; +private String fileupload_fieldpath ; + +private String imageupload_fieldname; +private String imageupload_fieldpath ; + +private String audio_fieldname; +private String audio_fieldpath ; + +private String video_fieldname; +private String video_fieldpath ; + +private String survey_form; + +private String currency; + +private String qrcode_field; + +private String barcode_field; + +private int numberb; + +private String calculatedadd; + + +} diff --git a/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Repository/Emp_detailsRepository.java b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Repository/Emp_detailsRepository.java new file mode 100644 index 0000000..1e23c5c --- /dev/null +++ b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Repository/Emp_detailsRepository.java @@ -0,0 +1,80 @@ +package com.realnet.vpspack.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.vpspack.Entity.Emp_details; + +@Repository +public interface Emp_detailsRepository extends JpaRepository { + +@Query(value = "select * from emp_details where created_by=?1", nativeQuery = true) + List findAll(Long creayedBy); + +@Query(value = "select * from emp_details where created_by=?1", nativeQuery = true) + Page findAll(Pageable page, Long creayedBy); +} \ No newline at end of file diff --git a/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Services/Emp_detailsService.java b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Services/Emp_detailsService.java new file mode 100644 index 0000000..d5c6e30 --- /dev/null +++ b/testingangular102-back-b/authsec_springboot/backend/src/main/java/com/realnet/vpspack/Services/Emp_detailsService.java @@ -0,0 +1,354 @@ +package com.realnet.vpspack.Services; +import com.realnet.vpspack.Repository.Emp_detailsRepository; +import com.realnet.vpspack.Entity.Emp_details +;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 Emp_detailsService { +@Autowired +private Emp_detailsRepository Repository; + @Autowired + private AppUserServiceImpl userService; +@Autowired + private RealmService realmService; + + + + + + + + + + + + + + + + + + + + + + + + + + + +@Autowired + private SequenceService documentsequencesequenceService; + + + + + + + + + + + + + + + + + + + + + + + + + + + +public Emp_details Savedata(Emp_details data) { + + + + + + + + + + + + + + + + + + + + + + + + + + + + +data.setDocumentsequence (documentsequencesequenceService.GenerateSequence("aa")); + + + + + + + + + + + + + + + + + + + + + + + + + + + + data.setUpdatedBy(getUser().getUserId()); + data.setCreatedBy(getUser().getUserId()); + data.setAccountId(getUser().getAccount().getAccount_id()); +Emp_details save = Repository.save(data); + return save; + } + + +// get all with pagination + public Page getAllWithPagination(Pageable page) { + return Repository.findAll(page, getUser().getUserId()); + } +public List getdetails() { + List realm = realmService.findByUserId(getUser().getUserId()); +List all = Repository.findAll(getUser().getUserId()); + + return all ; } + + +public Emp_details getdetailsbyId(Integer id) { + return Repository.findById(id).get(); + } + + + public void delete_by_id(Integer id) { + Repository.deleteById(id); +} + + +public Emp_details update(Emp_details data,Integer id) { + Emp_details old = Repository.findById(id).get(); +old.setFirst_name(data.getFirst_name()); + +old.setNumbera(data.getNumbera()); + +old.setPhone_number(data.getPhone_number()); + +old.setParagraph_field(data.getParagraph_field()); + +old.setPassword_field(data.getPassword_field()); + +old.setTextarea_field(data.getTextarea_field()); + +old.setDate_field(data.getDate_field()); + +old.setDatetime_field(data.getDatetime_field()); + +old.setEmail_field(data.getEmail_field()); + +old.setToggle_switch (data.isToggle_switch()); + +old.setUrl_field(data.getUrl_field()); + +old.setDecimal_field(data.getDecimal_field()); + +old.setPercentage_field(data.getPercentage_field()); + +old.setRecaptcha(data.getRecaptcha()); + +old.setDocumentsequence(data.getDocumentsequence()); + +old.setSelectsta(data.getSelectsta()); + +old.setRadios(data.getRadios()); + + + +old.setQ(data.isQ()); + + + +old.setB(data.isB()); + + + + + + + + + + + + + +old.setSurvey_form(data.getSurvey_form()); + +old.setCurrency(data.getCurrency()); + +old.setQrcode_field(data.getQrcode_field()); + +old.setBarcode_field(data.getBarcode_field()); + +old.setNumberb(data.getNumberb()); + +old.setCalculatedadd(data.getCalculatedadd()); + +final Emp_details test = Repository.save(old); + data.setUpdatedBy(getUser().getUserId()); + return test;} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + public AppUser getUser() { + AppUser user = userService.getLoggedInUser(); + return user; + + }} diff --git a/testingangular102-db-d/authsec_mysql/mysql/wf_table/wf_table.sql b/testingangular102-db-d/authsec_mysql/mysql/wf_table/wf_table.sql new file mode 100755 index 0000000..b9c2dbe --- /dev/null +++ b/testingangular102-db-d/authsec_mysql/mysql/wf_table/wf_table.sql @@ -0,0 +1,2 @@ +CREATE TABLE db.Emp_details(id BIGINT NOT NULL AUTO_INCREMENT, video_field VARCHAR(400), b bit(1), qrcode_field VARCHAR(400), datetime_field VARCHAR(400), phone_number VARCHAR(400), radios VARCHAR(400), fileupload_field VARCHAR(400), q bit(1), textarea_field VARCHAR(400), currency VARCHAR(400), recaptcha VARCHAR(400), date_field Date, selectsta VARCHAR(400), barcode_field VARCHAR(400), numberb int, first_name VARCHAR(400), numbera int, toggle_switch VARCHAR(400), percentage_field int, email_field VARCHAR(400), calculatedadd VARCHAR(400), url_field VARCHAR(400), survey_form VARCHAR(400), paragraph_field VARCHAR(400), imageupload_field VARCHAR(400), audio_field VARCHAR(400), password_field VARCHAR(400), decimal_field int, documentsequence VARCHAR(400), PRIMARY KEY (id)); + diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts index 231b3a1..80570fd 100644 --- a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts @@ -2,14 +2,14 @@ export const LoginEnvironment = { - "templateNo": "", - "loginHeading": "", - "loginHeading2": "", - "isSignup": "", - "loginSignup": " ", - "loginSignup2": "", - "loginForgotpass": "", - "loginImage": "", - "loginImageURL": "" + "templateNo": "Template 1", + "loginHeading": "Welcome to", + "loginHeading2": "io8.dev", + "isSignup": "true", + "loginSignup": "Use your ID to sign in OR ", + "loginSignup2": "create one now", + "loginForgotpass": "FORGOT PASSWORD?", + "loginImage": "{}", + "loginImageURL": "data:image/avif;base64,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" } diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.html b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.html new file mode 100644 index 0000000..41c80a2 --- /dev/null +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.html @@ -0,0 +1,1602 @@ + +
+
+
+

EmpDetails

+
+
+ + + +
+ + + + Loading ... + +
{{error}}
+
+ + First name + + + + Numbera + + + + Phone Number + + + + Paragraph Field + + + + Password Field + + + + Textarea Field + + + + Date Field + + + + Datetime Field + + + + Email Field + + + + toggle switch + + + + Url Field + + + + Decimal Field + + + + Percentage Field + + + + recaptcha + + + + documentsequence + + + + selectsta + + + + Radios + + + + + + q + + + + + b + + + + + + + + + + + + + + + Survey Form + + + + Currency + + + + QRCode Field + + + + BarCode Field + + + + Numberb + + + + + + + + Action + + + + + +{{user. first_name }} + + +{{user. numbera }} + + +{{user. phone_number }} + + + + + +{{user. password_field }} + + + + + + +{{user. date_field }} + + +{{user. datetime_field }} + + +{{user. email_field }} + + +{{user. toggle_switch }} + + +{{user.url_field}} + + +{{user. decimal_field }} + + +{{user. percentage_field }} + + +{{user. recaptcha }} + + +{{user. documentsequence }} + + +{{user. selectsta }} + + +{{user. radios }} + + + + +{{user. q}} + + + +{{user. b}} + + + + + + + + + + + + + +{{user. survey_form }} + + +{{user. currency }} + + +{{user. qrcode_field }} + + +{{user. barcode_field }} + + +{{user. numberb }} + + + + + + + + + +
Who Column
+
Account ID: {{user.accountId}}
+
Created At: {{user.createdAt| date}}
+
Created By: {{user.createdBy}}
+
Updated At: {{user.updatedAt | date}}
+
Updated By: {{user.updatedBy}}
+
+
+
+ + + + + + + +
+ + + Users per page + {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} + of {{pagination.totalItems}} users + + +
+ + + +
+
+
+
+
+
+ +
+
+ {{beforeText(item.fieldtext)}} + {{ app[transform(item.fieldtext) ] }} + {{afterText(item.fieldtext)}} +
+ +
+ {{beforeText(item.fieldtext)}} + {{ app[transform(item.fieldtext) ] | date}} + {{afterText(item.fieldtext)}} +
+
+ {{beforeText(item.fieldtext)}} + {{ app[transform(item.fieldtext) ]}} + {{afterText(item.fieldtext)}} +
+ +
+
+
+ + +
+ +
+ +
File Preview
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.scss b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.scss new file mode 100644 index 0000000..c47b921 --- /dev/null +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.scss @@ -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; +} diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.ts b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.ts new file mode 100644 index 0000000..6ce8216 --- /dev/null +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.component.ts @@ -0,0 +1,1326 @@ +import { Component, OnInit } from '@angular/core'; +import { ToastrService } from 'ngx-toastr'; +import { AlertService } from 'src/app/services/alert.service'; +import { Emp_detailsservice} from './Emp_details.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 { Emp_detailscardvariable } from './Emp_details_cardvariable'; +import { UserInfoService } from 'src/app/services/user-info.service'; +declare var JsBarcode: any; +@Component({ + selector: 'app-Emp_details', + templateUrl: './Emp_details.component.html', + styleUrls: ['./Emp_details.component.scss'] +}) +export class Emp_detailsComponent implements OnInit { + cardButton = Emp_detailscardvariable.cardButton; + cardmodeldata = Emp_detailscardvariable.cardmodeldata; + public dashboardArray: DashboardContentModel2[]; + isCardview = Emp_detailscardvariable.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 = 'Emp_details_formCode' +tableName = 'Emp_details'; checkFormCode; selected: any[] = []; constructor( + private extensionService: ExtensionService, +private userInfoService:UserInfoService, + private mainService:Emp_detailsservice, + 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({ +first_name : [null], + +numbera : [null,[Validators.required]], + +phone_number: ['+91'], + +paragraph_field : [null], + +password_field : [null], +confirmpassword_field : [null], + +textarea_field : [null], + +date_field : [null], + +datetime_field : [null], + +email_field : [null], + +toggle_switch : [false], + +url_field : [null], + +decimal_field : [null,[Validators.required]], + +percentage_field : [null,[Validators.required]], + +recaptcha : ['', [Validators.required,this.checkrecaptcha.bind(this)]], + +documentsequence : [null], + +selectsta : [null], + +radios : [null], + + + +q:[false], + + + +b:[false], + + + + + + + + + + + +survey_form : [null], + +currency : [null, { updateOn: 'blur' }], + +qrcode_field : [null], + +barcode_field : [null], + +numberb : [null,[Validators.required]], + + + + + + + + + + + + + }, { + validator: Confirmedpassword_fieldValidator('password_field', 'confirmpassword_field') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + }); // component_button200 + // form code start + this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { + console.log(data); + const jsonArray = data.map((str) => JSON.parse(str)); + this.additionalFieldsFromBackend = jsonArray; + this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Emp_details_formCode"); + console.log(this.checkFormCode); + console.log(this.additionalFieldsFromBackend); + if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { + this.additionalFieldsFromBackend.forEach(field => { + if (field.formCode === this.formcode) { + if (!this.entryForm.contains(field.extValue)) { + // Add the control only if it doesn't exist in the form + this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); + } + } + }); + } + }); + console.log(this.entryForm.value); + // form code end + + + + + + + + + + + + + + + + + + + + + + + + + + +this.generaterecaptcha() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +FileDataImageupload_field: any[]; + selectedImageupload_field: any[]; + +FileDataAudio_field: any[]; + selectedAudio_field: any[]; + +FileDataVideo_field: any[]; + selectedVideo_field: any[]; + + + + + + + + + + + + + + + error; + getData() { + this.mainService.getAll().subscribe((data) => { + console.log(data); + this.product = data; + if(this.product.length==0){ + this.error="No Data Available" + } + },(error) => { + console.log(error); + if(error){ + this.error="Server Error"; + } + }); + } + onEdit(row) { + this.rowSelected = row; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + this.selectedfileupload_field = []; + this.mainService.uploadfilegetByIdfileupload_field(row.id,this.tableName).subscribe(uploaddata =>{ + console.log(uploaddata); + this.FileDatafileupload_field = uploaddata; + + }) + + this.selectedimageupload_field = []; + this.mainService.uploadImageupload_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ + console.log(uploaddata); + this.FileDataimageupload_field = uploaddata; + + }) + + this.selectedaudio_field = []; + this.mainService.uploadAudio_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ + console.log(uploaddata); + this.FileDataaudio_field = uploaddata; + + }) + + this.selectedvideo_field = []; + this.mainService.uploadVideo_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ + console.log(uploaddata); + this.FileDatavideo_field = uploaddata; + + }) + + + + + + + + // bar code field start + setTimeout(function(){ + JsBarcode("#barcodebarcode_field", row?.barcode_field); + }, 500); + // bar code field start + + + +//calculated field start + + + this.calculatedaddnumbera= row.numbera; + + + + this.calculatedaddnumberb= row.numberb; + + +//calculated field end + + + 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; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +//calculated field start + + +this.rowSelected.numbera= this.calculatedaddnumbera; + + + +this.rowSelected.numberb= this.calculatedaddnumberb; + + +this.onInputChangecalculatedadd (); + //calculated field end + + //console.log("in update"); + console.log("id " + id); + console.log(this.rowSelected); + //console.log("out update"); + this.mainService.update(id, this.rowSelected).subscribe( + (data) => { + console.log(data); + if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Update Successfully"); + } +setTimeout(() => { + this.ngOnInit(); + }, 500); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +for (let i = 0; i < this.selectedfileupload_field.length; i++){ + + this.mainService.uploadfilefileupload_field(data.id,this.tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + +for (let i = 0; i < this.selectedimageupload_field.length; i++){ + + this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + +for (let i = 0; i < this.selectedaudio_field.length; i++){ + + this.mainService.uploadAudio_field(data.id,this.tableName,this.selectedaudio_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + +for (let i = 0; i < this.selectedvideo_field.length; i++){ + + this.mainService.uploadVideo_field(data.id,this.tableName,this.selectedvideo_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + + + + + + + + + + + + + + }, (error) => { + console.log(error); + if (error.status >= 200 && error.status <= 299) { + // this.toastr.success("update Succesfully"); + } + if (error.status >= 400 && error.status <= 499) { + this.toastr.error("Not Updated"); + } + if (error.status >= 500 && error.status <= 599) { + this.toastr.error("Not Updated"); + } + }); + setTimeout(() => { + this.ngOnInit(); + }, 500); + } +onCreate() { + this.modalAdd=false; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +//calculated field start + + +this.entryForm.value.numbera = this.calculatedaddnumbera ; + + + +this.entryForm.value.numberb = this.calculatedaddnumberb ; + + +//calculated field end + + this.mainService.create(this.entryForm.value).subscribe( + (data) => { + console.log(data); + if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Added Successfully"); + } +setTimeout(() => { + this.ngOnInit(); + }, 500); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +for (let i = 0; i < this.selectedfileupload_field.length; i++){ + + this.mainService.uploadfilefileupload_field(data.id,this.tableName,this.selectedfileupload_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + +for (let i = 0; i < this.selectedimageupload_field.length; i++){ + + this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + +for (let i = 0; i < this.selectedaudio_field.length; i++){ + + this.mainService.uploadAudio_field(data.id,this.tableName,this.selectedaudio_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + +for (let i = 0; i < this.selectedvideo_field.length; i++){ + + this.mainService.uploadVideo_field(data.id,this.tableName,this.selectedvideo_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + + + + + + + + + + + + + + + }, (error) => { + console.log(error); + if (error.status >= 200 && error.status <= 299) { + // this.toastr.success("Added Succesfully"); + } + if (error.status >= 400 && error.status <= 499) { + this.toastr.error("Not Added"); + } + if (error.status >= 500 && error.status <= 599) { + this.toastr.error("Not Added"); + } + }); + setTimeout(() => { + this.ngOnInit(); + }, 500); + } + goToAdd(row) { +this.modalAdd = true; this.submitted = false; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +this.FileDatafileupload_field = []; +this.selectedfileupload_field =[]; + +this.FileDataImageupload_field = []; +this.selectedImageupload_field =[]; + +this.FileDataAudio_field = []; +this.selectedAudio_field =[]; + +this.FileDataVideo_field = []; +this.selectedVideo_field =[]; + + + + + + + + + + + + //calculated field start + + + + this.calculatedaddnumbera = ''; + + + + this.calculatedaddnumberb = ''; + + + + + this.calculatedaddtotal = ''; + + //calculated field end + + + } + submitted = false; +onSubmit() { + console.log(this.entryForm.value); + this.submitted = true; + if (this.entryForm.invalid) { + return; + }this.onCreate(); + +} + + + + +isValidPhone_number(phone: string): boolean { + const phonePattern = /^(\+[1-9][0-9]{0,2})?[1-9][0-9]{9}$/; + return phonePattern.test(phone); +} + +rsModalparagraph_field = false; + goToReplaceStringparagraph_field (row){ + this.rowSelected = row; this.rsModalparagraph_field =true; } + +newpHidepassword_field: boolean = true; + newIconpassword_field: string = "eye"; +newShapeChangerpassword_field() { +this.newpHidepassword_field = !this.newpHidepassword_field; + if(this.newpHidepassword_field){ +this.newIconpassword_field = 'eye' } else { this.newIconpassword_field = 'eye-hide' } +} + + newaddpHidepassword_field: boolean = true; + newaddIconpassword_field: string = "eye"; +newaddChangerpassword_field() { this.newaddpHidepassword_field = !this.newaddpHidepassword_field; + if(this.newaddpHidepassword_field){ this.newaddIconpassword_field = 'eye' } else { + this.newaddIconpassword_field = 'eye-hide' } } + +rsModaltextarea_field = false; +goToReplaceStringtextarea_field(row){ +this.rowSelected = row; this.rsModaltextarea_field =true; } + + + + + +isValidemail_field(email: string): boolean { + const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + return emailPattern.test(email); } + + + +isValidurl_field(url: string): boolean { + return /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url); } + goTourl_fieldUrl(val){ window.open(val) } + + + + + +recaptchaCode = ''; +generaterecaptcha (): void { + const possibleCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + const codeLength = 6; // Change to desired length + + let recaptcha= ''; + for (let i = 0; i < codeLength; i++) { + const randomIndex = Math.floor(Math.random() * possibleCharacters.length); + recaptcha += possibleCharacters.charAt(randomIndex); + } + this.recaptchaCode = recaptcha; +} + +checkrecaptcha(control: AbstractControl): ValidationErrors | null { + if (control.value !== this.recaptchaCode) { + return { recaptchaMismatch: true }; + } + return null; +} + +recaptchaMismatch = false; + +checkrecaptchaEdit(): void { + if (this.rowSelected.recaptcha !== this. recaptchaCode) { + this. recaptchaMismatch = true; } else { this.recaptchaMismatch = false; } } + + + + + +updateradios (radios : string): void { + this.entryForm.get('radios').setValue(radios); } + +updateradiosEdit(radios : string): void { this.rowSelected.radios = radios } + ; + + + +filePreviewfileupload_field: string | ArrayBuffer | null = null; +FileDatafileupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array +selectedfileupload_field: File[]=[]; +public onFileChangedfileupload_field(event, index) { + const files = event.target.files; + for (let i = 0; i < files.length; i++) { + const file = files[i]; + this.FileDatafileupload_field[index].uploadedfile_name = files[i].name; + this.selectedfileupload_field.push(files[i]); + if (file.type.startsWith('file/')) { + const reader = new FileReader(); + reader.onload = (e) => { + // Set the file preview source + const filePreview = e.target?.result as string; + this.FileDatafileupload_field[index] = { + ...this.FileDatafileupload_field[index], // Preserve existing properties + filePreview: filePreview // Update only the filePreview property + }; + }; + reader.readAsDataURL(file); + } + } +} + onAddLinesfileupload_field(){ + this.FileDatafileupload_field.push({ + uploadedfile_name: "", + filePreview: "", + // f3: "", + }); + } + deleteRowfileupload_field(index,id) { + this.FileDatafileupload_field.splice(index, 1); + + if(id){ + this.mainService.uploadfiledeletefileupload_field(id).subscribe(data =>{ + console.log(data); + }) + } + } + +filePreviewimageupload_field: string | ArrayBuffer | null = null; +FileDataimageupload_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array +selectedimageupload_field: File[]=[]; +public onFileChangedimageupload_field(event, index) { + const files = event.target.files; + for (let i = 0; i < files.length; i++) { + const file = files[i]; + this.FileDataimageupload_field[index].uploadedfile_name = files[i].name; + this.selectedimageupload_field.push(files[i]); + if (file.type.startsWith('image/')) { + const reader = new FileReader(); + reader.onload = (e) => { + // Set the file preview source + const filePreview = e.target?.result as string; + this.FileDataimageupload_field[index] = { + ...this.FileDataimageupload_field[index], // Preserve existing properties + filePreview: filePreview // Update only the filePreview property + }; + }; + reader.readAsDataURL(file); + } + } +} + onAddLinesimageupload_field(){ + this.FileDataimageupload_field.push({ + uploadedfile_name: "", + filePreview: "", + // f3: "", + }); + } + deleteRowimageupload_field(index,id) { + this.FileDataimageupload_field.splice(index, 1); + + if(id){ + this.mainService.uploadImageupload_fielddelete(id).subscribe(data =>{ + console.log(data); + }) + } + } + +filePreviewaudio_field: string | ArrayBuffer | null = null; +FileDataaudio_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array +selectedaudio_field: File[]=[]; +public onFileChangedaudio_field(event, index) { + const files = event.target.files; + for (let i = 0; i < files.length; i++) { + const file = files[i]; + this.FileDataaudio_field[index].uploadedfile_name = files[i].name; + this.selectedaudio_field.push(files[i]); + if (file.type.startsWith('audio/')) { + const reader = new FileReader(); + reader.onload = (e) => { + // Set the file preview source + const filePreview = e.target?.result as string; + this.FileDataaudio_field[index] = { + ...this.FileDataaudio_field[index], // Preserve existing properties + filePreview: filePreview // Update only the filePreview property + }; + }; + reader.readAsDataURL(file); + } + } +} + onAddLinesaudio_field(){ + this.FileDataaudio_field.push({ + uploadedfile_name: "", + filePreview: "", + // f3: "", + }); + } + deleteRowaudio_field(index,id) { + this.FileDataaudio_field.splice(index, 1); + + if(id){ + this.mainService.uploadAudio_fielddelete(id).subscribe(data =>{ + console.log(data); + }) + } + } + +filePreviewvideo_field: string | ArrayBuffer | null = null; +FileDatavideo_field: {uploadedfile_name?:any, filePreview: string | ArrayBuffer | null }[] = []; // Initialize the array +selectedvideo_field: File[]=[]; +public onFileChangedvideo_field(event, index) { + const files = event.target.files; + for (let i = 0; i < files.length; i++) { + const file = files[i]; + this.FileDatavideo_field[index].uploadedfile_name = files[i].name; + this.selectedvideo_field.push(files[i]); + if (file.type.startsWith('video/')) { + const reader = new FileReader(); + reader.onload = (e) => { + // Set the file preview source + const filePreview = e.target?.result as string; + this.FileDatavideo_field[index] = { + ...this.FileDatavideo_field[index], // Preserve existing properties + filePreview: filePreview // Update only the filePreview property + }; + }; + reader.readAsDataURL(file); + } + } +} + onAddLinesvideo_field(){ + this.FileDatavideo_field.push({ + uploadedfile_name: "", + filePreview: "", + // f3: "", + }); + } + deleteRowvideo_field(index,id) { + this.FileDatavideo_field.splice(index, 1); + + if(id){ + this.mainService.uploadVideo_fielddelete(id).subscribe(data =>{ + console.log(data); + }) + } + } + + + +//currency field start + formatCurrencycurrency () { + // Format the currency with two decimal places + this.rowSelected.currency = Number(this.rowSelected.currency ).toFixed(2); + // Remove commas from the formatted currency + this.rowSelected.currency = this.rowSelected.currency?.replace(/,/g, ''); } + //currency field end + + + +//bar code field start + generateBarcodebarcode_field(value) { + const barcodeValue = value; + const barcodeElement = document.getElementById("barcodebarcode_field"); + if (barcodeElement) { if (barcodeValue) { + JsBarcode(barcodeElement, barcodeValue, { format: "CODE128" + }); } else { + // Clear the barcode if the input is empty + barcodeElement.innerHTML = ''; } } } + // bar code field end + + + + // calculated field code start + + + calculatedaddnumbera; + + + + calculatedaddnumberb; + + + calculatedaddtotal ; + calculatedaddcalculateOperators = "aa" +onInputChangecalculatedadd() { +const lastObj = 0 +const lastObjstring = '' + + + + const numbera= this.calculatedaddnumbera|| ''; + + const numberaValue = parseFloat(this.calculatedaddnumbera) || 0; + + + + + + const numberb= this.calculatedaddnumberb|| ''; + + const numberbValue = parseFloat(this.calculatedaddnumberb) || 0; + + + +if (this.calculatedaddcalculateOperators =="Addition") { + this.calculatedaddtotal = ( + + + numberaValue + + + + + numberbValue + + + lastObj).toString(); +} +if (this.calculatedaddcalculateOperators == "Subtraction") { + this.calculatedaddtotal = ( + + + numberaValue - + + + + numberbValue - + + + lastObj).toString(); +} +if (this.calculatedaddcalculateOperators =="Multiplication") { + this.calculatedaddtotal = ( + + + + numberaValue * + + + + numberbValue * + + +lastObj).toString(); +} +if (this.calculatedaddcalculateOperators =="Division") { + + this.calculatedaddtotal = ( + + +numberaValue / + + + +numberbValue / + + +lastObj).toString(); + +} +if (this.calculatedaddcalculateOperators =="Concatination") { + this.calculatedaddtotal = + + +numbera+ ' '+ + + + +numberb+ ' '+ + + lastObjstring +} +} + +// updateaction +} + + + + + + + +export function Confirmedpassword_fieldValidator(controlName: string, matchingControlName: string){ + return (formGroup: FormGroup) => { + const control = formGroup.controls[controlName]; + const matchingControl = formGroup.controls[matchingControlName]; + if (matchingControl.errors && !matchingControl.errors.confirmedpassword_fieldValidator) { + return; + } + if (control.value !== matchingControl.value) { + matchingControl.setErrors({ confirmedpassword_fieldValidator: true }); + } else { + matchingControl.setErrors(null); + } + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.service.ts b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.service.ts new file mode 100644 index 0000000..5febe2f --- /dev/null +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details.service.ts @@ -0,0 +1,141 @@ +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 Emp_detailsservice{ + private baseURL = "Emp_details/Emp_details" ; constructor( + private http: HttpClient, + private apiRequest: ApiRequestService, + ) { } + getAll(page?: number, size?: number): Observable { + return this.apiRequest.get(this.baseURL); + } + getById(id: number): Observable { + const _http = this.baseURL + "/" + id; + return this.apiRequest.get(_http); + } + create(data: any): Observable { + return this.apiRequest.post(this.baseURL, data); + } + update(id: number, data: any): Observable { + const _http = this.baseURL + "/" + id; + return this.apiRequest.put(_http, data); + } + delete(id: number): Observable { + const _http = this.baseURL + "/" + id; + return this.apiRequest.delete(_http); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uploadfilefileupload_field(ref:any, Emp_details:any, file:any): Observable{ + const formData = new FormData(); + formData.append('file', file); + return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`, formData); + } + + uploadfilegetByIdfileupload_field(ref:any, Emp_details:any,): Observable { + return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`); + } + + + uploadfiledeletefileupload_field(id: number): Observable { + return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); + } + + uploadImageupload_field(ref:any, Emp_details:any, file:any): Observable{ + const formData = new FormData(); + formData.append('file', file); + return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`, formData); + } + + uploadImageupload_fieldgetById(ref:any, Emp_details:any,): Observable { + return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`); + } + + + uploadImageupload_fielddelete(id: number): Observable { + return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); + } + + uploadAudio_field(ref:any, Emp_details:any, file:any): Observable{ + const formData = new FormData(); + formData.append('file', file); + return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`, formData); + } + + uploadAudio_fieldgetById(ref:any, Emp_details:any,): Observable { + return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`); + } + + + uploadAudio_fielddelete(id: number): Observable { + return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); + } + + uploadVideo_field(ref:any, Emp_details:any, file:any): Observable{ + const formData = new FormData(); + formData.append('file', file); + return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`, formData); + } + + uploadVideo_fieldgetById(ref:any, Emp_details:any,): Observable { + return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Emp_details}`); + } + + + uploadVideo_fielddelete(id: number): Observable { + return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); + } + + + + + + + + + + + + + +// updateaction +} \ No newline at end of file diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details_cardvariable.ts b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details_cardvariable.ts new file mode 100644 index 0000000..dfdb526 --- /dev/null +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/vpspack/Emp_details/Emp_details_cardvariable.ts @@ -0,0 +1,4 @@ +export const Emp_detailscardvariable = { + "cardButton": false, + "cardmodeldata": `` +} \ No newline at end of file diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts index c7450e8..e7fc7c2 100644 --- a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts @@ -1,3 +1,4 @@ +import { Emp_detailsComponent } from './BuilderComponents/vpspack/Emp_details/Emp_details.component'; @@ -258,6 +259,9 @@ const routes: Routes = [ // buildercomponents +{path:'Emp_details',component:Emp_detailsComponent}, + + { path: '**', component: PageNotFoundComponent }, diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts index dacaf40..58ec0b1 100644 --- a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts @@ -1,3 +1,4 @@ +import { Emp_detailsComponent } from './BuilderComponents/vpspack/Emp_details/Emp_details.component'; import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; @@ -126,6 +127,9 @@ import { QueryeditComponent } from './superadmin/queryedit/queryedit.component'; // buildercomponents +Emp_detailsComponent, + + diff --git a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json index 3d60440..6e5bd67 100644 --- a/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json +++ b/testingangular102-front-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json @@ -1,4 +1,4 @@ -{ + { "BREADCRUMB_HOME": "Home", "USER_GROUP_MAINTENANCE": "User Group Maintenance", "BREADCRUMB_ABOUT_US": "About Us", @@ -17,23 +17,25 @@ "IMPORT": "Import", "EXPORT_XLSX": "Export as XLSX", "ADD": "Add", - "MENU_ACCESS_CONTROL": "Menu Access Control", - "EDIT_MODE": "Edit Mode", - "FOR": "For", - "RELOAD": "Reload", - "SHOW_ALL": "Show All", - "ONLY_MAIN_MENU": "Only Main Menu", - "NO_DATA_AVAILABLE": "No data available", - "NO": "No", - "MENU_ITEM_NAME": "Menu Item Name", - "VIEW": "View", - "CREATE": "Create", - "EDIT": "Edit", - "DELETE": "Delete", - "QUERY": "Query", - "EXPORT": "Export", - "SYNC": "Sync", - "editMode": "Edit Mode", + + "MENU_ACCESS_CONTROL": "Menu Access Control", + "EDIT_MODE": "Edit Mode", + "FOR": "For", + "RELOAD": "Reload", + "SHOW_ALL": "Show All", + "ONLY_MAIN_MENU": "Only Main Menu", + + "NO_DATA_AVAILABLE": "No data available", + "NO": "No", + "MENU_ITEM_NAME": "Menu Item Name", + "VIEW": "View", + "CREATE": "Create", + "EDIT": "Edit", + "DELETE": "Delete", + "QUERY": "Query", + "EXPORT": "Export", + "SYNC": "Sync", + "editMode": "Edit Mode", "setupCode": "Setup Code", "value": "Value", "schedulerTimer": "Scheduler Timer", @@ -60,9 +62,11 @@ "oidAdminUserTooltip": "Admin user for OID access", "oidServerPort": "OID Server Port", "oidServerPortTooltip": "Port number for the OID server", - "companyDisplayName": "Company Display Name", + + + "companyDisplayName": "Company Display Name", "systemParameter": "System Parameter", - "userDefaultGroup": "User Default Group", + "userDefaultGroup": "User Default Group", "defaultDepartment": "Default Department", "defaultPosition": "Default Position", "singleCharge": "Single Charge", @@ -93,45 +97,49 @@ "areYouSureDelete": "Are You Sure Want to delete?", "updateAccessType": "Update Access Type", "update": "Update", - "SEQ_GENERATOR": "Sequence Generator", - "CURRENT_NO": "Current No", - "NAME": "Name", - "PREFIX": "Prefix", - "SEPARATOR": "Separator", - "SEQUENCE_SIZE": "Sequence Size", - "REPORT": "Report", - "REPORT_RUNNER": "Report Runner", - "REPORT_NAME": "Report Name", - "REPORT_DESCRIPTION": "Report Description", - "API_REGISTERY": "Api Registery", - "API_REGISTERY_DESCRIPTION": "Api Registery Description", - "ACTIVE": "Active", - "FOLDER_NAME": "Folder Name", - "ACTION": "Action", - "SET_UP": "Set Up", - "USERS_PER_PAGE": "Users per page", - "OF": "of", - "USERS": "users", - "ARE_YOU_SURE": "Are you sure you want to delete?", - "CANCEL": "Cancel", - "GO_TO": "Go To", - "ALL_REPORTS": "All Reports", - "ALL_REPORT": "All Report", - "REPORT_BUILDER_SQL": "Report Builder (SQL)", - "REPORT_BUILDER_URL": "Report Builder (URL)", - "LOADING_MESSAGE": "Dashboard could be found. Loading..", - "START_FROM_SCRATCH": "Start from scratch", - "IMPORT_TEMPLATE": "Import from a template", - "IMPORT_PUBLIC_PROJECT": "Import from public project", - "DELETE_CONFIRMATION": "Are You Sure Want to delete?", - "LAST_UPDATED_ON": "Last Updated On:", - "CREATE_NEW_REPORT": "Create New Report", - "ADD_MODE": "Add Mode", - "ENTER_NAME": "Enter name", - "DESCRIPTION": "Description", - "ENTER_DESCRIPTION": "Enter Description", - "SUBMIT": "Submit", - "home": "Home", + + "SEQ_GENERATOR": "Sequence Generator", + "CURRENT_NO": "Current No", + "NAME": "Name", + "PREFIX": "Prefix", + "SEPARATOR": "Separator", + "SEQUENCE_SIZE": "Sequence Size", + "REPORT": "Report", + "REPORT_RUNNER": "Report Runner", + + "REPORT_NAME": "Report Name", + "REPORT_DESCRIPTION": "Report Description", + "ACTIVE": "Active", + "FOLDER_NAME": "Folder Name", + "ACTION": "Action", + "SET_UP": "Set Up", + + "USERS_PER_PAGE": "Users per page", + "OF": "of", + "USERS": "users", + "ARE_YOU_SURE": "Are you sure you want to delete?", + "CANCEL": "Cancel", + "GO_TO": "Go To", + "ALL_REPORTS": "All Reports", + "ALL_REPORT": "All Report", + "REPORT_BUILDER_SQL": "Report Builder (SQL)", + "REPORT_BUILDER_URL": "Report Builder (URL)", + "LOADING_MESSAGE": "Dashboard could be found. Loading..", + "START_FROM_SCRATCH": "Start from scratch", + "IMPORT_TEMPLATE": "Import from a template", + "IMPORT_PUBLIC_PROJECT": "Import from public project", + "DELETE_CONFIRMATION": "Are You Sure Want to delete?", + + "LAST_UPDATED_ON": "Last Updated On:", + "CREATE_NEW_REPORT": "Create New Report", + "ADD_MODE": "Add Mode", + + "ENTER_NAME": "Enter name", + "DESCRIPTION": "Description", + "ENTER_DESCRIPTION": "Enter Description", + + "SUBMIT": "Submit", + "home": "Home", "dashboard": "Dashboard", "all_dashboard": "All Dashboard", "dashboard_builder": "Dashboard Builder", @@ -203,8 +211,10 @@ "GROUP_LEVEL": "Group Level", "STATUS": "Status", "UPDATED_DATE": "Updated Date", + "RECORDS_PER_PAGE": "Record per page", "IMPORT_FILE": "Import File", + "UPDATE": "Update", "ARE_YOU_SURE_DELETE": "Are You Sure Want to delete?", "THIS_FIELD_REQUIRED": "*This field is Required", @@ -216,10 +226,34 @@ "MENU_ACTION_LINK": "Menu Action Link", "STATUS": "Status", "SUB_MENU": "Sub Menu", - "Stt": "Stt", - "OneToManyExtension": "OneToManyExtension", - "studentname": "studentname", - "description": "description", - "Studenthigh": "Studenthigh", - "Name": "Name" + "video_Field": "video_Field", + "B": "B", + "QRCode_Field": "QRCode_Field", + "Datetime_Field": "Datetime_Field", + "Phone_Number": "Phone_Number", + "Radios": "Radios", + "Fileupload_Field": "Fileupload_Field", + "Q": "Q", + "Textarea_Field": "Textarea_Field", + "Currency": "Currency", + "recaptcha": "recaptcha", + "Date_Field": "Date_Field", + "selectsta": "selectsta", + "BarCode_Field": "BarCode_Field", + "Numberb": "Numberb", + "First_name": "First_name", + "Numbera": "Numbera", + "toggle_switch": "toggle_switch", + "Emp_details": "Emp_details", + "Percentage_Field": "Percentage_Field", + "Email_Field": "Email_Field", + "calculatedadd": "calculatedadd", + "Url_Field": "Url_Field", + "Survey_Form": "Survey_Form", + "Paragraph_Field": "Paragraph_Field", + "Imageupload_Field": "Imageupload_Field", + "audio_Field": "audio_Field", + "Password_Field": "Password_Field", + "Decimal_Field": "Decimal_Field", + "documentsequence": "documentsequence" } \ No newline at end of file