base_project
This commit is contained in:
		
						commit
						f83d374b97
					
				| @ -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
									
								
								test8july-front-f/authsec_angular/frontend/angular-clarity-master/.github/workflows/blank.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								test8july-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
									
								
								test8july-front-f/authsec_angular/frontend/angular-clarity-master/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								test8july-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
									
								
								test8july-front-f/authsec_angular/frontend/angular-clarity-master/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test8july-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
									
								
								test8july-front-f/authsec_angular/frontend/angular-clarity-master/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										14862
									
								
								test8july-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