base_project
This commit is contained in:
		
						commit
						3bfdb63624
					
				| @ -0,0 +1,16 @@ | |||||||
|  | # Editor configuration, see https://editorconfig.org | ||||||
|  | root = true | ||||||
|  | 
 | ||||||
|  | [*] | ||||||
|  | charset = utf-8 | ||||||
|  | indent_style = space | ||||||
|  | indent_size = 2 | ||||||
|  | insert_final_newline = true | ||||||
|  | trim_trailing_whitespace = true | ||||||
|  | 
 | ||||||
|  | [*.ts] | ||||||
|  | quote_type = single | ||||||
|  | 
 | ||||||
|  | [*.md] | ||||||
|  | max_line_length = off | ||||||
|  | trim_trailing_whitespace = false | ||||||
							
								
								
									
										17
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/.github/workflows/blank.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/.github/workflows/blank.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | name: CI | ||||||
|  | 
 | ||||||
|  | on: [push] | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   build: | ||||||
|  | 
 | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v1 | ||||||
|  |     - name: Run a one-line script | ||||||
|  |       run: echo Hello, world! | ||||||
|  |     - name: Run a multi-line script | ||||||
|  |       run: | | ||||||
|  |         echo Add other actions to build, | ||||||
|  |         echo test, and deploy your project. | ||||||
							
								
								
									
										42
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | # See http://help.github.com/ignore-files/ for more about ignoring files. | ||||||
|  | 
 | ||||||
|  | # compiled output | ||||||
|  | /dist | ||||||
|  | /tmp | ||||||
|  | /out-tsc | ||||||
|  | 
 | ||||||
|  | # dependencies | ||||||
|  | /node_modules | ||||||
|  | 
 | ||||||
|  | # IDEs and editors | ||||||
|  | /.idea | ||||||
|  | .project | ||||||
|  | .classpath | ||||||
|  | .c9/ | ||||||
|  | *.launch | ||||||
|  | .settings/ | ||||||
|  | *.sublime-workspace | ||||||
|  | 
 | ||||||
|  | # IDE - VSCode | ||||||
|  | .vscode/* | ||||||
|  | !.vscode/settings.json | ||||||
|  | !.vscode/tasks.json | ||||||
|  | !.vscode/launch.json | ||||||
|  | !.vscode/extensions.json | ||||||
|  | 
 | ||||||
|  | # misc | ||||||
|  | /.angular/cache | ||||||
|  | /.sass-cache | ||||||
|  | /connect.lock | ||||||
|  | /coverage | ||||||
|  | /libpeerconnection.log | ||||||
|  | npm-debug.log | ||||||
|  | yarn-error.log | ||||||
|  | testem.log | ||||||
|  | /typings | ||||||
|  | 
 | ||||||
|  | # System Files | ||||||
|  | .DS_Store | ||||||
|  | Thumbs.db | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
							
								
								
									
										2
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | { | ||||||
|  | } | ||||||
| @ -0,0 +1,52 @@ | |||||||
|  | # Angular-Clarity | ||||||
|  | 
 | ||||||
|  | This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.0.4 [Angular.io](https://angular.io/) version 16.0.4 and [Clarity Design System](https://vmware.github.io/clarity/news) by VMware version 6.4.5/15.5.0 | ||||||
|  | 
 | ||||||
|  | ## Install | ||||||
|  | - clone project `git clone https://github.com/superpck/angular-clarity` | ||||||
|  | - goto project folder `cd angular-clarity` | ||||||
|  | - install necessary package `npm install` | ||||||
|  | - Fix some vulnerabilities (if founded) `npm audit fix --force` | ||||||
|  | - Run application with command `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. | ||||||
|  | - or Run `ng serve --port 8080 --open` with another port and open web browser. | ||||||
|  | 
 | ||||||
|  | ## Code scaffolding | ||||||
|  | 
 | ||||||
|  | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. | ||||||
|  | 
 | ||||||
|  | ## Build | ||||||
|  | 
 | ||||||
|  | - Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. | ||||||
|  | - or `ng build --base-href ./ --prod --output-hashing none` | ||||||
|  | 
 | ||||||
|  | ## Running unit tests | ||||||
|  | 
 | ||||||
|  | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). | ||||||
|  | 
 | ||||||
|  | ## Running end-to-end tests | ||||||
|  | 
 | ||||||
|  | Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). | ||||||
|  | 
 | ||||||
|  | ## Further help | ||||||
|  | 
 | ||||||
|  | To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). | ||||||
|  | 
 | ||||||
|  | ## Screenshot | ||||||
|  | About Page | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | Login Page | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | Datagrid | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | Datagrid expand row and single action | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | Modal | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | sweetalert2 | ||||||
|  |  | ||||||
|  | 
 | ||||||
| @ -0,0 +1,21 @@ | |||||||
|  | # Security Policy | ||||||
|  | 
 | ||||||
|  | ## Supported Versions | ||||||
|  | 
 | ||||||
|  | Use this section to tell people about which versions of your project are | ||||||
|  | currently being supported with security updates. | ||||||
|  | 
 | ||||||
|  | | Version | Supported          | | ||||||
|  | | ------- | ------------------ | | ||||||
|  | | 5.1.x   | :white_check_mark: | | ||||||
|  | | 5.0.x   | :x:                | | ||||||
|  | | 4.0.x   | :white_check_mark: | | ||||||
|  | | < 4.0   | :x:                | | ||||||
|  | 
 | ||||||
|  | ## Reporting a Vulnerability | ||||||
|  | 
 | ||||||
|  | Use this section to tell people how to report a vulnerability. | ||||||
|  | 
 | ||||||
|  | Tell them where to go, how often they can expect to get an update on a | ||||||
|  | reported vulnerability, what to expect if the vulnerability is accepted or | ||||||
|  | declined, etc. | ||||||
| @ -0,0 +1,134 @@ | |||||||
|  | { | ||||||
|  |   "$schema": "./node_modules/@angular/cli/lib/config/schema.json", | ||||||
|  |   "version": 1, | ||||||
|  |   "newProjectRoot": "projects", | ||||||
|  |   "projects": { | ||||||
|  |     "angularclarity": { | ||||||
|  |       "projectType": "application", | ||||||
|  |       "schematics": { | ||||||
|  |         "@schematics/angular:component": { | ||||||
|  |           "style": "scss" | ||||||
|  |         } | ||||||
|  |       }, | ||||||
|  |       "root": "", | ||||||
|  |       "sourceRoot": "src", | ||||||
|  |       "prefix": "app", | ||||||
|  |       "architect": { | ||||||
|  |         "build": { | ||||||
|  |           "builder": "@angular-devkit/build-angular:browser", | ||||||
|  |           "options": { | ||||||
|  |             "outputPath": "dist", | ||||||
|  |             "index": "src/index.html", | ||||||
|  |             "main": "src/main.ts", | ||||||
|  |             "polyfills": "src/polyfills.ts", | ||||||
|  |             "tsConfig": "tsconfig.app.json", | ||||||
|  |             "allowedCommonJsDependencies": [ | ||||||
|  |               "lodash", "xlsx", "file-saver","@swimlane/ngx-datatable","@swimlane/ngx-charts","jquery","highcharts","chart.js", | ||||||
|  |               "clone-deep","@ckeditor/ckeditor5-build-classic","@ctrl/ngx-codemirror" | ||||||
|  |             ], | ||||||
|  |             "assets": [ | ||||||
|  |               "src/favicon.ico", | ||||||
|  |               "src/assets" | ||||||
|  |             ], | ||||||
|  |             "styles": [ | ||||||
|  |               "node_modules/@clr/icons/clr-icons.min.css", | ||||||
|  |               "node_modules/@clr/ui/clr-ui.min.css", | ||||||
|  |               "src/styles.scss", | ||||||
|  |               "node_modules/ngx-toastr/toastr.css" | ||||||
|  |             ], | ||||||
|  |             "scripts": [ | ||||||
|  |               "node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js", | ||||||
|  |               "node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js", | ||||||
|  |               "node_modules/@clr/icons/clr-icons.min.js" | ||||||
|  |             ], | ||||||
|  |             "vendorChunk": true, | ||||||
|  |             "extractLicenses": false, | ||||||
|  |             "buildOptimizer": false, | ||||||
|  |             "sourceMap": true, | ||||||
|  |             "optimization": false, | ||||||
|  |             "namedChunks": true | ||||||
|  |           }, | ||||||
|  |           "configurations": { | ||||||
|  |             "production": { | ||||||
|  |               "fileReplacements": [ | ||||||
|  |                 { | ||||||
|  |                   "replace": "src/environments/environment.ts", | ||||||
|  |                   "with": "src/environments/environment.prod.ts" | ||||||
|  |                 } | ||||||
|  |               ], | ||||||
|  |               "optimization": true, | ||||||
|  |               "outputHashing": "all", | ||||||
|  |               "sourceMap": false, | ||||||
|  |               "namedChunks": false, | ||||||
|  |               "extractLicenses": true, | ||||||
|  |               "vendorChunk": false, | ||||||
|  |               "buildOptimizer": true, | ||||||
|  |               "budgets": [ | ||||||
|  |                 { | ||||||
|  |                   "type": "initial", | ||||||
|  |                   "maximumWarning": "10mb", | ||||||
|  |                   "maximumError": "10mb" | ||||||
|  |                 }, | ||||||
|  |                 { | ||||||
|  |                   "type": "anyComponentStyle", | ||||||
|  |                   "maximumWarning": "200kb", | ||||||
|  |                   "maximumError": "4mb" | ||||||
|  |                 } | ||||||
|  |               ] | ||||||
|  |             } | ||||||
|  |           }, | ||||||
|  |           "defaultConfiguration": "" | ||||||
|  |         }, | ||||||
|  |         "serve": { | ||||||
|  |           "builder": "@angular-devkit/build-angular:dev-server", | ||||||
|  |           "options": { | ||||||
|  |             "browserTarget": "angularclarity:build" | ||||||
|  |           }, | ||||||
|  |           "configurations": { | ||||||
|  |             "production": { | ||||||
|  |               "browserTarget": "angularclarity:build:production" | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "extract-i18n": { | ||||||
|  |           "builder": "@angular-devkit/build-angular:extract-i18n", | ||||||
|  |           "options": { | ||||||
|  |             "browserTarget": "angularclarity:build" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "test": { | ||||||
|  |           "builder": "@angular-devkit/build-angular:karma", | ||||||
|  |           "options": { | ||||||
|  |             "main": "src/test.ts", | ||||||
|  |             "polyfills": "src/polyfills.ts", | ||||||
|  |             "tsConfig": "tsconfig.spec.json", | ||||||
|  |             "karmaConfig": "karma.conf.js", | ||||||
|  |             "assets": [ | ||||||
|  |               "src/favicon.ico", | ||||||
|  |               "src/assets" | ||||||
|  |             ], | ||||||
|  |             "styles": [ | ||||||
|  |               "src/styles.scss" | ||||||
|  |             ], | ||||||
|  |             "scripts": [] | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "e2e": { | ||||||
|  |           "builder": "@angular-devkit/build-angular:protractor", | ||||||
|  |           "options": { | ||||||
|  |             "protractorConfig": "e2e/protractor.conf.js", | ||||||
|  |             "devServerTarget": "angularclarity:serve" | ||||||
|  |           }, | ||||||
|  |           "configurations": { | ||||||
|  |             "production": { | ||||||
|  |               "devServerTarget": "angularclarity:serve:production" | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "cli": { | ||||||
|  |     "analytics": "6e7a3b23-d894-47dd-8b4b-7fdeba9a5abd" | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below. | ||||||
|  | # For additional information regarding the format and rule options, please see: | ||||||
|  | # https://github.com/browserslist/browserslist#queries | ||||||
|  | 
 | ||||||
|  | # You can see what browsers were selected by your queries by running: | ||||||
|  | #   npx browserslist | ||||||
|  | 
 | ||||||
|  | > 0.5% | ||||||
|  | last 2 versions | ||||||
|  | Firefox ESR | ||||||
|  | not dead | ||||||
|  | not IE 9-11 # For IE 9-11 support, remove 'not'. | ||||||
| @ -0,0 +1,32 @@ | |||||||
|  | // @ts-check
 | ||||||
|  | // Protractor configuration file, see link for more information
 | ||||||
|  | // https://github.com/angular/protractor/blob/master/lib/config.ts
 | ||||||
|  | 
 | ||||||
|  | const { SpecReporter } = require('jasmine-spec-reporter'); | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * @type { import("protractor").Config } | ||||||
|  |  */ | ||||||
|  | exports.config = { | ||||||
|  |   allScriptsTimeout: 11000, | ||||||
|  |   specs: [ | ||||||
|  |     './src/**/*.e2e-spec.ts' | ||||||
|  |   ], | ||||||
|  |   capabilities: { | ||||||
|  |     browserName: 'chrome' | ||||||
|  |   }, | ||||||
|  |   directConnect: true, | ||||||
|  |   baseUrl: 'http://localhost:4200/', | ||||||
|  |   framework: 'jasmine', | ||||||
|  |   jasmineNodeOpts: { | ||||||
|  |     showColors: true, | ||||||
|  |     defaultTimeoutInterval: 30000, | ||||||
|  |     print: function() {} | ||||||
|  |   }, | ||||||
|  |   onPrepare() { | ||||||
|  |     require('ts-node').register({ | ||||||
|  |       project: require('path').join(__dirname, './tsconfig.json') | ||||||
|  |     }); | ||||||
|  |     jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); | ||||||
|  |   } | ||||||
|  | }; | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | import { AppPage } from './app.po'; | ||||||
|  | import { browser, logging } from 'protractor'; | ||||||
|  | 
 | ||||||
