diff --git a/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java index f9801fb..3d2543d 100644 --- a/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java +++ b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/Builders/Services/BuilderService.java @@ -69,6 +69,12 @@ public class BuilderService { executeDump(true); // ADD OTHER SERVICE +addCustomMenu( "Stres","Stepper_workflow", "Transcations"); + + +addCustomMenu( "Testa","Testa", "Transcations"); + + System.out.println("dashboard and menu inserted..."); diff --git a/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Controllers/TestaController.java b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Controllers/TestaController.java new file mode 100644 index 0000000..544cc03 --- /dev/null +++ b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Controllers/TestaController.java @@ -0,0 +1,179 @@ +package com.realnet.basicp1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basicp1.Entity.Testa; +import com.realnet.basicp1.Services.TestaService ; + + + + + + + + + + + + + + + + + + + + + + + + + + +@RequestMapping(value = "/Testa") + @CrossOrigin("*") +@RestController +public class TestaController { + @Autowired + private TestaService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + + + + + + + + + + + + + + + + + + + + + @PostMapping("/Testa") + public Testa Savedata(@RequestBody Testa data) { + Testa save = Service.Savedata(data) ; + + + + + + + + + + + + + + + + + + + + + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Testa/{id}") + public Testa update(@RequestBody Testa data,@PathVariable Integer id ) { + Testa update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Testa/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("/Testa") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Testa") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Testa/{id}") + public Testa getdetailsbyId(@PathVariable Integer id ) { + Testa get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Testa/{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/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Controllers/tokenFree_TestaController.java b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Controllers/tokenFree_TestaController.java new file mode 100644 index 0000000..c4e4b74 --- /dev/null +++ b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Controllers/tokenFree_TestaController.java @@ -0,0 +1,179 @@ +package com.realnet.basicp1.Controllers; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; + import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.web.bind.annotation.CrossOrigin; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.realnet.config.EmailService; +import com.realnet.users.entity1.AppUser; +import com.realnet.users.service1.AppUserServiceImpl; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.data.domain.*; +import com.realnet.fnd.response.EntityResponse; +import org.springframework.http.*; +import org.springframework.beans.factory.annotation.*; +import com.realnet.basicp1.Entity.Testa; +import com.realnet.basicp1.Services.TestaService ; + + + + + + + + + + + + + + + + + + + + + + + + + + +@RequestMapping(value = "/token/Testa") + @CrossOrigin("*") +@RestController +public class tokenFree_TestaController { + @Autowired + private TestaService Service; + +@Value("${projectPath}") + private String projectPath; + + + + + + + + + + + + + + + + + + + + + + + + + + + + @PostMapping("/Testa") + public Testa Savedata(@RequestBody Testa data) { + Testa save = Service.Savedata(data) ; + + + + + + + + + + + + + + + + + + + + + + + + + + System.out.println("data saved..." + save); + + return save; + } +@PutMapping("/Testa/{id}") + public Testa update(@RequestBody Testa data,@PathVariable Integer id ) { + Testa update = Service.update(data,id); + System.out.println("data update..." + update); + return update; + } +// get all with pagination + @GetMapping("/Testa/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("/Testa") + public List getdetails() { + List get = Service.getdetails(); + return get; +} +// get all without authentication + + @GetMapping("/token/Testa") + public List getallwioutsec() { + List get = Service.getdetails(); + return get; +} +@GetMapping("/Testa/{id}") + public Testa getdetailsbyId(@PathVariable Integer id ) { + Testa get = Service.getdetailsbyId(id); + return get; + } +@DeleteMapping("/Testa/{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/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Entity/Testa.java b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Entity/Testa.java new file mode 100644 index 0000000..48e0f0a --- /dev/null +++ b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Entity/Testa.java @@ -0,0 +1,86 @@ +package com.realnet.basicp1.Entity; + import lombok.*; +import com.realnet.WhoColumn.Entity.Extension; + import javax.persistence.*; + import java.time.LocalDateTime; + import java.util.*; + + + + + + + + + + + + + + + + + + + + + + + + + + + @Entity + @Data + public class Testa extends Extension { + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + +private String name; + +@Column(length = 2000) +private String description; + + private String gender; + + + + + +private String b; + + + + +private String f; + + + +private String qrcode_field; + +private int number_field; + +@Column(length = 2000) +private String textarea; + +private String date_field; + +private String email_field; + +private String datetime_field; + +private boolean toggle_switch; + + private double decimal_field; + +private String imageupload_fieldname; +private String imageupload_fieldpath ; + + +} diff --git a/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Repository/TestaRepository.java b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Repository/TestaRepository.java new file mode 100644 index 0000000..7108556 --- /dev/null +++ b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Repository/TestaRepository.java @@ -0,0 +1,50 @@ +package com.realnet.basicp1.Repository; + + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import org.springframework.stereotype.Repository; +import java.util.*; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +import com.realnet.basicp1.Entity.Testa; + +@Repository +public interface TestaRepository extends JpaRepository { + +@Query(value = "select * from testa where created_by=?1", nativeQuery = true) + List findAll(Long creayedBy); + +@Query(value = "select * from testa where created_by=?1", nativeQuery = true) + Page findAll(Pageable page, Long creayedBy); +} \ No newline at end of file diff --git a/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Services/TestaService.java b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Services/TestaService.java new file mode 100644 index 0000000..388cc8b --- /dev/null +++ b/teststeppermultiple-backsm-b/authsec_springboot/backend/src/main/java/com/realnet/basicp1/Services/TestaService.java @@ -0,0 +1,202 @@ +package com.realnet.basicp1.Services; +import com.realnet.basicp1.Repository.TestaRepository; +import com.realnet.basicp1.Entity.Testa +;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 TestaService { +@Autowired +private TestaRepository Repository; + @Autowired + private AppUserServiceImpl userService; +@Autowired + private RealmService realmService; + + + + + + + + + + + + + + + + + + + + + + + + + +public Testa Savedata(Testa data) { + + + + + + + + + + + + + + + + + + + + + + + + + + + data.setUpdatedBy(getUser().getUserId()); + data.setCreatedBy(getUser().getUserId()); + data.setAccountId(getUser().getAccount().getAccount_id()); +Testa 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 Testa getdetailsbyId(Integer id) { + return Repository.findById(id).get(); + } + + + public void delete_by_id(Integer id) { + Repository.deleteById(id); +} + + +public Testa update(Testa data,Integer id) { + Testa old = Repository.findById(id).get(); +old.setName(data.getName()); + +old.setDescription(data.getDescription()); + +old.setGender(data.getGender()); + + + +old.setB(data.getB()); + + + +old.setF(data.getF()); + + + + +old.setQrcode_field(data.getQrcode_field()); + +old.setNumber_field(data.getNumber_field()); + +old.setTextarea(data.getTextarea()); + +old.setDate_field(data.getDate_field()); + +old.setEmail_field(data.getEmail_field()); + +old.setDatetime_field(data.getDatetime_field()); + +old.setToggle_switch (data.isToggle_switch()); + +old.setDecimal_field(data.getDecimal_field()); + + + +final Testa test = Repository.save(old); + data.setUpdatedBy(getUser().getUserId()); + return test;} + + + + + + + + + + + + + + + + + + + + + + + + + + + public AppUser getUser() { + AppUser user = userService.getLoggedInUser(); + return user; + + }} diff --git a/teststeppermultiple-dbsm-d/authsec_mysql/mysql/wf_table/wf_table.sql b/teststeppermultiple-dbsm-d/authsec_mysql/mysql/wf_table/wf_table.sql new file mode 100755 index 0000000..33ebb92 --- /dev/null +++ b/teststeppermultiple-dbsm-d/authsec_mysql/mysql/wf_table/wf_table.sql @@ -0,0 +1,2 @@ +CREATE TABLE dbsm.Testa(id BIGINT NOT NULL AUTO_INCREMENT, b VARCHAR(400), description VARCHAR(400), gender VARCHAR(400), toggle_switch VARCHAR(400), f VARCHAR(400), number_field int, qrcode_field VARCHAR(400), datetime_field VARCHAR(400), email_field VARCHAR(400), name VARCHAR(400), textarea VARCHAR(400), imageupload_field VARCHAR(400), date_field Date, decimal_field double, PRIMARY KEY (id)); + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts index 231b3a1..fdff417 100644 --- a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/login/login-page/login_environment.ts +++ b/teststeppermultiple-frontsm-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": "null" } diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.html b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.html new file mode 100644 index 0000000..aecff01 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.html @@ -0,0 +1,850 @@ + +
+
+
+

Testa

+
+
+ + + +
+ + + + Loading ... + +
{{error}}
+
+ + Name + + + + Description + + + + gender + + + + + + b + + + + + f + + + + + + + QRCode Field + + + + Number Field + + + + Textarea + + + + Date Field + + + + Email Field + + + + Datetime Field + + + + Toggle Switch + + + + Decimal Field + + + + + + + + Action + + + + + +{{user.name }} + + + + + + +{{user.gender }} + + + + +{{user. b}} + + + +{{user. f}} + + + + + +{{user.qrcode_field }} + + +{{user.number_field }} + + + + + + +{{user.date_field }} + + +{{user.email_field }} + + +{{user.datetime_field }} + + +{{user.toggle_switch }} + + +{{user.decimal_field }} + + + + + + + + + +
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/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.scss b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.scss new file mode 100644 index 0000000..c47b921 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.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/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.ts new file mode 100644 index 0000000..4191233 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.component.ts @@ -0,0 +1,581 @@ +import { Component, OnInit } from '@angular/core'; +import { ToastrService } from 'ngx-toastr'; +import { AlertService } from 'src/app/services/alert.service'; +import { Testaservice} from './Testa.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 { Testacardvariable } from './Testa_cardvariable'; +import { UserInfoService } from 'src/app/services/user-info.service'; +declare var JsBarcode: any; +@Component({ + selector: 'app-Testa', + templateUrl: './Testa.component.html', + styleUrls: ['./Testa.component.scss'] +}) +export class TestaComponent implements OnInit { + cardButton = Testacardvariable.cardButton; + cardmodeldata = Testacardvariable.cardmodeldata; + public dashboardArray: DashboardContentModel2[]; + isCardview = Testacardvariable.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 = 'Testa_formCode' +tableName = 'Testa'; checkFormCode; selected: any[] = []; constructor( + private extensionService: ExtensionService, +private userInfoService:UserInfoService, + private mainService:Testaservice, + private alertService: AlertService, + private toastr: ToastrService, + private _fb: FormBuilder, + ) { } +// component button + ngOnInit(): void { + if(this.cardmodeldata !== ''){ + this.cardmodal = JSON.parse(this.cardmodeldata); + this.dashboardArray = this.cardmodal.dashboard.slice(); + console.log(this.dashboardArray) + } + this.userrole=this.userInfoService.getRoles(); + this.getData(); + this.entryForm = this._fb.group({ +name : [null], + +description : [null], + +gender : [null], + + + +b:[null], + + + +f:[null], + + + +qrcode_field : [null], + +number_field : [null,[Validators.required]], + +textarea : [null], + +date_field : [null], + +email_field : [null], + +datetime_field : [null], + +toggle_switch : [true], + +decimal_field : [null,[Validators.required]], + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + }); // component_button200 + // form code start + this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => { + console.log(data); + const jsonArray = data.map((str) => JSON.parse(str)); + this.additionalFieldsFromBackend = jsonArray; + this.checkFormCode = this.additionalFieldsFromBackend.some(field => field.formCode === "Testa_formCode"); + console.log(this.checkFormCode); + console.log(this.additionalFieldsFromBackend); + if (this.additionalFieldsFromBackend && this.additionalFieldsFromBackend.length > 0) { + this.additionalFieldsFromBackend.forEach(field => { + if (field.formCode === this.formcode) { + if (!this.entryForm.contains(field.extValue)) { + // Add the control only if it doesn't exist in the form + this.entryForm.addControl(field.extValue, this._fb.control(field.fieldValue)); + } + } + }); + } + }); + console.log(this.entryForm.value); + // form code end + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + + + + + + + + + + + + + + + + + + + + + + + +FileDataImageupload_field: any[]; + selectedImageupload_field: any[]; + + 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.selectedimageupload_field = []; + this.mainService.uploadImageupload_fieldgetById(row.id,this.tableName).subscribe(uploaddata =>{ + console.log(uploaddata); + this.FileDataimageupload_field = uploaddata; + + }) + + + this.modalEdit = true; + } + onDelete(row) { + this.rowSelected = row; + this.modaldelete=true; + } + delete(id) + { + this.modaldelete = false; + console.log("in delete "+id); + this.mainService.delete(id).subscribe( + (data) => { + console.log(data); + this.ngOnInit(); + if (data) { this.toastr.success('Deleted successfully'); } + }); + } + onUpdate(id) { + this.modalEdit = false; + + + + + + + + + + + + + + + + + + + + + + + + + + + //console.log("in update"); + console.log("id " + id); + console.log(this.rowSelected); + //console.log("out update"); + this.mainService.update(id, this.rowSelected).subscribe( + (data) => { + console.log(data); + if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Update Successfully"); + } +setTimeout(() => { + this.ngOnInit(); + }, 500); + + + + + + + + + + + + + + + + + + + + + + + + +for (let i = 0; i < this.selectedimageupload_field.length; i++){ + + this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_field[i]).subscribe(uploaddata =>{ + console.log(uploaddata); + }) +} + + }, (error) => { + console.log(error); + if (error.status >= 200 && error.status <= 299) { + // this.toastr.success("update Succesfully"); + } + if (error.status >= 400 && error.status <= 499) { + this.toastr.error("Not Updated"); + } + if (error.status >= 500 && error.status <= 599) { + this.toastr.error("Not Updated"); + } + }); + setTimeout(() => { + this.ngOnInit(); + }, 500); + } +onCreate() { + this.modalAdd=false; + + + + + + + + + + + + + + + + + + + + + + + + + + + this.mainService.create(this.entryForm.value).subscribe( + (data) => { + console.log(data); + if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Added Successfully"); + } +setTimeout(() => { + this.ngOnInit(); + }, 500); + + + + + + + + + + + + + + + + + + + + + + + +for (let i = 0; i < this.selectedimageupload_field.length; i++){ + + this.mainService.uploadImageupload_field(data.id,this.tableName,this.selectedimageupload_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.FileDataImageupload_field = []; +this.selectedImageupload_field =[]; + + + } + 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; } + +updategender (gender : string): void { + this.entryForm.get('gender').setValue(gender); } + +updategenderEdit(gender : string): void { this.rowSelected.gender = gender } + ; + + + + + + + +rsModaltextarea = false; +goToReplaceStringtextarea(row){ +this.rowSelected = row; this.rsModaltextarea =true; } + + + +isValidemail_field(email: string): boolean { + const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + return emailPattern.test(email); } + + + + + + + +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); + }) + } + } + +// updateaction +} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.service.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.service.ts new file mode 100644 index 0000000..c1f74e7 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa.service.ts @@ -0,0 +1,72 @@ +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 Testaservice{ + private baseURL = "Testa/Testa" ; 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); + } + + + + + + + + + + + + + + + + + + + + + + + + + uploadImageupload_field(ref:any, Testa:any, file:any): Observable{ + const formData = new FormData(); + formData.append('file', file); + return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Testa}`, formData); + } + + uploadImageupload_fieldgetById(ref:any, Testa:any,): Observable { + return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Testa}`); + } + + + uploadImageupload_fielddelete(id: number): Observable { + return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); + } + +// updateaction +} \ No newline at end of file diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa_cardvariable.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa_cardvariable.ts new file mode 100644 index 0000000..10c9678 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/basicp1/Testa/Testa_cardvariable.ts @@ -0,0 +1,4 @@ +export const Testacardvariable = { + "cardButton": false, + "cardmodeldata": `` +} \ No newline at end of file diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts index 8052672..2f191e1 100644 --- a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/Stepper_workflow/Stepper_workflow.component.ts @@ -19,6 +19,7 @@ + import { Component, OnInit } from '@angular/core'; @@ -249,6 +250,8 @@ export class Stepper_workflowComponent implements OnInit { console.log('id is ', id) // stepper route + this.router.navigate(["../stres/", id], { relativeTo: this.route }); + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.css.map b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.css.map new file mode 100644 index 0000000..7e9253c --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["stres.component.scss","stres.component.css"],"names":[],"mappings":"AAAA;EACE,UAAA;EACA,YAAA;ACCF;;ADCA;EACE,UAAA;EACA,aAAA;ACEF;;ADAA;EACE,UAAA;EACA,aAAA;ACGF;;ADDA;EACE,UAAA;EACA,aAAA;ACIF;;ADDA;EACE,WAAA;EACA,aAAA;ACIF;;ADDA;EACE,WAAA;EACA,kBAAA;EACA,aAAA;EACA,qBAAA;EACA,sBAAA;EACA,kBAAA;EACA,sBAAA;ACIF;;ADFA;EACE,UAAA;ACKF;;ADHA;EACE,kBAAA;ACMF;;ADHA;EACE,WAAA;ACMF;;ADJA;EACA;IACA,WAAA;ECOE;AACF","file":"stres.component.css"} \ No newline at end of file diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.html b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.html new file mode 100644 index 0000000..9355197 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.html @@ -0,0 +1,324 @@ + + +
+ + + + + + + +
+ +
+
+
+
+

