first commit
This commit is contained in:
		
						commit
						585dd9d09d
					
				
							
								
								
									
										627
									
								
								Basicp3/Basicp3.component.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										627
									
								
								Basicp3/Basicp3.component.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,627 @@ | ||||
| <ol class="breadcrumb breadcrumb-arrow font-trirong"> | ||||
|   <li><a href="javascript://"> Basicp3</a></li> | ||||
| </ol> | ||||
| <div class="dg-wrapper"> | ||||
|   <div class="clr-row"> | ||||
|     <div class="clr-col-8"> | ||||
|       <h3>Basicp3 </h3> | ||||
|     </div> | ||||
|     <div class="clr-col-4" style="text-align: right;"> | ||||
|  <button *ngIf="cardButton" id="add" class="btn btn-primary btn-icon" (click)="changeView()" > | ||||
|         <clr-icon *ngIf="!isCardview" shape="grid-view"></clr-icon>    <clr-icon *ngIf="isCardview" shape="bars"></clr-icon> | ||||
|       </button> | ||||
|         <!-- button --> | ||||
|      <button id="add" class="btn btn-primary" (click)="goToAdd(product)" > | ||||
|         <clr-icon shape="plus"></clr-icon>ADD | ||||
|       </button> | ||||
|     </div></div> | ||||
|   <ng-container *ngIf="!isCardview">   <!-- GET ALL -->     <clr-datagrid [clrDgLoading]="loading" [(clrDgSelected)]="selected"> | ||||
|     <clr-dg-placeholder> | ||||
|         <ng-template #loadingSpinner> | ||||
|             <clr-spinner>Loading ... </clr-spinner> | ||||
|         </ng-template> | ||||
|         <div *ngIf="error;else loadingSpinner">{{error}}</div> | ||||
|     </clr-dg-placeholder> | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'toggle_switch'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Toggle Switch | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'toggle_switch2'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Toggle Switch2 | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
|  <clr-dg-column [clrDgField]="'url_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Url Field | ||||
| 						 </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
|  <clr-dg-column [clrDgField]="'url_field2'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Url Field2 | ||||
| 						 </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'decimal_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Decimal Field | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'decimal_field2'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Decimal Field2 | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'percentage_field'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Percentage Field | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'percentage_field2'"> <ng-container *clrDgHideableColumn="{hidden: false}"> Percentage Field2 | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'documentsequenc'"> <ng-container *clrDgHideableColumn="{hidden: false}"> documentsequenc | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'recaptcha'"> <ng-container *clrDgHideableColumn="{hidden: false}"> recaptcha | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-column [clrDgField]="'recaptcha2'"> <ng-container *clrDgHideableColumn="{hidden: false}"> recaptcha2 | ||||
| 						    </ng-container></clr-dg-column> | ||||
| 
 | ||||
|   | ||||
|  <!-- who column --> | ||||
|       <clr-dg-column> <ng-container *clrDgHideableColumn="{hidden: false}"> | ||||
|         <clr-icon shape="bars"></clr-icon> Action | ||||
|       </ng-container></clr-dg-column> | ||||
|       <!-- end -->  | ||||
| 
 | ||||
|  <clr-dg-row *clrDgItems="let user of product" [clrDgItem]="user"> | ||||
| 
 | ||||
| <clr-dg-cell>{{user.toggle_switch }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.toggle_switch2 }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell (click)="goTourl_fieldUrl(user.url_field)" style="cursor: pointer; color: rgb(108, 108, 194);">{{user.url_field}}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell (click)="goTourl_field2Url(user.url_field2)" style="cursor: pointer; color: rgb(108, 108, 194);">{{user.url_field2}}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.decimal_field }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.decimal_field2 }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.percentage_field }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.percentage_field2 }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.documentsequenc }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.recaptcha }}</clr-dg-cell> | ||||
| 
 | ||||
| 
 | ||||
| <clr-dg-cell>{{user.recaptcha2 }}</clr-dg-cell> | ||||
| 
 | ||||
