base_project
This commit is contained in:
		
						commit
						aa9cb16097
					
				@ -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
									
								
								test30aug02-demot1-f/authsec_angular/frontend/angular-clarity-master/.github/workflows/blank.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								test30aug02-demot1-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
									
								
								test30aug02-demot1-f/authsec_angular/frontend/angular-clarity-master/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								test30aug02-demot1-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
									
								
								test30aug02-demot1-f/authsec_angular/frontend/angular-clarity-master/.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test30aug02-demot1-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
									
								
								test30aug02-demot1-f/authsec_angular/frontend/angular-clarity-master/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										14862
									
								
								test30aug02-demot1-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 ApiRegisteryLine {
 | 
			
		||||
    public id: number;
 | 
			
		||||
    public url: string;
 | 
			
		||||
    public method: string;
 | 
			
		||||
    public header_id: number;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -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"])
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
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