Workflow

+
+ +
+ + + + step 0 + Application Update + Datagrid + Create/bhj
Information Of + Customer
+
+ + + Step 2 + Review And
Confirmation
+ + Finish . + +
+
+
+
+
+ +
+
+

bhj

+

Update {{TestaentryForm.name}}

+
+ +
+ + +
+ +
+ +
+ + +
+ +
+ + +
+ +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ +
+
+ + + +
+ + +
+ + + +
+ + +
+ + +
+ + + +
+ + +
+ + +
+ + +
+
*This field is Required
+
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
* Email must be a valid email address +
+
+ +
+ + +
+ +
+ +
+ +
+ + +
+
*This field is Required
+
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
List of imageupload_field
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
No FileFile NamePreviewCancel
+ {{attach.uploadedfile_name}} File Preview + + + +
+ +
+ +
+ +
+
+ + + +
+
+ +
+ +
+
+
+
+

Review And Confirmation

+
+ + +
+
+
Bhj Summary:

Name : {{ TestaentryForm.get('name')?.value | json}}

+ +

Description : {{ TestaentryForm.get('description')?.value | json}}

+ +

gender : {{ TestaentryForm.get('gender')?.value | json}}

+ + + +

b : {{ TestaentryForm.get('b')?.value | json}}

+ + + + +