|   | ||||
|   <!-- who column --> | ||||
| <clr-dg-cell> | ||||
|   <clr-signpost> | ||||
|    <span style="cursor: pointer;" clrSignpostTrigger><clr-icon shape="help" class="success" style="color: rgb(0, 130, 236);"></clr-icon></span> | ||||
|    <clr-signpost-content [clrPosition]="'left-middle'" *clrIfOpen> | ||||
|      <h5 style="margin-top: 0">Who Column</h5> | ||||
|            <div>Account ID: <code class="clr-code">{{user.accountId}}</code></div> | ||||
|            <div>Created At: <code class="clr-code">{{user.createdAt| date}}</code></div> | ||||
|            <div>Created By: <code class="clr-code">{{user.createdBy}}</code></div> | ||||
|            <div>Updated At: <code class="clr-code">{{user.updatedAt | date}}</code></div> | ||||
|            <div>Updated By: <code class="clr-code">{{user.updatedBy}}</code></div> | ||||
|    </clr-signpost-content> | ||||
|  </clr-signpost> | ||||
|  </clr-dg-cell> | ||||
|   | ||||
|  <!-- who colmn -->  | ||||
|   | ||||
|  <clr-dg-action-overflow> | ||||
|         <button class="action-item" (click)="onEdit(user)">Edit</button> | ||||
|         <button class="action-item" (click)="onDelete(user)">Delete</button> | ||||
|       </clr-dg-action-overflow> | ||||
|          </clr-dg-row> | ||||
|     <clr-dg-footer> | ||||
|       <clr-dg-pagination #pagination [clrDgPageSize]="10"> | ||||
|         <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size> | ||||
|         {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} | ||||
|         of {{pagination.totalItems}} users | ||||
|       </clr-dg-pagination> | ||||
|     </clr-dg-footer> | ||||
|   </clr-datagrid> </ng-container> | ||||
| <ng-template #showInfo> | ||||
|   <div class="alert alert-info" role="alert"> | ||||
|       <div class="alert-items"> | ||||
|           <div class="alert-item static"> | ||||
|               <span class="alert-text"> | ||||
|                 <clr-icon class="alert-icon" shape="info-circle"></clr-icon> | ||||
|                     Data could be found. Loading.. | ||||
|                   <clr-spinner [clrMedium]="true">Loading ...</clr-spinner> | ||||
|               </span> | ||||
|           </div> | ||||
|       </div> | ||||
|   </div> | ||||
| </ng-template><ng-container *ngIf="isCardview"> | ||||
|   <div *ngIf="product; else showInfo" class="clr-row clr-align-items-start clr-justify-content-start"> | ||||
|     <div *ngFor="let app of product| filter:search; let index = i" class="clr-col-auto" > | ||||
|       <div class="clr-row"> | ||||
|         <div class="clr-col-lg-12 clr-col-md-4 clr-col-sm-4 clr-col-12" style="width: 410px;"> | ||||
|   <div class="card" style="padding: 10px; "[style.background-color]="cardmodal.cardColor !== '' ? cardmodal.cardColor : 'white'"> | ||||
|     <div class="card-body" style="display: grid; grid-template-columns: repeat(13, 1fr); grid-template-rows: repeat(7, 1fr); gap: 5px;"> | ||||
|       <ng-container *ngFor="let item of dashboardArray"> | ||||
|         <div [style.gridColumn]="item.x + 1" [style.gridRow]="item.y + 1" [style.gridColumnEnd]="item.x + item.cols + 1" | ||||
|           [style.gridRowEnd]="item.y + item.rows + 1"> | ||||
|           <div *ngIf="item.name === 'textField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"     	 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|            {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] }} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'dateField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ] | date}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
|           <div *ngIf="item.name === 'numberField'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"			 [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor"> | ||||
|           {{beforeText(item.fieldtext)}} | ||||
|           {{ app[transform(item.fieldtext) ]}} | ||||
|           {{afterText(item.fieldtext)}} | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name === 'Line'" class="title-card card-title" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'"> | ||||
|           <hr> | ||||
|           </div> | ||||
| 
 | ||||
|            | ||||
|           <div *ngIf="item.name === 'Icon'" class="icon-card" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           > | ||||
|             <clr-icon [attr.shape]="item.iconName"></clr-icon> | ||||
|           </div> | ||||
| 
 | ||||
|           <div *ngIf="item.name == 'Image'" | ||||
|           [style.text-align]="item.alignment !== '' ? item.alignment : 'left'" | ||||
|           [style.line-height]="item.textlineheight !== '' ? item.textlineheight : '1'" | ||||
|           [style.font-family]="item.fontName !== '' ? item.fontName : 'Metropolis'" | ||||
|           [style.font-size]="item.fontSize !== '' ? item.fontSize : '100%'" | ||||
|           [style.font-style]="item.italic == true ? 'Italic' : 'normal'" | ||||
|           [style.font-weight]="item.bold == true ? 'bold' : 'normal'" [style.text-decoration]="(item.underline && item.strikethough) ? 'underline line-through' :  | ||||
|           (item.underline ? 'underline' : (item.strikethough ? 'line-through' : 'none'))" | ||||
|           [style.background-color]="item.backgroundcolor !== '' ? item.backgroundcolor : 'white'" | ||||
|           [style.color]="item.textcolor !== '' ? item.textcolor : 'black'" | ||||
|           [style.background-color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditionbackgroundcolor : item.backgroundcolor" | ||||
|           [style.color]="item.conditionValue ==  app[transform(item.fieldtext) ] ? item.conditiontextcolor : item.textcolor">			 <img id="filePreview" [src]="item.imageURL" alt="File Preview" | ||||
|             [style.width]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'" | ||||
|             [style.height]="item.imagewidth !== '' ? item.imagewidth + 'px' : '100px'"></div> | ||||
|         </div> | ||||
|       </ng-container> | ||||
|     </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </div> | ||||
|   </ng-container> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!-- //		EDIT DATA......... --> | ||||
| <clr-modal [(clrModalOpen)]="modalEdit" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Update Basicp3 | ||||
|  <!--update button --> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| </h3> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
| <!-- button --> | ||||
|     <form > | ||||
| <div class="clr-row">  | ||||
| <div class="clr-col-sm-12">  | ||||
| <label> Toggle Switch</label>  | ||||
| <input type="checkbox" name="toggle_switch" clrToggle [(ngModel)]="rowSelected.toggle_switch" /> </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">  | ||||
| <label> Toggle Switch2</label>  | ||||
| <input type="checkbox" name="toggle_switch2" clrToggle [(ngModel)]="rowSelected.toggle_switch2" /> </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">          | ||||
| <label> Url Field</label> | ||||
| 	        <input type="url" name="url_field" [(ngModel)]="rowSelected.url_field" placeholder="Enter URL" class="clr-input" pattern="https?://.+"> | ||||
| 	        <div *ngIf="!isValidurl_field(rowSelected.url_field )" class="error_mess">  * Please enter a valid URL.         </div>     </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">          | ||||
| <label> Url Field2</label> | ||||
| 	        <input type="url" name="url_field2" [(ngModel)]="rowSelected.url_field2" placeholder="Enter URL" class="clr-input" pattern="https?://.+"> | ||||
| 	        <div *ngIf="!isValidurl_field2(rowSelected.url_field2 )" class="error_mess">  * Please enter a valid URL.         </div>     </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">         | ||||
| <label> Decimal Field</label> | ||||
|           <input  class="clr-input" type="number" step ="0.01" [(ngModel)]="rowSelected.decimal_field" name="decimal_field" /> </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">         | ||||
| <label> Decimal Field2</label> | ||||
|           <input  class="clr-input" type="number" step ="0.01" [(ngModel)]="rowSelected.decimal_field2" name="decimal_field2" /> </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Percentage Field</label> | ||||
| 	        <input id="name" class="clr-input"  type="number" [(ngModel)]="rowSelected.percentage_field" name="percentage_field" /> | ||||
| 	      </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">        | ||||
| <label>Percentage Field2</label> | ||||
| 	        <input id="name" class="clr-input"  type="number" [(ngModel)]="rowSelected.percentage_field2" name="percentage_field2" /> | ||||
| 	      </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
|  <label> recaptcha</label>   <div><b>{{ recaptchaCode }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha()"> | ||||
| <clr-icon shape="refresh"></clr-icon>   </button></div> | ||||
| 	            <input type="text" name="recaptcha" [(ngModel)]="rowSelected.recaptcha" (ngModelChange)="checkrecaptchaEdit()" class="clr-input"> | ||||
| 	            <div *ngIf=" recaptchaMismatch" class="error_mess"> | ||||
| 	              <div class="error_mess"> recaptcha  not valid.</div> | ||||
| 	            </div>          | ||||
| </div>  | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
|  <label> recaptcha2</label>   <div><b>{{ recaptcha2Code }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha2()"> | ||||
| <clr-icon shape="refresh"></clr-icon>   </button></div> | ||||
| 	            <input type="text" name="recaptcha2" [(ngModel)]="rowSelected.recaptcha2" (ngModelChange)="checkrecaptcha2Edit()" class="clr-input"> | ||||
| 	            <div *ngIf=" recaptcha2Mismatch" class="error_mess"> | ||||
| 	              <div class="error_mess"> recaptcha2  not valid.</div> | ||||
| 	            </div>          | ||||
| </div>  | ||||
| 
 | ||||
|   </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <!-- form code start --> | ||||
|   <div *ngIf="checkFormCode"> | ||||
|     <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|     <br> | ||||
|     <hr> | ||||
|     <div class="clr-row"> | ||||
|       <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|         <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|           <!-- Text Input -->    <label  *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'text'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]" class="clr-input" /> | ||||
|    | ||||
|           <!-- Date Input -->    <label  *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|           <input *ngSwitchCase="'date'" [type]="field.fieldType"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-input" /> | ||||
|    | ||||
|           <!-- Textarea -->    <label  *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|           <textarea *ngSwitchCase="'textarea'"  name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  col="10" row="2"></textarea> | ||||
|    | ||||
|           <!-- Checkbox -->    <label  *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|           <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" name="{{ field.extValue }}" [(ngModel)]="rowSelected[field.extValue]"  class="clr-checkbox" /> | ||||
|         </ng-container> | ||||
|   </div> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|   <!-- form code end -->  <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modalEdit = false">Cancel</button> | ||||
|       <button type="submit" class="btn btn-primary"  (click)="onUpdate(rowSelected.id)">Update</button> | ||||
|       </div> | ||||
|     </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <clr-modal [(clrModalOpen)]="modaldelete" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <div class="modal-body" *ngIf="rowSelected.id"> | ||||
|     <h1 class="delete">Are You Sure Want to delete?</h1> | ||||
|     <h2 class="heading">{{rowSelected.id}}</h2> | ||||
|     <div class="modal-footer"> | ||||
|       <button type="button" class="btn btn-outline" (click)="modaldelete = false">Cancel</button> | ||||
|     <button type="button" (click)="delete(rowSelected.id)" class="btn btn-primary" >Delete</button> | ||||
|     </div> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| <!-- ADD FORM ..... --> | ||||
| <clr-modal [(clrModalOpen)]="modalAdd" [clrModalSize]="'lg'" [clrModalStaticBackdrop]="true"> | ||||
|   <h3 class="modal-title">Add Basicp3  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   <!-- aeroplane icon --> | ||||
|             | ||||
|     <a *ngIf="userrole?.includes('ADMIN')" style="float: right;" href="javascript:void(0)" role="tooltip" aria-haspopup="true" | ||||
|       class="tooltip tooltip-sm tooltip-bottom-left"> | ||||
|       <a id="build_extension" [routerLink]="['../extension/all']" [queryParams]="{ formCode: 'Basicp3_formCode' }"> | ||||
|         <clr-icon shape="airplane" size="32"></clr-icon> | ||||
|       </a> | ||||
|       <span class="tooltip-content">Form Extension</span> | ||||
|     </a> </h3> | ||||
|   <div class="modal-body"> | ||||
|      <form [formGroup]="entryForm" > | ||||
|    <div class="clr-row" style="height: fit-content;"> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
|  <label> Toggle Switch</label>             | ||||
|   <input type="checkbox" formControlName="toggle_switch" clrToggle/>            </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
|  <label> Toggle Switch2</label>             | ||||
|   <input type="checkbox" formControlName="toggle_switch2" clrToggle/>            </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">         | ||||
| 	 <label> Url Field </label> | ||||
| 		<input type="url" formControlName="url_field" class="clr-input" pattern="https?://.+"> | ||||
| 		<div *ngIf="entryForm.controls['url_field'].errors" class="error_mess">           | ||||
| 			 <div *ngIf="entryForm.controls['url_field'].hasError('pattern')" class="error_mess">    * Please enter a valid URL.</div> | ||||
| 						      </div>     </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">         | ||||
| 	 <label> Url Field2 </label> | ||||
| 		<input type="url" formControlName="url_field2" class="clr-input" pattern="https?://.+"> | ||||
| 		<div *ngIf="entryForm.controls['url_field2'].errors" class="error_mess">           | ||||
| 			 <div *ngIf="entryForm.controls['url_field2'].hasError('pattern')" class="error_mess">    * Please enter a valid URL.</div> | ||||
| 						      </div>     </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">            | ||||
| <label> Decimal Field</label>           | ||||
|  <input type="number" step ="0.01"  formControlName="decimal_field" />  | ||||
|  <div *ngIf="submitted && entryForm.controls.decimal_field.errors" class="error_mess"> | ||||
|   <div *ngIf="submitted && entryForm.controls.decimal_field.errors.required" class="error_mess">*This field is Required</div> | ||||
| </div>  | ||||
|         </div> | ||||
| 
 | ||||
| 
 | ||||
| <div class="clr-col-sm-12">            | ||||
| <label> Decimal Field2</label>           | ||||
|  <input type="number" step ="0.01"  formControlName="decimal_field2" />  | ||||
|  <div *ngIf="submitted && entryForm.controls.decimal_field2.errors" class="error_mess"> | ||||
|   <div *ngIf="submitted && entryForm.controls.decimal_field2.errors.required" class="error_mess">*This field is Required</div> | ||||
| </div>  | ||||
|         </div> | ||||
| 
 | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Percentage Field</label> | ||||
|  <input class="clr-input"  type="number"  formControlName="percentage_field" />       | ||||
|  <div *ngIf="submitted && entryForm.controls.percentage_field.errors" class="error_mess"> | ||||
|   <div *ngIf="submitted && entryForm.controls.percentage_field.errors.required" class="error_mess">*This field is Required</div> | ||||
| </div>   | ||||
|  </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12"> | ||||
|  <label>  Percentage Field2</label> | ||||
|  <input class="clr-input"  type="number"  formControlName="percentage_field2" />       | ||||
|  <div *ngIf="submitted && entryForm.controls.percentage_field2.errors" class="error_mess"> | ||||
|   <div *ngIf="submitted && entryForm.controls.percentage_field2.errors.required" class="error_mess">*This field is Required</div> | ||||
| </div>   | ||||
|  </div> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
| <label> recaptcha</label><div><b>{{ recaptchaCode }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha()"><clr-icon shape="refresh"></clr-icon></button></div> | ||||
| 	            <input type="text" formControlName="recaptcha" class="clr-input">        | ||||
| <div *ngIf="submitted && entryForm.controls.recaptcha?.errors.required" class="error_mess">*This field is Required</div>           | ||||
| <div *ngIf="submitted && entryForm.get('recaptcha')?.errors && entryForm.get('recaptcha')?.dirty" class="error_mess"> | ||||
| 	              <div *ngIf="submitted && entryForm.controls['recaptcha']?.hasError('recaptchaMismatch')" class="error_mess"> recaptcha  not valid.</div> | ||||
| 	            </div>         | ||||
| </div> | ||||
| 
 | ||||
| <div class="clr-col-sm-12">             | ||||
| <label> recaptcha2</label><div><b>{{ recaptcha2Code }}</b>   <button  class="btn btn-icon btn-primary btn-sm" (click)="generaterecaptcha2()"><clr-icon shape="refresh"></clr-icon></button></div> | ||||
| 	            <input type="text" formControlName="recaptcha2" class="clr-input">        | ||||
| <div *ngIf="submitted && entryForm.controls.recaptcha2?.errors.required" class="error_mess">*This field is Required</div>           | ||||
| <div *ngIf="submitted && entryForm.get('recaptcha2')?.errors && entryForm.get('recaptcha2')?.dirty" class="error_mess"> | ||||
| 	              <div *ngIf="submitted && entryForm.controls['recaptcha2']?.hasError('recaptcha2Mismatch')" class="error_mess"> recaptcha2  not valid.</div> | ||||
| 	            </div>         | ||||
| </div> | ||||
| 
 | ||||
|   | ||||
|  </div>  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       <!-- form code start --> | ||||
|       <div *ngIf="checkFormCode"> | ||||
|         <h4 style="font-weight: 300;display: inline;">Extension</h4> | ||||
|         <br> | ||||
|         <hr> | ||||
|         <div class="clr-row"> | ||||
|           <div class="clr-col-4" *ngFor="let field of additionalFieldsFromBackend"> | ||||
|             <ng-container *ngIf="field.formCode === formcode" [ngSwitch]="field.fieldType"> | ||||
|               <!-- Text Input --> <label *ngSwitchCase="'text'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'text'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Date Input --> <label *ngSwitchCase="'date'">{{ field.fieldName }}</label> | ||||
|               <input *ngSwitchCase="'date'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-input" /> | ||||
|               <!-- Textarea --> <label *ngSwitchCase="'textarea'">{{ field.fieldName }}</label> | ||||
|               <textarea *ngSwitchCase="'textarea'" [formControlName]="field.extValue" col="10" row="2"></textarea> | ||||
|               <!-- Checkbox --> <label *ngSwitchCase="'checkbox'">{{ field.fieldName }}</label><br> | ||||
|               <input *ngSwitchCase="'checkbox'" [type]="field.fieldType" [formControlName]="field.extValue" | ||||
|                 class="clr-checkbox" /> | ||||
|             </ng-container> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <!-- form code end --> <div class="modal-footer"> | ||||
| <button type="button" class="btn btn-outline" (click)="modalAdd = false">Cancel</button> | ||||
|         <button type="submit" class="btn btn-primary" (click)="onSubmit()">ADD</button> | ||||
|         </div> | ||||
| </form> | ||||
|   </div> | ||||
| </clr-modal> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   <!-- htmlpopup --> | ||||
							
								
								
									
										85
									
								
								Basicp3/Basicp3.component.scss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								Basicp3/Basicp3.component.scss
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| //@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; | ||||
| } | ||||
| .universal-section-header { | ||||
|   margin: 24px 0 10px 0; | ||||
|   font-weight: 600; | ||||
|   color: #1a237e; | ||||
|   letter-spacing: 0.5px; | ||||
|   font-size: 1.25rem; | ||||
| } | ||||
							
								
								
									
										517
									
								
								Basicp3/Basicp3.component.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										517
									
								
								Basicp3/Basicp3.component.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,517 @@ | ||||
| import { Component, OnInit } from '@angular/core'; | ||||
| import { ToastrService } from 'ngx-toastr'; | ||||
| import { AlertService } from 'src/app/services/alert.service'; | ||||
| import { Basicp3service} from './Basicp3.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 { Basicp3cardvariable } from './Basicp3_cardvariable'; | ||||
| import { UserInfoService } from 'src/app/services/user-info.service'; | ||||
| declare var JsBarcode: any;  | ||||
| @Component({ | ||||
|   selector: 'app-Basicp3', | ||||
|   templateUrl: './Basicp3.component.html', | ||||
|   styleUrls: ['./Basicp3.component.scss'] | ||||
| }) | ||||
| export class Basicp3Component implements OnInit { | ||||
|   cardButton = Basicp3cardvariable.cardButton; | ||||
|   cardmodeldata = Basicp3cardvariable.cardmodeldata; | ||||
|   public dashboardArray: DashboardContentModel2[]; | ||||
|   isCardview = Basicp3cardvariable.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 = 'Basicp3_formCode' | ||||
| tableName = 'Basicp3';  checkFormCode; selected: any[] = []; constructor( | ||||
|     private extensionService: ExtensionService, | ||||
| private userInfoService:UserInfoService, | ||||
|     private mainService:Basicp3service, | ||||
|     private alertService: AlertService, | ||||
|     private toastr: ToastrService, | ||||
|     private _fb: FormBuilder, | ||||
|   ) { } | ||||
|   private editInterval: any; | ||||
| // 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({ | ||||
| toggle_switch : [true], | ||||
| 
 | ||||
| toggle_switch2 : [true], | ||||
| 
 | ||||
| url_field : [null], | ||||
| 
 | ||||
| url_field2 : [null], | ||||
| 
 | ||||
| decimal_field : [null,[Validators.required]], | ||||
| 
 | ||||
| decimal_field2 : [null,[Validators.required]], | ||||
| 
 | ||||
| percentage_field : [null,[Validators.required]], | ||||
| 
 | ||||
| percentage_field2 : [null,[Validators.required]], | ||||
| 
 | ||||
| documentsequenc : [null], | ||||
| 
 | ||||
| recaptcha : ['', [Validators.required,this.checkrecaptcha.bind(this)]], | ||||
| 
 | ||||
| recaptcha2 : ['', [Validators.required,this.checkrecaptcha2.bind(this)]], | ||||
| 
 | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   }); // 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 === "Basicp3_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() | ||||
| 
 | ||||
| this.generaterecaptcha2() | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  ngOnDestroy(): void { | ||||
|     if (this.editInterval) { | ||||
|       clearInterval(this.editInterval); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  error;  | ||||
|   getData() { | ||||
|     this.mainService.getAll().subscribe((data) => { | ||||
|       console.log(data); | ||||
|       this.product = data; | ||||
| this.product = [...this.product].reverse(); if(this.product.length==0){ | ||||
|         this.error="No Data Available" | ||||
|      }    | ||||
|     },(error) => { | ||||
|       console.log(error); | ||||
|       if(error){ | ||||
|        this.error="Server Error"; | ||||
|      } | ||||
|     }); | ||||
|   } | ||||
|   onEdit(row) { | ||||
|     this.rowSelected = row; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     this.modalEdit = true; | ||||
|   } | ||||
|    onDelete(row) { | ||||
|     this.rowSelected = row; | ||||
|      this.modaldelete=true; | ||||
|   } | ||||
|   delete(id) | ||||
|   { | ||||
|     this.modaldelete = false; | ||||
|     console.log("in delete  "+id); | ||||
|     this.mainService.delete(id).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         this.ngOnInit(); | ||||
|   if (data) {				      this.toastr.success('Deleted successfully');      } | ||||
|     }); | ||||
|   } | ||||
|     onUpdate(id) { | ||||
|     this.modalEdit = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     //console.log("in update");
 | ||||
|     console.log("id  " + id); | ||||
|     console.log(this.rowSelected); | ||||
|     //console.log("out update");
 | ||||
|     this.mainService.update(id, this.rowSelected).subscribe( | ||||
|       (data) => { | ||||
|         console.log(data); | ||||
|         if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Update Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("update Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Updated"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   }  | ||||
| onCreate() { | ||||
|      this.modalAdd=false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   this.mainService.create(this.entryForm.value).subscribe( | ||||
|     (data) => { | ||||
|       console.log(data); | ||||
|   if (data || data.status >= 200 && data.status <= 299) { | ||||
|           this.toastr.success("Added Successfully"); | ||||
|         } | ||||
| setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }, (error) => { | ||||
|         console.log(error); | ||||
|         if (error.status >= 200 && error.status <= 299) { | ||||
|           // this.toastr.success("Added Succesfully");
 | ||||
|         } | ||||
|         if (error.status >= 400 && error.status <= 499) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|         if (error.status >= 500 && error.status <= 599) { | ||||
|           this.toastr.error("Not Added"); | ||||
|         } | ||||
|       }); | ||||
|     setTimeout(() => { | ||||
|       this.ngOnInit(); | ||||
|     }, 500); | ||||
|   } | ||||
|   goToAdd(row) { | ||||
| this.modalAdd = true; this.submitted = false; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   } | ||||
|  submitted = false; | ||||
| onSubmit() { | ||||
|   console.log(this.entryForm.value); | ||||
|  this.submitted = true; | ||||
|   if (this.entryForm.invalid) { | ||||
|     return; | ||||
|   }this.onCreate(); | ||||
| 
 | ||||
| }  | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| isValidurl_field(url: string): boolean { | ||||
| 						    return  /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url);   }  | ||||
| 						goTourl_fieldUrl(val){     window.open(val)   } | ||||
| 
 | ||||
| isValidurl_field2(url: string): boolean { | ||||
| 						    return  /^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(url);   }  | ||||
| 						goTourl_field2Url(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;    }  }  | ||||
| 
 | ||||
| recaptcha2Code = '';   | ||||
| generaterecaptcha2 (): void { | ||||
|   const possibleCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; | ||||
|   const codeLength = 6; // Change to desired length
 | ||||
| 
 | ||||
|   let recaptcha2= ''; | ||||
|   for (let i = 0; i < codeLength; i++) { | ||||
|     const randomIndex = Math.floor(Math.random() * possibleCharacters.length); | ||||
|     recaptcha2 += possibleCharacters.charAt(randomIndex); | ||||
|   } | ||||
|   this.recaptcha2Code = recaptcha2; | ||||
| } | ||||
| 
 | ||||
| checkrecaptcha2(control: AbstractControl): ValidationErrors | null { | ||||
|   if (control.value !== this.recaptcha2Code) { | ||||
|     return { recaptcha2Mismatch: true }; | ||||
|   } | ||||
|   return null; | ||||
| }   | ||||
| 
 | ||||
| recaptcha2Mismatch = false;   | ||||
| 
 | ||||
| checkrecaptcha2Edit(): void { | ||||
| 	  if (this.rowSelected.recaptcha2  !== this. recaptcha2Code) { | ||||
| 	  this. recaptcha2Mismatch = true;    } else {      this.recaptcha2Mismatch = false;    }  }  | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
							
								
								
									
										55
									
								
								Basicp3/Basicp3.service.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								Basicp3/Basicp3.service.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| 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 Basicp3service{ | ||||
|   private baseURL = "Basicp3/Basicp3" ;  constructor( | ||||
|     private http: HttpClient, | ||||
|     private apiRequest: ApiRequestService, | ||||
|   ) { } | ||||
|   getAll(page?: number, size?: number): Observable<any> { | ||||
|     return this.apiRequest.get(this.baseURL); | ||||
|   } | ||||
|   getById(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.get(_http); | ||||
|   } | ||||
|   create(data: any): Observable<any> { | ||||
|     return this.apiRequest.post(this.baseURL, data); | ||||
|   } | ||||
|   update(id: number, data: any): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.put(_http, data); | ||||
|   } | ||||
|   delete(id: number): Observable<any> { | ||||
|     const _http = this.baseURL + "/" + id; | ||||
|     return this.apiRequest.delete(_http); | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| // updateaction
 | ||||
| } | ||||
							
								
								
									
										4
									
								
								Basicp3/Basicp3_cardvariable.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								Basicp3/Basicp3_cardvariable.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| export const Basicp3cardvariable = { | ||||
|     "cardButton": false, | ||||
|     "cardmodeldata": `` | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Varun Kaushik
						Varun Kaushik