|  | describe('workspace-project App', () => { | ||||||
|  |   let page: AppPage; | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     page = new AppPage(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should display welcome message', () => { | ||||||
|  |     page.navigateTo(); | ||||||
|  |     expect(page.getTitleText()).toEqual('angularclarity app is running!'); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   afterEach(async () => { | ||||||
|  |     // Assert that there are no errors emitted from the browser
 | ||||||
|  |     const logs = await browser.manage().logs().get(logging.Type.BROWSER); | ||||||
|  |     expect(logs).not.toContain(jasmine.objectContaining({ | ||||||
|  |       level: logging.Level.SEVERE, | ||||||
|  |     } as logging.Entry)); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | import { browser, by, element } from 'protractor'; | ||||||
|  | 
 | ||||||
|  | export class AppPage { | ||||||
|  |   navigateTo(): Promise<unknown> { | ||||||
|  |     return browser.get(browser.baseUrl) as Promise<unknown>; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   getTitleText(): Promise<string> { | ||||||
|  |     return element(by.css('app-root .content span')).getText() as Promise<string>; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | { | ||||||
|  |   "extends": "../tsconfig.json", | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "outDir": "../out-tsc/e2e", | ||||||
|  |     "module": "commonjs", | ||||||
|  |     "target": "es5", | ||||||
|  |     "types": [ | ||||||
|  |       "jasmine", | ||||||
|  |       "jasminewd2", | ||||||
|  |       "node" | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,32 @@ | |||||||
|  | // Karma configuration file, see link for more information
 | ||||||
|  | // https://karma-runner.github.io/1.0/config/configuration-file.html
 | ||||||
|  | 
 | ||||||
|  | module.exports = function (config) { | ||||||
|  |   config.set({ | ||||||
|  |     basePath: '', | ||||||
|  |     frameworks: ['jasmine', '@angular-devkit/build-angular'], | ||||||
|  |     plugins: [ | ||||||
|  |       require('karma-jasmine'), | ||||||
|  |       require('karma-chrome-launcher'), | ||||||
|  |       require('karma-jasmine-html-reporter'), | ||||||
|  |       require('karma-coverage-istanbul-reporter'), | ||||||
|  |       require('@angular-devkit/build-angular/plugins/karma') | ||||||
|  |     ], | ||||||
|  |     client: { | ||||||
|  |       clearContext: false // leave Jasmine Spec Runner output visible in browser
 | ||||||
|  |     }, | ||||||
|  |     coverageIstanbulReporter: { | ||||||
|  |       dir: require('path').join(__dirname, './coverage/ang'), | ||||||
|  |       reports: ['html', 'lcovonly', 'text-summary'], | ||||||
|  |       fixWebpackSourcePaths: true | ||||||
|  |     }, | ||||||
|  |     reporters: ['progress', 'kjhtml'], | ||||||
|  |     port: 9876, | ||||||
|  |     colors: true, | ||||||
|  |     logLevel: config.LOG_INFO, | ||||||
|  |     autoWatch: true, | ||||||
|  |     browsers: ['Chrome'], | ||||||
|  |     singleRun: false, | ||||||
|  |     restartOnFileChange: true | ||||||
|  |   }); | ||||||
|  | }; | ||||||
							
								
								
									
										14862
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										14862
									
								
								test5julyrrr-front-f/authsec_angular/frontend/angular-clarity-master/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -0,0 +1,89 @@ | |||||||
|  | { | ||||||
|  |   "name": "angular-clarity", | ||||||
|  |   "version": "16.0.4", | ||||||
|  |   "subVersion": "2023.06.02-01", | ||||||
|  |   "scripts": { | ||||||
|  |     "ng": "ng", | ||||||
|  |     "start": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng serve --port 4201 -o", | ||||||
|  |     "start:https": "ng serve --port 4201 --ssl -o", | ||||||
|  |     "build-prod": "node --max_old_space_size=64384  ./node_modules/@angular/cli/bin/ng build --prod ", | ||||||
|  |     "build": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng build --base-href ./ --configuration production --aot --build-optimizer", | ||||||
|  |     "test": "ng test", | ||||||
|  |     "lint": "ng lint", | ||||||
|  |     "e2e": "ng e2e" | ||||||
|  |   }, | ||||||
|  |   "private": true, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@angular/animations": "^16.0.4", | ||||||
|  |     "@angular/cdk": "^16.2.4", | ||||||
|  |     "@angular/common": "^16.0.4", | ||||||
|  |     "@angular/compiler": "^16.0.4", | ||||||
|  |     "@angular/core": "^16.0.4", | ||||||
|  |     "@angular/forms": "^16.0.4", | ||||||
|  |     "@angular/platform-browser": "^16.0.4", | ||||||
|  |     "@angular/platform-browser-dynamic": "^16.0.4", | ||||||
|  |     "@angular/router": "^16.0.4", | ||||||
|  |     "@auth0/angular-jwt": "^5.1.2", | ||||||
|  |     "@cds/core": "^6.9.0", | ||||||
|  |     "@ckeditor/ckeditor5-angular": "^7.0.1", | ||||||
|  |     "@ckeditor/ckeditor5-build-classic": "^40.0.0", | ||||||
|  |     "@clr/angular": "^15.5.0", | ||||||
|  |     "@clr/core": "^4.0.15", | ||||||
|  |     "@clr/icons": "^13.0.2", | ||||||
|  |     "@clr/ui": "^15.5.0", | ||||||
|  |     "@ctrl/ngx-codemirror": "^7.0.0", | ||||||
|  |     "@ngx-translate/core": "^16.0.3", | ||||||
|  |     "@ngx-translate/http-loader": "^16.0.0", | ||||||
|  |     "@swimlane/ngx-charts": "^20.4.1", | ||||||
|  |     "@webcomponents/custom-elements": "^1.6.0", | ||||||
|  |     "@webcomponents/webcomponentsjs": "^2.8.0", | ||||||
|  |     "angular-gridster2": "^16.0.0", | ||||||
|  |     "angularx-qrcode": "^16.0.2", | ||||||
|  |     "chart.js": "^4.4.0", | ||||||
|  |     "dom-to-image": "^2.6.0", | ||||||
|  |     "express": "^4.18.2", | ||||||
|  |     "file-saver": "^2.0.5", | ||||||
|  |     "highcharts": "^11.1.0", | ||||||
|  |     "highcharts-angular": "^3.1.2", | ||||||
|  |     "jquery": "^3.7.1", | ||||||
|  |     "jspdf": "^2.5.1", | ||||||
|  |     "jszip": "^3.10.1", | ||||||
|  |     "lit-html": "^3.1.0", | ||||||
|  |     "lodash": "^4.17.21", | ||||||
|  |     "moment": "^2.29.4", | ||||||
|  |     "ng-dynamic-component": "^10.1.1", | ||||||
|  |     "ng2-charts": "^5.0.3", | ||||||
|  |     "ng2-ckeditor": "^1.3.7", | ||||||
|  |     "ng2-search-filter": "^0.5.1", | ||||||
|  |     "ngx-captcha": "^13.0.0", | ||||||
|  |     "ngx-chips": "^3.0.0", | ||||||
|  |     "ngx-cookie-service": "^16.0.0", | ||||||
|  |     "ngx-drag-drop": "^16.1.0", | ||||||
|  |     "ngx-image-cropper": "^7.0.2", | ||||||
|  |     "ngx-toastr": "^17.0.2", | ||||||
|  |     "numeral": "^2.0.6", | ||||||
|  |     "rxjs": "^7.8.1", | ||||||
|  |     "sweetalert2": "^11.4.8", | ||||||
|  |     "tslib": "^2.5.2", | ||||||
|  |     "xlsx": "https://cdn.sheetjs.com/xlsx-0.19.3/xlsx-0.19.3.tgz", | ||||||
|  |     "zone.js": "~0.13.0" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "@angular-devkit/build-angular": "^16.0.4", | ||||||
|  |     "@angular/cli": "^16.0.4", | ||||||
|  |     "@angular/compiler-cli": "^16.0.4", | ||||||
|  |     "@types/jasmine": "~4.3.2", | ||||||
|  |     "@types/jasminewd2": "~2.0.10", | ||||||
|  |     "@types/node": "^20.2.5", | ||||||
|  |     "jasmine-core": "~5.0.0", | ||||||
|  |     "jasmine-spec-reporter": "~7.0.0", | ||||||
|  |     "karma": "~6.4.2", | ||||||
|  |     "karma-chrome-launcher": "~3.2.0", | ||||||
|  |     "karma-coverage-istanbul-reporter": "~3.0.3", | ||||||
|  |     "karma-jasmine": "~5.1.0", | ||||||
|  |     "karma-jasmine-html-reporter": "^2.0.0", | ||||||
|  |     "ts-node": "^10.9.1", | ||||||
|  |     "tslint": "~6.1.3", | ||||||
|  |     "typescript": "^5.1.0" | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,42 @@ | |||||||
|  | import { Injectable } from '@angular/core'; | ||||||
|  | import{environment} from 'src/environments/environment'; | ||||||
|  | /** | ||||||
|  |  * This is a singleton class | ||||||
|  |  */ | ||||||
|  | @Injectable() | ||||||
|  | export class AppConfig { | ||||||
|  |     //Provide all the Application Configs here
 | ||||||
|  | 
 | ||||||
|  |     public version: string = "1.0.0"; | ||||||
|  |     public locale: string = "en-US"; | ||||||
|  |     public currencyFormat = { style: "currency", currency: "USD" }; | ||||||
|  |     public dateFormat = { year: 'numeric', month: 'short', day: 'numeric' }; | ||||||
|  | // port in enviroment
 | ||||||
|  |     // API Related configs
 | ||||||
|  |     public apiPort: string; // this.apiURL //9191 to pc used and 8080/billingback to jboss
 | ||||||
|  |     public apiProtocol: string; | ||||||
|  |     public apiHostName: string; | ||||||
|  |     public baseApiPath: string; | ||||||
|  |     public backendURL: string = environment.backendUrl; | ||||||
|  | 
 | ||||||
|  |     constructor() { | ||||||
|  |         if (this.apiProtocol === undefined) { | ||||||
|  |             this.apiProtocol = window.location.protocol; | ||||||
|  |         } | ||||||
|  |         if (this.apiHostName === undefined) { | ||||||
|  |             this.apiHostName = window.location.hostname; | ||||||
|  |         } | ||||||
|  |         if (this.apiPort === undefined) { | ||||||
|  |             this.apiPort = window.location.port; | ||||||
|  |         } | ||||||
|  |         if (this.apiHostName.includes("infomud") || this.apiHostName.includes("heroku")) { | ||||||
|  |             this.baseApiPath = this.apiProtocol + "//" + this.apiHostName + "/"; | ||||||
|  |         } | ||||||
|  |         else { | ||||||
|  |             this.baseApiPath = this.backendURL + "/"; | ||||||
|  |         } | ||||||
|  |         if (this.locale === undefined) { | ||||||
|  |             this.locale = navigator.language; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | import { NgModule } from '@angular/core'; | ||||||
|  | import { Routes, RouterModule } from '@angular/router'; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | const routes: Routes = [ | ||||||
|  |  {path: '', redirectTo: 'login', pathMatch: 'full'} | ||||||
|  | 
 | ||||||
|  | ]; | ||||||
|  | 
 | ||||||
|  | @NgModule({ | ||||||
|  |   imports: [RouterModule.forRoot(routes)], | ||||||
|  |   exports: [RouterModule] | ||||||
|  | }) | ||||||
|  | export class AppRoutingModule { } | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <router-outlet></router-outlet> | ||||||
| @ -0,0 +1,35 @@ | |||||||
|  | import { TestBed, async } from '@angular/core/testing'; | ||||||
|  | import { RouterTestingModule } from '@angular/router/testing'; | ||||||
|  | import { AppComponent } from './app.component'; | ||||||
|  | 
 | ||||||
|  | describe('AppComponent', () => { | ||||||
|  |   beforeEach(async(() => { | ||||||
|  |     TestBed.configureTestingModule({ | ||||||
|  |       imports: [ | ||||||
|  |         RouterTestingModule | ||||||
|  |       ], | ||||||
|  |       declarations: [ | ||||||
|  |         AppComponent | ||||||
|  |       ], | ||||||
|  |     }).compileComponents(); | ||||||
|  |   })); | ||||||
|  | 
 | ||||||
|  |   it('should create the app', () => { | ||||||
|  |     const fixture = TestBed.createComponent(AppComponent); | ||||||
|  |     const app = fixture.componentInstance; | ||||||
|  |     expect(app).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it(`should have as title 'angularclarity'`, () => { | ||||||
|  |     const fixture = TestBed.createComponent(AppComponent); | ||||||
|  |     const app = fixture.componentInstance; | ||||||
|  |     expect(app.title).toEqual('angularclarity'); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should render title', () => { | ||||||
|  |     const fixture = TestBed.createComponent(AppComponent); | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |     const compiled = fixture.nativeElement; | ||||||
|  |     expect(compiled.querySelector('.content span').textContent).toContain('angularclarity app is running!'); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | import { Component } from '@angular/core'; | ||||||
|  | import { TranslateService } from '@ngx-translate/core'; | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-root', | ||||||
|  |   templateUrl: './app.component.html', | ||||||
|  |   styleUrls: ['./app.component.scss'] | ||||||
|  | }) | ||||||
|  | export class AppComponent { | ||||||
|  |   title = 'angularclarity'; | ||||||
|  |   constructor(private translate: TranslateService) { | ||||||
|  |     // Set the default language
 | ||||||
|  |     this.translate.setDefaultLang('en'); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | switchLanguage(language: string) { | ||||||
|  |   this.translate.use(language); | ||||||
|  | } | ||||||
|  | } | ||||||
| @ -0,0 +1,130 @@ | |||||||
|  | import { ExcelService } from './services/excel.service'; | ||||||
|  | import { BrowserModule } from '@angular/platform-browser'; | ||||||
|  | 
 | ||||||
|  | import { ToastrModule } from 'ngx-toastr'; | ||||||
|  | 
 | ||||||
|  | import { AppRoutingModule } from './app-routing.module'; | ||||||
|  | import { AppComponent } from './app.component'; | ||||||
|  | import { ClarityModule } from '@clr/angular'; | ||||||
|  | import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; | ||||||
|  | import { HashLocationStrategy, LocationStrategy } from '@angular/common'; | ||||||
|  | import { HttpClientModule, HTTP_INTERCEPTORS,HttpClient } from '@angular/common/http'; | ||||||
|  | import { MainModule } from './modules/main/main.module'; | ||||||
|  | import { LoginModule } from './modules/login/login.module'; | ||||||
|  | import { MainService } from './services/main.service'; | ||||||
|  | import { AlertService } from './services/alert.service'; | ||||||
|  | import { HelperModule } from './pipes/helpers.module'; | ||||||
|  | import { LogoComponent } from './modules/logo/logo.component'; | ||||||
|  | import { AppConfig } from './app-config'; | ||||||
|  | import { JwtInterceptor } from './services/jwt.interceptor'; | ||||||
|  | import { UserInfoService } from './services/user-info.service'; | ||||||
|  | import { AuthGuard } from './services/auth_guard.service'; | ||||||
|  | import { LoginService } from './services/api/login.service'; | ||||||
|  | import { ApiRequestService } from './services/api/api-request.service'; | ||||||
|  | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; | ||||||
|  | import {CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core"; | ||||||
|  | import { TranslateService } from './services/api/translate.service'; | ||||||
|  | import { RealnetMenuService } from './services/api/realnet-menu.service'; | ||||||
|  | import { UserProfileService } from './services/admin/user-profile.service'; | ||||||
|  | import { DragDropModule  } from '@angular/cdk/drag-drop'; | ||||||
|  | import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; | ||||||
|  | import { TranslateHttpLoader } from '@ngx-translate/http-loader'; | ||||||
|  | import '@clr/icons'; | ||||||
|  | import '@clr/icons/shapes/all-shapes'; | ||||||
|  | import { AboutComponent } from './modules/main/admin/about/about.component'; | ||||||
|  | import { LayoutComponent } from './modules/main/layout/layout.component'; | ||||||
|  | import { SetupiconComponent } from './modules/main/builder/setupicon/setupicon.component'; | ||||||
|  | import { MenumaintanceComponent } from './modules/main/admin/menumaintance/menumaintance.component'; | ||||||
|  | import { UsermaintanceComponent } from './modules/main/admin/usermaintance/usermaintance.component'; | ||||||
|  | import { UsergrpmaintenanceComponent } from './modules/main/admin/usergrpmaintenance/usergrpmaintenance.component'; | ||||||
|  | import { MenuaccesscontrolComponent } from './modules/main/admin/menuaccesscontrol/menuaccesscontrol.component'; | ||||||
|  | 
 | ||||||
|  | import { SystemparametersComponent } from './modules/main/admin/systemparameters/systemparameters.component'; | ||||||
|  | import { AccesstypeComponent } from './modules/main/admin/accesstype/accesstype.component'; | ||||||
|  | import { SequencegenaratorComponent } from './modules/main/fnd/sequencegenarator/sequencegenarator.component'; | ||||||
|  | import { ReportbuildallComponent } from './modules/main/builder/report-build/reportbuildall/reportbuildall.component'; | ||||||
|  | import { ReportrunnerallComponent } from './modules/main/builder/report-runner/reportrunnerall/reportrunnerall.component'; | ||||||
|  | import { ReportbuildaddComponent } from './modules/main/builder/report-build/reportbuildadd/reportbuildadd.component'; | ||||||
|  | import { DashboardrunnerComponent } from './modules/main/builder/dashboardrunner/dashboardrunner.component'; | ||||||
|  | import { DashrunnerallComponent } from './modules/main/builder/dashboardrunner/dashrunnerall/dashrunnerall.component'; | ||||||
|  | import { AllnewdashComponent } from './modules/main/builder/dashboardnew/allnewdash/allnewdash.component'; | ||||||
|  | import { AddnewdashComponent } from './modules/main/builder/dashboardnew/addnewdash/addnewdash.component'; | ||||||
|  | import { DashboardComponent } from './modules/main/fnd/dashboard/dashboard.component'; | ||||||
|  | import { ReportBuild2allComponent } from './modules/main/builder/report-build2/report-build2all/report-build2all.component'; | ||||||
|  | import { ReportBuild2addComponent } from './modules/main/builder/report-build2/report-build2add/report-build2add.component'; | ||||||
|  | 
 | ||||||
|  | export function HttpLoaderFactory(http: HttpClient) { | ||||||
|  |   return new TranslateHttpLoader(http , './assets/i18n/', '.json'); | ||||||
|  | } | ||||||
|  | @NgModule({ | ||||||
|  |   declarations: [ | ||||||
|  |     AppComponent, | ||||||
|  |     LogoComponent, | ||||||
|  |   AboutComponent, | ||||||
|  |   AccesstypeComponent, | ||||||
|  |   SequencegenaratorComponent, | ||||||
|  | LayoutComponent, | ||||||
|  | SetupiconComponent, | ||||||
|  | MenumaintanceComponent, | ||||||
|  | UsermaintanceComponent, | ||||||
|  | UsergrpmaintenanceComponent, | ||||||
|  | MenuaccesscontrolComponent, | ||||||
|  | SystemparametersComponent, | ||||||
|  | ReportbuildallComponent, | ||||||
|  | ReportrunnerallComponent, | ||||||
|  | ReportbuildaddComponent, | ||||||
|  | DashboardrunnerComponent, | ||||||
|  | DashrunnerallComponent, | ||||||
|  | AllnewdashComponent, | ||||||
|  | AddnewdashComponent, | ||||||
|  | DashboardComponent, | ||||||
|  | ReportBuild2allComponent, | ||||||
|  | ReportBuild2addComponent, | ||||||
|  | 
 | ||||||
|  |   ], | ||||||
|  |   imports: [ | ||||||
|  |     BrowserModule, | ||||||
|  |     AppRoutingModule, | ||||||
|  |     ClarityModule, | ||||||
|  |     HttpClientModule, | ||||||
|  |     BrowserAnimationsModule, | ||||||
|  |     ToastrModule.forRoot(), | ||||||
|  |     HelperModule, | ||||||
|  |     MainModule, | ||||||
|  |     LoginModule, | ||||||
|  |     FormsModule, | ||||||
|  |     ReactiveFormsModule, | ||||||
|  |     DragDropModule, | ||||||
|  |     TranslateModule.forRoot({ | ||||||
|  |       loader: { | ||||||
|  |         provide: TranslateLoader, | ||||||
|  |         useFactory: HttpLoaderFactory, | ||||||
|  |         deps: [HttpClient] | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|  |   ], | ||||||
|  |   providers: [ | ||||||
|  |     MainService, | ||||||
|  |     AlertService, | ||||||
|  |     ExcelService, | ||||||
|  |     UserInfoService, | ||||||
|  |     LoginService, | ||||||
|  |     ApiRequestService, | ||||||
|  |     TranslateService, | ||||||
|  |     RealnetMenuService, | ||||||
|  |     UserProfileService, | ||||||
|  |     // ProjectSetupService,
 | ||||||
|  |     // TechnologyStackService,
 | ||||||
|  |     // DropdownService,
 | ||||||
|  |     // WireframeService,
 | ||||||
|  |     // SuregitService,
 | ||||||
|  |     AuthGuard, | ||||||
|  |     AppConfig, | ||||||
|  |     { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true }, | ||||||
|  |     { provide: LocationStrategy, useClass: HashLocationStrategy }  // HashLocationStrategy  to use # and remove # PathLocationStrategy
 | ||||||
|  |   ], | ||||||
|  |   bootstrap: [AppComponent], | ||||||
|  |   schemas: [CUSTOM_ELEMENTS_SCHEMA  ] | ||||||
|  | }) | ||||||
|  | export class AppModule { } | ||||||
| @ -0,0 +1,169 @@ | |||||||
|  | export class field{ | ||||||
|  |   _id?:any; | ||||||
|  |   name?:any; | ||||||
|  |   type?:any; | ||||||
|  |   icon?:any; | ||||||
|  |   toggle?:any; | ||||||
|  |   required?:any; | ||||||
|  |   regex?:any; | ||||||
|  |   errorText?:any; | ||||||
|  |   label?:any; | ||||||
|  |   description?:any; | ||||||
|  |   placeholder?:any; | ||||||
|  |   className?:any; | ||||||
|  |   subtype?:any; | ||||||
|  |   handle?:any; | ||||||
|  |   min?:number; | ||||||
|  |   max?:number; | ||||||
|  |   inline?:any; | ||||||
|  |   value?:any; | ||||||
|  |   size?:any; | ||||||
|  |   values?:Array<value>; | ||||||
|  |   div_name?:any; | ||||||
|  |   gridLine_name?:any; | ||||||
|  |   children?: field[]; | ||||||
|  |   tooltipmsg?:any; | ||||||
|  |   maxcharacters?:any; | ||||||
|  |   visibilty?:any; | ||||||
|  |   duplicateVal?:any; | ||||||
|  |   encryptData?:any; | ||||||
|  |   personalHealthInfo?:any; | ||||||
|  |   descriptionText?:any; | ||||||
|  |   heightpx?:any; | ||||||
|  |   showDescription?:boolean; | ||||||
|  |   personalInfo?:boolean; | ||||||
|  |   readOnly?:any; | ||||||
|  |   sessionVar?:any; | ||||||
|  |   allowedDays?:any; | ||||||
|  |   allowedHrsFrom?:any; | ||||||
|  |   allowedHrsTo?:any; | ||||||
|  |   showSeconds?:boolean; | ||||||
|  |   datePicker?:any; | ||||||
|  |   alphabeticalOrdering?:boolean; | ||||||
|  |   fieldLayout?:any; | ||||||
|  |   otherChoice?:boolean; | ||||||
|  |   dynamicList?:any; | ||||||
|  |   iconType?:any; | ||||||
|  |   target?:any; | ||||||
|  |   defaultCamera?:any; | ||||||
|  |   imgoption?:Array<value>; | ||||||
|  |   questions?:Array<value1>; | ||||||
|  |   maxDuration?:any; | ||||||
|  |   maxNo?:number; | ||||||
|  |   decimalPlaces?:number; | ||||||
|  |   currencyType?:any; | ||||||
|  |   formatNo?:any; | ||||||
|  |   providersData?:any; | ||||||
|  |   apikey?:any; | ||||||
|  |   expanded?:boolean; | ||||||
|  |   files?:Array<any>; | ||||||
|  |   password?:any; | ||||||
|  |   content?:any; | ||||||
|  |   theme?:any; | ||||||
|  |   norows?:number; | ||||||
|  |   nocolumns?:number; | ||||||
|  |   editordata?:any; | ||||||
|  | } | ||||||
|  | export class value{ | ||||||
|  |   label?:any=""; | ||||||
|  |   value?:any=""; | ||||||
|  | } | ||||||
|  | export class value1{ | ||||||
|  |   label1?:any=""; | ||||||
|  |   value1?:any=""; | ||||||
|  | } | ||||||
|  | export interface IProperty { | ||||||
|  |   url?: string; | ||||||
|  |   loading?: boolean; | ||||||
|  |   itemsPerPage?: number; | ||||||
|  |   total?: number; | ||||||
|  |   p?: number; | ||||||
|  |   sizeLimit?: number; | ||||||
|  |   title?: string; | ||||||
|  |   text?: string; | ||||||
|  |   items?: any[]; | ||||||
|  |   sub?: any; | ||||||
|  |   isBlocked?: boolean; | ||||||
|  |   isDeleted?: boolean; | ||||||
|  |   isEmailVerified?: string; | ||||||
|  |   successMsg?: string; | ||||||
|  |   msg?: string; | ||||||
|  |   userId?: string; | ||||||
|  |   status?: number; | ||||||
|  |   userPlaceholder?: string; | ||||||
|  |   searchKey?: string; | ||||||
|  |   fullName?: string; | ||||||
|  |   email?: string; | ||||||
|  |   countryCode?: string; | ||||||
|  |   dialCode?: string; | ||||||
|  |   phoneNumber?: string; | ||||||
|  |   value?: Date; | ||||||
|  |   data?: any; | ||||||
|  |   name_es?: string; | ||||||
|  |   name_en?: string; | ||||||
|  |   countries?: any; | ||||||
|  |   states?: any; | ||||||
|  |   cities?: any; | ||||||
|  |   countries1?: any; | ||||||
|  |   states1?: any; | ||||||
|  |   cities1?: any; | ||||||
|  |   countries2?: any; | ||||||
|  |   states2?: any; | ||||||
|  |   cities2?: any; | ||||||
|  |   localities?: any; | ||||||
|  |   buildings?: any; | ||||||
|  |   country_id?: string; | ||||||
|  |   state_id?: string; | ||||||
|  |   city_id?: string; | ||||||
|  |   locality_id?: string; | ||||||
|  |   building_id?: string; | ||||||
|  |   countryCount?: number; | ||||||
|  |   stateCount?: number; | ||||||
|  |   cityCount?: number; | ||||||
|  |   stateCityCount?: number; | ||||||
|  |   localityCount?: number; | ||||||
|  |   buildingCount?: number; | ||||||
|  |   countriesAdd?: any; | ||||||
|  |   statesAdd?: any; | ||||||
|  |   citiesAdd?: any; | ||||||
|  |   localitiesAdd?: any; | ||||||
|  |   country_idAdd?: string; | ||||||
|  |   state_idAdd?: string; | ||||||
|  |   city_idAdd?: string; | ||||||
|  |   locality_idAdd?: string; | ||||||
|  |   countryCountAdd?: number; | ||||||
|  |   stateCountAdd?: number; | ||||||
|  |   cityCountAdd?: number; | ||||||
|  |   localityCountAdd?: number; | ||||||
|  |   successText?: string; | ||||||
|  |   propertyTypes?: any; | ||||||
|  |   propertyTypesCount?: number; | ||||||
|  |   amenities?: any; | ||||||
|  |   amenitiesCount?: number; | ||||||
|  |   projectTypes?: any; | ||||||
|  |   projectTypesCount?: number; | ||||||
|  |   routeName?: string; | ||||||
|  |   icon?: any; | ||||||
|  |   userType?: string; | ||||||
|  |   overlay?: any; | ||||||
|  |   is_broker_seller_dev?: number; | ||||||
|  |   is_buyer_renter?: number; | ||||||
|  |   is_broker?: number; | ||||||
|  |   is_data_collector?: number; | ||||||
|  |   image?: any; | ||||||
|  |   index?: number; | ||||||
|  |   name?: string; | ||||||
|  |   phone?: string; | ||||||
|  |   type?: number; | ||||||
|  |   property_id?: string; | ||||||
|  |   banks?: any; | ||||||
|  |   bankCount?: string; | ||||||
|  |   flag?: number; | ||||||
|  |   page?: number; | ||||||
|  |   property_for?: any; | ||||||
|  |   status_id?:any; | ||||||
|  |   type_id?:any; | ||||||
|  |   post_type?:any; | ||||||
|  |   developer_id?:any; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export enum Role { | ||||||
|  |  // User = 'User',
 | ||||||
|  |   Admin = 'Admin' | ||||||
|  | } | ||||||
| @ -0,0 +1,30 @@ | |||||||
|  | export class Systemparameter{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  public schedulerTime: number; | ||||||
|  |  public leaseTaxCode: String; | ||||||
|  |  public vesselConfProcessLimit: number; | ||||||
|  |  public rowToDisplay: any; | ||||||
|  |  public linkToDisplay: any; | ||||||
|  |  public rowToAdd: any; | ||||||
|  |  public lovRowToDisplay:any; | ||||||
|  |  public lovLinkToDisplay: any; | ||||||
|  |  public oidserverName: any; | ||||||
|  |  public oidBase: any; | ||||||
|  |  public oidAdminUser: any; | ||||||
|  |  public oidServerPort: any; | ||||||
|  |  public userDefaultGroup: any; | ||||||
|  |  public  defaultDepartment: any; | ||||||
|  |  public defaultPosition: any; | ||||||
|  |  public singleCharge: any; | ||||||
|  |  public firstDayOftheWeek:any; | ||||||
|  |  public hourPerShift: any; | ||||||
|  |  public cnBillingFrequency: any; | ||||||
|  |  public billingDepartmentCode: any; | ||||||
|  |  public basePriceList: any; | ||||||
|  |  public nonContainerServiceOrder: any; | ||||||
|  |  public ediMaeSchedulerONOFF: any; | ||||||
|  |  public ediSchedulerONOFF: any; | ||||||
|  | public company_Display_Name:any; | ||||||
|  | public upload_Logo:any; | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | export class User  { | ||||||
|  |   public id: number; | ||||||
|  |   public name: string; | ||||||
|  |   public gender: string; | ||||||
|  |   public dob: string; | ||||||
|  |   public email: string; | ||||||
|  |   public picture:Blob; | ||||||
|  |   public location:string; | ||||||
|  |   public address1:string; | ||||||
|  |   public country:string; | ||||||
|  |   public phone:number; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | export class userdepartment{ | ||||||
|  |   public  departmentCode:String; | ||||||
|  | 	public  active:String; | ||||||
|  | 	public  description:String; | ||||||
|  | 	public  createdOn:Date; | ||||||
|  | 	public  createdBy:String; | ||||||
|  | 	public  updatedOn:Date; | ||||||
|  | 	public  updatedBy:String; | ||||||
|  |   public id:number; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | export class Usergrpmain  { | ||||||
|  |   public usrGrp: number; | ||||||
|  |   public groupName:string; | ||||||
|  |   public groupDesc:string; | ||||||
|  |   public createby:string; | ||||||
|  |   public createdate:Date; | ||||||
|  |   public groupLevel:string; | ||||||
|  |   public status:string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | import { userdepartment } from "./userdepartment"; | ||||||
|  | import { userposition } from "./userposition"; | ||||||
|  | 
 | ||||||
|  | export class Usermain  { | ||||||
|  |   public userId: number; | ||||||
|  |   public changePassw:string; | ||||||
|  |   public confirmPassword:string; | ||||||
|  |   public createby:string; | ||||||
|  |   public createdate:Date; | ||||||
|  |   public customerId:number; | ||||||
|  |    public customerNumer:String; | ||||||
|  |    public departmentCode:string; | ||||||
|  |    public departmentCodeString:string; | ||||||
|  |    public email:string; | ||||||
|  |    public firstLogin:String; | ||||||
|  |    public   fullName:String; | ||||||
|  |    public langCode: String; | ||||||
|  |    public notification:String; | ||||||
|  |    public  password1: String; | ||||||
|  |    public  password2: String; | ||||||
|  |    public  password3: String; | ||||||
|  |    public  password4: String; | ||||||
|  |    public positionCodeString:String; | ||||||
|  |    public pwdChangedCnt:string; | ||||||
|  |    public shortName: string; | ||||||
|  |    public status:string; | ||||||
|  |    public updateby:string; | ||||||
|  |    public updatedate:Date; | ||||||
|  |   public username: string; | ||||||
|  |   public userPassw: string; | ||||||
|  |   public usrGrpId:number; | ||||||
|  |   public title: string; | ||||||
|  |    public expiryDate: Date; | ||||||
|  |  public  lastPwdChangedDate:Date; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class userposition{ | ||||||
|  |   public  positionCode:String; | ||||||
|  | 	public  active:String; | ||||||
|  | 	public  description:String; | ||||||
|  | 	public  createdOn:Date; | ||||||
|  | 	public  createdBy:String; | ||||||
|  | 	public  updatedOn:Date; | ||||||
|  | 	public  updatedBy:String; | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export interface ActiveTechnology { | ||||||
|  |   id; | ||||||
|  | name; | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export class AdhocParam{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   public id: number; | ||||||
|  |   public table_allias_name: string; | ||||||
|  |   public column_name: string; | ||||||
|  |   public column_allias_name: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class Audit { | ||||||
|  |     public accountId: number; | ||||||
|  |     public createdAt: Date; | ||||||
|  |     public createdBy: string; | ||||||
|  |     public updatedAt: Date; | ||||||
|  |     public updatedBy: string; | ||||||
|  | 
 | ||||||
|  |      | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | export class Bcf_TechnologyStack extends Audit { | ||||||
|  |   public id: number; | ||||||
|  |   public tech_stack: string; | ||||||
|  |   public tech_stack_key: string; | ||||||
|  |   public tags: string; | ||||||
|  |   public base_prj_file_name: string; | ||||||
|  |   public active: boolean; | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export interface ColumnList { | ||||||
|  |   // id: number;
 | ||||||
|  |    table_name: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | export class DateParam{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   public date_id: number; | ||||||
|  |   public col_table_alies_name_date: string; | ||||||
|  |   public col_date_query: string; | ||||||
|  |   public column_alias_date_query: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | export interface FileData { | ||||||
|  |     id: number; | ||||||
|  |     text: string; | ||||||
|  |     /* public id: number; | ||||||
|  |     public text: string; */ | ||||||
|  |     /* constructor(id: number, text: string) { | ||||||
|  |         this.id = id; | ||||||
|  |         this.text = text; | ||||||
|  |     } */ | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export interface FileDetails { | ||||||
|  |     id: number; | ||||||
|  |     text: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | import { ProjectSetup } from "./Project_setup"; | ||||||
|  | import { Rn_Fb_Header } from "./Rn_Fb_Header"; | ||||||
|  | 
 | ||||||
|  | export class ModuleSetup extends Audit { | ||||||
|  |   public id: number; | ||||||
|  |   public moduleName: string; | ||||||
|  |   public description: string; | ||||||
|  |   public modulePrefix: string; | ||||||
|  |   public copyTo?: string; | ||||||
|  |   public technologyStack: string; | ||||||
|  |   public project: ProjectSetup; | ||||||
|  |   public rn_fb_headers: Rn_Fb_Header[]; | ||||||
|  | } | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | import { ModuleSetup } from "./Module_Setup"; | ||||||
|  | 
 | ||||||
|  | export class ProjectSetup extends Audit { | ||||||
|  |     public id: number; | ||||||
|  |     public projectName: string; | ||||||
|  |     public description: string; | ||||||
|  |     public copyTo?: string; | ||||||
|  |     public technologyStack: string; | ||||||
|  |     public techStackId: number; | ||||||
|  |     public projectPrefix: string; | ||||||
|  |     public dbName: string; | ||||||
|  |     public dbUserName: string; | ||||||
|  |     public dbPassword: string; | ||||||
|  |     public portNumber: string; | ||||||
|  |     public namespace: string; | ||||||
|  |     public tags:string; | ||||||
|  |     public category:string; | ||||||
|  |     public accessibility:boolean; | ||||||
|  |     public modules: ModuleSetup[]; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | export class RbColumns{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   public id: number; | ||||||
|  |   public column_name: string; | ||||||
|  |   public functions: string; | ||||||
|  |   public column_allias_name: string; | ||||||
|  |   public table_allies_name: string; | ||||||
|  |   public asc_desc: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,7 @@ | |||||||
|  | export class RbTables{ | ||||||
|  |   public table_id: number; | ||||||
|  |   public table_name: string; | ||||||
|  |   public table_allias_name: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | export class ReportBuilder { | ||||||
|  |   public report_id: number; | ||||||
|  | public report_name:string; | ||||||
|  | public description: string; | ||||||
|  | public report_tags: string; | ||||||
|  | public servicename:string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export class ReportBuilderQuery { | ||||||
|  |   public master_select: string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | import { Rn_Cff_ActionBuilder_Line } from "./Rn_Cff_ActionBuilder_Line"; | ||||||
|  | import { Rn_Fb_Header } from "./Rn_Fb_Header"; | ||||||
|  | 
 | ||||||
|  | export class Rn_Cff_ActionBuilder_Header extends Audit { | ||||||
|  |   public id: number; | ||||||
|  |   public rn_fb_header: Rn_Fb_Header; | ||||||
|  |   public technologyStack: string; | ||||||
|  |   public controllerName: string; | ||||||
|  |   public methodName: string; | ||||||
|  |   public actionName: string; | ||||||
|  |   public fileLocation: string; | ||||||
|  |   public actionBuilderLines: Rn_Cff_ActionBuilder_Line[]; | ||||||
|  | } | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | import { Rn_Cff_ActionBuilder_Header } from "./Rn_Cff_ActionBuilder_Header"; | ||||||
|  | 
 | ||||||
|  | export class Rn_Cff_ActionBuilder_Line extends Audit { | ||||||
|  |   public id: number; | ||||||
|  |   public actionType1: string; | ||||||
|  |   public actionType2: string; | ||||||
|  |   public dataType: string; | ||||||
|  |   public variableName: string; | ||||||
|  |   public assignment: string; | ||||||
|  |   public message: string; | ||||||
|  |   public conditions: string; | ||||||
|  |   public forward: string; | ||||||
|  |   public equation: string; | ||||||
|  |   public seq: number; | ||||||
|  |   public action: string; | ||||||
|  |   public rn_cff_actionBuilderHeader: Rn_Cff_ActionBuilder_Header; | ||||||
|  | } | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | import { Rn_Fb_Lines } from "./Rn_Fb_Lines"; | ||||||
|  | 
 | ||||||
|  | export class Rn_Fb_Header extends Audit { | ||||||
|  |     public id: number; | ||||||
|  | 	public techStack: string; | ||||||
|  | 	public objectType: string; | ||||||
|  | 	public subObjectType: string; | ||||||
|  | 	public uiName: string; | ||||||
|  |     public formType: string; | ||||||
|  |     public tableName: string; | ||||||
|  |     public lineTableName: string; | ||||||
|  |     public multilineTableName: string; | ||||||
|  |     public formCode: string; | ||||||
|  |     public build: boolean; | ||||||
|  |     public updated: boolean; | ||||||
|  |     public menuName: string; | ||||||
|  |     public headerName: string; | ||||||
|  |     public convertedTableName: string; | ||||||
|  |     public rn_fb_lines: Rn_Fb_Lines[]; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,49 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | 
 | ||||||
|  | export class Rn_Fb_Lines extends Audit { | ||||||
|  |     public id: number; | ||||||
|  | 	public fieldName: string; | ||||||
|  | 	public mapping: string; | ||||||
|  |     public dataType: string; | ||||||
|  |     public formCode: string; | ||||||
|  |     public key1: string; | ||||||
|  |     public type1: string; | ||||||
|  |     public mandatory: boolean; | ||||||
|  |     public hidden: boolean; | ||||||
|  |     public readonly: boolean; | ||||||
|  |     public dependent: boolean; | ||||||
|  |     public dependent_on: string; | ||||||
|  |     public dependent_sp: string; | ||||||
|  |     public dependent_sp_param: string; | ||||||
|  |     public validation_1: boolean; | ||||||
|  |     public val_type: string; | ||||||
|  |     public val_sp: string; | ||||||
|  |     public val_sp_param: string; | ||||||
|  |     public sequence: boolean; | ||||||
|  |     public seq_name: string; | ||||||
|  |     public seq_sp: string; | ||||||
|  |     public seq_sp_param: string; | ||||||
|  |     public default_1: boolean; | ||||||
|  |     public default_type: string; | ||||||
|  |     public default_value: string; | ||||||
|  |     public default_sp: string; | ||||||
|  |     public default_sp_param: string; | ||||||
|  |     public calculated_field: boolean; | ||||||
|  |     public cal_sp: string; | ||||||
|  |     public cal_sp_param: string; | ||||||
|  |     public add_to_grid: boolean; | ||||||
|  |     public sp_for_autocomplete: boolean; | ||||||
|  |     public sp_name_for_autocomplete: string; | ||||||
|  |     public sp_for_dropdown: boolean; | ||||||
|  |     public sp_name_for_dropdown: string; | ||||||
|  |     public type_field: string; | ||||||
|  |     public methodName: string; | ||||||
|  |     public seq: number; | ||||||
|  |     public form_type: string; | ||||||
|  |     public section_num: number; | ||||||
|  |     public button_num: string; | ||||||
|  |     public type2: string; | ||||||
|  |     public table_name?: string; | ||||||
|  |     public line_table_name: string; | ||||||
|  |     public line_table_no: number; | ||||||
|  | } | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | import { Rn_Sub_Menu } from './Rn_Sub_Menu'; | ||||||
|  | 
 | ||||||
|  | export class Rn_Main_Menu extends Audit { | ||||||
|  | 	public menuItemId: number; | ||||||
|  | 	public menuItemDesc: string; | ||||||
|  | 	public mainMenuActionName : string; | ||||||
|  | 	public mainMenuIconName: string; | ||||||
|  | 	public menu_type: string; | ||||||
|  |   public mcreate:String; | ||||||
|  |   public mdelete:String; | ||||||
|  |   public medit:String; | ||||||
|  |   public menuId:Number; | ||||||
|  |   public mquery:String; | ||||||
|  |   public mvisible:String; | ||||||
|  | 	public subMenus: Rn_Sub_Menu[]; | ||||||
|  | } | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | import { Audit } from "./Audit"; | ||||||
|  | 
 | ||||||
|  | export class Rn_Sub_Menu extends Audit { | ||||||
|  |   public menuItemId: number; | ||||||
|  | 	public menuItemDesc: string; | ||||||
|  | 	public mainMenuActionName : string; | ||||||
|  | 	public mainMenuIconName: string; | ||||||
|  | 	public menu_type: string; | ||||||
|  |   public mcreate:String; | ||||||
|  |   public mdelete:String; | ||||||
|  |   public medit:String; | ||||||
|  |   public menuId:Number; | ||||||
|  |   public mquery:String; | ||||||
|  |   public mvisible:String; | ||||||
|  | 	//public menu_icon: string;
 | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | export class StdParam{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   public std_id: number; | ||||||
|  |   public col_table_alies_name_std_para: string; | ||||||
|  |   public col_std_para_query: string; | ||||||
|  |   public field_type: string; | ||||||
|  |   public sp_for_dd: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | export class WhereParam{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   public where_id: number; | ||||||
|  |   public explecity: string; | ||||||
|  |   public where_coloumn1_tbl_alias_name: string; | ||||||
|  |   public where_coloumn: string; | ||||||
|  |   public where_condition: string; | ||||||
|  |   public switch_control: string; | ||||||
|  |   public where_coloumn2_tbl_alias_name:string; | ||||||
|  |   public where_coloumn2:string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,29 @@ | |||||||
|  | export interface WireFrame { | ||||||
|  |   header: Header; | ||||||
|  |   line: Line; | ||||||
|  | } | ||||||
|  | export interface Header { | ||||||
|  | section: Section[]; | ||||||
|  | } | ||||||
|  | export interface Line { | ||||||
|  | section: Section[]; | ||||||
|  | } | ||||||
|  | export interface Section { | ||||||
|  | id: number; | ||||||
|  | fieldName: string; | ||||||
|  | mapping: string; | ||||||
|  | dataType: string; | ||||||
|  | type_field: string; | ||||||
|  | section_num: number; | ||||||
|  | fields: Field[]; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface Field { | ||||||
|  | id: number; | ||||||
|  | fieldName: string; | ||||||
|  | mapping: string; | ||||||
|  | dataType: string; | ||||||
|  | type_field: string; | ||||||
|  | section_num: number; | ||||||
|  | seq: number; | ||||||
|  | } | ||||||
| @ -0,0 +1,114 @@ | |||||||
|  | export interface WidgetModel { | ||||||
|  |   name: string; | ||||||
|  |   identifier: string; | ||||||
|  | } | ||||||
|  | export interface SubmenuItem { | ||||||
|  |   name: string; | ||||||
|  |   identifier: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface WidgetModel1 { | ||||||
|  |   name: string; | ||||||
|  |   submenu?: SubmenuItem[]; | ||||||
|  |   showSubmenu?: boolean; // Optional property to control submenu visibility
 | ||||||
|  |   identifier: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DashboardContentModel { | ||||||
|  |   cols: number; | ||||||
|  |   rows: number; | ||||||
|  |   y: number; | ||||||
|  |   x: number; | ||||||
|  |   chartid: number; | ||||||
|  |   component?: any; | ||||||
|  |   name: string; | ||||||
|  |   type?:string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DashboardModel { | ||||||
|  |   id: number; | ||||||
|  |   username: string; | ||||||
|  |   dashboard: Array<DashboardContentModel>; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export interface DashboardContentModel2 { | ||||||
|  |   cols: number; | ||||||
|  |   rows: number; | ||||||
|  |   y: number; | ||||||
|  |   x: number; | ||||||
|  |   chartid: number; | ||||||
|  |   charttitle?: string; | ||||||
|  |   component?: any; | ||||||
|  |   name: string; | ||||||
|  |   type?: string; | ||||||
|  |   values?:Array<value>; | ||||||
|  |   imgoption?:Array<value>; | ||||||
|  |   keyValue?:string; | ||||||
|  |   fieldtext?:any; | ||||||
|  |   dropdown_type?:string; | ||||||
|  |   imageURL?:string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DashboardModel2 { | ||||||
|  |   id: number; | ||||||
|  |   username: string; | ||||||
|  |   dashboard: Array<DashboardContentModel2>; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export class value{ | ||||||
|  |   label?:any=""; | ||||||
|  |   value?:any=""; | ||||||
|  | } | ||||||
|  | export class value1{ | ||||||
|  |   label1?:any=""; | ||||||
|  |   value1?:any=""; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export const WidgetsMock: WidgetModel[] = [ | ||||||
|  |   { | ||||||
|  |       name: 'Radar Chart', | ||||||
|  |       identifier: 'radar_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |       name: 'Doughnut Chart', | ||||||
|  |       identifier: 'doughnut_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |       name: 'Line Chart', | ||||||
|  |       identifier: 'line_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Bar Chart', | ||||||
|  |   identifier: 'bar_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Pie Chart', | ||||||
|  |   identifier: 'pie_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Polar Area Chart', | ||||||
|  |   identifier: 'polar_area_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Bubble Chart', | ||||||
|  |   identifier: 'bubble_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Scatter Chart', | ||||||
|  |   identifier: 'scatter_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Dynamic Chart', | ||||||
|  |   identifier: 'dynamic_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'Financial Chart', | ||||||
|  |   identifier: 'financial_chart' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |   name: 'To Do', | ||||||
|  |   identifier: 'to_do_chart' | ||||||
|  |   } | ||||||
|  | ] | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class Gitfile { | ||||||
|  | 
 | ||||||
|  | 	public  content	:String; | ||||||
|  | 	public  url	:String; | ||||||
|  | 	public  sha:String; | ||||||
|  | 	public  encoding:String; | ||||||
|  | 	public  size:String; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | export class RptBuilder{ | ||||||
|  | 
 | ||||||
|  |     public 	id:number; | ||||||
|  | 	public  name; | ||||||
|  | 	public  folder: string; | ||||||
|  | 	public  query: string; | ||||||
|  | 	public  date_param_flag:boolean; | ||||||
|  | 	public  adhoc_param_flag:boolean; | ||||||
|  | 	public  adhoc_param_string: string; | ||||||
|  | 	public  std_param_json: string; | ||||||
|  |    | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  |    | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class Suregit { | ||||||
|  |   public  path	:String; | ||||||
|  | 	public  sha	:String; | ||||||
|  | 	public  url	:String; | ||||||
|  | 	public  type:Number; | ||||||
|  | 	public  mode:String; | ||||||
|  | 	public  size:String; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class Surename { | ||||||
|  |   public  id	:number; | ||||||
|  | 	public  message	:String; | ||||||
|  | 	public  name	:String; | ||||||
|  | 	public  timestamp:Number; | ||||||
|  | 	public  email:String; | ||||||
|  | 	public  username:String; | ||||||
|  | public sha:any; | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class Surestar { | ||||||
|  |   public  id	:number; | ||||||
|  | 	public  email	:String; | ||||||
|  | 	public  watchers_count	:number; | ||||||
|  | 	public  forks_count:Number; | ||||||
|  | 	public  stars_count:number; | ||||||
|  | 	public  size:String; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,55 @@ | |||||||
|  | export interface WidgetModel { | ||||||
|  |   name: string; | ||||||
|  |   identifier: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DashboardContentModel { | ||||||
|  |   cols: number; | ||||||
|  |   rows: number; | ||||||
|  |   y: number; | ||||||
|  |   x: number; | ||||||
|  |   chartid: number; | ||||||
|  |   component?: any; | ||||||
|  |   name: string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface DashboardModel { | ||||||
|  |   id: number; | ||||||
|  |   username: string; | ||||||
|  |   dashboard: Array<DashboardContentModel>; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const WidgetsMock: WidgetModel[] = [ | ||||||
|  |   // {
 | ||||||
|  |   //     name: 'Text field',
 | ||||||
|  |   //     identifier: 'text_field'
 | ||||||
|  |   // },
 | ||||||
|  |   { | ||||||
|  |     name: 'Text area', | ||||||
|  |     identifier: 'text_area' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     name: 'Table field', | ||||||
|  |     identifier: 'table_field' | ||||||
|  |   }, | ||||||
|  |   // {
 | ||||||
|  |   //   name: 'Background Color',
 | ||||||
|  |   //   identifier: 'background_color'
 | ||||||
|  |   // },
 | ||||||
|  |   // {
 | ||||||
|  |   //   name: 'Box field',
 | ||||||
|  |   //   identifier: 'box_field'
 | ||||||
|  |   // },
 | ||||||
|  |   { | ||||||
|  |     name: 'Image field', | ||||||
|  |     identifier: 'img_field' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     name: 'Line field', | ||||||
|  |     identifier: 'line_field' | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     name: 'QR code', | ||||||
|  |     identifier: 'qr_code' | ||||||
|  |   } | ||||||
|  | ] | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | 
 | ||||||
|  | export class Bcf_Exception_Rule_Library extends Audit { | ||||||
|  |     id: number; | ||||||
|  |     tech_stack: string; | ||||||
|  |     object_type: string; | ||||||
|  |     sub_object_type: string; | ||||||
|  |     object_name_variable: string; | ||||||
|  |     object_name_dynamic_string: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | import { Bcf_Extractor_Params } from "./Bcf_Extractor_Params"; | ||||||
|  | 
 | ||||||
|  | export class Bcf_Extractor extends Audit { | ||||||
|  |      id: number; | ||||||
|  |      tech_stack: string; | ||||||
|  |      tech_stack_key: string; | ||||||
|  |      object_type: string; | ||||||
|  |      sub_object_type: string; | ||||||
|  |      form_type_name: string; | ||||||
|  |      std_wf_name: string; | ||||||
|  |      icon_file_name: string; | ||||||
|  |      sample_file_name: string; | ||||||
|  |      extractor_stage: string; | ||||||
|  |      rn_bcf_extractor_Params: Bcf_Extractor_Params[]; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,20 @@ | |||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | 
 | ||||||
|  | export class Bcf_Extractor_Params extends Audit { | ||||||
|  |      id: number; | ||||||
|  |      tech_stack: string; | ||||||
|  |      object_type: string; | ||||||
|  |      sub_object_type: string; | ||||||
|  |      file_code: any; | ||||||
|  |      name_string: string; | ||||||
|  |      address_string: string; | ||||||
|  |      moved_address_string: string; | ||||||
|  |      reference_address_string: string; | ||||||
|  |      description: string; | ||||||
|  |      file_name_var: string; | ||||||
|  |      file_name_dynamic_string: string; | ||||||
|  |      is_extraction_enabled: boolean; | ||||||
|  |      is_creation_enabled: boolean; | ||||||
|  |      total_project_path_dynamic_string:string; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | 
 | ||||||
|  | export class Bcf_Rule_Library extends Audit { | ||||||
|  |     id: number; | ||||||
|  |     group_id: number; | ||||||
|  |     rule_name: string; | ||||||
|  |     tech_stack: string; | ||||||
|  |     object_type: string; | ||||||
|  |     sub_object_type: string; | ||||||
|  |     file_code: string; | ||||||
|  |     rule_type: string; | ||||||
|  |     identifier_start_string: string; | ||||||
|  |     identifier_end_string: string; | ||||||
|  |     replacement_string: string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | import { BiDashLine } from './BiDashLine'; | ||||||
|  | 
 | ||||||
|  | export class BiDashHeader{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     public header_id: number; | ||||||
|  |     public dashboard_name: string; | ||||||
|  |     public components: BiDashLine[]; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | export class BiDashLine{ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   public section_type: string; | ||||||
|  |   public widgets1: string; | ||||||
|  |   public widgets2: string; | ||||||
|  |   public widgets3: string; | ||||||
|  |   public widgets4: string; | ||||||
|  |   public widgets5: string; | ||||||
|  |   public widgets6: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | export class BiWidget { | ||||||
|  |   public id: number; | ||||||
|  | public widget_name: string; | ||||||
|  | public widget_description: string; | ||||||
|  |   public chart_type: string; | ||||||
|  |   public sql_query:string; | ||||||
|  |   public label:string; | ||||||
|  |   public color_scheme:string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,37 @@ | |||||||
|  | //import { Audit } from "./Audit";
 | ||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | export class DynamicForm extends Audit { | ||||||
|  |     public id: number; | ||||||
|  |     public form_id: number; | ||||||
|  |     public form_version: number; | ||||||
|  |     public comp1: string; | ||||||
|  |     public comp2: string; | ||||||
|  |     public comp3: string; | ||||||
|  |     public comp4: string; | ||||||
|  |     public comp5: string; | ||||||
|  |     public comp6: string; | ||||||
|  |     public comp7: string; | ||||||
|  |     public comp8: string; | ||||||
|  |     public comp9: string; | ||||||
|  |     public comp10: string; | ||||||
|  |     public comp11: string; | ||||||
|  |     public comp12: string; | ||||||
|  |     public comp13: string; | ||||||
|  |     public comp14: string; | ||||||
|  |     public comp15: string; | ||||||
|  |     public comp16: string; | ||||||
|  |     public comp17: string; | ||||||
|  |     public comp18: string; | ||||||
|  |     public comp19: string; | ||||||
|  |     public comp20: string; | ||||||
|  |     public comp21: string; | ||||||
|  |     public comp22: string; | ||||||
|  |     public comp23: string; | ||||||
|  |     public comp24: string; | ||||||
|  |     public comp25: string; | ||||||
|  |     public comp_l26: string; | ||||||
|  |     public comp_l27: string; | ||||||
|  |     public comp_l28: string; | ||||||
|  |     public comp_l29: string; | ||||||
|  |     public comp_l30: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,47 @@ | |||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | 
 | ||||||
|  | export class ExtensionField extends Audit { | ||||||
|  |     public id: number; | ||||||
|  |     public field_name: string; | ||||||
|  |     public mapping: string; | ||||||
|  |     public data_type: string; | ||||||
|  |     public form_code: string; | ||||||
|  |     public type: string; | ||||||
|  |     public isActive: boolean; | ||||||
|  | 
 | ||||||
|  |     /* public mandatory: string; | ||||||
|  |     public hidden: string; | ||||||
|  |     public readonly: string; | ||||||
|  |     public dependent: string; | ||||||
|  |     public dependent_on: string; | ||||||
|  |     public dependent_sp: string; | ||||||
|  |     public dependent_sp_param: string; | ||||||
|  |     public validation_1: string; | ||||||
|  |     public val_type: string; | ||||||
|  |     public val_sp: string; | ||||||
|  |     public val_sp_param: string; | ||||||
|  |     public sequence: string; | ||||||
|  |     public seq_name: string; | ||||||
|  |     public seq_sp: string; | ||||||
|  |     public seq_sp_param: string; | ||||||
|  |     public default1: string; | ||||||
|  |     public default_type: string; | ||||||
|  |     public default_value: string; | ||||||
|  |     public default_sp: string; | ||||||
|  |     public default_sp_param: string; | ||||||
|  |     public calculated_field: string; | ||||||
|  |     public cal_sp: string; | ||||||
|  |     public cal_sp_param: string; | ||||||
|  |     public add_to_grid: string; | ||||||
|  |     public attr1: string; | ||||||
|  |     public attr2: string; | ||||||
|  |     public attr3: string; | ||||||
|  |     public drop_value: string; | ||||||
|  |     public dropdown: string; | ||||||
|  |     public sp_name: string; | ||||||
|  |     public ext_dd_id: string; | ||||||
|  |     public sp_name_forautocomplete: string; | ||||||
|  |     public ext_dependent_id: string; | ||||||
|  |     public radio: string; | ||||||
|  |     public radio_option: string; */ | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export interface Mapping { | ||||||
|  |   label: string; | ||||||
|  |   value: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | export class Rn_Forms_Component_Setup extends Audit { | ||||||
|  |     public component_id: number; | ||||||
|  |     public label: string; | ||||||
|  |     public type: string; | ||||||
|  |     public mapping: string; | ||||||
|  |     public mandatory: string; | ||||||
|  |     public readonly: string; | ||||||
|  |     public drop_values: string; | ||||||
|  |     public sp: string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | import { Rn_Forms_Component_Setup } from "./Rn_Forms_Component_Setup"; | ||||||
|  | import { Audit } from "../builder/Audit"; | ||||||
|  | export class Rn_Forms_Setup extends Audit { | ||||||
|  |   public form_id: number; | ||||||
|  |   public form_name: string; | ||||||
|  |   public form_desc: string; | ||||||
|  |   public related_to: string; | ||||||
|  |   public page_event: string; | ||||||
|  |   public button_caption: string; | ||||||
|  |   public components: Rn_Forms_Component_Setup[]; | ||||||
|  | } | ||||||
| @ -0,0 +1,20 @@ | |||||||
|  | export class RuleCopy { | ||||||
|  |   public from_tech_stack: string; | ||||||
|  | public from_object_type: string; | ||||||
|  | public from_sub_object_type: string; | ||||||
|  | public to_tech_stack: string; | ||||||
|  | public to_object_type: string; | ||||||
|  | public to_sub_object_type: string; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export interface Rule { | ||||||
|  |   tech_stack: string; | ||||||
|  |   object_type: string; | ||||||
|  |   sub_object_type: string; | ||||||
|  |   version: string; | ||||||
|  |   replacement_string: string; | ||||||
|  |   keyword: string; | ||||||
|  |   priority: number; | ||||||
|  |   service: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export class student  { | ||||||
|  |   public id: number; | ||||||
|  |   public wf_id:number; | ||||||
|  |   public current_json: string; | ||||||
|  |   public status: string; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export interface TableList { | ||||||
|  |   // id: number;
 | ||||||
|  |  table_name: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export class ValidationError { | ||||||
|  |   field: any; | ||||||
|  |   message: any; | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | export class book  { | ||||||
|  |   public id: number; | ||||||
|  |   public booktype: string; | ||||||
|  |   public bookname: string; | ||||||
|  |   public price: number; | ||||||
|  |   public writer: string; | ||||||
|  |   public code:number; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | export class Department { | ||||||
|  |   public id: number; | ||||||
|  |   public department_code: string; | ||||||
|  |   public description: string; | ||||||
|  |   public active: string; | ||||||
|  |  public created_by:string; | ||||||
|  |  public created_on:string; | ||||||
|  |  public updated_by:string; | ||||||
|  |  public updated_on:string; | ||||||
|  | } | ||||||
| @ -0,0 +1,10 @@ | |||||||
|  | export class HealthCheckup { | ||||||
|  |     public id: number; | ||||||
|  |     public ip: string; | ||||||
|  |     public port: number; | ||||||
|  |     public serviceName: string; | ||||||
|  |     public createProject: boolean; | ||||||
|  |     public buildProject: boolean; | ||||||
|  |     public createDeployment: boolean; | ||||||
|  |     public deployApp: boolean; | ||||||
|  | } | ||||||
| @ -0,0 +1,9 @@ | |||||||
|  | export class College { | ||||||
|  |   public studentid: number; | ||||||
|  |   public wf_instance_id:number; | ||||||
|  |   public studentname: string; | ||||||
|  |   public department: string; | ||||||
|  |   public joiningDate: string; | ||||||
|  |   public phone: number; | ||||||
|  |  public emailId:string; | ||||||
|  | } | ||||||
| @ -0,0 +1,4 @@ | |||||||
|  | export interface TableList { | ||||||
|  |   // id: number;
 | ||||||
|  |  table_name: string; | ||||||
|  | } | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | import {book} from '../../models/fnd/book'; | ||||||
|  | 
 | ||||||
|  | export class university  { | ||||||
|  |   public id: number; | ||||||
|  |   public name: string; | ||||||
|  |   public email: string; | ||||||
|  |   public subject: string; | ||||||
|  |   public phone: number; | ||||||
|  |   public books: book[]; | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,45 @@ | |||||||
|  | .clr-input { | ||||||
|  |   color: #212529; | ||||||
|  |   padding: 0.75rem 0.75rem; | ||||||
|  |   margin-top: 10px; | ||||||
|  |   margin-bottom: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | input[type=text], [type=password], [type=number], [type=email], [type=date], textarea { | ||||||
|  |   width: 80%; | ||||||
|  |   padding: 15px 15px; | ||||||
|  |   background-color: rgb(255, 255, 255); | ||||||
|  |   display: inline-block; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  |   box-sizing: border-box; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .eye { | ||||||
|  |   position: absolute; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #hide1 { | ||||||
|  |   display: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .container { | ||||||
|  |   align-content: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .center { | ||||||
|  |   width: auto; | ||||||
|  |   margin: 0 auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .required-field, .error_mess { | ||||||
|  |   color: red; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | select { | ||||||
|  |   margin: 15px 0px; | ||||||
|  |   width: 80%; | ||||||
|  |   padding: 5px 5px; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  | }/*# sourceMappingURL=about-work.component.css.map */ | ||||||
| @ -0,0 +1 @@ | |||||||
|  | {"version":3,"sources":["about-work.component.scss","about-work.component.css"],"names":[],"mappings":"AAAA;EACE,cAAA;EAGA,wBAAA;EACA,gBAAA;EACA,mBAAA;ACDF;;ADGA;EACE,UAAA;EACA,kBAAA;EACA,oCAAA;EAEA,qBAAA;EACA,sBAAA;EACA,kBAAA;EACA,sBAAA;ACDF;;ADGA;EACE,kBAAA;ACAF;;ADGA;EACE,aAAA;ACAF;;ADGA;EACE,qBAAA;ACAF;;ADGA;EACE,WAAA;EACA,cAAA;ACAF;;ADGA;EACE,UAAA;ACAF;;ADGA;EACE,gBAAA;EACA,UAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;ACAF","file":"about-work.component.css"} | ||||||
| @ -0,0 +1,261 @@ | |||||||
|  | <!-- <div *ngIf="data1 else showThis"> --> | ||||||
|  |   <!-- <div *ngIf="editMode === 'data1';then basic_property"> --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <div class="container center"> | ||||||
|  |       <h2 class="text-center"><b>Welcome to <strong>cloudnsure!</strong></b></h2> | ||||||
|  |       <h5 *ngIf="!companyForm" class="text-center" style="margin-top: 10px;">Tell Us More About You <img src="../../../../assets/images/icon/handshakeicon.png" ></h5> | ||||||
|  |       <h5 *ngIf="companyForm" class="text-center" style="margin-top: 10px;">Tell Us About Your Work!</h5> | ||||||
|  |       <!-- <h5 class="text-center">You're signing up as <strong style="font-size: 20px;">{{ email }}</strong></h5> --> | ||||||
|  |       <div class="display_msg"> | ||||||
|  |       <form [formGroup]="custentryForm" class="form" style="text-align: center;" *ngIf="!companyForm"> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>First Name</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" formControlName="first_name"  placeholder="First Name" > | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.first_name.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.first_name.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Last Name</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" id="name" formControlName="last_name"  placeholder="Last Name" > | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.last_name.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.last_name.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Mobile</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input formControlName="mob_no" class="form__field" type="number"  placeholder="Mobile Number"  ng2TelInput/> | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.mob_no.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.mob_no.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.mob_no.errors.minlength" class="error_mess">*Number must be 10 digit.</div> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.mob_no.errors.pattern" class="error_mess">*Invalid mobile number</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Date Of Birth</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field"  type="date" formControlName="date_of_birth" > | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.date_of_birth.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.date_of_birth.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Gender</strong><span class="required-field">*</span></label><br> --> | ||||||
|  |           <select formControlName="gender" class="form__field"> | ||||||
|  |               <option [value]="null">Choose Gender</option> | ||||||
|  |               <option>Male</option> | ||||||
|  |               <option>Female</option> | ||||||
|  |               <option>Other</option> | ||||||
|  |           </select> | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.gender.errors" class="error_mess"> | ||||||
|  |               <div *ngIf="custsubmitted && custentryForm.controls.gender.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Password</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |          <input [type]="newpHide ? 'password': 'text'" class="form__field" placeholder="Password" formControlName="new_password" minlenght="6" maxlength="40" style="width: 89%;" [autocomplete]="true"> | ||||||
|  |             <clr-icon [attr.shape]="newIcon" (click)="newShapeChanger()"></clr-icon> | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.new_password.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.new_password.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.new_password.errors.minlength" class="error_mess">*Password must be 6 characters or longer.</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Re-enter Password</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |            <input type="password" class="form__field" formControlName="confirm_password" placeholder="Re-enter Password"> | ||||||
|  |           <div *ngIf="custsubmitted && custentryForm.controls.confirm_password.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="custsubmitted && custentryForm.controls.confirm_password.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="custentryForm.controls.confirm_password.errors.confirmedValidator" class="error_mess">* Password and Confirm Password must be match.</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center text-center"> | ||||||
|  |           <button type="submit"  class="btn btn--primary uppercase" (click)="oncustSubmit()">Submit</button> | ||||||
|  |         </div> | ||||||
|  |    | ||||||
|  |       </form> | ||||||
|  |          <p *ngIf="!companyForm"> Wrong account? <a routerLink="/login">Log in</a> instead.</p> | ||||||
|  |       </div> | ||||||
|  |       <div class="display_msg"> | ||||||
|  |       <form [formGroup]="entryForm" class="form" style="text-align: center;" *ngIf="companyForm" > | ||||||
|  |    | ||||||
|  |         <!-- <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Name</strong><span class="required-field">*</span></label><br/> | ||||||
|  |           <input class="clr-input" type="text" id="name" formControlName="name"  placeholder="Enter Name" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.name.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.name.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> --> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Company Name</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" id="name" formControlName="companyName"  placeholder="Company Name" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.companyName.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.companyName.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Workspace</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" placeholder="Workspace" formControlName="workspace" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.workspace.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.workspace.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>GST Number</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" placeholder="GST Number" formControlName="gstNumber" | ||||||
|  |           [(ngModel)]="entryForm.value.gstNumber" (ngModelChange)="entryForm.value.gstNumber = $event?.toUpperCase()"> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.gstNumber.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.gstNumber.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |    | ||||||
|  |    | ||||||
|  |    | ||||||
|  |         <!-- <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Password</strong><span class="required-field">*</span></label><br/> | ||||||
|  |           <input class="clr-input" type="password" id="password" formControlName="password"> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.password.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.password.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.password.errors.minlength" class="error_mess">*Password must be 8 characters or longer.</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br/> | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Re-enter Password</strong><span class="required-field">*</span></label><br/> | ||||||
|  |           <input class="clr-input" type="password" id="confirm_password" formControlName="confirm_password"> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.confirm_password.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.confirm_password.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="entryForm.controls.confirm_password.errors.confirmedValidator" class="error_mess">* Password and Confirm Password must be match.</div> | ||||||
|  |           </div> | ||||||
|  |         </div> --> | ||||||
|  |         <!-- <br> | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Mobile</strong><span class="required-field">*</span></label><br/> | ||||||
|  |           <input formControlName="mobile" class="clr-input" type="number"  placeholder="Enter Mobile No"  ng2TelInput/> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.mobile.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.mobile.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.mobile.errors.minlength" class="error_mess">*Number must be 10 digit.</div> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.mobile.errors.pattern" class="error_mess">*Invalid mobile number</div> | ||||||
|  |           </div> | ||||||
|  |         </div> --> | ||||||
|  |    | ||||||
|  |         <!-- <br> | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Email</strong><span class="required-field">*</span></label><br/> | ||||||
|  |           <input class="clr-input" type="text" id="email" name="email" formControlName="email"  placeholder="Enter Email"  required pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$"> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.email.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.email.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.email.errors.pattern" class="error_mess">*Email must be a valid email address</div> | ||||||
|  |           </div> | ||||||
|  |         </div> --> | ||||||
|  |   <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="controllerName"><strong>Pancard</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" placeholder="Pancard Number" formControlName="pancard"  [(ngModel)]="entryForm.value.pancard" (ngModelChange)="entryForm.value.pancard = $event?.toUpperCase()"> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.pancard.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.pancard.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |          | ||||||
|  |    | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="country"><strong>Country</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" id="country" formControlName="country"  placeholder="Country Name" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.country.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.country.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="state"><strong>State/Province</strong><span class="required-field">*</span></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" id="state" formControlName="state"  placeholder="State/Province Name" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.state.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.state.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="city"><strong>City</strong></label><br/> --> | ||||||
|  |           <input class="form__field" type="text" id="city" formControlName="city"  placeholder="City Name" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.city.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.city.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="street_address"><strong>Street Address</strong></label><br/> --> | ||||||
|  |           <textarea col="10" row="2" id="street_address"  class="form__field" formControlName="street_address" placeholder="Address" [autocomplete]="true"></textarea> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.street_address.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.street_address.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="center"> | ||||||
|  |           <!-- <label for="street_address2"><strong>Street Address 2</strong></label><br/> --> | ||||||
|  |           <textarea col="10" row="2" id="street_address2"  class="form__field" formControlName="street_address2" placeholder="Address 2" [autocomplete]="true"></textarea> | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.street_address2.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.street_address2.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |    | ||||||
|  |         <!-- <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Working</strong><span class="required-field">*</span></label><br/> | ||||||
|  |           <input class="clr-input" type="text" placeholder="Enter Working" formControlName="working" > | ||||||
|  |           <div *ngIf="submitted && entryForm.controls.working.errors" class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && entryForm.controls.working.errors.required" class="error_mess">*This field is Required</div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |         <br> --> | ||||||
|  |    | ||||||
|  |         <br> | ||||||
|  |         <div class="center text-center"> | ||||||
|  |           <button type="submit"  class="btn btn--primary uppercase" (click)="onSubmit()" >continue</button> | ||||||
|  |         </div> | ||||||
|  |    | ||||||
|  |       </form> | ||||||
|  |       <p *ngIf="companyForm"> Wrong account? <a routerLink="/login">Log in</a> instead.</p> | ||||||
|  |     </div> | ||||||
|  |       <!-- <h4>Wrong account? <a href="">Log in</a> instead.</h4> --> | ||||||
|  |    | ||||||
|  |     </div> | ||||||
|  |    | ||||||
|  |   <!-- </div> --> | ||||||
|  |    | ||||||
|  |    | ||||||
|  |   <!-- <div *ngIf="data1==false"> | ||||||
|  |     <h2>error page</h2> | ||||||
|  |   </div> --> | ||||||
|  |   <!-- <ng-template #showThis> | ||||||
|  |     <h2 style="text-align: center; color: red;"><strong><b>This is error page</b></strong></h2> --> | ||||||
|  |    | ||||||
|  |    | ||||||
|  |   <!-- <a routerLink="/error-page"></a> --> | ||||||
|  |   <!-- <a [routerLink]="['/error-page']"> --> | ||||||
|  |   <!-- link to user component --> | ||||||
|  |   <!-- </a> --> | ||||||
|  |    | ||||||
|  |   <!-- <button (click)="back()"></button> --> | ||||||
|  |   <!-- | ||||||
|  |   </ng-template> --> | ||||||
|  |    | ||||||
|  |   <!-- <ng-template #showThis> | ||||||
|  |     <h2 style="text-align: center; color: red;"><strong><b>This is error page</b></strong></h2> | ||||||
|  |    | ||||||
|  |    | ||||||
|  |   </ng-template> --> | ||||||
|  |    | ||||||
|  |   <!-- <ng-template #basic_property> | ||||||
|  |     hjshfj | ||||||
|  |   </ng-template> --> | ||||||
|  |    | ||||||
| @ -0,0 +1,122 @@ | |||||||
|  | // .clr-input { | ||||||
|  | //   color: #212529; | ||||||
|  | //   //  border: 1px solid #ced4da; | ||||||
|  | //   //   border-radius: 0.25rem; | ||||||
|  | //   padding: 0.75rem 0.75rem; | ||||||
|  | //   margin-top: 10px; | ||||||
|  | //   margin-bottom: 10px; | ||||||
|  | // } | ||||||
|  | // input[type=text],[type=password],[type=number],[type=email],[type=date],textarea { | ||||||
|  | //   width: 80%; | ||||||
|  | //   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; | ||||||
|  | // } | ||||||
|  | // .eye { | ||||||
|  | //   position: absolute; | ||||||
|  | // } | ||||||
|  | 
 | ||||||
|  | // #hide1 { | ||||||
|  | //   display: none; | ||||||
|  | // } | ||||||
|  | 
 | ||||||
|  | // .container { | ||||||
|  | //   align-content: center; | ||||||
|  | // } | ||||||
|  | 
 | ||||||
|  | // .center { | ||||||
|  | //   width: auto; | ||||||
|  | //   margin: 0 auto; | ||||||
|  | // } | ||||||
|  | 
 | ||||||
|  | .required-field,.error_mess{ | ||||||
|  | 	color:indianred; | ||||||
|  | 	 font-weight: bold; | ||||||
|  |     | ||||||
|  |    } | ||||||
|  |    // select{ | ||||||
|  |    //   margin:15px 0px; | ||||||
|  |    //   width: 80%; | ||||||
|  |    //   padding: 5px 5px; | ||||||
|  |    //   border: 1px solid #ccc; | ||||||
|  |    //   border-radius: 4px; | ||||||
|  |    // } | ||||||
|  |     | ||||||
|  |     | ||||||
|  |     | ||||||
|  |     | ||||||
|  |     | ||||||
|  |     | ||||||
|  |    $background: #f5f6fa; | ||||||
|  |    $text: #9c9c9c; | ||||||
|  |    $input-bg-color: #fff; | ||||||
|  |    $input-text-color: #a3a3a3; | ||||||
|  |    $button-bg-color: #7f8ff4; | ||||||
|  |    $button-text-color: #fff; | ||||||
|  |    $google-button-bg-color: #7f8ff4; | ||||||
|  |    $linkedin-button-bg-color: #4b76eb; | ||||||
|  |     | ||||||
|  |     | ||||||
|  |    :root { | ||||||
|  | 	   background: $background; | ||||||
|  | 	   color: $text; | ||||||
|  | 	   font: 1rem "PT Sans", sans-serif; | ||||||
|  |    } | ||||||
|  |     | ||||||
|  |    //** helper | ||||||
|  |    .display_msg { | ||||||
|  | 	   display: flex; | ||||||
|  | 	   flex-direction: column; | ||||||
|  | 	   align-items: center; | ||||||
|  | 	   justify-content: center; | ||||||
|  |    } | ||||||
|  |     | ||||||
|  |    .form { | ||||||
|  | 		&__field { | ||||||
|  | 	 width: 360px; | ||||||
|  | 	 padding: 7px 9px; | ||||||
|  | 	margin: 0 12px; | ||||||
|  | 	background-color:rgb(255, 255, 255); | ||||||
|  | 	 display: inline-block; | ||||||
|  | 	 border: 1px solid #ccc; | ||||||
|  | 	 border-radius: 4px; | ||||||
|  | 	 box-sizing: border-box; | ||||||
|  | 	   } | ||||||
|  |    } | ||||||
|  |     | ||||||
|  |    .btn { | ||||||
|  | 	   display: inline-block; | ||||||
|  | 	   background: transparent; | ||||||
|  | 	   color: inherit; | ||||||
|  | 	   font: inherit; | ||||||
|  | 	   border: 0; | ||||||
|  | 	   outline: 0; | ||||||
|  | 	   padding: 0; | ||||||
|  | 	   transition: all 200ms ease-in; | ||||||
|  | 	   cursor: pointer; | ||||||
|  |     | ||||||
|  | 	   &--primary { | ||||||
|  | 		   background: $button-bg-color; | ||||||
|  | 		   color: $button-text-color; | ||||||
|  | 		   box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1); | ||||||
|  | 		   border-radius: 2px; | ||||||
|  | 		   width: 100%; | ||||||
|  |     | ||||||
|  | 		   &:hover { | ||||||
|  | 			   background: darken($button-bg-color, 4%); | ||||||
|  | 		   } | ||||||
|  |     | ||||||
|  | 		   &:active { | ||||||
|  | 			   background: $button-bg-color; | ||||||
|  | 			   box-shadow: inset 0 0 10px 2px rgba(0, 0, 0, .2); | ||||||
|  | 		   } | ||||||
|  | 	   } | ||||||
|  |    } | ||||||
|  |    // form { | ||||||
|  |    //   margin-left: 8%; | ||||||
|  |    // } | ||||||
|  |     | ||||||
| @ -0,0 +1,25 @@ | |||||||
|  | import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||||||
|  | 
 | ||||||
|  | import { AboutWorkComponent } from './about-work.component'; | ||||||
|  | 
 | ||||||
|  | describe('AboutWorkComponent', () => { | ||||||
|  |   let component: AboutWorkComponent; | ||||||
|  |   let fixture: ComponentFixture<AboutWorkComponent>; | ||||||
|  | 
 | ||||||
|  |   beforeEach(async () => { | ||||||
|  |     await TestBed.configureTestingModule({ | ||||||
|  |       declarations: [ AboutWorkComponent ] | ||||||
|  |     }) | ||||||
|  |     .compileComponents(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(AboutWorkComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,301 @@ | |||||||
|  | import {Component, OnInit} from '@angular/core'; | ||||||
|  | import {AbstractControl, FormBuilder, FormControl, FormGroup, ValidationErrors, Validators} from '@angular/forms'; | ||||||
|  | import {ActivatedRoute, Router} from '@angular/router'; | ||||||
|  | import { UserProfileService } from 'src/app/services/admin/user-profile.service'; | ||||||
|  | import { UserRegistrationService } from 'src/app/services/admin/user-registration.service'; | ||||||
|  | import { environment } from 'src/environments/environment'; | ||||||
|  | import { CustomerService } from './customer.service'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | 
 | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-about-work', | ||||||
|  |   templateUrl: './about-work.component.html', | ||||||
|  |   styleUrls: ['./about-work.component.scss'] | ||||||
|  | }) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export class AboutWorkComponent implements OnInit { | ||||||
|  | 
 | ||||||
|  |   // LoginUrl = environment.portalurl;
 | ||||||
|  |   public entryForm: FormGroup; | ||||||
|  |   public custentryForm: FormGroup; // user
 | ||||||
|  |   public customerentryForm: FormGroup; | ||||||
|  |   aboutdata; | ||||||
|  |   id: number; | ||||||
|  |   checknumberId: number; | ||||||
|  |   data1: boolean; | ||||||
|  |   name:string; | ||||||
|  |   email: string; | ||||||
|  |   submitted = false; | ||||||
|  |   custsubmitted = false; | ||||||
|  |   constructor( | ||||||
|  |     private router: Router, | ||||||
|  |     private route: ActivatedRoute, | ||||||
|  |     private userRegistration: UserRegistrationService, | ||||||
|  |     private _fb: FormBuilder, | ||||||
|  |     private userprofile: UserProfileService, | ||||||
|  |     private customerservice: CustomerService, | ||||||
|  |     private toastr: ToastrService | ||||||
|  |   ) { | ||||||
|  |   } | ||||||
|  |   companyid = 1; | ||||||
|  |   ngOnInit(): void { | ||||||
|  |     this.route.queryParams.subscribe(params => { | ||||||
|  |       this.email = params['email']; | ||||||
|  |       console.log(this.email) | ||||||
|  |     }); | ||||||
|  |     this.id = this.route.snapshot.params['id']; | ||||||
|  |     this.checknumberId = this.route.snapshot.params['checknumberId']; | ||||||
|  |     this.name = this.userRegistration.getStoredName(); | ||||||
|  |     console.log(this.id, this.checknumberId); | ||||||
|  |     this.userRegistration.removeStoredName(); | ||||||
|  | 
 | ||||||
|  |     // this.data1 = this.route.snapshot.data['data1'];
 | ||||||
|  |     // if (this.id >= 0) {
 | ||||||
|  |     //   this.onCheck();
 | ||||||
|  | 
 | ||||||
|  |     // }
 | ||||||
|  |     // else {
 | ||||||
|  |     //   this.router.navigate(['../about-work']);
 | ||||||
|  |     // }
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.onCheck(); | ||||||
|  |     // this.email = this.userRegistration.getStoredEmail();
 | ||||||
|  | 
 | ||||||
|  |     this.custentryForm = this._fb.group({ | ||||||
|  |       first_name: [null, [Validators.required]], | ||||||
|  |       last_name:[null,  [Validators.required]], | ||||||
|  |       mob_no:[null,[Validators.required,Validators.pattern('^[0-9]{10}$')]], | ||||||
|  |       email:[this.email], | ||||||
|  |       usrGrpId:[41], | ||||||
|  |       new_password: [null, [Validators.required,Validators.minLength(6),Validators.maxLength(40)]], | ||||||
|  |       confirm_password: [null, [Validators.required]], | ||||||
|  |       account_id:[this.companyid], | ||||||
|  | 
 | ||||||
|  |       date_of_birth:[null, [Validators.required]], | ||||||
|  |       gender:[null,Validators.required] | ||||||
|  | 
 | ||||||
|  |     }, { | ||||||
|  |        validator: ConfirmedValidator('new_password', 'confirm_password') | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     this.entryForm = this._fb.group({ | ||||||
|  |       companyName:[null,  [Validators.required]], | ||||||
|  |       pancard:[null,[Validators.required]], | ||||||
|  |       workspace:[null,[Validators.required]], | ||||||
|  |       email: [this.email,[Validators.required,Validators.email]], | ||||||
|  |       gstNumber:[null,[Validators.required]], | ||||||
|  |       mobile: [this.custentryForm.value.mob_no, [Validators.pattern('^[0-9]{10}$')]], | ||||||
|  | 
 | ||||||
|  |       country:[null,[Validators.required]], | ||||||
|  |       state:[null,[Validators.required]], | ||||||
|  |       city:[null], | ||||||
|  |       street_address:[null], | ||||||
|  |       street_address2:[null], | ||||||
|  | 
 | ||||||
|  |     }, { | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     this.customerentryForm = this._fb.group({ | ||||||
|  |       first_name: [null], | ||||||
|  |       last_name:[null], | ||||||
|  |       date_of_birth:[null], | ||||||
|  |       gender:[null], | ||||||
|  |       companyId:[null], | ||||||
|  |       time_zone:[null,], | ||||||
|  |       gst_state:[null], | ||||||
|  |       email:[null], | ||||||
|  |       entity_name:[this.companyid], | ||||||
|  | 
 | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   companyForm:boolean = false; | ||||||
|  |   oncustSubmit(){ | ||||||
|  |     console.log(this.custentryForm.value); | ||||||
|  |     // this.custentryForm.value.entity_name = this.companyid;
 | ||||||
|  |     if (this.custentryForm.invalid) { | ||||||
|  |       this.custsubmitted = true; | ||||||
|  |       return; | ||||||
|  |     }else{ | ||||||
|  |       // this.companyForm = true;
 | ||||||
|  |       // this.oncustContinue();
 | ||||||
|  |       this.onContinue(); | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |   } | ||||||
|  |   selectedFile; | ||||||
|  |     oncustContinue() { | ||||||
|  |    | ||||||
|  |       | ||||||
|  |        | ||||||
|  |       console.log(this.custentryForm.value); | ||||||
|  |    | ||||||
|  |       this.customerservice.saveCustomer(this.custentryForm.value, this.selectedFile).subscribe((data => { | ||||||
|  |         console.log(data); | ||||||
|  |         console.log(data.id, "User id"); | ||||||
|  |         console.log("Roles", data.role); | ||||||
|  |         console.log(data.checknumberId, "checknumber"); | ||||||
|  |         this.aboutdata = data; | ||||||
|  |         if (data.role == "USER") { | ||||||
|  |           this.router.navigate(["../login/"]); | ||||||
|  |           // window.location.href = `${this.LoginUrl}/#/login`;
 | ||||||
|  |         } else { | ||||||
|  |           this.router.navigate(["../pricing/" + data.id]); | ||||||
|  |         } | ||||||
|  |    | ||||||
|  |       })) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | userId; | ||||||
|  |    | ||||||
|  | onSubmit(){ | ||||||
|  |   this.entryForm.value.email = this.email | ||||||
|  |   if (this.entryForm.invalid) { | ||||||
|  |     this.submitted = true; | ||||||
|  |     return; | ||||||
|  |   }else{ | ||||||
|  |     this.onContinue(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  |   onContinue() { | ||||||
|  | 
 | ||||||
|  |     | ||||||
|  |     // this.entryForm.value.mobile =  this.custentryForm.value.mob_no;
 | ||||||
|  |     console.log(this.custentryForm.value); | ||||||
|  | 
 | ||||||
|  |     // this.userprofile.addUserinSignUP(this.entryForm.value).subscribe(data => {
 | ||||||
|  |     //   console.log(data);
 | ||||||
|  |     //   this.companyid = data.account_id;
 | ||||||
|  |     //   console.log(this.companyid, "company id");
 | ||||||
|  |     //   this.aboutdata = data;
 | ||||||
|  |     //   this.custentryForm.value.account_id = data?.account_id
 | ||||||
|  |     //   // this.custentryForm.value.new_password = 
 | ||||||
|  |     //   console.log(this.custentryForm.value);
 | ||||||
|  |       this.userprofile.adduserData(this.custentryForm.value).subscribe(cdata => { | ||||||
|  |         console.log(cdata); | ||||||
|  |         this.userId = cdata.userId; | ||||||
|  | 
 | ||||||
|  |       if (cdata) { | ||||||
|  |         this.toastr.success("Registrated Successfully"); | ||||||
|  |         this.router.navigate(["../login/"]); | ||||||
|  |       } else { | ||||||
|  |         this.router.navigate(["../login/"]); | ||||||
|  |       } | ||||||
|  |       // this.customerentryForm.get('companyId').setValue(this.companyid);
 | ||||||
|  |       // this.customerentryForm.get('gst_state').setValue(this.entryForm.value.state);
 | ||||||
|  |       // this.customerentryForm.get('entity_name').setValue(this.entryForm.value.companyName);
 | ||||||
|  |       // this.customerentryForm.get('first_name').setValue(this.custentryForm.value.first_name);
 | ||||||
|  |       // this.customerentryForm.get('last_name').setValue(this.custentryForm.value.last_name);
 | ||||||
|  |       // this.customerentryForm.get('date_of_birth').setValue(this.custentryForm.value.date_of_birth);
 | ||||||
|  |       // this.customerentryForm.get('gender').setValue(this.custentryForm.value.gender);
 | ||||||
|  |       // this.customerentryForm.get('email').setValue(this.email);
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       // this.customerservice.saveCustomer(this.customerentryForm.value, this.selectedFile).subscribe(data => {
 | ||||||
|  |       //   console.log(data);
 | ||||||
|  |       //   console.log(data.id, "User id");
 | ||||||
|  |       //   this.aboutdata = data;
 | ||||||
|  |       //   if (data.status >= 200 && data.status <= 299) {
 | ||||||
|  |       //     console.log(data?.body)
 | ||||||
|  |       //     this.router.navigate(["../pricing/" + this.companyid +"/" +this.userId]);
 | ||||||
|  |       //   }
 | ||||||
|  |       // })
 | ||||||
|  |     },(error)=>{ | ||||||
|  |       console.log(error); | ||||||
|  |       this.toastr.error(error?.error.message); | ||||||
|  |     }) | ||||||
|  |     // })
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   onCheck() { | ||||||
|  | 
 | ||||||
|  |     this.userprofile.getUser(this.id, this.checknumberId).subscribe((data => { | ||||||
|  |       // console.log(data.userId, "User id");
 | ||||||
|  |       console.log("data", data.email); | ||||||
|  |       console.log(data); | ||||||
|  |       this.data1 = data; | ||||||
|  |       this.email = data.email; | ||||||
|  |       this.name=data.fullName; | ||||||
|  |       (<FormControl>this.entryForm.controls['email']).setValue(data.email); | ||||||
|  |       (<FormControl>this.entryForm.controls['name']).setValue(data.fullName); | ||||||
|  |       console.log(this.name) | ||||||
|  | 
 | ||||||
|  |     })) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   onCountryChange(event) { | ||||||
|  |     console.log(event.dialCode); | ||||||
|  |     console.log(event.name); | ||||||
|  |     console.log(event.iso2); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   back() { | ||||||
|  |     this.router.navigate(["../../all"], {relativeTo: this.route}); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   newpHide: boolean = true; | ||||||
|  |   newIcon: string = "eye"; | ||||||
|  |   newShapeChanger() { | ||||||
|  |     this.newpHide = !this.newpHide; | ||||||
|  |     if(this.newpHide){ | ||||||
|  |       this.newIcon = 'eye' | ||||||
|  |     } else { | ||||||
|  |       this.newIcon = 'eye-hide' | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   cnewpHide: boolean = true; | ||||||
|  |   cnewIcon: string = "eye"; | ||||||
|  |   cnewShapeChanger() { | ||||||
|  |     this.cnewpHide = !this.cnewpHide; | ||||||
|  |     if(this.cnewpHide){ | ||||||
|  |       this.cnewIcon = 'eye' | ||||||
|  |     } else { | ||||||
|  |       this.cnewIcon = 'eye-hide' | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | // export function passwordMatchValidator(control: AbstractControl): ValidationErrors | null {
 | ||||||
|  | //   const password = control.get('password');
 | ||||||
|  | //   const confirmPassword = control.get('confirmPassword');
 | ||||||
|  | 
 | ||||||
|  | //   if (password.value !== confirmPassword.value) {
 | ||||||
|  | //     return { passwordMismatch: true };
 | ||||||
|  | //   }
 | ||||||
|  | 
 | ||||||
|  | //   return null;
 | ||||||
|  | // }
 | ||||||
|  | export function ConfirmedValidator(controlName: string, matchingControlName: string){ | ||||||
|  |   return (formGroup: FormGroup) => { | ||||||
|  |       const control = formGroup.controls[controlName]; | ||||||
|  |       const matchingControl = formGroup.controls[matchingControlName]; | ||||||
|  |       if (matchingControl.errors && !matchingControl.errors.confirmedValidator) { | ||||||
|  |           return; | ||||||
|  |       } | ||||||
|  |       if (control.value !== matchingControl.value) { | ||||||
|  |           matchingControl.setErrors({ confirmedValidator: true }); | ||||||
|  |       } else { | ||||||
|  |           matchingControl.setErrors(null); | ||||||
|  |       } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,152 @@ | |||||||
|  | import { Injectable } from '@angular/core'; | ||||||
|  | import { Observable } from 'rxjs'; | ||||||
|  | import { ApiRequestService } from 'src/app/services/api/api-request.service'; | ||||||
|  | 
 | ||||||
|  | @Injectable({ | ||||||
|  |   providedIn: 'root' | ||||||
|  | }) | ||||||
|  | export class CustomerService { | ||||||
|  | 
 | ||||||
|  |   constructor(private apiRequest: ApiRequestService) { } | ||||||
|  | 
 | ||||||
|  |   saveCustomer(data: any, file?: any): Observable<any> { | ||||||
|  |     const url = `token/Customer_master/Customer_master`; | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('body', JSON.stringify(data)); | ||||||
|  |     formData.append('file', file); | ||||||
|  | 
 | ||||||
|  |     return this.apiRequest.postFormData(url, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   updateCustomer(data: any, file: any,id: number): Observable<any> { | ||||||
|  |     const url = `token/Customer_master/Customer_master/${id}`; | ||||||
|  | 
 | ||||||
|  |     const formData = new FormData(); | ||||||
|  |     formData.append('body', JSON.stringify(data)); | ||||||
|  |     formData.append('file', file); | ||||||
|  | 
 | ||||||
|  |     return this.apiRequest.postFormData(url, formData); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   getAllCustomers(): Observable<any> { | ||||||
|  |     const url = `token/Customer_master/Customer_master`; | ||||||
|  |     return this.apiRequest.get(url); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   getCustomerById(id: number): Observable<any> { | ||||||
|  |     const url = `token/Customer_master/Customer_master/${id}`; | ||||||
|  |     return this.apiRequest.get(url); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   deleteCustomerById(id: number): Observable<any> { | ||||||
|  |     const url = `token/Customer_master/Customer_master/${id}`; | ||||||
|  |     return this.apiRequest.delete(url); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   ////////site
 | ||||||
|  | 
 | ||||||
|  |   // saveCustomersite(data: any, file: any): Observable<any> {
 | ||||||
|  |   //   const url = `Sites/Sites`;
 | ||||||
|  |   //   const formData = new FormData();
 | ||||||
|  |   //   formData.append('body', JSON.stringify(data));
 | ||||||
|  |   //   formData.append('file', file);
 | ||||||
|  | 
 | ||||||
|  |   //   return this.apiRequest.postFormData(url, formData);
 | ||||||
|  |   // }
 | ||||||
|  |   saveCustomersite(data: any): Observable<any> { | ||||||
|  |     const url = `Sites/Sites`; | ||||||
|  |     return this.apiRequest.postFormData(url, data); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // updateCustomersite(data: any, file: any,id: number): Observable<any> {
 | ||||||
|  |   //   const url = `Sites/Sites/${id}`;
 | ||||||
|  | 
 | ||||||
|  |   //   const formData = new FormData();
 | ||||||
|  |   //   formData.append('body', JSON.stringify(data));
 | ||||||
|  |   //   formData.append('file', file);
 | ||||||
|  | 
 | ||||||
|  |   //   return this.apiRequest.postFormData(url, formData);
 | ||||||
|  |   // }
 | ||||||
|  | 
 | ||||||
|  |   updateCustomersite(data: any,id: number): Observable<any> { | ||||||
|  |     const url = `Sites/Sites/${id}`; | ||||||
|  |     return this.apiRequest.put(url, data); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   getAllCustomerssite(): Observable<any> { | ||||||
|  |     const url = `Sites/Sites`; | ||||||
|  |     return this.apiRequest.get(url); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   getCustomersiteById(id: number): Observable<any> { | ||||||
|  |     const url = `Sites/Sites/${id}`; | ||||||
|  |     return this.apiRequest.get(url); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   deleteCustomersiteById(id: number): Observable<any> { | ||||||
|  |     const url = `Sites/Sites/${id}`; | ||||||
|  |     return this.apiRequest.delete(url); | ||||||
|  |   } | ||||||
|  |    | ||||||
|  | 
 | ||||||
|  |   getsiteBycustId(id: number): Observable<any> { | ||||||
|  |     const url = `Sites/getSitesByCustomer/${id}`; | ||||||
|  |     return this.apiRequest.get(url); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   ////// custom package
 | ||||||
|  | 
 | ||||||
|  |     public savecustompkgeData(data: any): Observable<any> { | ||||||
|  |       return this.apiRequest.post(`Billing/CustomPackage/CustomPackage`, data); | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |     public getcustompkgDetails(): Observable<any> { | ||||||
|  |       return this.apiRequest.get(`Billing/CustomPackage/CustomPackage`); | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |     public getcustompkgDetailsById(id: number): Observable<any> { | ||||||
|  |       return this.apiRequest.get(`Billing/CustomPackage/CustomPackage/${id}`); | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |     public deletecustompkgById(id: number): Observable<any> { | ||||||
|  |       return this.apiRequest.delete(`Billing/CustomPackage/CustomPackage/${id}`); | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |     public updatecustompkgData(data: any, id: number): Observable<any> { | ||||||
|  |       return this.apiRequest.put(`Billing/CustomPackage/CustomPackage/${id}`, data); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     ///biiling total
 | ||||||
|  |     public billingTotal(invoiceId: number, creditNoteId:number,paymentId): Observable<any> { | ||||||
|  |       return this.apiRequest.get(`Billing/Payments/alltotall/${invoiceId}/${creditNoteId}/${paymentId}`); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public getdatabycustID(customerId: any): Observable<any> { | ||||||
|  |       return this.apiRequest.get(`token/Customer_master/getReceiptApplication/${customerId}`); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     ////// list  of  items
 | ||||||
|  |     //generate
 | ||||||
|  |      getServicesBycustId(customerId: any): Observable<any> { | ||||||
|  |       return this.apiRequest.get(`token/Customer_master/getAllservices/${customerId}`); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     //generate 2
 | ||||||
|  |     getServices2BycustId(customerId: any): Observable<any> { | ||||||
|  |       return this.apiRequest.get(`token/Customer_master/getAllservicesWithDisc/${customerId}`); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     //discount and charges
 | ||||||
|  |         //generate
 | ||||||
|  |         getdiscountchargesBycustId(customerId: any): Observable<any> { | ||||||
|  |           return this.apiRequest.get(`token/Customer_master/getAllservicesWithDiscOrderlevel/${customerId}`); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,142 @@ | |||||||
|  | <clr-main-container> | ||||||
|  |   <clr-header class="header-5"> | ||||||
|  |     <div class="branding"> | ||||||
|  |       <a href="javascript://" class="nav-link"> | ||||||
|  |         <a href="#" class="logo"> | ||||||
|  |           <img class="img" src="assets/images/icon/micrologo.png" alt="" height="50" width="50"> | ||||||
|  |         </a> | ||||||
|  |         <div style="width:40px;margin-right:10px;"> | ||||||
|  | 
 | ||||||
|  |       </div> | ||||||
|  |         <span class="title">cloudnSure</span> | ||||||
|  |       </a> | ||||||
|  |     </div> | ||||||
|  |   </clr-header> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <!-- <div *ngIf="editMode === 'data1';then basic_property"> --> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <!-- <div class="container"> | ||||||
|  | 
 | ||||||
|  |       <h2 class="text-center"><b>Welcome to <strong>cloudnsure!</strong></b></h2> | ||||||
|  |       <h5 class="text-center">You're signing up as <strong style="font-size: 20px;">here is email</strong></h5> | ||||||
|  |       <br> | ||||||
|  | 
 | ||||||
|  |       <form [formGroup]="form" (ngSubmit)="onContinue()" class="pop" style="text-align: center;"> | ||||||
|  | 
 | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>What's your full name?</strong></label><br/> | ||||||
|  |           <input class="clr-input" type="text" id="name" formControlName="name"  value="name" | ||||||
|  |           > | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Password</strong></label><br/> | ||||||
|  |           <input class="clr-input" type="password" id="password" formControlName="password" | ||||||
|  |           > | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  |         <br/> | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Re-enter Password</strong></label><br/> | ||||||
|  |           <input class="clr-input" type="password" id="cpass" formControlName=""> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Mobile</strong></label><br/> | ||||||
|  | 
 | ||||||
|  |           <input formControlName="mobile" class="clr-input" type="number" ng2TelInpu | ||||||
|  |           /> | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <br> | ||||||
|  |         <div class="clr-col-md-4 clr-col-sm-12 center"> | ||||||
|  |           <label for="controllerName"><strong>Email</strong></label><br/> | ||||||
|  |           <input class="clr-input" type="text" id="email" name="email" formControlName="email" | ||||||
|  |           > | ||||||
|  | 
 | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  | 
 | ||||||
|  |         <br> | ||||||
|  |         <div class="center text-center"> | ||||||
|  |           <button type="submit" class="btn btn-primary">continue</button> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |       </form> | ||||||
|  |       <br/> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       <h4>Wrong account? <a href="">Log in</a> instead.</h4> | ||||||
|  | 
 | ||||||
|  |     </div> --> | ||||||
|  | 
 | ||||||
|  |     <div class="container"> | ||||||
|  |       <div class="display_msg"> | ||||||
|  |         <h2 class="text-center"><b>Welcome to <strong>cloudnsure!</strong></b></h2> | ||||||
|  |       <h5 class="text-center" *ngIf="email">You're signing up as <strong style="font-size: 20px;">{{email}}</strong></h5> | ||||||
|  |         <br> | ||||||
|  |         <form class="form" [formGroup]="form"> | ||||||
|  |           <label><b>First Name</b></label><br> | ||||||
|  |           <input type="text" class="form__field"  placeholder="Enter First Name" formControlName="first_name"> | ||||||
|  |           <div *ngIf="f.first_name.invalid && (f.first_name.dirty || f.first_name.touched)" | ||||||
|  |           style="color:indianred; font-weight: bold"> | ||||||
|  |           <div *ngIf="f.first_name.errors.required">First Name is required</div> | ||||||
|  |           </div> | ||||||
|  |           <br> | ||||||
|  |           <label><b>Last Name</b></label><br> | ||||||
|  |           <input type="text" class="form__field"  placeholder="Enter Last Name" formControlName="last_name"> | ||||||
|  |           <div *ngIf="f.last_name.invalid && (f.last_name.dirty || f.last_name.touched)" | ||||||
|  |           style="color:indianred; font-weight: bold"> | ||||||
|  |           <div *ngIf="f.last_name.errors.required">Last Name is required</div> | ||||||
|  |         </div> | ||||||
|  |           <br> | ||||||
|  |           <label><b>Mobile Number</b></label><br> | ||||||
|  |           <input type="text" class="form__field"  placeholder="Enter Mobile Number" formControlName="mob_no"> | ||||||
|  |           <div *ngIf="f.mob_no.invalid && (f.mob_no.dirty || f.mob_no.touched)" | ||||||
|  |           style="color:indianred; font-weight: bold"> | ||||||
|  |           <div *ngIf="f.mob_no.errors.required">Mobile Number is required</div> | ||||||
|  |           <div *ngIf="f.mob_no.errors.minlength">Mobile Number is 10 numbers</div> | ||||||
|  |         </div> | ||||||
|  |           <br> | ||||||
|  |           <label><b>New Password</b></label><br> | ||||||
|  |         <input class="form__field" type="password" [type]="newpHide ? 'password': 'text'" | ||||||
|  |           placeholder="Enter New Password" formControlName="password"/> | ||||||
|  |         <clr-icon [attr.shape]="newIcon" (click)="newShapeChanger()"></clr-icon> | ||||||
|  |         <div *ngIf="f.password.invalid && (f.password.dirty || f.password.touched)" | ||||||
|  |           style="color:indianred; font-weight: bold"> | ||||||
|  |           <div *ngIf="f.password.errors.required">password is required</div> | ||||||
|  |           <div *ngIf="f.password.errors.minlength">Password must be Minimum 6 Characters</div> | ||||||
|  |         </div> | ||||||
|  |         <br> | ||||||
|  |         <label><b>Re-Enter New Password</b></label><br> | ||||||
|  |         <input class="form__field" type="password" [type]="cpHide ? 'password': 'text'" | ||||||
|  |           placeholder="Re-Enter  New Password" formControlName="confirm_passwordS"/> | ||||||
|  |         <clr-icon [attr.shape]="conIcon" (click)="comfShapeChanger()"></clr-icon> | ||||||
|  |         <div *ngIf="f.confirm_passwordS.invalid && (f.confirm_passwordS.dirty || f.confirm_passwordS.touched)" | ||||||
|  |           style="color:indianred; font-weight: bold"> | ||||||
|  |           <div *ngIf="f.confirm_passwordS.errors.required">Password is required.</div> | ||||||
|  |           <div *ngIf="f.confirm_passwordS.errors.confirmedValidator">Password and Confirm Password must be match.</div> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |           <button type="submit" class="btn btn--primary uppercase" (click)="onsubmit()">continue</button> | ||||||
|  |         </form> | ||||||
|  |         <br> | ||||||
|  |         <p style="color: red;" *ngIf="passchange"><clr-icon shape="check"></clr-icon> User Info Is Added Please Login </p> | ||||||
|  |         <p> Wrong account? <a routerLink="/login">Log in</a> instead.</p> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,86 @@ | |||||||
|  | //@import '../../../../../styles1.scss'; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //** variables | ||||||
|  | $background: #f5f6fa; | ||||||
|  | $text: #9c9c9c; | ||||||
|  | $input-bg-color: #fff; | ||||||
|  | $input-text-color: #a3a3a3; | ||||||
|  | $button-bg-color: #7f8ff4; | ||||||
|  | $button-text-color: #fff; | ||||||
|  | $google-button-bg-color: #7f8ff4; | ||||||
|  | $linkedin-button-bg-color: #4b76eb; | ||||||
|  | 
 | ||||||
|  | //** root | ||||||
|  | :root { | ||||||
|  | 	background: $background; | ||||||
|  | 	color: $text; | ||||||
|  | 	font: 1rem "PT Sans", sans-serif; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //** helper | ||||||
|  | .display_msg { | ||||||
|  | 	display: flex; | ||||||
|  | 	flex-direction: column; | ||||||
|  | 	align-items: center; | ||||||
|  | 	justify-content: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .form { | ||||||
|  | 	/* margin-left: auto; | ||||||
|  | 	margin-right: auto; */ | ||||||
|  | 	 &__field { | ||||||
|  | 	// 	width: 360px; | ||||||
|  | 	// 	//background: #fff; | ||||||
|  | 	// 	color: $input-text-color; | ||||||
|  | 	// 	font: inherit; | ||||||
|  | 	// 	//box-shadow: 0 6px 10px 0 rgba(0, 0, 0 , .1); | ||||||
|  | 	// 	border: 1 solid rgb(235, 230, 230); | ||||||
|  |   //   background-color:rgb(255, 255, 255); | ||||||
|  |   // display: inline-block; | ||||||
|  |   //   border-radius: 4px; | ||||||
|  |   // box-sizing: border-box; | ||||||
|  | 	// 	//outline: 0; | ||||||
|  | 	// 	padding: 6px 9px; | ||||||
|  |   width: 360px; | ||||||
|  |   padding: 7px 9px; | ||||||
|  |  // margin: 3px 0; | ||||||
|  |  background-color:rgb(255, 255, 255); | ||||||
|  |   display: inline-block; | ||||||
|  |   border: 1px solid #ccc; | ||||||
|  |   border-radius: 4px; | ||||||
|  |   box-sizing: border-box; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .btn { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	background: transparent; | ||||||
|  | 	color: inherit; | ||||||
|  | 	font: inherit; | ||||||
|  | 	border: 0; | ||||||
|  | 	outline: 0; | ||||||
|  | 	padding: 0; | ||||||
|  | 	transition: all 200ms ease-in; | ||||||
|  | 	cursor: pointer; | ||||||
|  | 
 | ||||||
|  | 	&--primary { | ||||||
|  | 		background: $button-bg-color; | ||||||
|  | 		color: $button-text-color; | ||||||
|  | 		box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1); | ||||||
|  | 		border-radius: 2px; | ||||||
|  | 		width: 100%; | ||||||
|  | 
 | ||||||
|  | 		&:hover { | ||||||
|  | 			background: darken($button-bg-color, 4%); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		&:active { | ||||||
|  | 			background: $button-bg-color; | ||||||
|  | 			box-shadow: inset 0 0 10px 2px rgba(0, 0, 0, .2); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | form { | ||||||
|  |   margin-left: 8%; | ||||||
|  | } | ||||||
| @ -0,0 +1,25 @@ | |||||||
|  | import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||||||
|  | 
 | ||||||
|  | import { AddguestComponent } from './addguest.component'; | ||||||
|  | 
 | ||||||
|  | describe('AddguestComponent', () => { | ||||||
|  |   let component: AddguestComponent; | ||||||
|  |   let fixture: ComponentFixture<AddguestComponent>; | ||||||
|  | 
 | ||||||
|  |   beforeEach(async () => { | ||||||
|  |     await TestBed.configureTestingModule({ | ||||||
|  |       declarations: [ AddguestComponent ] | ||||||
|  |     }) | ||||||
|  |     .compileComponents(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(AddguestComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,68 @@ | |||||||
|  | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||||||
|  | import { ActivatedRoute } from '@angular/router'; | ||||||
|  | import { MyworkspaceService } from 'src/app/services/admin/myworkspace.service'; | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-addguest', | ||||||
|  |   templateUrl: './addguest.component.html', | ||||||
|  |   styleUrls: ['./addguest.component.scss'] | ||||||
|  | }) | ||||||
|  | export class AddguestComponent implements OnInit { | ||||||
|  | 
 | ||||||
|  |   public  form: FormGroup; | ||||||
|  |   submitted = false; | ||||||
|  |   passchange; | ||||||
|  |   newpHide: boolean = true; | ||||||
|  |   newIcon: string = "eye"; | ||||||
|  |   newShapeChanger() { | ||||||
|  |     this.newpHide = !this.newpHide; | ||||||
|  |     if(this.newpHide){ | ||||||
|  |       this.newIcon = 'eye' | ||||||
|  |     } else { | ||||||
|  |       this.newIcon = 'eye-hide' | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   cpHide: boolean = true; | ||||||
|  |   conIcon: string = "eye"; | ||||||
|  |   comfShapeChanger() { | ||||||
|  |     this.cpHide = !this.cpHide; | ||||||
|  |     if(this.cpHide){ | ||||||
|  |       this.conIcon = 'eye' | ||||||
|  |     } else { | ||||||
|  |       this.conIcon = 'eye-hide' | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   get f() { return this.form.controls; } | ||||||
|  |   email: string; | ||||||
|  |   token; | ||||||
|  |   constructor(private _fb: FormBuilder, | ||||||
|  |     private route: ActivatedRoute, | ||||||
|  |     private mywork:MyworkspaceService) { } | ||||||
|  | 
 | ||||||
|  |   ngOnInit(): void { | ||||||
|  |     this.email = this.mywork.getStoredEmail(); | ||||||
|  |     console.log(this.email) | ||||||
|  |     this.token = this.route.snapshot.params["id"]; | ||||||
|  |     console.log("token is ", this.token); | ||||||
|  |     //form validation
 | ||||||
|  |     this.form = this._fb.group( | ||||||
|  |       { | ||||||
|  |         first_name: ['', Validators.required], | ||||||
|  |         last_name: ['', Validators.required], | ||||||
|  |         mob_no: ['', [Validators.required,Validators.minLength(10)]], | ||||||
|  |         password: ['',[ Validators.required, Validators.minLength(6), Validators.maxLength(40)]], | ||||||
|  |         confirm_passwordS: ['', Validators.required], | ||||||
|  | 
 | ||||||
|  |       }, ); | ||||||
|  |   } | ||||||
|  |   onsubmit(){ | ||||||
|  | this.mywork.addguestdetails(this.form.value,this.token).subscribe((data)=>{ | ||||||
|  |   console.log(data); | ||||||
|  |   this.passchange=data; | ||||||
|  |         console.log('success ', data); | ||||||
|  |                 },(err) => { | ||||||
|  |           console.log('failure ', err); | ||||||
|  | }) | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,95 @@ | |||||||
|  | .header-6 { | ||||||
|  |   background-color: #0072a3; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | :root { | ||||||
|  |   background: #f5f6fa; | ||||||
|  |   color: #9c9c9c; | ||||||
|  |   font: 1rem "PT Sans", sans-serif; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | html, | ||||||
|  | body, | ||||||
|  | .container { | ||||||
|  |   height: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a { | ||||||
|  |   color: inherit; | ||||||
|  | } | ||||||
|  | a:hover { | ||||||
|  |   color: #7f8ff4; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .email_check { | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   align-items: center; | ||||||
|  |   justify-content: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .uppercase { | ||||||
|  |   text-transform: uppercase; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .new { | ||||||
|  |   display: inline-block; | ||||||
|  |   background: transparent; | ||||||
|  |   color: inherit; | ||||||
|  |   font: inherit; | ||||||
|  |   border: 0; | ||||||
|  |   outline: 0; | ||||||
|  |   padding: 0; | ||||||
|  |   transition: all 200ms ease-in; | ||||||
|  |   cursor: pointer; | ||||||
|  | } | ||||||
|  | .new--newprimary { | ||||||
|  |   background: #7f8ff4; | ||||||
|  |   color: #fff; | ||||||
|  |   box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.1); | ||||||
|  |   border-radius: 2px; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | .new--newprimary:hover { | ||||||
|  |   background: #6c7ff2; | ||||||
|  | } | ||||||
|  | .new--newprimary:active { | ||||||
|  |   background: #7f8ff4; | ||||||
|  |   box-shadow: inset 0 0 10px 2px rgba(0, 0, 0, 0.2); | ||||||
|  | } | ||||||
|  | .new--primary1 { | ||||||
|  |   background: #4CAF50; | ||||||
|  |   color: #fff; | ||||||
|  |   box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.1); | ||||||
|  |   border-radius: 2px; | ||||||
|  |   width: 100%; | ||||||
|  | } | ||||||
|  | .new--primary1:hover { | ||||||
|  |   background: #6c7ff2; | ||||||
|  | } | ||||||
|  | .new--primary1:active { | ||||||
|  |   background: #7f8ff4; | ||||||
|  |   box-shadow: inset 0 0 10px 2px rgba(0, 0, 0, 0.2); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* &--inside { | ||||||
|  | 	margin-left: -96px; | ||||||
|  | } */ | ||||||
|  | .form { | ||||||
|  |   /* margin-left: auto; | ||||||
|  |   margin-right: auto; */ | ||||||
|  | } | ||||||
|  | .form__field { | ||||||
|  |   width: 360px; | ||||||
|  |   background: #fff; | ||||||
|  |   color: #626161; | ||||||
|  |   font: inherit; | ||||||
|  |   box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1); | ||||||
|  |   border: 0; | ||||||
|  |   outline: 0; | ||||||
|  |   padding: 10px 18px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .form__field { | ||||||
|  |   border: 2px solid #7f8ff4; | ||||||
|  | }/*# sourceMappingURL=emailverification.component.css.map */ | ||||||
| @ -0,0 +1 @@ | |||||||
|  | {"version":3,"sources":["emailverification.component.scss","emailverification.component.css"],"names":[],"mappings":"AAAA;EACE,yBAAA;ACCF;;ADUA;EACC,mBATY;EAUZ,cATM;EAUN,gCAAA;ACPD;;ADUA;;;EAGC,YAAA;ACPD;;ADUA;EACC,cAAA;ACPD;ADSC;EACC,cApBgB;ACalB;;ADYA;EACC,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,uBAAA;ACTD;;ADYA;EACC,yBAAA;ACTD;;ADaA;EACC,qBAAA;EACA,uBAAA;EACA,cAAA;EACA,aAAA;EACA,SAAA;EACA,UAAA;EACA,UAAA;EACA,6BAAA;EACA,eAAA;ACVD;ADYC;EACC,mBAjDgB;EAkDhB,WAjDkB;EAkDlB,2CAAA;EACA,kBAAA;EAGA,WAAA;ACZF;ADeE;EACC,mBAAA;ACbH;ADgBE;EACC,mBA/De;EAgEf,iDAAA;ACdH;ADiBC;EACC,mBAAA;EACA,WApEkB;EAqElB,2CAAA;EACA,kBAAA;EAGA,WAAA;ACjBF;ADoBE;EACC,mBAAA;AClBH;ADqBE;EACC,mBAlFe;EAmFf,iDAAA;ACnBH;;ADwBC;;GAAA;AAMD;EACC;uBAAA;ACvBD;ADyBC;EACC,YAAA;EAEA,gBAAA;EACA,cAtGiB;EAuGjB,aAAA;EACA,2CAAA;EACA,SAAA;EACA,UAAA;EACA,kBAAA;ACxBF;;AD2BA;EACE,yBAAA;ACxBF","file":"emailverification.component.css"} | ||||||
| @ -0,0 +1,123 @@ | |||||||
|  | <!-- <div class="s-login-pg"> --> | ||||||
|  | <!--   <div class="s-login-pg-head"> | ||||||
|  |       <div style="width:100px;"><s-logo></s-logo></div> | ||||||
|  |       <p style="text-align: center"> Sample app done with SpringBoot backend and Angular frontend </p> | ||||||
|  |   </div> | ||||||
|  |   <form class="s-login-pg-form" name="form" (ngSubmit)="login()" #f="ngForm" novalidate> | ||||||
|  |       <input type="text"     placeholder="Username (demo)" name="username" [(ngModel)]="model.username" #username="ngModel" required/> | ||||||
|  |       <input type="password" placeholder="Password (demo)" name="password" [(ngModel)]="model.password" #password="ngModel" required/> | ||||||
|  |       <button type="submit" class="btn btn-primary">LOG IN</button> | ||||||
|  |   </form> | ||||||
|  |   <div class="s-login-pg-foot"> | ||||||
|  |       <div *ngIf="errMsg" style="color:indianred; font-weight: bold">{{errMsg}}</div> | ||||||
|  |   </div> --> | ||||||
|  | 
 | ||||||
|  | <header class="header-6"> | ||||||
|  |   <div class="branding"> | ||||||
|  |     <a href="javascript://" class="nav-link"> | ||||||
|  |       <a href="#" class="logo"> | ||||||
|  |         <img class="img" src="assets/images/icon/micrologo.png" alt="" height="50" width="50"> | ||||||
|  |       </a> | ||||||
|  |       <div style="width:40px;margin-right:10px;"> | ||||||
|  | 
 | ||||||
|  |       </div> | ||||||
|  |       <span class="title">{{ loginEnvironment.loginHeading2 | sanitize}}</span> | ||||||
|  |     </a> | ||||||
|  |   </div> | ||||||
|  | </header> | ||||||
|  | <div class="container"> | ||||||
|  |   <div class="email_check"> | ||||||
|  |     <h2><b>Try {{ loginEnvironment.loginHeading2 | sanitize}} For Free</b></h2> | ||||||
|  |     <p style="font-size:15px;">Email Verification</p><br> | ||||||
|  | 
 | ||||||
|  |     <form class="form" [formGroup]="emailCheckForm" style="text-align: center;"> | ||||||
|  |       <input class="form__field" type="email" formControlName="email" placeholder="example@gmail.com" | ||||||
|  |         [readOnly]="otpshow" [style.background-color]="otpshow === true ? '#f6f6f6' : 'white'" /> | ||||||
|  |       <div *ngIf="submitted && emailCheckForm.controls.email.errors" class="error_mess"> | ||||||
|  |         <div *ngIf="submitted && emailCheckForm.controls.email.errors.required" class="error_mess">*This field is | ||||||
|  |           Required</div> | ||||||
|  |       </div> | ||||||
|  |       <div *ngIf="emailErrMsg" style="color:indianred; font-weight: bold">{{emailErrMsg}}</div> | ||||||
|  |       <br> | ||||||
|  |       <div style="padding: 10px 10px 0px 30px;" *ngIf="!otpshow"> | ||||||
|  |         <clr-checkbox-container style="width: 360px;"> | ||||||
|  |           <clr-checkbox-wrapper> | ||||||
|  |             <input type="checkbox" clrCheckbox name="condition1" [(ngModel)]="conditions.condition1" | ||||||
|  |               [ngModelOptions]="{standalone: true}" /> | ||||||
|  |             <label>I agree to <a>Terms</a> and <a>Conditions</a>.</label> | ||||||
|  |           </clr-checkbox-wrapper> | ||||||
|  |           <clr-checkbox-wrapper> | ||||||
|  |             <input type="checkbox" clrCheckbox name="condition2" [(ngModel)]="conditions.condition2" | ||||||
|  |               [ngModelOptions]="{standalone: true}" /> | ||||||
|  |             <label>I agree to <a>Privacy Policy</a>.</label> | ||||||
|  |           </clr-checkbox-wrapper> | ||||||
|  |           <clr-checkbox-wrapper> | ||||||
|  |             <input type="checkbox" clrCheckbox name="condition3" [(ngModel)]="conditions.condition3" | ||||||
|  |               [ngModelOptions]="{standalone: true}" /> | ||||||
|  |             <label>I agree to End User Policy Agreement.</label> | ||||||
|  |           </clr-checkbox-wrapper> | ||||||
|  |         </clr-checkbox-container> | ||||||
|  |         <!-- Commenting out captcha --> | ||||||
|  | 
 | ||||||
|  |         <!-- <ngx-recaptcha2 #captchaElem style="width: 100%;" [siteKey]="siteKey" (success)="handleSuccess($event)" | ||||||
|  |           formControlName="recaptcha"> | ||||||
|  |         </ngx-recaptcha2> --> | ||||||
|  | 
 | ||||||
|  |         <div class="clr-col-sm-12 recaptcha-container"> | ||||||
|  |           <div class="recaptcha-box"> | ||||||
|  |             <b>{{ fieldnameCode }}</b> | ||||||
|  |             <button class="btn btn-icon btn-primary btn-sm" (click)="generatefieldname()"> | ||||||
|  |               <clr-icon shape="refresh"></clr-icon> | ||||||
|  |             </button> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <input type="text" formControlName="recaptcha" class="form__field" placeholder="Enter CAPTCHA"> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="submitted && emailCheckForm.controls.recaptcha.errors?.required" class="error_mess"> | ||||||
|  |             *This field is Required | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <div *ngIf="submitted && emailCheckForm.get('recaptcha').errors && emailCheckForm.get('recaptcha').dirty" | ||||||
|  |             class="error_mess"> | ||||||
|  |             <div *ngIf="submitted && emailCheckForm.controls['recaptcha'].hasError('fieldnameMismatch')" | ||||||
|  |               class="error_mess"> | ||||||
|  |               Recaptcha not valid. | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |       </div> | ||||||
|  |       <!-- <ng-container *ngIf="!otpshow"><br> | ||||||
|  |         <button type="submit" class="btn new--newprimary btn--inside uppercase" | ||||||
|  |           [disabled]="!emailCheckForm.valid && !verifyButton  || !(conditions.condition1 && conditions.condition2 && conditions.condition3)" | ||||||
|  |           (click)="onSubmit()">Verify Email</button> | ||||||
|  |       </ng-container> --> | ||||||
|  | 
 | ||||||
|  |       <ng-container *ngIf="!otpshow"><br> | ||||||
|  |         <button type="submit" class="btn new--newprimary btn--inside uppercase" | ||||||
|  |           [disabled]="!emailCheckForm.valid && verifyButton || !(conditions.condition1 && conditions.condition2 && conditions.condition3)" | ||||||
|  |           (click)="onSubmit()">Verify Email</button> | ||||||
|  |       </ng-container> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       <br> | ||||||
|  |       <ng-container *ngIf="otpshow"> | ||||||
|  |         <div style="text-align: center; font-weight: bold;">Enter Your OTP</div> | ||||||
|  |         <div> <input class="form__field" type="text" [(ngModel)]="otpfromuser" name="otpfromuser" | ||||||
|  |             [ngModelOptions]="{standalone: true}" placeholder="Enter OTP" /> </div> | ||||||
|  | 
 | ||||||
|  |         <button type="submit" class="btn new--newprimary btn--inside uppercase" | ||||||
|  |           [disabled]="otpfromuser === '' || otpfromuser.length !== 6" (click)="verifyOTP()">Submit</button> | ||||||
|  |         <div *ngIf="emailotpMsg" style="color:indianred; font-weight: bold">{{emailotpMsg}}</div> | ||||||
|  | 
 | ||||||
|  |         <div style="color:rgb(82, 80, 80); font-weight: bold; width: 360px;">We have sent OTP to | ||||||
|  |           "{{emailCheckForm.value.email}}", please check and enter OTP from your email.</div> | ||||||
|  | 
 | ||||||
|  |         <button type="submit" class="btn new--newprimary btn--inside uppercase" (click)="sendOTP()">Resend OTP</button> | ||||||
|  |       </ng-container> | ||||||
|  |     </form> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   </div> | ||||||
|  | </div> | ||||||
| @ -0,0 +1,153 @@ | |||||||
|  | .header-6 { | ||||||
|  | 	background-color: #0072a3; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .recaptcha-container { | ||||||
|  | 	display: flex; | ||||||
|  | 	flex-direction: column; | ||||||
|  | 	align-items: center; | ||||||
|  | 	margin-top: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .recaptcha-box { | ||||||
|  | 	display: flex; | ||||||
|  | 	align-items: center; | ||||||
|  | 	gap: 8px; | ||||||
|  | 	margin-bottom: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .recaptcha-input { | ||||||
|  | 	width: 100%; | ||||||
|  | 	max-width: 300px; | ||||||
|  | 	padding: 8px; | ||||||
|  | 	text-align: center; | ||||||
|  | 	border: 1px solid #ccc; | ||||||
|  | 	border-radius: 4px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .error_mess { | ||||||
|  | 	color: red; | ||||||
|  | 	font-size: 12px; | ||||||
|  | 	margin-top: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //** variables | ||||||
|  | $background: #f5f6fa; | ||||||
|  | $text: #9c9c9c; | ||||||
|  | $input-bg-color: #fff; | ||||||
|  | $input-text-color: #626161; | ||||||
|  | $button-bg-color: #7f8ff4; | ||||||
|  | $button-text-color: #fff; | ||||||
|  | 
 | ||||||
|  | //** root | ||||||
|  | :root { | ||||||
|  | 	background: $background; | ||||||
|  | 	color: $text; | ||||||
|  | 	font: 1rem "PT Sans", sans-serif; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | html, | ||||||
|  | body, | ||||||
|  | .container { | ||||||
|  | 	height: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a { | ||||||
|  | 	color: inherit; | ||||||
|  | 
 | ||||||
|  | 	&:hover { | ||||||
|  | 		color: $button-bg-color; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //** helper | ||||||
|  | .email_check { | ||||||
|  | 	display: flex; | ||||||
|  | 	flex-direction: column; | ||||||
|  | 	align-items: center; | ||||||
|  | 	justify-content: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .uppercase { | ||||||
|  | 	text-transform: uppercase; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //** button | ||||||
|  | .new { | ||||||
|  | 	display: inline-block; | ||||||
|  | 	background: transparent; | ||||||
|  | 	color: inherit; | ||||||
|  | 	font: inherit; | ||||||
|  | 	border: 0; | ||||||
|  | 	outline: 0; | ||||||
|  | 	padding: 0; | ||||||
|  | 	transition: all 200ms ease-in; | ||||||
|  | 	cursor: pointer; | ||||||
|  | 
 | ||||||
|  | 	&--newprimary { | ||||||
|  | 		background: $button-bg-color; | ||||||
|  | 		color: $button-text-color; | ||||||
|  | 		box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1); | ||||||
|  | 		border-radius: 2px; | ||||||
|  | 		//padding: 12px 36px; | ||||||
|  | 		//padding: 7px 158px; | ||||||
|  | 		width: 100%; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		&:hover { | ||||||
|  | 			background: darken($button-bg-color, 4%); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		&:active { | ||||||
|  | 			background: $button-bg-color; | ||||||
|  | 			box-shadow: inset 0 0 10px 2px rgba(0, 0, 0, .2); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	&--primary1 { | ||||||
|  | 		background: #4CAF50; | ||||||
|  | 		color: $button-text-color; | ||||||
|  | 		box-shadow: 0 0 10px 2px rgba(0, 0, 0, .1); | ||||||
|  | 		border-radius: 2px; | ||||||
|  | 		//padding: 12px 36px; | ||||||
|  | 		//padding: 7px 158px; | ||||||
|  | 		width: 100%; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 		&:hover { | ||||||
|  | 			background: darken($button-bg-color, 4%); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		&:active { | ||||||
|  | 			background: $button-bg-color; | ||||||
|  | 			box-shadow: inset 0 0 10px 2px rgba(0, 0, 0, .2); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* &--inside { | ||||||
|  | 		margin-left: -96px; | ||||||
|  | 	} */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | //** form | ||||||
|  | .form { | ||||||
|  | 
 | ||||||
|  | 	/* margin-left: auto; | ||||||
|  | 	margin-right: auto; */ | ||||||
|  | 	&__field { | ||||||
|  | 		width: 360px; | ||||||
|  | 		//width: 450px; | ||||||
|  | 		background: #fff; | ||||||
|  | 		color: $input-text-color; | ||||||
|  | 		font: inherit; | ||||||
|  | 		box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .1); | ||||||
|  | 		border: 0; | ||||||
|  | 		outline: 0; | ||||||
|  | 		padding: 10px 18px; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .form__field { | ||||||
|  | 	border: 2px solid #7f8ff4; | ||||||
|  | } | ||||||
| @ -0,0 +1,25 @@ | |||||||
|  | import { ComponentFixture, TestBed } from '@angular/core/testing'; | ||||||
|  | 
 | ||||||
|  | import { EmailverificationComponent } from './emailverification.component'; | ||||||
|  | 
 | ||||||
|  | describe('EmailverificationComponent', () => { | ||||||
|  |   let component: EmailverificationComponent; | ||||||
|  |   let fixture: ComponentFixture<EmailverificationComponent>; | ||||||
|  | 
 | ||||||
|  |   beforeEach(async () => { | ||||||
|  |     await TestBed.configureTestingModule({ | ||||||
|  |       declarations: [ EmailverificationComponent ] | ||||||
|  |     }) | ||||||
|  |     .compileComponents(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     fixture = TestBed.createComponent(EmailverificationComponent); | ||||||
|  |     component = fixture.componentInstance; | ||||||
|  |     fixture.detectChanges(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should create', () => { | ||||||
|  |     expect(component).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
| @ -0,0 +1,236 @@ | |||||||
|  | import { Component, OnInit, ViewEncapsulation } from '@angular/core'; | ||||||
|  | import { HttpClient, HttpErrorResponse } from "@angular/common/http"; | ||||||
|  | 
 | ||||||
|  | import { AbstractControl, FormBuilder, FormGroup, ValidationErrors, Validators } from "@angular/forms"; | ||||||
|  | import { ActivatedRoute, Router } from "@angular/router"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import { UserRegistrationService } from 'src/app/services/admin/user-registration.service'; | ||||||
|  | import { environment } from 'src/environments/environment'; | ||||||
|  | import { ToastrService } from 'ngx-toastr'; | ||||||
|  | import { LoginEnvironment } from '../login-page/login_environment'; | ||||||
|  | 
 | ||||||
|  | export interface EmailRequest { | ||||||
|  |   email: string; | ||||||
|  | } | ||||||
|  | @Component({ | ||||||
|  |   selector: 'app-emailverification', | ||||||
|  |   templateUrl: './emailverification.component.html', | ||||||
|  |   styleUrls: ['./emailverification.component.scss'] | ||||||
|  | }) | ||||||
|  | export class EmailverificationComponent implements OnInit { | ||||||
|  | 
 | ||||||
|  |   loginEnvironment = LoginEnvironment; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   // baseUrl= environment.portalurl;
 | ||||||
|  |   submitted = false; | ||||||
|  |   conditions = { | ||||||
|  |     condition1: true, | ||||||
|  |     condition2: true, | ||||||
|  |     condition3: true, | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   siteKey = environment.captchaSiteKey; | ||||||
|  |   // siteKey: string = "6Le7ayYpAAAAAL76n79XlVJCg1jbXZGbnzGNJ1rt";
 | ||||||
|  |   constructor(private _fb: FormBuilder, | ||||||
|  |     private router: Router, | ||||||
|  |     private route: ActivatedRoute, | ||||||
|  |     private userRegistrationService: UserRegistrationService, | ||||||
|  |     private http: HttpClient, | ||||||
|  |     private toastr: ToastrService) { | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   ngOnInit(): void { | ||||||
|  |     this.generatefieldname(); | ||||||
|  |     this.userRegistrationService.removeSignedUpUserInfo(); | ||||||
|  |     this.userRegistrationService.removeStoredEmail(); | ||||||
|  |     this.emailCheckForm = this._fb.group({ | ||||||
|  |       email: [null, [Validators.email, Validators.required]], | ||||||
|  |       // recaptcha: ['', Validators.required],
 | ||||||
|  |       recaptcha: [null, [Validators.required, this.checkfieldname.bind(this)]], | ||||||
|  |       first_name: [null], | ||||||
|  |       last_name: [null], | ||||||
|  |       mob_no: [null], | ||||||
|  |       account_id: [null], | ||||||
|  |       usrGrpId: [null], | ||||||
|  |       new_password: [null], | ||||||
|  |       confirm_password: [null], | ||||||
|  |       accesstype: [null], | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   model: any = {}; | ||||||
|  |   EmailRequest: EmailRequest; | ||||||
|  |   emailErrMsg: string = "" | ||||||
|  | 
 | ||||||
|  |   fieldnameCode = ''; | ||||||
|  |   generatefieldname(): void { | ||||||
|  |     const possibleCharacters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; | ||||||
|  |     const codeLength = 6; // Change to desired length
 | ||||||
|  | 
 | ||||||
|  |     let fieldname = ''; | ||||||
|  |     for (let i = 0; i < codeLength; i++) { | ||||||
|  |       const randomIndex = Math.floor(Math.random() * possibleCharacters.length); | ||||||
|  |       fieldname += possibleCharacters.charAt(randomIndex); | ||||||
|  |     } | ||||||
|  |     this.fieldnameCode = fieldname; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   checkfieldname(control: AbstractControl): ValidationErrors | null { | ||||||
|  |     if (control.value !== this.fieldnameCode) { | ||||||
|  |       return { fieldnameMismatch: true }; | ||||||
|  |     } | ||||||
|  |     return null; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   fieldnameMismatch = false; | ||||||
|  | 
 | ||||||
|  |   // checkfieldnameEdit(): void {
 | ||||||
|  |   //   if (this.rowSelected.recaptcha !== this.fieldnameCode) {
 | ||||||
|  |   //     this.fieldnameMismatch = true;
 | ||||||
|  |   //   } else { this.fieldnameMismatch = false; }
 | ||||||
|  |   // }
 | ||||||
|  |   emailExistCheck() { | ||||||
|  |     console.log('input email: ', this.model.email); | ||||||
|  |     this.userRegistrationService.emailCheck(this.model.email) | ||||||
|  |       .subscribe((res) => { | ||||||
|  |         console.log('email check Res : ', res); | ||||||
|  |       }, (err) => { | ||||||
|  |         console.log(err); | ||||||
|  |       }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   emailCheckForm: FormGroup; | ||||||
|  | 
 | ||||||
|  |   get f() { | ||||||
|  |     return this.emailCheckForm.controls; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // onSubmit() {
 | ||||||
|  |   //   console.log('this.emailCheckForm.value : ', this.emailCheckForm.value);
 | ||||||
|  |   //   this.userRegistrationService.emailCheck(this.emailCheckForm.value)
 | ||||||
|  |   //     .subscribe((res) => {
 | ||||||
|  |   //       console.log('success: ', res);
 | ||||||
|  |   //       let email: string = res.message;
 | ||||||
|  |   //       console.log(email);
 | ||||||
|  |   //       this.userRegistrationService.storeEmail(email);
 | ||||||
|  |   //       this.router.navigate(["/selfregistration"]);
 | ||||||
|  |   //     }, (err: HttpErrorResponse) => {
 | ||||||
|  |   //       console.log(err);
 | ||||||
|  |   //       console.log(err.error.message);
 | ||||||
|  |   //       if (err.status === 409) {
 | ||||||
|  |   //         this.emailErrMsg = 'Email Already Exists';
 | ||||||
|  |   //       } else {
 | ||||||
|  |   //         this.emailErrMsg = 'Server error';
 | ||||||
|  |   //       }
 | ||||||
|  |   //     });
 | ||||||
|  |   // }
 | ||||||
|  |   verifyButton = false; | ||||||
|  |   handleSuccess(e) { | ||||||
|  |     console.log("ReCaptcha", e); | ||||||
|  |     console.log(this.emailCheckForm.controls); | ||||||
|  |     const data: any = this.emailCheckForm.controls; | ||||||
|  |     if (data.recaptcha.status == "VALID") { | ||||||
|  |       this.verifyButton = true; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   result: any; | ||||||
|  |   otpfromuser: string = ''; | ||||||
|  |   otpshow = false; | ||||||
|  |   onSubmit() { | ||||||
|  |     if (this.emailCheckForm.invalid) { | ||||||
|  |       this.submitted = true; | ||||||
|  | 
 | ||||||
|  |       console.log(`invalid form..`); | ||||||
|  | 
 | ||||||
|  |       Object.keys(this.emailCheckForm.controls).forEach(field => { | ||||||
|  |         const control = this.emailCheckForm.get(field); | ||||||
|  |         if (control && control.invalid) { | ||||||
|  |           console.log(`Error in field: ${field}`, control.errors); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |       ); | ||||||
|  |       return; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     let email = this.emailCheckForm.value.email; | ||||||
|  |     console.log(this.emailCheckForm.value); | ||||||
|  |     delete this.emailCheckForm.value.recaptcha | ||||||
|  |     this.userRegistrationService.sendEmail(this.emailCheckForm.value).subscribe((res) => { | ||||||
|  |       // this.userService.storeEmail(email);
 | ||||||
|  |       // this.router.navigate(["/verify-account"])
 | ||||||
|  |       console.log(res); | ||||||
|  |       this.emailErrMsg = ''; | ||||||
|  | 
 | ||||||
|  |       if (res) { | ||||||
|  |         this.otpshow = true; | ||||||
|  |       } | ||||||
|  |     }, (err: HttpErrorResponse) => { | ||||||
|  |       console.log(err) | ||||||
|  |       if (err.status >= 400 && err.status <= 499) { | ||||||
|  |         this.emailErrMsg = 'Email Already Exists or Enter Correct Email'; | ||||||
|  |       } else { | ||||||
|  |         this.emailErrMsg = 'Server error'; | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   sendOTP(): void { | ||||||
|  |     this.userRegistrationService.sendOTP(this.emailCheckForm.value.email).subscribe( | ||||||
|  |       (response) => { | ||||||
|  |         const email = this.emailCheckForm.value.email | ||||||
|  |         console.log(`"${email}", please check and enter OTP from your email`, response); | ||||||
|  |         // this.toastr.success(`"${email}", please check and enter OTP from your email`)
 | ||||||
|  |         // Handle the response as needed
 | ||||||
|  |         this.otpfromuser = '' | ||||||
|  |         this.toastr.success(response?.msg.toString()); | ||||||
|  |       }, | ||||||
|  |       (error) => { | ||||||
|  |         console.error('Failed to send OTP:', error); | ||||||
|  |         // Handle errors
 | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           this.toastr.error(error?.message.toString()); | ||||||
|  |         } else if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.toastr.error("server error"); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  |   emailotpMsg: string = ""; | ||||||
|  |   verifyOTP(): void { | ||||||
|  |     this.userRegistrationService.verifyOTP(this.emailCheckForm.value.email, this.otpfromuser).subscribe( | ||||||
|  |       (response) => { | ||||||
|  |         console.log('OTP verification result:', response); | ||||||
|  |         // Handle the verification result as needed
 | ||||||
|  |         this.toastr.success(response?.msg.toString()); | ||||||
|  |         setTimeout(() => { | ||||||
|  |           this.router.navigate(["../about-work"], { relativeTo: this.route, queryParams: { email: this.emailCheckForm.value.email } }); | ||||||
|  |         }, 500); | ||||||
|  |       }, | ||||||
|  |       (error) => { | ||||||
|  |         console.error('OTP verification failed:', error); | ||||||
|  |         // Handle errors
 | ||||||
|  |         if (error.status >= 400 && error.status <= 499) { | ||||||
|  |           // this.toastr.error(error?.error?.msg.toString());
 | ||||||
|  |           this.emailotpMsg = error?.error?.msg; | ||||||
|  |         } else if (error.status >= 500 && error.status <= 599) { | ||||||
|  |           this.emailotpMsg = 'Server error'; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   onSignUp() { | ||||||
|  |     this.router.navigate(["signup"]); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   goToLogin() { | ||||||
|  |     // window.location.href = `${this.baseUrl}/#/login`;
 | ||||||
|  |     this.router.navigate(["login"]) | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | <clr-main-container> | ||||||
|  |   <clr-header class="header-5"> | ||||||
|  |     <div class="branding"> | ||||||
|  |       <a href="javascript://" class="nav-link"> | ||||||
|  |         <a href="#" class="logo"> | ||||||
|  |           <img class="img" src="assets/images/icon/micrologo.png" alt="" height="50" width="50"> | ||||||
|  |         </a> | ||||||
|  |         <div style="width:40px;margin-right:10px;"> | ||||||
|  | 
 | ||||||
|  |       </div> | ||||||
|  |         <span class="title">cloudnSure</span> | ||||||
|  |       </a> | ||||||
|  |     </div> | ||||||
|  |   </clr-header> | ||||||
|  | 
 | ||||||
|  |   <div class="container"> | ||||||
|  | 
 | ||||||
|  |     <div class="email_check"> | ||||||
|  |       <h2><b>Forgot My Username Or Password </b></h2> | ||||||
|  |       <p style="font-size:15px;">By singing up, I agree to the cloudnsure <u>Privacy Policy</u> and <u>Terms of | ||||||
|  |           Service</u></p><br> | ||||||
|  |           <form class="form" [formGroup]="emailCheckForm"> | ||||||
|  |         <input class="form__field" type="text"  placeholder="email@company.com" formControlName="email"/> | ||||||
|  |         <div *ngIf="emailErrMsg" style="color:indianred; font-weight: bold">{{emailErrMsg}}</div> | ||||||
|  |         <br><br> | ||||||
|  |         <button type="submit"class="btn btn--primary btn--inside uppercase" (click)="onsubmit()">Send Me Access Link</button> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       </form> | ||||||
|  |       <br> | ||||||
|  |     <p *ngIf="emailsend" style="color: red;"><clr-icon shape="check"></clr-icon> Email Is send Please Check Your Mail </p> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  | </clr-main-container> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user