f : {{ TestaentryForm.get('f')?.value | json}}

+ + + + + + + +

QRCode Field : {{ TestaentryForm.get('qrcode_field')?.value | json}}

+ +

Number Field : {{ TestaentryForm.get('number_field')?.value | json}}

+ +

Textarea : {{ TestaentryForm.get('textarea')?.value | json}}

+ +

Date Field : {{ TestaentryForm.get('date_field')?.value | json}}

+ +

Email Field : {{ TestaentryForm.get('email_field')?.value | json}}

+ + + +

Datetime Field : + {{ TestaentryForm.get('datetime_field')?.value + ? (TestaentryForm.get('datetime_field')?.value | date:'medium') + : 'No value found' }} +

+ + + + + + +

Toggle Switch : {{ TestaentryForm.get('toggle_switch')?.value | json}}

+ +

Decimal Field : {{ TestaentryForm.get('decimal_field')?.value | json}}

+ +

Imageupload Field : {{ TestaentryForm.get('imageupload_field')?.value | json}}

+ + +
+
+ + +
+
+
\ No newline at end of file diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.scss b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.scss new file mode 100644 index 0000000..35a9e5a --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.scss @@ -0,0 +1,46 @@ +.horizontal{ + width: 25%; + padding: 5px; +} +.horizontal1{ + width: 50%; + padding: 10px; +} +.middle{ + width: 33%; + padding: 10px; +} +.middle1{ + width: 75%; + padding: 10px; +} + +.full{ + width: 100%; + padding: 10px; +} + +input[type=text],[type=date], select { + width: 100%; + padding: 12px 20px; + margin: 8px 0; + display: inline-block; + border: 1px solid #ccc; + border-radius: 4px; + box-sizing: border-box; +} +.required-field{ + color: red; +} +.center { + text-align: center; + +} +.center{ + color: blue; +} +@media (max-width: 600px){ +.horizontal,.middle,.horizontal1,.middle1 { +width: 100%; +}} + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.spec.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.spec.ts new file mode 100644 index 0000000..0de1382 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { stresComponent } from './stres.component'; + +describe('stresComponent', () => { + let component: stresComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ stresComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(stresComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.ts new file mode 100644 index 0000000..e8b3d16 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.component.ts @@ -0,0 +1,547 @@ +import { Component, OnInit } from '@angular/core'; + + +import { ToastrService } from 'ngx-toastr'; +import { ActivatedRoute, Router } from '@angular/router'; +import { College } from 'src/app/models/fnd/play'; +import { student } from 'src/app/models/fnd/Studentadd'; +import { AbstractControl,FormArray, FormBuilder, FormGroup, ValidationErrors, Validators } from '@angular/forms'; +import { Observable } from 'rxjs'; +import { ValidationError } from 'src/app/models/fnd/ValidationError'; +import { stresservice } from './stres.service'; +declare var JsBarcode: any; + @Component({ + selector: 'app-editstepper', + templateUrl: './stres.component.html', + styleUrls: ['./stres.component.scss'] +}) +export class stresComponent implements OnInit { + updated = false; + stringJson: any; + customerId: string = ''; + selectedFile!: File; + fileName = ''; + + id: number; + errorFields: ValidationError[] = []; + appToUpdate: College = null; + trained = false; + + json: string = ""; + luisApp = + { + name: '', + created: 1, + trained: 1, + tested: 1, + updated: 1, + published: 1, + + }; + // Layout direction changing + layout = { + direction: "vertical", + block1: "clr-col-lg-3 clr-col-12 ", + block2: "clr-col-lg-9 clr-col-12 ", + }; + + timelineStyle = { + step0: { state: "current", open: true, failed: false }, + step1: { state: "not-started", open: false, failed: false }, +}; +public TestaentryForm: FormGroup; + submitted = false; + rowSelected: any = {}; + modalcomplete = false; + + constructor( +private mainService: stresservice, + +private Testa_fb: FormBuilder, +private router: Router, + private route: ActivatedRoute, + private toastr: ToastrService, + ) { } + + ngOnInit(): void { + this.id = this.route.snapshot.params["id"]; + console.log("update with id = ", this.id); + + + this.TestaentryForm = this.Testa_fb.group({ +name : [null], + +description : [null], + +gender : [null], + + + +b:[null], + + + +f:[null], + + + +qrcode_field : [null], + +number_field : [null,[Validators.required]], + +textarea : [null], + +date_field : [null], + +email_field : [null], + +datetime_field : [null], + +toggle_switch : [true], + +decimal_field : [null,[Validators.required]], + + + + + }); + + + + + + + + + + + + + + + + + + + + + + + + + + + const stepId = this.id; // or from route/query/etc + + this.getResolvedDataFromStepper(stepId).subscribe(res => { + console.log('response get ', res); + + if (res === null) { + this.showEmptyForm(); + } else { + if (res['Testa']) { + + this.prefillbhjForm(res['Testa']); + } +} + }); + + } +showEmptyForm(): void { + console.log('No config found. Showing empty form.'); + // You can choose to show one or both based on some logic + + this.TestaentryForm.reset(); + } prefillbhjForm(data: any): void { + + console.log(' bhj data ', data) + this.TestaentryForm.patchValue({ + id: data.id || '', +name: data.name || '', + +description: data.description || '', + +gender: data.gender || '', + + + + +b: data.b || '', + + + + +f: data.f || '', + + + +qrcode_field: data.qrcode_field || '', + +number_field: data.number_field || '', + +textarea: data.textarea || '', + +date_field: data.date_field || '', + +email_field: data.email_field || '', + +datetime_field: data.datetime_field || '', + +toggle_switch: data.toggle_switch || '', + +decimal_field: data.decimal_field || '', + +imageupload_field: data.imageupload_field || '', + + }); + } + getResolvedDataFromStepper(id: number): Observable { + console.log('get step config'); + + return new Observable(observer => { + this.mainService.gettabledata(id).subscribe(configList => { + if (!configList || configList.length === 0) { + console.log('empty config'); + observer.next(null); + observer.complete(); + return; + } + + const results: { [key: string]: any } = {}; + let processed = 0; + + configList.forEach(config => { + const { table_name, table_id } = config; + + this.getByTableNameAndId(table_name, table_id).subscribe(data => { + + console.log('data is ', data); + results[table_name] = data; + + processed++; + if (processed === configList.length) { + observer.next(results); // emit combined data + observer.complete(); + } + + }, error => { + console.error(`Error loading data for table ${table_name}`, error); + processed++; + if (processed === configList.length) { + observer.next(results); // continue with what we have + observer.complete(); + } + }); + }); + + }, error => { + console.error("Error loading stepper config", error); + observer.error(error); + }); + }); + } + + + + getByTableNameAndId(tableName: string, id: number): Observable { + + switch (tableName) { + case 'Testa': + return this.mainService.getTestaById(id);// aur bhi cases agar naye table add ho to + default: + throw new Error(`Unknown table name: ${tableName}`); + } + } + // Change to Horizontal Layout + changeToHorizonTal() { + this.layout = { + direction: "horizontal", + block1: "clr-col-lg-12 clr-col-12 height container", + block2: "clr-col-lg-12 clr-col-12 container", + } + } + // Change to Vertical Layout + changeToVertical() { + this.layout = { + direction: "vertical", + block1: "clr-col-lg-3 clr-col-12 ", + block2: "clr-col-lg-9 clr-col-12 ", + } + } + + + + onbhjSave() { + console.log('Form Submitted:', this.TestaentryForm.value); + this.submitted = true; + if (this.TestaentryForm.invalid) { + + console.log('invalid form ..'); + // Log all form errors + Object.keys(this.TestaentryForm.controls).forEach(field => { + const control = this.TestaentryForm.get(field); + if (control && control.invalid) { + console.log(`Error in field: ${field}`, control.errors); + } + } + ); + return; + } + this.onbhjCreate(); + } + + onbhjCreate() { + + + + + + + + + + + + + + + + + + + + + + + + + + + this.mainService.createTesta(this.TestaentryForm.value).subscribe( + (data) => { + console.log('adding data ', data); + this.customerId = data.id; + + console.log('id is ', this.customerId); + + + const tableId = data.id; + const tableName = 'Testa'; + const stepperId = this.id; + + // Save stepper config + this.mainService.saveStepperConfig(stepperId, tableId, tableName).subscribe(() => { + this.toastr.success("Stepper Config Saved"); + }); if (data || data.status >= 200 && data.status <= 299) { + this.toastr.success("Added Successfully"); + } + setTimeout(() => { + this.ngOnInit(); + }, 500); + + + + + + + + + + + + + + + + + + + + + + + + +for (let i = 0; i < this.selectedimageupload_field.length; i++){ + + this.mainService.uploadImageupload_field(data.id,tableName,this.selectedimageupload_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"); + } + }); + this.rowSelected = this.TestaentryForm.value; + + setTimeout(() => { + this.ngOnInit(); + }, 500); + } + + + onnext() { + this.router.navigate(["../../main/workflow"], { relativeTo: this.route }); + } + reset() { + this.json = ""; + this.luisApp = + { + name: '', + trained: 1, + tested: 1, + updated: 1, + published: 1, + created: 1, + + }; + + this.timelineStyle = { + step0: { state: "current", open: true, failed: false }, + step1: { state: "not-started", open: false, failed: false }, + }; + } + current() { + console.log(this.timelineStyle) + this.stringJson = JSON.stringify(this.timelineStyle); + console.log("String json object :", this.stringJson); + + } + + +rsModaldescription = false; +goToReplaceStringdescription(row){ +this.rowSelected = row; this.rsModaldescription =true; } + +updategender (gender : string): void { + this.TestaentryForm.get('gender').setValue(gender); } + +updategenderEdit(gender : string): void { this.rowSelected.gender = gender } + ; + + + + + + + +rsModaltextarea = false; +goToReplaceStringtextarea(row){ +this.rowSelected = row; this.rsModaltextarea =true; } + + + +isValidemail_field(email: string): boolean { + const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; + return emailPattern.test(email); } + + + + + + + +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); + }) + } + } + + + + + + + + + + + + + + + + + + + + + + + + + +FileDataImageupload_field: any[]; + selectedImageupload_field: any[]; + +// updateaction +} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.service.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.service.ts new file mode 100644 index 0000000..0a70385 --- /dev/null +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/BuilderComponents/stepperworkflow/stres/stres.service.ts @@ -0,0 +1,85 @@ +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 stresservice{ + private StepperURL = "Stepper_table_config/Stepper_table_config"; + private TestaURL = "Testa/Testa" ; constructor( + private http: HttpClient, + private apiRequest: ApiRequestService, + ) { } +gettabledata(id: number): Observable { + const _http = this.StepperURL + "/stepId/" + id; + return this.apiRequest.get(_http); + } + + saveStepperConfig(stepperId: number, tableId: number, tableName: string): Observable { + const params = new HttpParams() + .set('stepperId', stepperId.toString()) + .set('tableId', tableId.toString()) + .set('tableName', tableName); + + return this.apiRequest.post(this.StepperURL, null, params); // null body, params used + } getAllTesta(page?: number, size?: number): Observable { + return this.apiRequest.get(this.TestaURL); + } + getTestaById(id: number): Observable { + const _http = this.TestaURL + "/" + id; + return this.apiRequest.get(_http); + } + createTesta(data: any): Observable { + return this.apiRequest.post(this.TestaURL, data); + } + updateTesta(id: number, data: any): Observable { + const _http = this.TestaURL + "/" + id; + return this.apiRequest.put(_http, data); + } + deleteTesta(id: number): Observable { + const _http = this.TestaURL + "/" + id; + return this.apiRequest.delete(_http); + } + + + + + + + + + + + + + + + + + + + + + + + + + uploadImageupload_field(ref:any, Testa:any, file:any): Observable{ + const formData = new FormData(); + formData.append('file', file); + return this.apiRequest.postFormData(`FileUpload/Uploadeddocs/${ref}/${Testa}`, formData); + } + + uploadImageupload_fieldgetById(ref:any, Testa:any,): Observable { + return this.apiRequest.get(`FileUpload/Uploadeddocs/${ref}/${Testa}`); + } + + + uploadImageupload_fielddelete(id: number): Observable { + return this.apiRequest.delete(`FileUpload/Uploadeddocs/${id}`); + } + +// updateaction +} \ No newline at end of file diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts index 7377c69..84f1760 100644 --- a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main-routing.module.ts @@ -1,3 +1,5 @@ +import { stresComponent } from './BuilderComponents/stepperworkflow/stres/stres.component'; +import { TestaComponent } from './BuilderComponents/basicp1/Testa/Testa.component'; import { SequencegenaratorComponent } from './fnd/sequencegenarator/sequencegenarator.component'; import { Component, NgModule } from '@angular/core'; @@ -256,6 +258,12 @@ const routes: Routes = [ // buildercomponents +{path:'stres/:id',component:stresComponent}, + + +{path:'Testa',component:TestaComponent}, + + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts index ecbab3d..a02fc84 100644 --- a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/app/modules/main/main.module.ts @@ -1,3 +1,5 @@ +import { stresComponent } from './BuilderComponents/stepperworkflow/stres/stres.component'; +import { TestaComponent } from './BuilderComponents/basicp1/Testa/Testa.component'; import { CommonModule } from '@angular/common'; @@ -129,6 +131,12 @@ import { Stepper_workflowComponent } from './BuilderComponents/stepperworkflow/S // buildercomponents +stresComponent, + + +TestaComponent, + + diff --git a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json index ee15955..e167580 100644 --- a/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json +++ b/teststeppermultiple-frontsm-f/authsec_angular/frontend/angular-clarity-master/src/assets/i18n/en.json @@ -226,10 +226,19 @@ "MENU_ACTION_LINK": "Menu Action Link", "STATUS": "Status", "SUB_MENU": "Sub Menu", - "Active": "Active", + "Testa": "Testa", + "b": "b", "Description": "Description", - "Fileupload_Field": "Fileupload_Field", - "Test22": "Test22", - "Test11": "Test11", - "Name": "Name" + "gender": "gender", + "Toggle_Switch": "Toggle_Switch", + "f": "f", + "Number_Field": "Number_Field", + "QRCode_Field": "QRCode_Field", + "Datetime_Field": "Datetime_Field", + "Email_Field": "Email_Field", + "Name": "Name", + "Textarea": "Textarea", + "Imageupload_Field": "Imageupload_Field", + "Date_Field": "Date_Field", + "Decimal_Field": "Decimal_Field" } \ No newline at end of file