Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.08 KB | None | 0 0
  1. private fineUploader: FineUploaderBasic;
  2. private fineUploaderOptions: UIOptions;
  3.  
  4. ngOnInit() {
  5. this.dialogRef.updateSize('80%', '80%');
  6.  
  7. this.fineUploaderOptions = {
  8. validation: {
  9. allowedExtensions: ['jpg', 'jpeg', 'png', 'bpm', 'gif'],
  10. sizeLimit: 50 * 1024 * 1024, // 50 KB
  11. },
  12. element: this.elementRef.nativeElement.querySelector('[fine-uploader]')
  13. };
  14. this.fineUploader = new FineUploaderBasic(this.fineUploaderOptions);
  15. this.fineUploader.setEndpoint('/api/User/UploadImage');
  16. }
  17.  
  18. /// <reference types="fine-uploader" />
  19. import { Component, Inject, ElementRef } from '@angular/core';
  20. import { MdDialog, MdDialogRef, MD_DIALOG_DATA, MdInputModule, MdSlideToggleModule } from '@angular/material';
  21. import { UserModel } from 'app/models/user-model';
  22. import { FormGroup, FormBuilder, Validators, ValidatorFn, AbstractControl, FormControl } from '@angular/forms';
  23. import { FineUploaderBasic } from 'fine-uploader/lib/core';
  24. import { UIOptions } from 'fine-uploader';
  25.  
  26. @Component({
  27. selector: 'user-dialog',
  28. templateUrl: 'user-dialog.component.html',
  29. styleUrls: ['./user-dialog.component.css']
  30. })
  31. export class UserDialogComponent {
  32. constructor(public dialogRef: MdDialogRef<UserDialogComponent>,
  33. @Inject(MD_DIALOG_DATA) public data: any,
  34. private elementRef: ElementRef,
  35. private formBuilder: FormBuilder) {
  36. this.createForm();
  37. }
  38.  
  39. ngOnInit() {
  40. this.dialogRef.updateSize('80%', '80%');
  41.  
  42. this.fineUploaderOptions = {
  43. validation: {
  44. allowedExtensions: ['jpg', 'jpeg', 'png', 'bpm', 'gif'],
  45. sizeLimit: 50 * 1024 * 1024, // 50 KB
  46. },
  47. element: this.elementRef.nativeElement.querySelector('[fine-uploader]')
  48. };
  49. this.fineUploader = new FineUploaderBasic(this.fineUploaderOptions);
  50. this.fineUploader.setEndpoint('/api/User/UploadImage');
  51. }
  52.  
  53. private fineUploader: FineUploaderBasic;
  54. private fineUploaderOptions: UIOptions;
  55. private model: UserModel = new UserModel();
  56. private userForm: FormGroup;
  57.  
  58. private passwordMatchValidator() {
  59. if (!this.userForm) return null;
  60. if ((this.userForm.get('Id').value > 0 || this.userForm.get('PasswordChange')) &&
  61. this.userForm.get('Password').value !== this.userForm.get('PasswordConfirm').value)
  62. return { NotEqual: true };
  63. }
  64.  
  65. createForm(): void {
  66. this.userForm = this.formBuilder.group({
  67. Id: [0, Validators.required],
  68. FullName: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(50)]],
  69. Username: ['', Validators.required],
  70. Password: ['', [Validators.minLength(2)]],
  71. PasswordConfirm: ['', [this.passwordMatchValidator.bind(this)]],
  72. PasswordChange: false,
  73. Email: ['', [Validators.required, Validators.email]],
  74. IsAdmin: [false, Validators.required],
  75. LanguageId: [1, Validators.required],
  76. StatusId: [1, Validators.required],
  77. ImagePath: ''
  78. });
  79. }
  80.  
  81. onSubmit() {
  82.  
  83. }
  84.  
  85. cancelButtonOnClick() {
  86. this.dialogRef.close();
  87. }
  88. }
  89.  
  90. <div class="container" style="direction:rtl;">
  91. <h4>مشخصات ...</h4>
  92. <hr />
  93. <form [formGroup]="userForm" (ngSubmit)="onSubmit()" novalidate>
  94. <input type="hidden" formControlName="Id" />
  95. <div class="row">
  96. <div class="col-sm-6">
  97. <md-form-field>
  98. <input mdInput type="text" i18n-placeholder placeholder="نام نام خانوادگی" formControlName="FullName" />
  99. </md-form-field>
  100. </div>
  101. <div class="col-sm-6">
  102. <md-form-field>
  103. <input mdInput type="text" i18n-placeholder placeholder="نام کاربری" formControlName="Username" style="direction: ltr;" />
  104. </md-form-field>
  105. </div>
  106. </div>
  107. <div class="row">
  108. <div class="col-sm-6">
  109. <md-form-field>
  110. <input mdInput type="email" i18n-placeholder placeholder="پست الکترونیک" formControlName="Email" style="direction: ltr;"
  111. />
  112. </md-form-field>
  113. </div>
  114. </div>
  115. <div class="row">
  116. <div class="col-sm-6">
  117. <md-slide-toggle i18n formControlName="IsAdmin">کاربر مدیر است؟</md-slide-toggle>
  118. </div>
  119. <div class="col-sm-6" *ngIf="userForm.get('Id').value > 0">
  120. <md-slide-toggle i18n formControlName="PasswordChange">رمز عبور تغییر داده شود</md-slide-toggle>
  121. </div>
  122. </div>
  123. <div class="row" *ngIf="userForm.get('PasswordChange').value || userForm.get('Id').value <= 0">
  124. <div class="col-sm-6">
  125. <md-form-field>
  126. <input mdInput type="password" i18n-placeholder placeholder="رمز عبور" formControlName="Password" required style="direction: ltr;"
  127. />
  128. </md-form-field>
  129. </div>
  130. <div class="col-sm-6">
  131. <md-form-field>
  132. <input mdInput type="password" i18n-placeholder placeholder="تکرار رمز عبور" formControlName="PasswordConfirm" style="direction: ltr;"
  133. />
  134. </md-form-field>
  135. </div>
  136. </div>
  137. <div class="row">
  138. <div class="col-sm-6">
  139. <div fine-uploader>Uploader Container</div>
  140. </div>
  141. </div>
  142. <hr />
  143. <button md-button i18n type="submit" [disabled]="!userForm.valid">ثبت</button>
  144. <button md-button i18n type="button" (click)="cancelButtonOnClick()">انصراف</button>
  145. </form>
  146. </div>
  147.  
  148. <script type="text/template" id="qq-template">
  149. <div class="qq-uploader-selector qq-uploader" qq-drop-area-text="Drop files here">
  150. <div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
  151. <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
  152. </div>
  153. <div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
  154. <span class="qq-upload-drop-area-text-selector"></span>
  155. </div>
  156. <div class="qq-upload-button-selector qq-upload-button">
  157. <div>Upload a file</div>
  158. </div>
  159. <span class="qq-drop-processing-selector qq-drop-processing">
  160. <span>Processing dropped files...</span>
  161. <span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
  162. </span>
  163. <ul class="qq-upload-list-selector qq-upload-list" aria-live="polite" aria-relevant="additions removals">
  164. <li>
  165. <div class="qq-progress-bar-container-selector">
  166. <div role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" class="qq-progress-bar-selector qq-progress-bar"></div>
  167. </div>
  168. <span class="qq-upload-spinner-selector qq-upload-spinner"></span>
  169. <span class="qq-upload-file-selector qq-upload-file"></span>
  170. <span class="qq-edit-filename-icon-selector qq-edit-filename-icon" aria-label="Edit filename"></span>
  171. <input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
  172. <span class="qq-upload-size-selector qq-upload-size"></span>
  173. <button type="button" class="qq-btn qq-upload-cancel-selector qq-upload-cancel">Cancel</button>
  174. <button type="button" class="qq-btn qq-upload-retry-selector qq-upload-retry">Retry</button>
  175. <button type="button" class="qq-btn qq-upload-delete-selector qq-upload-delete">Delete</button>
  176. <span role="status" class="qq-upload-status-text-selector qq-upload-status-text"></span>
  177. </li>
  178. </ul>
  179.  
  180. <dialog class="qq-alert-dialog-selector">
  181. <div class="qq-dialog-message-selector"></div>
  182. <div class="qq-dialog-buttons">
  183. <button type="button" class="qq-cancel-button-selector">Close</button>
  184. </div>
  185. </dialog>
  186.  
  187. <dialog class="qq-confirm-dialog-selector">
  188. <div class="qq-dialog-message-selector"></div>
  189. <div class="qq-dialog-buttons">
  190. <button type="button" class="qq-cancel-button-selector">No</button>
  191. <button type="button" class="qq-ok-button-selector">Yes</button>
  192. </div>
  193. </dialog>
  194.  
  195. <dialog class="qq-prompt-dialog-selector">
  196. <div class="qq-dialog-message-selector"></div>
  197. <input type="text">
  198. <div class="qq-dialog-buttons">
  199. <button type="button" class="qq-cancel-button-selector">Cancel</button>
  200. <button type="button" class="qq-ok-button-selector">Ok</button>
  201. </div>
  202. </dialog>
  203. </div>
  204. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement