{"version":3,"file":"main.js","mappings":"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","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/AppKey/appkeyDataListView.component.ts","./src/app/AppKey/appkeyDataListView.component.html","./src/app/GlobalHelpers.ts","./src/app/GlobalObjects.ts","./src/app/Login/Login.component.ts","./src/app/Login/Login.component.html","./src/app/Login/LoginDialog.component.ts","./src/app/Login/LoginDialog.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/appfeature/appfeatureDataListView.component.ts","./src/app/appfeature/appfeatureDataListView.component.html","./src/app/appfeature/appfeatureDataPage.component.ts","./src/app/appfeature/appfeatureDataPage.component.html","./src/app/appfeature/appfeatureDialog.component.ts","./src/app/appfeature/appfeatureDialog.component.html","./src/app/appfeature/appfeaturePage.component.ts","./src/app/appfeature/appfeaturePage.component.html","./src/app/common/File.datasource.ts","./src/app/common/GVideoHelper.ts","./src/app/common/PrivacyPolicy.component.ts","./src/app/common/PrivacyPolicy.component.html","./src/app/common/TermsConditions.component.ts","./src/app/common/TermsConditions.component.html","./src/app/common/XFileSelect.component.ts","./src/app/common/XFileSelect.component.html","./src/app/common/XFileUpload.component.ts","./src/app/common/XFileUpload.component.html","./src/app/common/XLogoFileSelect.component.ts","./src/app/common/XLogoFileSelect.component.html","./src/app/common/XLogoFileUpload.component.ts","./src/app/common/XLogoFileUpload.component.html","./src/app/common/XLogoPlay.component.ts","./src/app/common/XLogoPlay.component.html","./src/app/common/XPicturePlay.component.ts","./src/app/common/XPicturePlay.component.html","./src/app/common/XUserImageFileSelect.component.ts","./src/app/common/XUserImageFileSelect.component.html","./src/app/common/XUserImageFileUpload.component.ts","./src/app/common/XUserImageFileUpload.component.html","./src/app/common/XUserImagePlay.component.ts","./src/app/common/XUserImagePlay.component.html","./src/app/common/XVideoPlay.component.ts","./src/app/common/XVideoPlay.component.html","./src/app/common/drag-drop-file-upload.directive.ts","./src/app/common/outsideClick.directive.ts","./src/app/emailqueue/emailqueueDataPage.component.ts","./src/app/emailqueue/emailqueueDataPage.component.html","./src/app/emailqueue/emailqueueDialog.component.ts","./src/app/emailqueue/emailqueueDialog.component.html","./src/app/emailqueue/emailqueuePage.component.ts","./src/app/emailqueue/emailqueuePage.component.html","./src/app/facility/facilityDataListView.component.ts","./src/app/facility/facilityDataListView.component.html","./src/app/facility/facilityDataPage.component.ts","./src/app/facility/facilityDataPage.component.html","./src/app/facility/facilityDialog.component.ts","./src/app/facility/facilityDialog.component.html","./src/app/facility/facilityPage.component.ts","./src/app/facility/facilityPage.component.html","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/home/home.module.ts","./src/app/model/ForgotPasswordRequest.model.ts","./src/app/model/ForgotUserIdRequest.model.ts","./src/app/model/ResetPasswordRequest.model.ts","./src/app/model/ResetUserIdRequest.model.ts","./src/app/model/UserEntity.model.ts","./src/app/model/XItem.model.ts","./src/app/model/XUserEntity.model.ts","./src/app/model/XUserInfoEntity.model.ts","./src/app/model/XUserSecurityQuestionEntity.model.ts","./src/app/model/appfeature.datasource.ts","./src/app/model/appfeature.model.ts","./src/app/model/appkey.datasource.ts","./src/app/model/appkey.model.ts","./src/app/model/connection.service.ts","./src/app/model/emailqueue.datasource.ts","./src/app/model/emailqueue.model.ts","./src/app/model/facility.datasource.ts","./src/app/model/facility.model.ts","./src/app/model/masterappfeature.datasource.ts","./src/app/model/masterappfeature.model.ts","./src/app/model/model.module.ts","./src/app/model/organization.datasource.ts","./src/app/model/organization.model.ts","./src/app/model/securityquestion.datasource.ts","./src/app/model/securityquestion.model.ts","./src/app/model/state.datasource.ts","./src/app/model/state.model.ts","./src/app/model/tresult.model.ts","./src/app/model/user.datasource.ts","./src/app/model/usersecurityquestion.datasource.ts","./src/app/model/usersecurityquestion.model.ts","./src/app/model/xfrontpage.datasource.ts","./src/app/model/xfrontpage.model.ts","./src/app/model/xfrontpageinfo.datasource.ts","./src/app/model/xfrontpageinfo.model.ts","./src/app/model/xlog.datasource.ts","./src/app/model/xlog.model.ts","./src/app/model/xuser.datasource.ts","./src/app/model/xuser.model.ts","./src/app/model/xuserinfo.datasource.ts","./src/app/model/xuserinfo.model.ts","./src/app/organization/organizationDataPage.component.ts","./src/app/organization/organizationDataPage.component.html","./src/app/organization/organizationDialog.component.ts","./src/app/organization/organizationDialog.component.html","./src/app/organization/organizationPage.component.ts","./src/app/organization/organizationPage.component.html","./src/app/organization/organizationSelectDialog.component.ts","./src/app/organization/organizationSelectDialog.component.html","./src/app/storeFirst.guard.ts","./src/app/usersecurityquestion/usersecurityquestionDataListView.component.ts","./src/app/usersecurityquestion/usersecurityquestionDataListView.component.html","./src/app/usersecurityquestion/usersecurityquestionDataPage.component.ts","./src/app/usersecurityquestion/usersecurityquestionDataPage.component.html","./src/app/usersecurityquestion/usersecurityquestionDialog.component.ts","./src/app/usersecurityquestion/usersecurityquestionDialog.component.html","./src/app/usersecurityquestion/usersecurityquestionPage.component.ts","./src/app/usersecurityquestion/usersecurityquestionPage.component.html","./src/app/xfrontpage/xfrontpageDataPage.component.ts","./src/app/xfrontpage/xfrontpageDataPage.component.html","./src/app/xfrontpage/xfrontpageDialog.component.ts","./src/app/xfrontpage/xfrontpageDialog.component.html","./src/app/xfrontpage/xfrontpagePage.component.ts","./src/app/xfrontpage/xfrontpagePage.component.html","./src/app/xfrontpage/xfrontpageSelectDialog.component.ts","./src/app/xfrontpage/xfrontpageSelectDialog.component.html","./src/app/xfrontpageinfo/xfrontpageinfoDFDView.component.ts","./src/app/xfrontpageinfo/xfrontpageinfoDFDView.component.html","./src/app/xfrontpageinfo/xfrontpageinfoDataListView.component.ts","./src/app/xfrontpageinfo/xfrontpageinfoDataListView.component.html","./src/app/xfrontpageinfo/xfrontpageinfoDataPage.component.ts","./src/app/xfrontpageinfo/xfrontpageinfoDataPage.component.html","./src/app/xfrontpageinfo/xfrontpageinfoDialog.component.ts","./src/app/xfrontpageinfo/xfrontpageinfoDialog.component.html","./src/app/xfrontpageinfo/xfrontpageinfoPage.component.ts","./src/app/xfrontpageinfo/xfrontpageinfoPage.component.html","./src/app/xuser/xuserDataPage.component.ts","./src/app/xuser/xuserDataPage.component.html","./src/app/xuser/xuserDialog.component.ts","./src/app/xuser/xuserDialog.component.html","./src/app/xuser/xuserForgotPassword.component.ts","./src/app/xuser/xuserForgotPassword.component.html","./src/app/xuser/xuserForgotUserId.component.ts","./src/app/xuser/xuserForgotUserId.component.html","./src/app/xuser/xuserPage.component.ts","./src/app/xuser/xuserPage.component.html","./src/app/xuser/xuserProfile.component.ts","./src/app/xuser/xuserProfile.component.html","./src/app/xuser/xuserRegister.component.ts","./src/app/xuser/xuserRegister.component.html","./src/app/xuser/xuserResetPassword.component.ts","./src/app/xuser/xuserResetPassword.component.html","./src/app/xuser/xuserResetUserId.component.ts","./src/app/xuser/xuserResetUserId.component.html","./src/app/xuserentity/xuserinfoEntityView.component.ts","./src/app/xuserentity/xuserinfoEntityView.component.html","./src/app/xuserentity/xusersecurityquestionEntityListView.component.ts","./src/app/xuserentity/xusersecurityquestionEntityListView.component.html","./src/app/xuserinfo/xuserinfoDataPage.component.ts","./src/app/xuserinfo/xuserinfoDataPage.component.html","./src/app/xuserinfo/xuserinfoDataView.component.ts","./src/app/xuserinfo/xuserinfoDataView.component.html","./src/app/xuserinfo/xuserinfoDialog.component.ts","./src/app/xuserinfo/xuserinfoDialog.component.html","./src/app/xuserinfo/xuserinfoPage.component.ts","./src/app/xuserinfo/xuserinfoPage.component.html","./src/environments/environment.ts","./src/main.ts","ignored|C:\\GoDFD\\GoDFDFront\\node_modules\\crypto-js|crypto"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(() => {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = () => ([]);\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 8255;\nmodule.exports = webpackEmptyAsyncContext;","//--KEEP:\r\n//#############################################################\r\n//## AppKeyDataListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { AppKey } from \"../model/appkey.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AppKeyDataSource } from \"../model/appkey.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"appkeyDataListView\",\r\n templateUrl: \"appkeyDataListView.component.html\",\r\n styleUrls: ['./appkey.component.css']\r\n})\r\nexport class AppKeyDataListViewComponent {\r\n\r\n\r\n @Input() appkeys: AppKey[] = [];\r\n public appkey: AppKey = new AppKey();\r\n\r\n public selectedRowAppKey = -1;\r\n\r\n public appkeysPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n constructor(\r\n private dataSource: AppKeyDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n if (this.appkeys != null && this.appkeys.length > 0) {\r\n this.setClickedRowAppKey(0);\r\n }\r\n }\r\n\r\n setAppkeys(data: any) {\r\n this.appkeys = data;\r\n if(this.appkeys == null) this.appkeys = [];\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.appkeys == null) this.appkeys = [];\r\n }\r\n\r\n public errorMessage = '';\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n //----Setup Global object list--\r\n\r\n\r\n //<<==================================================\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('appkeyDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeAppKey() {\r\n this.appkey = new AppKey();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectAppKey(data: AppKey | null) {\r\n if (data == null) return;\r\n this.getAppKey(data.AppKey_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getAppKey(Id: number) {\r\n if (Id <= 0 || Id == null || this.appkeys == null) return;\r\n\r\n for (var i = 0; i < this.appkeys.length; i++) {\r\n if (this.appkeys[i].AppKey_ID == Id) {\r\n this.selectedRowAppKey = i;\r\n this.setClickedRowAppKey(i);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailAppKey(datax: any) {\r\n if (datax == null) {\r\n this.appkey = new AppKey();\r\n return;\r\n }\r\n var data = AppKey.Copy(datax);\r\n this.appkey = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showAppKey(idx: number, data: AppKey | null) {\r\n if (data == null) return;\r\n this.selectedRowAppKey = idx;\r\n this.getDetailAppKey(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowAppKey(index: number) {\r\n if (index < 0 || this.appkeys == null || this.appkeys.length <= 0) {\r\n this.selectedRowAppKey = -1;\r\n return;\r\n }\r\n this.selectedRowAppKey = index;\r\n this.showAppKey(index, this.appkeys[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemAppKey_Click() {\r\n if (this.appkeys == null || this.appkeys.length <= 0) return;\r\n this.setClickedRowAppKey(0);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemAppKey_Click() {\r\n if (this.appkeys == null || this.appkeys.length <= 0) return;\r\n var i = this.selectedRowAppKey - 1;\r\n if (i < 0) i = this.appkeys.length - 1;\r\n this.setClickedRowAppKey(i);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemAppKey_Click() {\r\n if (this.appkeys == null || this.appkeys.length <= 0) return;\r\n var i = this.selectedRowAppKey + 1;\r\n if (i >= this.appkeys.length) i = 0;\r\n this.setClickedRowAppKey(i);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemAppKey_Click() {\r\n if (this.appkeys == null || this.appkeys.length <= 0) return;\r\n var i = this.appkeys.length - 1;\r\n this.setClickedRowAppKey(i);\r\n }\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewAppKey_Click() {\r\n this.InitializeAppKey();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewAppKey_Click() {\r\n this.saveNewAppKey();\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditAppKey_Click() {\r\n this.saveAppKey();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteAppKey_Click() {\r\n this.deleteAppKey();\r\n }\r\n\r\n //------------------------------------------------\r\n AddAppKey2List(data: any) {\r\n if (this.appkeys == null) this.appkeys = [];\r\n this.appkeys.push(data);\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveDataReady(){\r\n if(this.appkey == null ||\r\n this.appkey.XName == '' ||\r\n this.appkey.Key == '' ||\r\n this.appkey.AppKey_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady(){\r\n if(this.appkey == null ||\r\n this.appkey.XName == '' ||\r\n this.appkey.Key == '') return false;\r\n else return true;\r\n }\r\n \r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveAppKey() {\r\n if (this.appkeys == null || this.appkey == null || this.selectedRowAppKey < 0) return;\r\n this.appkeys[this.selectedRowAppKey] = AppKey.Copy(this.appkey);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewAppKey() {\r\n let a = AppKey.Copy(this.appkey);\r\n a.AppKey_ID = -1;\r\n this.AddAppKey2List(a);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteAppKey() {\r\n if (this.appkeys != null && this.appkeys.length > 0 && this.selectedRowAppKey >= 0) {\r\n let ok = confirm(\"Are you sure of deleting the AppKey: \" + this.appkey.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the AppKey to delete!');\r\n return;\r\n }\r\n this.appkeys.splice(this.selectedRowAppKey, 1);\r\n this.selectedRowAppKey = -1;\r\n this.InitializeAppKey();\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Name\r\n \r\n Description\r\n
\r\n \r\n {{x.XName}}{{x.Description}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowAppKey}} of {{appkeys?.length}}

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n","//--KEEP:\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\n//====================Declare Global variables==============\r\n\r\nimport { ITS_JUST_ANGULAR } from \"@angular/core/src/r3_symbols\";\r\nimport { Router } from \"@angular/router\";\r\nimport { GlobalObjects } from \"./GlobalObjects\";\r\nimport { XLogDataSource } from \"./model/xlog.datasource\";\r\nimport { XLog } from \"./model/xlog.model\";\r\n\r\nimport { State } from \"./model/state.model\";\r\nimport { StateDataSource } from \"./model/state.datasource\";\r\nimport { AppKey } from \"./model/appkey.model\";\r\nimport { OrganizationDataSource } from \"./model/organization.datasource\";\r\nimport { MasterAppFeature } from \"./model/masterappfeature.model\";\r\nimport { MasterAppFeatureDataSource } from \"./model/masterappfeature.datasource\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { LoginDialog } from \"./Login/LoginDialog.component\";\r\n\r\n\r\n@Injectable()\r\nexport class GlobalHelpers {\r\n public static modalService: NgbModal;\r\n public static dataSourceLog: XLogDataSource; //--This might need to initiate by the call component\r\n public static errorMessage = '';\r\n public errorMessageX = '';\r\n\r\n public static gStates: State[] = [];\r\n public static gMasterAppFeatures: MasterAppFeature[] = [];\r\n public static gAppKeys: AppKey[] = [];\r\n\r\n constructor(private ms: NgbModal, private datasource: XLogDataSource) {\r\n // GlobalHelpers.modalService = ms;\r\n // GlobalHelpers.dataSourceLog = datasource;\r\n }\r\n\r\n //----------------------------------------------------\r\n public static getStates(dataSourceST: StateDataSource) {\r\n dataSourceST.ListState(1, 100, \"\", 2, 3, GlobalObjects.gTenantId)\r\n .subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n GlobalHelpers.gStates = data.Data.states;\r\n if(GlobalHelpers.gStates == null) GlobalHelpers.gStates = [];\r\n },\r\n error: error => {\r\n GlobalHelpers.gStates = [];\r\n console.log(error.message.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------\r\n public static getMasterAppFeatures(dataSourceMAF: MasterAppFeatureDataSource) {\r\n dataSourceMAF.ListMasterAppFeature(1, 500, \"\", 2, 3)\r\n .subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n GlobalHelpers.gMasterAppFeatures = data.Data.masterappfeatures;\r\n if(GlobalHelpers.gMasterAppFeatures == null) GlobalHelpers.gMasterAppFeatures = [];\r\n },\r\n error: error => {\r\n GlobalHelpers.gMasterAppFeatures = [];\r\n console.log(error.message.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------\r\n public static getAppKeys(dataSourceORG: OrganizationDataSource) {\r\n dataSourceORG.getOrganizationAppKeys(GlobalObjects.gTenantId)\r\n .subscribe({\r\n next: data => {\r\n GlobalHelpers.gAppKeys = data.Data.AppKeys;\r\n },\r\n error: error => {\r\n GlobalHelpers.gAppKeys = [];\r\n console.log(error.message.toString());\r\n }\r\n });\r\n }\r\n\r\n //---------------WriteLog-----------------------------------\r\n static gWriteLog(suser: string, stype: string, skey: string, smsg: string) {\r\n var sNow = (new Date).toUTCString();\r\n var xlog = new XLog(sNow, suser, stype, skey, smsg);\r\n this.putData(xlog);\r\n }\r\n\r\n //------------------------------insert--------------------------\r\n static putData(data: XLog) {\r\n GlobalHelpers.dataSourceLog.postData(data)\r\n .subscribe({\r\n next: data => {\r\n GlobalHelpers.errorMessage = '';\r\n },\r\n error: error => {\r\n GlobalHelpers.errorMessage = error.message;\r\n console.log(error.message.toString());\r\n }\r\n });\r\n }\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n static checkUser(callState: any, aRouter: Router) {\r\n // GlobalObjects.isUserAuthorized = true;\r\n // return;\r\n\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = callState;\r\n aRouter.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n static GetDateString(adate: any) {\r\n if (adate == null || adate == '') return '';\r\n var cdate = new Date(adate);\r\n if (cdate.getHours() == 0 && cdate.getMinutes() == 0 && cdate.getSeconds() == 0)\r\n return (cdate.getMonth() + 1) + \"/\" + cdate.getDate() + \"/\" + cdate.getFullYear();\r\n else\r\n return (cdate.getMonth() + 1) + \"/\" + cdate.getDate() + \"/\" + cdate.getFullYear() + \" \" +\r\n cdate.getHours() + \":\" + cdate.getMinutes() + \":\" + cdate.getSeconds();\r\n }\r\n\r\n //-----------------------------------------------------\r\n static GetNumberString(idata: any) {\r\n if (idata <= GlobalObjects.gMinNumber) return '';\r\n else return idata.toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n static GetDate(sdate: any): Date | string {\r\n if (sdate == null || sdate == '') return '';\r\n return new Date(sdate);\r\n }\r\n\r\n //---------------------------------------------------------------\r\n static isLoginAndPrvg(reqPrvg: any) {\r\n if (GlobalObjects.gUserId == null || GlobalObjects.gUserId == '') return false;\r\n if (GlobalObjects.gUserPrvg >= reqPrvg) return true;\r\n else return false;\r\n }\r\n\r\n static isNullOrEmpty(str: any) {\r\n try {\r\n if (str === undefined || str === null || (typeof str === 'string' && str.trim() === ''))\r\n return true;\r\n else\r\n return false;\r\n } catch (e) {\r\n return true;\r\n }\r\n }\r\n\r\n static isNull(elm: any) {\r\n try {\r\n if (elm === undefined || elm === null)\r\n return true;\r\n else\r\n return false;\r\n } catch (e) {\r\n return true;\r\n }\r\n }\r\n\r\n static getStringValue(stringValue: any) {\r\n if (this.isNullOrEmpty(stringValue))\r\n return '';\r\n else\r\n return stringValue;\r\n }\r\n\r\n static openModal(id: string) {\r\n GlobalHelpers.modalService.open(id);\r\n }\r\n\r\n static showWaitModal(show: boolean, waitMessage: any) {\r\n console.log(\"showWaitModal\");\r\n /*\r\n if (this.isNullOrEmpty(waitMessage)) waitMessage = \"Processing\";\r\n var a = $(\"#spanWaitMessageContent\");\r\n if (a != null) a.text = waitMessage;\r\n GlobalHelpers.modalService.show(\"#myPleaseWait\");\r\n */\r\n }\r\n\r\n static showLoginModal(title: any, messageContent: any) {\r\n const modalRef = this.modalService.open(LoginDialog);\r\n modalRef.componentInstance.title = 'Please Login';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n }\r\n });\r\n\r\n console.log(\"showLoginModal\");\r\n /*\r\n $(\"#spanMessageTitle\").text(title);\r\n // $(\"#spanMessageContent\").text(messageContent);\r\n GlobalHelpers.modalService.show(\"#loginModal\");\r\n */\r\n }\r\n\r\n static showMessageModal(title: any, messageContent: any) {\r\n console.log(\"showMessageModal\");\r\n alert(title + \": \" + messageContent);\r\n\r\n /*\r\n $(\"#spanMessageTitle\").text(title);\r\n $(\"#spanMessageContent\").text(messageContent);\r\n GlobalHelpers.modalService.show(\"#messageModal\");\r\n */\r\n }\r\n\r\n static sanitizeString(oldString: any) {\r\n var newString = oldString.replace(/(@|&|'|\\(|\\)|<|>|#)/gi, '');\r\n\r\n return newString;\r\n }\r\n\r\n static capitalizeFirstLetter(str: any) {\r\n var tmpString = str.toLowerCase();\r\n return tmpString.charAt(0).toUpperCase() + tmpString.slice(1);\r\n }\r\n\r\n static encodeURI(uri: any) {\r\n return encodeURI(uri);\r\n }\r\n\r\n static getLimitStr(sstr: any, ilen: number) {\r\n if (sstr == null || sstr == '') return '';\r\n if (sstr.length > ilen) return sstr.substring(0, ilen) + \"...\";\r\n else return sstr;\r\n }\r\n\r\n static getReadableStr(sstr: any) {\r\n if (sstr == null || sstr == '') return '';\r\n var alist = sstr.split(\"\\\\n\");\r\n var rstr = '';\r\n for (var i = 0; i < alist.length; i++) {\r\n if (i == 0) rstr += alist[i];\r\n else rstr += \"\\r\\n\" + alist[i];\r\n }\r\n return rstr;\r\n }\r\n\r\n static getWriteableStr(sstr: any) {\r\n if (sstr == null || sstr == '') return '';\r\n var alist = sstr.split(\"\\r\\n\");\r\n var rstr = '';\r\n for (var i = 0; i < alist.length; i++) {\r\n if (i == 0) rstr += alist[i];\r\n else rstr += \"\\\\n\" + alist[i];\r\n }\r\n return rstr;\r\n }\r\n\r\n static GetSRefData(sstr: any) {\r\n if (sstr == null || sstr == '') return null;\r\n var svalues = [];\r\n var ib = sstr.indexOf('(', 0);\r\n if (ib >= 0) {\r\n var ie = sstr.indexOf(')', 0);\r\n svalues.push(sstr.substring(0, ib));\r\n svalues.push(sstr.substring(ib + 1, ie));\r\n }\r\n else {\r\n var sref = sstr;\r\n var sfilter = '';\r\n svalues.push(sstr);\r\n svalues.push('');\r\n\r\n }\r\n return svalues;\r\n }\r\n\r\n //---------------------------------------------------------------\r\n public static loadGoogleMapScript(keyName: string) {\r\n var a = GlobalHelpers.gAppKeys;\r\n var aKeyValue = '';\r\n if (GlobalHelpers.gAppKeys != null && GlobalHelpers.gAppKeys.length > 0) {\r\n for (var i = 0; i < GlobalHelpers.gAppKeys.length; i++) {\r\n if (GlobalHelpers.gAppKeys[i].XName == keyName) {\r\n aKeyValue = GlobalHelpers.gAppKeys[i].Key;\r\n break;\r\n }\r\n }\r\n }\r\n //script.onload = function () {\r\n //do stuff with the script\r\n //};\r\n // script.src = \"https://maps.googleapis.com/maps/api/js?key=AIzaSyCOZbYKQZAC0cn4tKPuGY8VpevX_JBfOVY&libraries=places&language=en\"\r\n var scriptx = document.getElementById('googlemap');\r\n if (scriptx) {\r\n scriptx.outerHTML = \"\";\r\n }\r\n else {\r\n var script = document.createElement('script');\r\n script.id = 'googlemap';\r\n script.src = \"https://maps.googleapis.com/maps/api/js?key=\" + aKeyValue + \"&libraries=places&language=en\";\r\n var b = document.head.appendChild(script); //or something of the likes\r\n }\r\n }\r\n\r\n}\r\n\r\n@Injectable()\r\nexport class GlobalHelpersX {\r\n public modalService: NgbModal;\r\n public dataSourceLog: XLogDataSource; //--Ihis might need to initiate by the call component\r\n public errorMessage = '';\r\n\r\n constructor(private ms: NgbModal, private datasource: XLogDataSource) {\r\n this.modalService = ms;\r\n this.dataSourceLog = datasource;\r\n }\r\n\r\n //---------------WriteLog-----------------------------------\r\n gWriteLog(suser: string, stype: string, skey: string, smsg: string) {\r\n var sNow = (new Date).toUTCString();\r\n var xlog = new XLog(sNow, suser, stype, skey, smsg);\r\n this.putData(xlog);\r\n }\r\n\r\n //------------------------------insert--------------------------\r\n putData(data: XLog) {\r\n this.dataSourceLog.postData(data)\r\n .subscribe({\r\n next: data => {\r\n this.errorMessage = '';\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n console.log(error.message.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser(callState: any, aRouter: Router) {\r\n GlobalObjects.isUserAuthorized = true;\r\n return;\r\n\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = callState;\r\n aRouter.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n if (adate == null || adate == '') return '';\r\n var cdate = new Date(adate);\r\n if (cdate.getHours() == 0 && cdate.getMinutes() == 0 && cdate.getSeconds() == 0)\r\n return (cdate.getMonth() + 1) + \"/\" + cdate.getDate() + \"/\" + cdate.getFullYear();\r\n else\r\n return (cdate.getMonth() + 1) + \"/\" + cdate.getDate() + \"/\" + cdate.getFullYear() + \" \" +\r\n cdate.getHours() + \":\" + cdate.getMinutes() + \":\" + cdate.getSeconds();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n if (idata <= GlobalObjects.gMinNumber) return '';\r\n else return idata.toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): Date | string {\r\n if (sdate == null || sdate == '') return '';\r\n return new Date(sdate);\r\n }\r\n\r\n //---------------------------------------------------------------\r\n isLoginAndPrvg(reqPrvg: any) {\r\n if (GlobalObjects.gUserId == null || GlobalObjects.gUserId == '') return false;\r\n if (GlobalObjects.gUserPrvg >= reqPrvg) return true;\r\n else return false;\r\n }\r\n\r\n isNullOrEmpty(str: any) {\r\n try {\r\n if (str === undefined || str === null || (typeof str === 'string' && str.trim() === ''))\r\n return true;\r\n else\r\n return false;\r\n } catch (e) {\r\n return true;\r\n }\r\n }\r\n\r\n isNull(elm: any) {\r\n try {\r\n if (elm === undefined || elm === null)\r\n return true;\r\n else\r\n return false;\r\n } catch (e) {\r\n return true;\r\n }\r\n }\r\n\r\n getStringValue(stringValue: any) {\r\n if (this.isNullOrEmpty(stringValue))\r\n return '';\r\n else\r\n return stringValue;\r\n }\r\n\r\n openModal(id: string) {\r\n this.modalService.open(id);\r\n }\r\n\r\n showWaitModal(show: boolean, waitMessage: any) {\r\n console.log(\"showWaitModal\");\r\n /*\r\n if (this.isNullOrEmpty(waitMessage)) waitMessage = \"Processing\";\r\n var a = $(\"#spanWaitMessageContent\");\r\n if (a != null) a.text = waitMessage;\r\n GlobalHelpers.modalService.show(\"#myPleaseWait\");\r\n */\r\n }\r\n\r\n showLoginModal(title: any, messageContent: any) {\r\n console.log(\"showLoginModal\");\r\n /*\r\n $(\"#spanMessageTitle\").text(title);\r\n // $(\"#spanMessageContent\").text(messageContent);\r\n GlobalHelpers.modalService.show(\"#loginModal\");\r\n */\r\n }\r\n\r\n showMessageModal(title: any, messageContent: any) {\r\n console.log(\"showMessageModal\");\r\n /*\r\n $(\"#spanMessageTitle\").text(title);\r\n $(\"#spanMessageContent\").text(messageContent);\r\n GlobalHelpers.modalService.show(\"#messageModal\");\r\n */\r\n }\r\n\r\n sanitizeString(oldString: any) {\r\n var newString = oldString.replace(/(@|&|'|\\(|\\)|<|>|#)/gi, '');\r\n\r\n return newString;\r\n }\r\n\r\n capitalizeFirstLetter(str: any) {\r\n var tmpString = str.toLowerCase();\r\n return tmpString.charAt(0).toUpperCase() + tmpString.slice(1);\r\n }\r\n\r\n encodeURI(uri: any) {\r\n return encodeURI(uri);\r\n }\r\n\r\n getLimitStr(sstr: any, ilen: number) {\r\n if (sstr == null || sstr == '') return '';\r\n if (sstr.length > ilen) return sstr.substring(0, ilen) + \"...\";\r\n else return sstr;\r\n }\r\n\r\n getReadableStr(sstr: any) {\r\n if (sstr == null || sstr == '') return '';\r\n var alist = sstr.split(\"\\\\n\");\r\n var rstr = '';\r\n for (var i = 0; i < alist.length; i++) {\r\n if (i == 0) rstr += alist[i];\r\n else rstr += \"\\r\\n\" + alist[i];\r\n }\r\n return rstr;\r\n }\r\n\r\n getWriteableStr(sstr: any) {\r\n if (sstr == null || sstr == '') return '';\r\n var alist = sstr.split(\"\\r\\n\");\r\n var rstr = '';\r\n for (var i = 0; i < alist.length; i++) {\r\n if (i == 0) rstr += alist[i];\r\n else rstr += \"\\\\n\" + alist[i];\r\n }\r\n return rstr;\r\n }\r\n\r\n GetSRefData(sstr: any) {\r\n if (sstr == null || sstr == '') return null;\r\n var svalues = [];\r\n var ib = sstr.indexOf('(', 0);\r\n if (ib >= 0) {\r\n var ie = sstr.indexOf(')', 0);\r\n svalues.push(sstr.substring(0, ib));\r\n svalues.push(sstr.substring(ib + 1, ie));\r\n }\r\n else {\r\n var sref = sstr;\r\n var sfilter = '';\r\n svalues.push(sstr);\r\n svalues.push('');\r\n\r\n }\r\n return svalues;\r\n }\r\n\r\n}\r\n\r\n","\r\n//import * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\n\r\nimport { GlobalHelpers } from \"./GlobalHelpers\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n//====================Declare Global variables==============\r\n\r\nimport { ITS_JUST_ANGULAR } from \"@angular/core/src/r3_symbols\";\r\nimport { UserEntity } from \"./model/UserEntity.model\";\r\n\r\n//@Injectable() //--no need to make this injectable\r\nexport class GlobalObjects {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n //--Production\r\n //var gWebApiURL = \"http://drssw.com/drsLearnW.WebAPI\";\r\n //var gUserApiURL = \"http://drssw.com/drsLearnW.UserAPI\";\r\n //var gEmailApiURL = \"http://drssw.com/drsLearnW.EmailAPI\";\r\n\r\n /*--Server: IIS, AWS-Product--\r\n public static gWebApiURLx = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.WebAPI\";\r\n public static gWebApiURL = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.WebAPI\";\r\n public static gHSApiURL = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.HSAPI\";\r\n public static gUserApiURL = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.UserAPI\";\r\n public static gEmailApiURL = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.UserAPI\";\r\n public static gFileWebApiURL = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.WebAPI\";\r\n public static gLoggingApiURL = \"http://ec2-35-85-223-79.us-west-2.compute.amazonaws.com/DFD.HSAPI\";\r\n public static gImagePath = \"/HTIDFDFront/\";\r\n --*/\r\n\r\n /*--Server: IIS, AWS-Dev--\r\n public static gWebApiURLx = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.WebAPI\";\r\n public static gWebApiURL = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.WebAPI\";\r\n public static gHSApiURL = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.HSAPI\";\r\n public static gUserApiURL = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.UserAPI\";\r\n public static gEmailApiURL = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.UserAPI\";\r\n public static gFileWebApiURL = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.WebAPI\";\r\n public static gLoggingApiURL = \"http://ec2-18-237-173-110.us-west-2.compute.amazonaws.com/DFD.HSAPI\";\r\n public static gImagePath = \"/HTIDFDFront/\";\r\n --*/\r\n\r\n /*--Server: IIS, Localhost\r\n public static gWebApiURLx = \"http://localhost/DFD.WebAPI\";\r\n public static gWebApiURL = \"http://localhost/DFD.WebAPI\";\r\n public static gHSApiURL = \"http://localhost/DFD.HSAPI\";\r\n public static gUserApiURL = \"http://localhost/DFD.UserAPI\";\r\n public static gEmailApiURL = \"http://localhost/DFD.UserAPI\";\r\n public static gFileWebApiURL = \"http://localhost/DFD.WebAPI\";\r\n public static gLoggingApiURL = \"http://localhost/DFD.HSAPI\";\r\n public static gImagePath = \"/GoDFDFront/\";\r\n --*/\r\n\r\n /*--goDFD.com\r\n public static gWebApiURLx = \"http://goDFD.com/DFD.WebAPI\";\r\n public static gWebApiURL = \"http://goDFD.com/DFD.WebAPI\";\r\n public static gHSApiURL = \"http://goDFD.com/DFD.HSAPI\";\r\n public static gUserApiURL = \"http://goDFD.com/DFD.UserAPI\";\r\n public static gEmailApiURL = \"http://goDFD.com/DFD.UserAPI\";\r\n public static gFileWebApiURL = \"http://goDFD.com/DFD.WebAPI\";\r\n public static gLoggingApiURL = \"http://goDFD.com/DFD.HSAPI\";\r\n public static gImagePath = \"/GoDFDFront/\";\r\n --*/\r\n\r\n /*--drssw.com */\r\n public static gWebApiURLx = \"https://drssw.com/GoDFD.WebAPI\";\r\n public static gWebApiURL = \"https://drssw.com/GoDFD.WebAPI\";\r\n public static gHSApiURL = \"https://drssw.com/GoDFD.HSAPI\";\r\n public static gUserApiURL = \"https://drssw.com/GoDFD.UserAPI\";\r\n public static gEmailApiURL = \"https://drssw.com/GoDFD.UserAPI\";\r\n public static gFileWebApiURL = \"https://drssw.com/GoDFD.WebAPI\";\r\n public static gLoggingApiURL = \"https://drssw.com/GoDFD.HSAPI\";\r\n public static gImagePath = \"/GoDFDFront/\";\r\n /*--*/\r\n\r\n /*--Debug--\r\n public static gWebApiURLx = \"http://localhost/GoDFD.WebAPI\";\r\n public static gWebApiURL = \"http://localhost/GoDFD.WebAPI\";\r\n public static gHSApiURL = \"http://localhost/GoDFD.HSAPI\";\r\n public static gUserApiURL = \"http://localhost/GoDFD.UserAPI\";\r\n public static gEmailApiURL = \"http://localhost/GoDFD.UserAPI\";\r\n public static gFileWebApiURL = \"http://localhost/GoDFD.WebAPI\";\r\n public static gLoggingApiURL = \"http://localhost/GoDFD.HSAPI\";\r\n public static gImagePath = \"../../\";\r\n --*/\r\n\r\n /*--Debug0--\r\n public static gWebApiURLx = \"http://localhost/DFD.WebAPI\";\r\n public static gWebApiURL = \"webapi\";\r\n public static gHSApiURL = \"hsapi\";\r\n public static gUserApiURL = \"userapi\";\r\n public static gEmailApiURL = \"userapi\";\r\n public static gFileWebApiURL = \"webapi\";\r\n public static gLoggingApiURL = \"hsapi\";\r\n public static gImagePath = \"../../\";\r\n --*/\r\n\r\n public static gTenantId = 'a77a804b-21af-4ad3-a6a5-905e4cf58cb2';\r\n public static gSessionIdleMinutes = 60;\r\n\r\n public static gMinNumber = -1.e8;\r\n\r\n public static gMinDate = new Date('1/1/0001');\r\n\r\n //gMinDate.setFullYear(1);\r\n\r\n public static gTodayDate = new Date();\r\n public static gMinDateDB = new Date('1/1/1753');\r\n public static gErrMsg = '';\r\n\r\n public static gTableReduceHeight = 128;\r\n\r\n\r\n //--for Access Data: get user (automatic login, intranet)\r\n public static gUserEntity: UserEntity | null = null;\r\n public static gXUser_ID = 0;\r\n public static gUserId = '';\r\n public static gUserRefreshToken = '';\r\n public static gUserRefreshTokenExpireDt = new Date();\r\n public static gUserPrvg = 3;\r\n public static gUserName = '';\r\n public static isUserAuthorized = false;\r\n public static goState = 'Welcome';\r\n\r\n public static gLogoCtrl: any;\r\n\r\n public static gPrvgs = [1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n public static gGenders = ['Male', 'Female', 'Other'];\r\n //public static gXRoles = GlobalObjects.setXRoles();\r\n\r\n //------------------------------------------------\r\n public static setXRoles() {\r\n var aRoles = [];\r\n aRoles.push(new XRole('User', 4));\r\n aRoles.push(new XRole('Admin', 8));\r\n // aRoles.push(new XRole('SU', 10));\r\n\r\n return aRoles;\r\n }\r\n\r\n //------------------------------------------------\r\n public static ResetUser(gostate: string) {\r\n //--for Access Data: get user (automatic login, intranet)\r\n this.gUserEntity = null;\r\n this.gXUser_ID = 0;\r\n this.gUserId = '';\r\n this.gUserRefreshToken = '';\r\n this.gUserRefreshTokenExpireDt = new Date();\r\n this.gUserPrvg = 3;\r\n this.gUserName = '';\r\n this.isUserAuthorized = false;\r\n this.goState = gostate;\r\n }\r\n\r\n //------------------------------------------------\r\n public static setPrvgList(maxPrvg: number): number[] {\r\n if (maxPrvg > 8) maxPrvg = 8;\r\n else if (maxPrvg >= 8) maxPrvg = maxPrvg - 1;\r\n var aPrvgs = [];\r\n for (var i = 0; i < GlobalObjects.gPrvgs.length; i++) {\r\n if (GlobalObjects.gPrvgs[i] > maxPrvg) break;\r\n aPrvgs[i] = GlobalObjects.gPrvgs[i];\r\n }\r\n return aPrvgs;\r\n }\r\n\r\n //------------------------------------------------\r\n public static setXRoleList(maxPrvg: number): any {\r\n var aRoles = GlobalObjects.setXRoles();\r\n\r\n if (maxPrvg >= 9) maxPrvg = 9;\r\n else if (maxPrvg >= 8) maxPrvg = maxPrvg - 1;\r\n var aXRoles = [];\r\n for (var i = 0; i < aRoles.length; i++) {\r\n if (aRoles[i].Prvg > maxPrvg) break;\r\n aXRoles.push(aRoles[i]);\r\n }\r\n return aXRoles;\r\n }\r\n\r\n //------------------------------------------------\r\n public static getXRole(iPrvg: number): any {\r\n var aRoles = GlobalObjects.setXRoles();\r\n var sRole = 'User';\r\n for (var i = 0; i < aRoles.length; i++) {\r\n if (iPrvg >= aRoles[i].Prvg) sRole = aRoles[i].Name;\r\n }\r\n return sRole;\r\n }\r\n\r\n}\r\n\r\n//==================Object Stack==========================\r\n//--------StackNode-------------------------------\r\nexport class stackNode {\r\n constructor(public url: any, public filter: any, public dataList: any, public data: any) { }\r\n}\r\n\r\n//--------ObjectStack-------------------------------\r\nexport class GObjectStack {\r\n public static gObjectStack: any = [];\r\n\r\n //-----------------------------------------------\r\n static Reset() {\r\n this.gObjectStack.length = 0;\r\n }\r\n\r\n static Push(_url: any, _filter: any, _dataList: any, _data: any) {\r\n this.gObjectStack.push(new stackNode(_url, _filter, _dataList, _data));\r\n }\r\n\r\n static Pop() {\r\n this.gObjectStack.pop();\r\n }\r\n\r\n static Find(_name: any) {\r\n for (var i = this.gObjectStack.length - 1; i >= 0; i--) {\r\n if (this.gObjectStack[i].url.indexOf(_name) >= 0) return this.gObjectStack[i];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\n//----------------XRole\r\nexport class XRole {\r\n constructor(\r\n public Name: string,\r\n public Prvg: number) { }\r\n\r\n}\r\n\r\n//--------Initialize ObjectStack------------------------------\r\n\r\n//--------StackNode-------------------------------\r\nexport class StateNode {\r\n constructor(\r\n public url: any,\r\n public FromPage: any,\r\n public Id: number,\r\n public index: number,\r\n public XFilter: string,\r\n public fetchDb: number,\r\n public getChild: number,\r\n public readOnly: number,\r\n public curData: any,\r\n public data: any,\r\n public rootData: any,\r\n public curRootData: any) { }\r\n\r\n // constructor(public url: any,public parentUrl: any, public curRootData: any, public rootData:any, public data:any, public dataList:any) { }\r\n}\r\n\r\n//======ParentState=================================\r\nexport class GParentState {\r\n public static gParentState: any[] = [];\r\n\r\n //---------------------------------------------\r\n static Reset() {\r\n this.gParentState.length = 0;\r\n }\r\n\r\n //---------------------------------------------\r\n static Push(\r\n url: any,\r\n FromPage: any,\r\n Id: number,\r\n index: number,\r\n XFilter: string,\r\n fetchDb: number,\r\n getChild: number,\r\n readOnly: number,\r\n curData: any,\r\n data: any,\r\n rootData: any,\r\n curRootData: any) {\r\n if (this.gParentState == null) return;\r\n // if (this.gParentState.find(x => x.url) == null) {\r\n this.gParentState.push(new StateNode(\r\n url,\r\n FromPage,\r\n Id,\r\n index,\r\n XFilter,\r\n fetchDb,\r\n getChild,\r\n readOnly,\r\n curData,\r\n data,\r\n rootData,\r\n curRootData));\r\n // }\r\n }\r\n\r\n //---------------------------------------------\r\n static Pop() {\r\n return this.gParentState.pop();\r\n }\r\n\r\n //---------------------------------------------\r\n static GetParent(_name: any) {\r\n if (this.gParentState.length <= 0) return null;\r\n var aState = this.gParentState[0];\r\n for (var i = this.gParentState.length - 1; i >= 0; i--) {\r\n if (this.gParentState[i].url == _name) {\r\n aState = this.gParentState[i];\r\n break;\r\n }\r\n }\r\n this.gParentState.pop();\r\n return aState;\r\n\r\n /*\r\n for (var i = this.gParentState.length - 1; i >= 0; i--) {\r\n if (this.gParentState[i].url == _name) {\r\n if (i > 0) i = i - 1;\r\n return this.gParentState[i];\r\n }\r\n }\r\n return this.gParentState.pop();\r\n */\r\n }\r\n\r\n}\r\n\r\n","import * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\n\r\nimport { GlobalHelpers, GlobalHelpersX } from '../GlobalHelpers';\r\n\r\nimport { UserDataSource } from '../model/user.datasource';\r\nimport { XFrontPageDataSource } from '../model/xfrontpage.datasource';\r\nimport { OrganizationSelectDialog } from \"../organization/organizationSelectDialog.component\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\r\nimport { Organization } from \"../model/organization.model\";\r\n\r\n\r\n@Component({\r\n selector: 'login',\r\n templateUrl: './Login.component.html',\r\n // styleUrls: ['./app.component.css']\r\n})\r\nexport class LoginComponent {\r\n title = 'login';\r\n\r\n XUsers = null;\r\n // $scope.xuser = null;\r\n\r\n // $scope.UserId = 'hwang';\r\n // $scope.Password = 'none';\r\n Password = '';\r\n userId = 'user';\r\n userPrvg = 3;\r\n isLogin = false;\r\n ErrorMsg = '';\r\n loading = false;\r\n weblinks: any;\r\n XFrontPages: any;\r\n organizations: Organization[] = [];\r\n organization: Organization = new Organization(); //--current selected organization\r\n\r\n isMenuCollapsed = false;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private globalHelpersX: GlobalHelpersX,\r\n private dataSourceUser: UserDataSource,\r\n private dataSourceORG: OrganizationDataSource,\r\n // private dataSourceXFrontPage: XFrontPageDataSource,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n globalHelpersX.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"Login\", \"Login start\");\r\n //this.writeLog(GlobalObjects.gUserId, \"INFO\", \"Login\", \"Login start\");\r\n\r\n // $('#tbUserId').focus(); //--This is the part actually update the user of html, because the page has jumped\r\n this.ListOrganizations();\r\n }\r\n\r\n //------------------------------insert--------------------------\r\n writeLog(suser: string, stype: string, skey: string, smsg: string) {\r\n\r\n var sNow = (new Date).toUTCString();\r\n// var rtn = this.http.get(GlobalObjects.gHSApiURL + \"/api/\" + \"logging?sTime=\" + sNow + \"&sUser=\" + suser + \"&sType=\" + stype + \"&sKey=\" + skey + \"&sMsg=\" + smsg);\r\n var rtn = this.http.get(GlobalObjects.gHSApiURL + \"/XLog/\" + \"logging?sTime=\" + sNow + \"&sUser=\" + suser + \"&sType=\" + stype + \"&sKey=\" + skey + \"&sMsg=\" + smsg);\r\n return rtn;\r\n }\r\n\r\n //---------------------------------------------------------------\r\n IsLogin() {\r\n if (GlobalObjects.gUserId == '') return false;\r\n else return true;\r\n }\r\n\r\n //---------------------------------------------------------------\r\n gotoURL(slink: string) {\r\n GlobalObjects.goState = 'Login';\r\n this.router.navigateByUrl(slink);\r\n }\r\n\r\n //---------------------------------------------------------------\r\n IsLoginAndPrvg(reqPrvg: number) {\r\n return this.globalHelpersX.isLoginAndPrvg(reqPrvg);\r\n }\r\n\r\n //---------------------------------------------------------------\r\n GetLoginStatus() {\r\n if (this.IsLogin()) return 'Logout';\r\n else return 'Login';\r\n }\r\n\r\n //---------------------------------------------------------------\r\n XLogin(goPage: string) {\r\n if (!this.globalHelpersX.isNullOrEmpty(goPage)) GlobalObjects.goState = goPage;\r\n if (this.IsLogin()) {\r\n if (confirm('Are you sure of Logout?')) {\r\n this.userId = '';\r\n GlobalHelpers.gAppKeys = [];\r\n GlobalObjects.gUserPrvg = 0;\r\n GlobalObjects.gUserId = '';\r\n GlobalObjects.gUserName = '';\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n }\r\n else {\r\n this.router.navigateByUrl('Login');\r\n }\r\n }\r\n\r\n //---------------------------------------------------------------\r\n XLogout() {\r\n this.userId = 'none';\r\n GlobalObjects.gUserPrvg = 0;\r\n this.userPrvg = 3;\r\n GlobalObjects.gUserId = '';\r\n GlobalObjects.gUserName = '';\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n\r\n CheckInput(): string {\r\n var rstr = '';\r\n if (this.organization == null || this.organization.TenantId == null || this.organization.TenantId == '') rstr += \"Organization missing\";\r\n if (this.userId == null || this.userId == '') rstr += \", UserId missing\";\r\n if (this.Password == null || this.Password == '') rstr += \", Password missing\";\r\n return rstr;\r\n }\r\n\r\n //---------------------------------------------------------------\r\n LoginSubmit(isValid: boolean) {\r\n this.ErrorMsg = this.CheckInput();\r\n if (this.ErrorMsg != '') return;\r\n if (isValid) {\r\n this.loading = true;\r\n //this.dataSourceUser.getCurrentUserDB(this.userId, this.Password).subscribe({\r\n this.dataSourceUser.validateUser(this.userId, this.Password, this.organization.TenantId).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.UserEntity) {\r\n this.loading = false;\r\n\r\n GlobalObjects.gTenantId = data.Data.UserEntity.TenantId;\r\n GlobalObjects.gXUser_ID = data.Data.UserEntity.XUser_ID;\r\n GlobalObjects.gUserEntity = data.Data.UserEntity;\r\n GlobalObjects.gUserName = data.Data.UserEntity.Name;\r\n GlobalObjects.gUserId = data.Data.UserEntity.UserId;\r\n this.userPrvg = GlobalObjects.gUserPrvg;\r\n GlobalObjects.gUserPrvg = data.Data.UserEntity.Prvg;\r\n GlobalObjects.gUserRefreshToken = data.Data.UserEntity.RefreshToken;\r\n GlobalObjects.gUserRefreshTokenExpireDt = data.Data.UserEntity.RefreshTokenExpireDt;\r\n GlobalObjects.isUserAuthorized = true;\r\n\r\n this.userId = GlobalObjects.gUserId;\r\n this.isLogin = true;\r\n\r\n console.log(data);\r\n/*\r\n if (GlobalObjects.gUserPrvg > 8) {\r\n this.SelectOrganization();\r\n }\r\n else {\r\n*/\r\n if (this.organization.TenantId != '') {\r\n var a = GlobalObjects.gLogoCtrl;\r\n if (a != null && a.length > 0) {\r\n a.attr(\"src\", GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + this.organization.LogoFile);\r\n }\r\n\r\n GlobalHelpers.gAppKeys = this.organization.aAppKey_IDList;\r\n GlobalHelpers.loadGoogleMapScript(\"GoogleMap_Web\");\r\n\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n this.router.navigateByUrl('/' + GlobalObjects.goState);\r\n }\r\n else this.router.navigateByUrl('/' + GlobalObjects.goState);\r\n }\r\n// }\r\n else {\r\n this.clearCredential();\r\n this.ErrorMsg = \"Login failed, please reenter your credential\";\r\n console.log(\"Login failed: \" + this.userId);\r\n }\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n this.clearCredential();\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n\r\n this.globalHelpersX.gWriteLog(GlobalObjects.gUserId, \"ERROR\", \"Login\", error.toString() + \": \" + error.statusText);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n //---------------------------------------------------------------\r\n ListOrganizations() {\r\n this.ErrorMsg = '';\r\n this.loading = true;\r\n //this.dataSourceUser.getCurrentUserDB(this.userId, this.Password).subscribe({\r\n this.dataSourceORG.getOrganizationsNAR(1, -1, '', 100, 1, 3, '*').subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null) {\r\n this.loading = false;\r\n this.organizations = data.Data.organizations;\r\n if(this.organizations == null) this.organizations = [];\r\n for (var i = 0; i < this.organizations.length; i++) {\r\n if (this.organizations[i].TenantId == GlobalObjects.gTenantId) {\r\n this.organization = this.organizations[i];\r\n break;\r\n }\r\n }\r\n console.log(data);\r\n }\r\n else {\r\n this.organizations = [];\r\n this.ErrorMsg = \"List organizations failed\";\r\n console.log(\"Login failed: \" + this.userId);\r\n }\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.organizations = [];\r\n this.ErrorMsg = \"List organizations failed: \" + error.message;\r\n\r\n this.globalHelpersX.gWriteLog(GlobalObjects.gUserId, \"ERROR\", \"Login\", error.toString() + \": \" + error.statusText);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //------------------This is for Admin------------------------------\r\n SelectOrganization() {\r\n const modalRef = this.modalService.open(OrganizationSelectDialog);\r\n modalRef.componentInstance.organization = new Organization();\r\n modalRef.componentInstance.title = 'Select Organization';\r\n modalRef.componentInstance.fileType = 'image';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n if (result.TenantId != '') {\r\n var a = GlobalObjects.gLogoCtrl;\r\n if (a != null && a.length > 0) {\r\n a.attr(\"src\", GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + result.LogoFile);\r\n }\r\n GlobalObjects.gTenantId = result.TenantId;\r\n\r\n GlobalHelpers.gAppKeys = result.aAppKey_IDList;\r\n GlobalHelpers.loadGoogleMapScript(\"GoogleMap_Web\");\r\n\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n this.router.navigateByUrl('/' + GlobalObjects.goState);\r\n }\r\n }\r\n });\r\n }\r\n\r\n //---------------------------------------------------------------\r\n clearCredential() {\r\n GlobalObjects.gXUser_ID = 0;\r\n GlobalObjects.gUserEntity = null;\r\n GlobalObjects.gUserId = '';\r\n GlobalObjects.gUserPrvg = 3;\r\n this.userPrvg = 3;\r\n //this.userId = '';\r\n this.Password = '';\r\n GlobalObjects.gUserName = '';\r\n GlobalObjects.isUserAuthorized = false;\r\n this.isLogin = false;\r\n }\r\n\r\n //---------------------------------------------------------------\r\n keyPress(keyEvent: KeyboardEvent) {\r\n if (!this.globalHelpersX.isNullOrEmpty(this.ErrorMsg)) this.ErrorMsg = '';\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.LoginSubmit(true);\r\n }\r\n }\r\n\r\n //--------------------------------------------------------\r\n LoginCancel() {\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n\r\n //--------------------------------------------------------\r\n Register() {\r\n GlobalObjects.goState = 'Login';\r\n this.router.navigateByUrl('/xuserRegister');\r\n }\r\n\r\n //--------------------------------------------------------\r\n ResetPassword() {\r\n GlobalObjects.goState = 'Login';\r\n this.router.navigateByUrl('/XUserResetPassword');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

GoDFD : please login

\r\n

GoDFD - the power to heal

\r\n
\r\n
\r\n

\r\n Please wait, processing Login...\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n

{{ErrorMsg}}

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## LoginDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { GlobalHelpersX } from '../GlobalHelpers';\r\n\r\nimport { XUser } from 'src/app/model/xuser.model';\r\nimport { UserDataSource } from '../model/user.datasource';\r\n\r\n\r\n@Component({\r\n selector: 'xuserdata-content',\r\n templateUrl: './LoginDialog.component.html'\r\n})\r\nexport class LoginDialog implements OnInit {\r\n @Input() xuser: XUser = new XUser();\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n Password = '';\r\n userId = 'user';\r\n userPrvg = 3;\r\n isLogin = false;\r\n ErrorMsg = '';\r\n loading = false;\r\n weblinks: any;\r\n XFrontPages: any;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n private globalHelpersX: GlobalHelpersX,\r\n private dataSourceUser: UserDataSource,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n ) {\r\n\r\n }\r\n\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n\r\n\r\n onClose() {\r\n this.passEntry.emit(this.xuser);\r\n this.activeModal.close(this.xuser);\r\n }\r\n\r\n //---------------------------------------------------------------\r\n LoginSubmit(isValid: boolean) {\r\n this.ErrorMsg = '';\r\n if (isValid) {\r\n this.loading = true;\r\n this.dataSourceUser.getCurrentUserDB(this.userId, this.Password).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null && data.Data.xuser != null){\r\n GlobalObjects.gUserName = data.Data.xuser.XName;\r\n GlobalObjects.gXUser_ID = data.Data.xuser.XUser_ID;\r\n GlobalObjects.gUserId = data.Data.xuser.ID;\r\n this.userPrvg = GlobalObjects.gUserPrvg;\r\n GlobalObjects.gUserPrvg = data.Data.xuser.Prvg;\r\n this.userId = GlobalObjects.gUserId;\r\n this.isLogin = true;\r\n }\r\n else{\r\n GlobalObjects.gXUser_ID= 0;\r\n GlobalObjects.gUserId = '';\r\n GlobalObjects.gUserPrvg = 3;\r\n this.userPrvg = 3;\r\n this.userId = '';\r\n GlobalObjects.gUserName = '';\r\n this.isLogin = false;\r\n }\r\n\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n\r\n this.loading = false;\r\n this.onClose();\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n GlobalObjects.gXUser_ID= 0;\r\n GlobalObjects.gUserId = '';\r\n GlobalObjects.gUserPrvg = 3;\r\n this.userPrvg = 3;\r\n this.userId = '';\r\n GlobalObjects.gUserName = '';\r\n this.isLogin = false;\r\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\r\n\r\n this.globalHelpersX.gWriteLog(GlobalObjects.gUserId, \"ERROR\", \"Login\", error.toString() + \": \" + error.statusText);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n keyPress(keyEvent: KeyboardEvent) {\r\n if (!this.globalHelpersX.isNullOrEmpty(this.ErrorMsg)) this.ErrorMsg = '';\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.LoginSubmit(true);\r\n }\r\n }\r\n\r\n //--------------------------------------------------------\r\n LoginCancel() {\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n}\r\n\r\n","
\r\n

Login Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{ErrorMsg}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { LoginComponent } from './Login/Login.component';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\n\r\nimport { StoreFirstGuard } from './storeFirst.guard';\r\n\r\nimport { XFrontPagePageComponent } from './xfrontpage/xfrontpagePage.component';\r\nimport { XFrontPageDataPageComponent } from './xfrontpage/xfrontpageDataPage.component';\r\n\r\nimport { XFrontPageInfoDFDViewComponent } from './xfrontpageinfo/xfrontpageinfoDFDView.component';\r\n\r\nimport { XUserPageComponent } from './xuser/xuserPage.component';\r\nimport { XUserDataPageComponent } from './xuser/xuserDataPage.component';\r\nimport { XUserProfileComponent } from './xuser/xuserProfile.component';\r\n\r\nimport { EMailQueuePageComponent } from './emailqueue/emailqueuePage.component';\r\nimport { EMailQueueDataPageComponent } from './emailqueue/emailqueueDataPage.component';\r\n\r\nimport { OrganizationPageComponent } from './organization/organizationPage.component';\r\nimport { OrganizationDataPageComponent } from './organization/organizationDataPage.component';\r\n\r\nimport { XUserRegisterComponent } from './xuser/xuserRegister.component';\r\n\r\nimport { XUserForgotPasswordComponent } from './xuser/xuserForgotPassword.component';\r\nimport { XUserResetPasswordComponent } from './xuser/xuserResetPassword.component';\r\n\r\nimport { TermsConditionsComponent } from './common/TermsConditions.component';\r\nimport { PrivacyPolicyComponent } from './common/PrivacyPolicy.component';\r\nimport { XUserForgotUserIdComponent } from './xuser/xuserForgotUserId.component';\r\nimport { XUserResetUserIdComponent } from './xuser/xuserResetUserId.component';\r\n\r\nconst routes: Routes = [\r\n { path: \"home\", component: HomeComponent, canActivate: [StoreFirstGuard] },\r\n { path: \"TermsConditions\", component: TermsConditionsComponent, canActivate: [StoreFirstGuard] },\r\n { path: \"PrivacyPolicy\", component: PrivacyPolicyComponent, canActivate: [StoreFirstGuard] },\r\n { path: \"Login\", component: LoginComponent, canActivate: [StoreFirstGuard] },\r\n {\r\n path: \"xfrontpagePage\", component: XFrontPagePageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xfrontpageDataPage\", component: XFrontPageDataPageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xfrontpageinfoDFDView\", component: XFrontPageInfoDFDViewComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xuserPage\", component: XUserPageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xuserDataPage\", component: XUserDataPageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xuserProfile\", component: XUserProfileComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xuserRegister\", component: XUserRegisterComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xuserResetUserId\", component: XUserResetUserIdComponent\r\n },\r\n {\r\n path: \"xuserResetPassword\", component: XUserResetPasswordComponent\r\n },\r\n {\r\n path: \"xuserForgotUserId\", component: XUserForgotUserIdComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"xuserForgotPassword\", component: XUserForgotPasswordComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"emailqueuePage\", component: EMailQueuePageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"emailqueueDataPage\", component: EMailQueueDataPageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"organizationPage\", component: OrganizationPageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n {\r\n path: \"organizationDataPage\", component: OrganizationDataPageComponent, canActivate: [StoreFirstGuard],\r\n data: {\r\n FromPage: '',\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 1,\r\n getChild: 1,\r\n readOnly: 1,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n },\r\n { path: \"**\", redirectTo: \"/home\" },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","//--KEEP:\nimport * as $ from \"jquery\";\n// or\n//import * as $ = require(\"jquery\");\n\nimport { Component, OnInit, Input, Output, EventEmitter, ViewChild } from '@angular/core';\n\nimport { BnNgIdleService } from \"bn-ng-idle\";\n\nimport { GlobalObjects } from './GlobalObjects';\n\nimport { Router, ActivatedRoute } from \"@angular/router\";\n\nimport { HttpClient } from \"@angular/common/http\";\n\nimport { GlobalHelpers, GlobalHelpersX } from './GlobalHelpers';\n\nimport { UserDataSource } from './model/user.datasource';\nimport { XFrontPageDataSource } from './model/xfrontpage.datasource';\nimport { OrganizationDataSource } from \"./model/organization.datasource\";\nimport { MasterAppFeatureDataSource } from \"./model/masterappfeature.datasource\";\nimport { Organization } from \"./model/organization.model\";\nimport { StateDataSource } from \"./model/state.datasource\";\nimport { XLogDataSource } from \"./model/xlog.datasource\";\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n // template: '',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n\n title = 'DFD Front';\n\n public imagePath = GlobalObjects.gImagePath;\n\n XUsers = null;\n // $scope.xuser = null;\n\n // $scope.UserId = 'hwang';\n // $scope.Password = 'none';\n Password = '';\n userId = 'user';\n userPrvg = 3;\n isLogin = false;\n ErrorMsg = '';\n loading = false;\n weblinks: any;\n XFrontPages: any;\n\n organization: any;\n public logoFileAltText:string =\"\";\n public logoFile:string=\"\";\n\n\n isMenuCollapsed = false;\n\n constructor(\n private http: HttpClient,\n private globalHelpersX: GlobalHelpersX,\n private dataSourceLog: XLogDataSource,\n private dataSourceUser: UserDataSource,\n private dataSourceOrganization: OrganizationDataSource,\n private dataSourceXFrontPage: XFrontPageDataSource,\n private dataSourceState: StateDataSource,\n private dataSourceMasterAF: MasterAppFeatureDataSource,\n private router: Router,\n private activatedroute: ActivatedRoute,\n private bnIdle: BnNgIdleService,\n ) {\n this.userId = GlobalObjects.gUserId;\n\n GlobalHelpers.dataSourceLog = dataSourceLog;\n \n globalHelpersX.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"Login\", \"Login start\");\n //this.writeLog(GlobalObjects.gUserId, \"INFO\", \"Login\", \"Login start\");\n\n GlobalHelpers.getStates(dataSourceState);\n GlobalHelpers.getMasterAppFeatures(dataSourceMasterAF);\n\n this.userId = GlobalObjects.gUserId;\n\n this.getOrganization(GlobalObjects.gTenantId);\n this.getXFrontPages(1, 500, '', 100, 1, -1);\n // $('#tbUserId').focus(); //--This is the part actually update the user of html, because the page has jumped\n\n }\n\n ngOnInit(): void{\n //--in seconds, 20*60 => 20 minutes\n this.bnIdle.startWatching(60*GlobalObjects.gSessionIdleMinutes).subscribe((isTimeout: boolean) => {\n if(isTimeout){\n console.log(\"timeout: \" + GlobalObjects.gUserId);\n if(GlobalObjects.gUserId != ''){\n GlobalObjects.ResetUser(GlobalObjects.goState);\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\n console.log('session expired');\n this.router.navigateByUrl('/Login'); \n //GlobalHelpers.showLoginModal('Please login', 'login'); //--Cause the lost the http call\n }\n }\n });\n GlobalObjects.gLogoCtrl = $(\"#logo\");\n }\n\n //------------------------------insert--------------------------\n writeLog(suser: string, stype: string, skey: string, smsg: string) {\n\n var sNow = (new Date).toUTCString();\n// var rtn = this.http.get(GlobalObjects.gHSApiURL + \"/api/\" + \"logging?sTime=\" + sNow + \"&sUser=\" + suser + \"&sType=\" + stype + \"&sKey=\" + skey + \"&sMsg=\" + smsg);\n var rtn = this.http.get(GlobalObjects.gHSApiURL + \"/XLog/\" + \"logging?sTime=\" + sNow + \"&sUser=\" + suser + \"&sType=\" + stype + \"&sKey=\" + skey + \"&sMsg=\" + smsg);\n return rtn;\n }\n\n //---------------------------------------------------------------\n IsLogin() {\n if (GlobalObjects.gUserId == '') return false;\n else return true;\n }\n\n //---------------------------------------------------------------\n IsLoginAndPrvg(reqPrvg: number) {\n return this.globalHelpersX.isLoginAndPrvg(reqPrvg);\n }\n\n //---------------------------------------------------------------\n GetLoginStatus() {\n if (this.IsLogin()) return 'Logout';\n else return 'Login';\n }\n\n //---------------------------------------------------------------\n gotoURL(slink: string) {\n this.router.navigateByUrl(slink);\n }\n\n //---------------------------------------------------------------\n XLogin(goPage: string) {\n if (!this.globalHelpersX.isNullOrEmpty(goPage)) GlobalObjects.goState = goPage;\n else GlobalObjects.goState = 'Home';\n if (this.IsLogin()) {\n if (confirm('Are you sure of Logout?')) {\n this.userId = '';\n GlobalObjects.gUserPrvg = 0;\n GlobalHelpers.gAppKeys = [];\n GlobalObjects.gUserId = '';\n GlobalObjects.gUserName = '';\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\n this.router.navigateByUrl('Welcome');\n }\n }\n else {\n this.router.navigateByUrl('Login');\n }\n }\n\n //---------------------------------------------------------------\n XLogout() {\n this.userId = 'none';\n GlobalObjects.gUserPrvg = 0;\n this.userPrvg = 3;\n GlobalObjects.gUserId = '';\n GlobalObjects.gUserName = '';\n $('#userId').text('Hi ' + GlobalObjects.gUserName); //--This is the part actually update the user of html, because the page has jumped\n this.router.navigateByUrl('Welcome');\n }\n\n //---------------------------------------------------------------\n LoginSubmit(isValid: boolean) {\n this.ErrorMsg = '';\n if (isValid) {\n this.loading = true;\n this.dataSourceUser.getCurrentUserDB(this.userId, this.Password).subscribe({\n next: data => {\n if(data != null && data.Data != null && data.Data.xuser != null){\n GlobalObjects.gUserName = data.Data.xuser.XName;\n GlobalObjects.gXUser_ID = data.Data.xuser.XUser_ID;\n GlobalObjects.gUserId = data.Data.xuser.ID;\n this.userPrvg = GlobalObjects.gUserPrvg;\n GlobalObjects.gUserPrvg = data.Data.xuser.Prvg;\n this.userId = GlobalObjects.gUserId;\n this.isLogin = true;\n }\n else{\n GlobalObjects.gXUser_ID = 0;\n GlobalObjects.gUserId = '';\n GlobalObjects.gUserPrvg = 3;\n this.userPrvg = 3;\n this.userId = '';\n GlobalObjects.gUserName = '';\n this.isLogin = false;\n }\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n GlobalObjects.gXUser_ID = 0;\n GlobalObjects.gUserId = '';\n GlobalObjects.gUserPrvg = 3;\n this.userPrvg = 3;\n this.userId = '';\n GlobalObjects.gUserName = '';\n this.isLogin = false;\n this.globalHelpersX.gWriteLog(GlobalObjects.gUserId, \"ERROR\", \"Login\", error.toString() + \": \" + error.statusText);\n this.loading = false;\n }\n });\n }\n }\n\n keyPress(keyEvent: KeyboardEvent) {\n if (!this.globalHelpersX.isNullOrEmpty(this.ErrorMsg)) this.ErrorMsg = '';\n if (keyEvent.code == \"Enter\") //-enter\n {\n this.LoginSubmit(true);\n }\n }\n\n //--------------------------------------------------------\n LoginCancel() {\n this.router.navigateByUrl('Welcome');\n }\n\n //---------------------List XFrontPage records-------------------------------------------------------------\n getXFrontPages(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\n this.loading = true;\n this.dataSourceXFrontPage.getXFrontPages(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel).subscribe({\n next: data => {\n if(data != null && data.Data != null)\n this.XFrontPages = data.Data.xfrontpages;\n if(this.XFrontPages == null) this.XFrontPages = [];\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.XFrontPages = [];\n console.log(error.toString());\n this.loading = false;\n }\n });\n\n }\n\n //---------------------List XFrontPage records-------------------------------------------------------------\n getOrganization(tenantId:string) {\n this.loading = true;\n this.logoFile = '';\n this.logoFileAltText = '';\n \n this.dataSourceOrganization.getOrganizationsByKeyNAR(tenantId,\"TenantId\",100,1,3,tenantId).subscribe({\n next: data => {\n if(data != null && data.Data != null && data.Data.organizations != null && data.Data.organizations.length > 0){\n this.organization = data.Data.organizations[0];\n GlobalHelpers.gAppKeys = this.organization.aAppKey_IDList;\n GlobalHelpers.loadGoogleMapScript(\"GoogleMap_Web\");\n\n this.logoFile = GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + this.organization.LogoFile;\n this.logoFileAltText = this.organization.logoFileAltText;\n } \n else this.organization = null;\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.organization = null;\n GlobalHelpers.gAppKeys = [];\n console.log(error.toString());\n this.loading = false;\n }\n });\n\n }\n\n}\n","\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { GoogleMapsModule } from '@angular/google-maps'\r\n\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { BnNgIdleService } from 'bn-ng-idle';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { TreeviewModule } from 'ngx-treeview';\r\n\r\nimport { LoginComponent } from './Login/Login.component';\r\nimport { LoginDialog } from './Login/LoginDialog.component';\r\n\r\nimport { HomeModule } from './home/home.module';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { StoreFirstGuard } from './storeFirst.guard';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\n\r\nimport { environment } from '../environments/environment';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { DragDropFileUploadDirective } from './common/drag-drop-file-upload.directive';\r\nimport { OutsideClickDirective } from './common/outsideClick.directive';\r\n\r\nimport { XFileUploadComponent } from './common/XFileUpload.component';\r\nimport { XFileSelectComponent } from './common/XFileSelect.component';\r\n\r\nimport { XLogoFileUploadComponent } from './common/XLogoFileUpload.component';\r\nimport { XLogoFileSelectComponent } from './common/XLogoFileSelect.component';\r\n\r\nimport { XUserImageFileUploadComponent } from './common/XUserImageFileUpload.component';\r\nimport { XUserImageFileSelectComponent } from './common/XUserImageFileSelect.component';\r\n\r\nimport { XVideoPlay } from './common/XVideoPlay.component';\r\nimport { XPicturePlay } from './common/XPicturePlay.component';\r\nimport { XLogoPlay } from './common/XLogoPlay.component';\r\nimport { XUserImagePlay } from './common/XUserImagePlay.component';\r\n\r\nimport { XFrontPagePageComponent } from './xfrontpage/xfrontpagePage.component';\r\nimport { XFrontPageDataPageComponent } from './xfrontpage/xfrontpageDataPage.component';\r\nimport { XFrontPageSelectDialog } from './xfrontpage/xfrontpageSelectDialog.component';\r\nimport { XFrontPageDialog } from './xfrontpage/xfrontpageDialog.component';\r\n\r\nimport { XFrontPageInfoPageComponent } from './xfrontpageinfo/xfrontpageinfoPage.component';\r\nimport { XFrontPageInfoDataPageComponent } from './xfrontpageinfo/xfrontpageinfoDataPage.component';\r\nimport { XFrontPageInfoDataListViewComponent } from './xfrontpageinfo/xfrontpageinfoDataListView.component';\r\nimport { XFrontPageInfoDialog } from './xfrontpageinfo/xfrontpageinfoDialog.component';\r\n\r\n\r\nimport { XUserPageComponent } from './xuser/xuserPage.component';\r\nimport { XUserDataPageComponent } from './xuser/xuserDataPage.component';\r\nimport { XUserProfileComponent } from './xuser/xuserProfile.component';\r\nimport { XUserDialog } from './xuser/xuserDialog.component';\r\n\r\nimport { XUserRegisterComponent } from './xuser/xuserRegister.component';\r\nimport { XUserForgotUserIdComponent } from './xuser/xuserForgotUserId.component';\r\nimport { XUserForgotPasswordComponent } from './xuser/xuserForgotPassword.component';\r\nimport { XUserResetPasswordComponent } from './xuser/xuserResetPassword.component';\r\n\r\nimport { XUserInfoPageComponent } from './xuserinfo/xuserinfoPage.component';\r\nimport { XUserInfoDataPageComponent } from './xuserinfo/xuserinfoDataPage.component';\r\nimport { XUserInfoDialog } from './xuserinfo/xuserinfoDialog.component';\r\nimport { XUserInfoDataViewComponent } from './xuserinfo/xuserinfoDataView.component';\r\nimport { XUserInfoEntityViewComponent } from './xuserentity/xuserinfoEntityView.component';\r\nimport { XUserSecurityQuestionEntityListViewComponent } from './xuserentity/xusersecurityquestionEntityListView.component';\r\n\r\nimport { UserSecurityQuestionPageComponent } from './usersecurityquestion/usersecurityquestionPage.component';\r\nimport { UserSecurityQuestionDialog } from './usersecurityquestion/usersecurityquestionDialog.component';\r\nimport { UserSecurityQuestionDataPageComponent } from './usersecurityquestion/usersecurityquestionDataPage.component';\r\nimport { UserSecurityQuestionDataListViewComponent } from './usersecurityquestion/usersecurityquestionDataListView.component';\r\n\r\nimport { AppFeaturePageComponent } from './appfeature/appfeaturePage.component';\r\nimport { AppFeatureDialog } from './appfeature/appfeatureDialog.component';\r\nimport { AppFeatureDataPageComponent } from './appfeature/appfeatureDataPage.component';\r\nimport { AppFeatureDataListViewComponent } from './appfeature/appfeatureDataListView.component';\r\n\r\nimport { EMailQueuePageComponent } from './emailqueue/emailqueuePage.component';\r\nimport { EMailQueueDialog } from './emailqueue/emailqueueDialog.component';\r\nimport { EMailQueueDataPageComponent } from './emailqueue/emailqueueDataPage.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n//---------------------------NG-BOOTSTRAP-------------------\r\nimport { NgbCollapseModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { GlobalHelpersX } from './GlobalHelpers';\r\nimport { TermsConditionsComponent } from './common/TermsConditions.component';\r\nimport { PrivacyPolicyComponent } from './common/PrivacyPolicy.component';\r\nimport { XFrontPageInfoDFDViewComponent } from './xfrontpageinfo/xfrontpageinfoDFDView.component';\r\nimport { XUserResetUserIdComponent } from './xuser/xuserResetUserId.component';\r\nimport { OrganizationPageComponent } from './organization/organizationPage.component';\r\nimport { OrganizationDataPageComponent } from './organization/organizationDataPage.component';\r\nimport { OrganizationDialog } from './organization/organizationDialog.component';\r\nimport { OrganizationSelectDialog } from './organization/organizationSelectDialog.component';\r\nimport { FacilityPageComponent } from './facility/facilityPage.component';\r\nimport { FacilityDataPageComponent } from './facility/facilityDataPage.component';\r\nimport { FacilityDataListViewComponent } from './facility/facilityDataListView.component';\r\nimport { FacilityDialog } from './facility/facilityDialog.component';\r\nimport { AppKeyDataListViewComponent } from './AppKey/appkeyDataListView.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n LoginDialog,\r\n\r\n DragDropFileUploadDirective,\r\n OutsideClickDirective,\r\n \r\n XFileUploadComponent,\r\n XFileSelectComponent,\r\n XLogoFileUploadComponent,\r\n XLogoFileSelectComponent,\r\n XUserImageFileUploadComponent,\r\n XUserImageFileSelectComponent,\r\n XVideoPlay,\r\n XPicturePlay,\r\n XLogoPlay,\r\n XUserImagePlay,\r\n \r\n XFrontPagePageComponent,\r\n XFrontPageDataPageComponent,\r\n XFrontPageSelectDialog,\r\n XFrontPageDialog,\r\n \r\n XFrontPageInfoPageComponent,\r\n XFrontPageInfoDataPageComponent,\r\n XFrontPageInfoDataListViewComponent,\r\n XFrontPageInfoDFDViewComponent,\r\n XFrontPageInfoDialog,\r\n\r\n TermsConditionsComponent,\r\n PrivacyPolicyComponent,\r\n \r\n XUserPageComponent,\r\n XUserDataPageComponent,\r\n XUserProfileComponent,\r\n XUserDialog,\r\n \r\n XUserRegisterComponent,\r\n XUserForgotUserIdComponent,\r\n XUserForgotPasswordComponent,\r\n XUserResetPasswordComponent,\r\n XUserResetUserIdComponent,\r\n\r\n XUserInfoPageComponent,\r\n XUserInfoDataPageComponent,\r\n XUserInfoDialog,\r\n XUserInfoDataViewComponent,\r\n\r\n XUserInfoEntityViewComponent,\r\n XUserSecurityQuestionEntityListViewComponent,\r\n\r\n UserSecurityQuestionPageComponent,\r\n UserSecurityQuestionDataPageComponent,\r\n UserSecurityQuestionDialog,\r\n UserSecurityQuestionDataListViewComponent,\r\n\r\n AppFeaturePageComponent,\r\n AppFeatureDataPageComponent,\r\n AppFeatureDialog,\r\n AppFeatureDataListViewComponent,\r\n\r\n EMailQueuePageComponent,\r\n EMailQueueDataPageComponent,\r\n EMailQueueDialog,\r\n\r\n OrganizationPageComponent,\r\n OrganizationDataPageComponent,\r\n OrganizationDialog,\r\n OrganizationSelectDialog,\r\n\r\n FacilityPageComponent,\r\n FacilityDataPageComponent,\r\n FacilityDataListViewComponent,\r\n FacilityDialog,\r\n\r\n AppKeyDataListViewComponent,\r\n\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgbCollapseModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule, //--needed for ng-bootstrap\r\n BrowserModule,\r\n \r\n GoogleMapsModule,\r\n\r\n AppRoutingModule,\r\n \r\n TreeviewModule.forRoot(),\r\n \r\n HomeModule,\r\n\r\n ServiceWorkerModule.register('ngsw-worker.js', {\r\n enabled: environment.production,\r\n // Register the ServiceWorker as soon as the app is stable\r\n // or after 30 seconds (whichever comes first).\r\n registrationStrategy: 'registerWhenStable:30000'\r\n }),\r\n NgbModule\r\n ],\r\n providers: [StoreFirstGuard,\r\n BnNgIdleService, //--for session timeout\r\n GlobalHelpersX\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","//--KEEP:\r\n//#############################################################\r\n//## AppFeatureDataListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { AppFeature } from \"../model/appfeature.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AppFeatureDialog } from './appfeatureDialog.component';\r\nimport { AppFeatureDataSource } from \"../model/appfeature.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"appfeatureDataListView\",\r\n templateUrl: \"appfeatureDataListView.component.html\",\r\n styleUrls: ['./appfeature.component.css']\r\n})\r\nexport class AppFeatureDataListViewComponent {\r\n\r\n @Input() appfeatures: AppFeature[] = [];\r\n public appfeature: AppFeature = new AppFeature();\r\n\r\n public selectedRowAppFeature = -1;\r\n\r\n public appfeaturesPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public sFilterAppFeature: string = '';\r\n\r\n public FilterAppFeature_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTag: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n\r\n\r\n constructor(\r\n private dataSource: AppFeatureDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n if (this.appfeatures != null && this.appfeatures.length > 0) {\r\n this.setClickedRowAppFeature(0, null);\r\n }\r\n }\r\n\r\n\r\n //----------------------------------------------\r\n setAppFeatures(data: any) {\r\n this.appfeatures = data;\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n }\r\n\r\n //----------------------------------------------\r\n showAppFeatureDetailDialog(appfeature: AppFeature) {\r\n const modalRef = this.modalService.open(AppFeatureDialog);\r\n modalRef.componentInstance.data = appfeature;\r\n modalRef.componentInstance.title = 'AppFeature DataListView';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.appfeature = result;\r\n }\r\n });\r\n }\r\n\r\n public errorMessage = '';\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n //----Setup Global object list--\r\n\r\n\r\n //<<==================================================\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('appfeatureDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeAppFeature() {\r\n this.appfeature = new AppFeature();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectAppFeature(data: AppFeature | null) {\r\n if (data == null) return;\r\n this.getAppFeature(data.AppFeature_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getAppFeature(Id: number) {\r\n if (Id <= 0 || Id == null || this.appfeatures == null) return;\r\n\r\n for (var i = 0; i < this.appfeatures.length; i++) {\r\n if (this.appfeatures[i].AppFeature_ID == Id) {\r\n this.selectedRowAppFeature = i;\r\n this.setClickedRowAppFeature(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailAppFeature(datax: any) {\r\n if (datax == null) {\r\n this.appfeature = new AppFeature();\r\n return;\r\n }\r\n var data = AppFeature.Copy(datax);\r\n this.appfeature = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showAppFeature(data: AppFeature | null) {\r\n if (data == null) return;\r\n this.getDetailAppFeature(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowAppFeature(index: number, data: any) {\r\n if (data != null) {\r\n var i = AppFeature.FindIdx(data.AppFeature_ID, this.appfeatures);\r\n if (i >= 0) index = i;\r\n }\r\n if (index < 0 || this.appfeatures == null) {\r\n this.selectedRowAppFeature = -1;\r\n return;\r\n }\r\n this.selectedRowAppFeature = index;\r\n this.showAppFeature(this.appfeatures[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n this.setClickedRowAppFeature(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n var i = this.selectedRowAppFeature - 1;\r\n if (i < 0) i = this.appfeatures.length - 1;\r\n this.setClickedRowAppFeature(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n var i = this.selectedRowAppFeature + 1;\r\n if (i >= this.appfeatures.length) i = 0;\r\n this.setClickedRowAppFeature(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n var i = this.appfeatures.length - 1;\r\n this.setClickedRowAppFeature(i, null);\r\n }\r\n\r\n public sortTypeAppFeature = '';\r\n public sortReverseAppFeature = false;\r\n\r\n //-----------------------------------------------------\r\n orderAppFeature(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof AppFeature;\r\n this.sortTypeAppFeature = columnName;\r\n this.sortReverseAppFeature = (this.sortTypeAppFeature === columnName) ? !this.sortReverseAppFeature : false;\r\n\r\n if (columnName == 'GrpID') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.GrpID > y.GrpID) ? 1 : -1) : ((x.GrpID < y.GrpID) ? 1 : -1));\r\n else if (columnName == 'XName') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'Description') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.Description > y.Description) ? 1 : -1) : ((x.Description < y.Description) ? 1 : -1));\r\n else if (columnName == 'Tag') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.Tag > y.Tag) ? 1 : -1) : ((x.Tag < y.Tag) ? 1 : -1));\r\n else if (columnName == 'IsActive') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.IsActive > y.IsActive) ? 1 : -1) : ((x.IsActive < y.IsActive) ? 1 : -1));\r\n else if (columnName == 'UpdateDate') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n\r\n\r\n this.selectedRowAppFeature = -1;\r\n }\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewAppFeature_Click() {\r\n this.InitializeAppFeature();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewAppFeature_Click() {\r\n this.saveNewAppFeature(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditAppFeature_Click() {\r\n this.saveAppFeature();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteAppFeature_Click() {\r\n this.deleteAppFeature();\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n isSaveDataReady() {\r\n if (this.appfeature == null ||\r\n this.appfeature.XName == '' ||\r\n this.selectedRowAppFeature < 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady() {\r\n if (this.appfeature == null ||\r\n this.appfeature.XName == '') return false;\r\n else return true;\r\n }\r\n \r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveAppFeature() {\r\n if (this.appfeature == null || this.selectedRowAppFeature < 0) return;\r\n if (this.appfeatures == null) this.appfeatures = [];\r\n if (this.selectedRowAppFeature >= 0 && this.selectedRowAppFeature < this.appfeatures.length) {\r\n this.appfeatures[this.selectedRowAppFeature] = AppFeature.Copy(this.appfeature);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewAppFeature(saveDB: boolean) {\r\n if (this.appfeature == null) return;\r\n let a = AppFeature.Copy(this.appfeature);\r\n a.AppFeature_ID = -1;\r\n if (this.appfeatures == null) this.appfeatures = [];\r\n this.appfeatures.push(a);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteAppFeature() {\r\n if (this.appfeatures != null && this.appfeatures.length > 0 && this.selectedRowAppFeature >= 0) {\r\n let ok = confirm(\"Are you sure of deleting the AppFeature: \" + this.appfeature.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the AppFeature to delete!');\r\n return;\r\n }\r\n if (this.selectedRowAppFeature >= 0 && this.selectedRowAppFeature < this.appfeatures.length) {\r\n this.appfeatures.splice(this.selectedRowAppFeature, 1);\r\n this.InitializeAppFeature();\r\n this.selectedRowAppFeature = -1;\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n XName\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n \r\n Activate\r\n \r\n \r\n
\r\n \r\n {{x.XName}}{{x.Description}}{{x.IsActive}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowAppFeature}} of {{appfeatures.length}}

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## AppFeatureDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { AppFeature } from \"../model/appfeature.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AppFeatureDialog } from './appfeatureDialog.component';\r\nimport { AppFeatureDataSource } from \"../model/appfeature.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"appfeatureDataPage\",\r\n templateUrl: \"appfeatureDataPage.component.html\",\r\n styleUrls: ['./appfeature.component.css']\r\n})\r\nexport class AppFeatureDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n \r\n public appfeaturesPerPage = 4;\r\n public selectedPage = 1;\r\n public appfeatures: AppFeature[] = [];\r\n public appfeature: AppFeature = new AppFeature();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'AppFeature_ID,GrpID,XName,Description,Tag,TenantId,IsActive,Action,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowAppFeature: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n public isUserAuthorized = false;\r\n public loading = false;\r\n\r\n //----Setup Global object list--\r\n \r\n\r\n public sFilterAppFeature:string = '';\r\n \r\n public FilterAppFeature_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTag: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterAction: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n\r\n\r\n //-----------------------------------------------------------\r\n constructor(\r\n private dataSource: AppFeatureDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n \r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n \r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'AppFeatureDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"AppFeatureDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('AppFeatureDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if(this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowAppFeature = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterAppFeature = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.appfeature = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.appfeatures = this.params.data;\r\n }\r\n }\r\n\r\n if (this.selectedRowAppFeature < 0) this.getAppFeature(this.Id);\r\n if (this.appfeatures == null) {\r\n this.getDataFromStack();\r\n if (this.appfeatures == null && this.fetchDb == 1) this.listAppFeature(0);\r\n }\r\n this.showAppFeature(this.appfeature);\r\n }\r\n }\r\n \r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if(this.params != null) return;\r\n if(this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n }\r\n\r\n //--------------------------------------------------------\r\n showAppFeatureDetailDialog(appfeature: AppFeature) {\r\n const modalRef = this.modalService.open(AppFeatureDialog);\r\n modalRef.componentInstance.data = appfeature;\r\n modalRef.componentInstance.title = 'AppFeature Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.appfeature = result;\r\n }\r\n });\r\n }\r\n\r\n//>>==================================================\r\n\r\n //------------------------------------------------\r\n isSaveDataReady(){\r\n if(this.appfeature == null ||\r\n this.appfeature.AppFeature_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady(){\r\n if(this.appfeature == null) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterAppFeature_ID + '|' +\r\n this.FilterGrpID + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterTag + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterAction + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) ;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterAppFeature_ID = slist[i]; i++;\r\n this.FilterGrpID = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterTag = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterAction = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n }\r\n\r\n\r\n MakeFilterAppFeature ()\r\n {\r\n this.sFilterAppFeature = '';\r\n if (this.FilterAppFeature_ID != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" AppFeature_ID like '%\" + this.FilterAppFeature_ID + \"%' \";\r\n }\r\n if (this.FilterGrpID != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" GrpID like '%\" + this.FilterGrpID + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterTag != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" Tag like '%\" + this.FilterTag + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterAction != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" Action like '%\" + this.FilterAction + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'AppFeature_ID') this.FilterAppFeature_ID = svalue;\r\n else if(sname == 'GrpID') this.FilterGrpID = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'Description') this.FilterDescription = svalue;\r\n else if(sname == 'Tag') this.FilterTag = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if(sname == 'Action') this.FilterAction = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('appfeatureDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage, \r\n { state: \r\n { \r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n } \r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeAppFeature() {\r\n this.appfeature = new AppFeature();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of AppFeature from database \r\n //--Id is object Id, to be as the current\r\n listAppFeature(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"AppFeatureDataPage\", \"listAppFeature\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterAppFeature;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getAppFeatures(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.appfeatures = data.Data.AppFeatures;\r\n }\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.appfeatures = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectAppFeature(data: AppFeature | null) {\r\n if (data == null) return;\r\n this.getAppFeature(data.AppFeature_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getAppFeature(Id: number) {\r\n if (Id <= 0 || Id == null || this.appfeatures == null) return;\r\n\r\n for (var i = 0; i < this.appfeatures.length; i++) {\r\n if (this.appfeatures[i].AppFeature_ID == Id) {\r\n this.selectedRowAppFeature = i;\r\n this.setClickedRowAppFeature(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailAppFeature(datax: any) {\r\n if (datax == null) {\r\n this.appfeature = new AppFeature();\r\n return;\r\n }\r\n if (datax.AppFeature_ID <= 0) {\r\n this.appfeature = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = AppFeature.Copy(datax);\r\n this.dataSource.getAppFeature(data.AppFeature_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null){\r\n this.appfeature = data.Data.appfeature;\r\n }\r\n this.selectedRowAppFeature = AppFeature.FindIdx(this.appfeature.AppFeature_ID,this.appfeatures);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n this.selectedRowAppFeature = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showAppFeature(data: AppFeature | null) {\r\n if (data == null) return;\r\n this.getDetailAppFeature(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowAppFeature(index: number, data: any) {\r\n if(data != null)\r\n {\r\n var i = AppFeature.FindIdx(data.AppFeature_ID, this.appfeatures);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.appfeatures == null) {\r\n this.selectedRowAppFeature = -1;\r\n return;\r\n }\r\n this.selectedRowAppFeature = index;\r\n this.showAppFeature(this.appfeatures[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n this.setClickedRowAppFeature(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n var i = this.selectedRowAppFeature - 1;\r\n if (i < 0) i = this.appfeatures.length - 1;\r\n this.setClickedRowAppFeature(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n var i = this.selectedRowAppFeature + 1;\r\n if (i >= this.appfeatures.length) i = 0;\r\n this.setClickedRowAppFeature(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemAppFeature_Click() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) return;\r\n var i = this.appfeatures.length - 1;\r\n this.setClickedRowAppFeature(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.appfeatures = o.dataList;\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n this.appfeature = o.data;\r\n this.sFilterAppFeature = o.filter;\r\n }\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewAppFeature_Click() {\r\n this.InitializeAppFeature(); \r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewAppFeature_Click() {\r\n this.saveNewAppFeature(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditAppFeature_Click() {\r\n this.saveAppFeature(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteAppFeature_Click() {\r\n this.deleteAppFeature(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddAppFeature2List(data: any) {\r\n let iAdd = true;\r\n if (this.appfeatures == null) this.appfeatures = [];\r\n else {\r\n for (let i = 0; i < this.appfeatures.length; i++) {\r\n if (this.appfeatures[i].AppFeature_ID == data.AppFeature_ID) {\r\n this.appfeatures[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.appfeatures.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveAppFeature(saveDB: boolean) {\r\n if (this.appfeature == null || this.appfeature.AppFeature_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"AppFeature\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddAppFeature2List(this.appfeature);\r\n }\r\n else {\r\n this.dataSource.updateAppFeature(1, this.appfeature).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.appfeature = data.Data.appfeature;\r\n alert(\"save AppFeature Successful: \" + this.appfeature.AppFeature_ID);\r\n }\r\n else{\r\n alert(\"save AppFeature Failed: \" + this.appfeature.AppFeature_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n alert(\"saveAppFeature ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewAppFeature(saveDB: boolean) {\r\n let a = AppFeature.Copy(this.appfeature);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"AppFeature\", \"SaveNewData \" + saveDB);\r\n a.AppFeature_ID = -1;\r\n if (!saveDB) {\r\n this.AddAppFeature2List(a);\r\n }\r\n else {\r\n this.dataSource.addAppFeature(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.appfeature = data.Data.appfeature;\r\n alert(\"saveNew AppFeature Successful: \" + this.appfeature.AppFeature_ID);\r\n }\r\n else{\r\n alert(\"saveNew AppFeature Failed\");\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n alert(\"ERROR: SaveNew AppFeature Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteAppFeature(delDB: boolean) {\r\n if (this.appfeatures != null && this.appfeatures.length > 0 && this.appfeature.AppFeature_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the AppFeature: \" + this.appfeature.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the AppFeature to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"AppFeature\", \"DeleteData \" + this.appfeature.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.appfeatures.indexOf(this.appfeature);\r\n if (idx >= 0) {\r\n this.appfeatures.splice(idx, 1);\r\n this.InitializeAppFeature();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = AppFeatureService.deleteAppFeature(this.AppFeature.AppFeature_ID);\r\n var id = this.dataSource.deleteAppFeatureById(this.appfeature.AppFeature_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data > 0){\r\n alert(\"Delete AppFeature Successful: \" + this.appfeature.AppFeature_ID);\r\n }\r\n else{\r\n alert(\"Delete AppFeature Failed: \" + this.appfeature.AppFeature_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n alert(\"ERROR: Delete AppFeature Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'AppFeatureDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

AppFeature Data Page

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{{selectedRowAppFeature}} of {{appfeatures.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## AppFeatureDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { AppFeatureDataSource } from '../model/appfeature.datasource';\r\n\r\nimport { AppFeature } from 'src/app/model/appfeature.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'appfeaturedata-content',\r\n templateUrl: './appfeatureDialog.component.html'\r\n})\r\nexport class AppFeatureDialog implements OnInit {\r\n @Input() appfeature: AppFeature = new AppFeature();\r\n @Input() appfeatures: AppFeature[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: AppFeatureDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.appfeatures == null) return;\r\n this.index = AppFeature.FindIdx(this.appfeature.AppFeature_ID, this.appfeatures);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.appfeatures.length) this.index = this.appfeatures.length - 1;\r\n this.appfeature = this.appfeatures[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.appfeatures == null) return;\r\n this.index = AppFeature.FindIdx(this.appfeature.AppFeature_ID, this.appfeatures);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.appfeatures.length) this.index = this.appfeatures.length - 1;\r\n this.appfeature = this.appfeatures[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getAppFeature(this.appfeature.AppFeature_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.appfeature = data.Data.AppFeature;\r\n }\r\n else this.appfeature = new AppFeature();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.appfeature);\r\n this.activeModal.close(this.appfeature);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

AppFeature Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AppFeature } from \"../model/appfeature.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { AppFeatureDialog } from './appfeatureDialog.component';\r\nimport { AppFeatureDataSource } from \"../model/appfeature.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"appfeaturePage\",\r\n templateUrl: \"appfeaturePage.component.html\"\r\n})\r\nexport class AppFeaturePageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public appfeaturesPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public params: any;\r\n\r\n public Properties = 'AppFeature_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowAppFeature: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public appfeatures: AppFeature[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n public currentPage = 0;\r\n public currentAppFeatures: AppFeature[] = [];\r\n\r\n public sortTypeAppFeature = '';\r\n public sortReverseAppFeature = false;\r\n\r\n constructor(\r\n private dataSource: AppFeatureDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n \r\n private appfeature: AppFeature,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('AppFeaturePage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowAppFeature = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterAppFeature = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.appfeature = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.appfeatures = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if(this.appfeatures == undefined || this.appfeatures.length <= 0) this.getAppFeatures(1, 500, '', 100, 1, 5);\r\n console.log((\"AppFeaturePage.Component construct\"));\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n }\r\n \r\n //-----------------------------------------------------\r\n orderAppFeature (columnName:string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof AppFeature;\r\n this.sortTypeAppFeature = columnName;\r\n this.sortReverseAppFeature = (this.sortTypeAppFeature === columnName) ? !this.sortReverseAppFeature : false;\r\n \r\n if(columnName == 'GrpID') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.GrpID > y.GrpID) ? 1 : -1) : ((x.GrpID < y.GrpID) ? 1 : -1));\r\n else if(columnName == 'XName') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if(columnName == 'Description') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.Description > y.Description) ? 1 : -1) : ((x.Description < y.Description) ? 1 : -1));\r\n else if(columnName == 'Tag') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.Tag > y.Tag) ? 1 : -1) : ((x.Tag < y.Tag) ? 1 : -1));\r\n else if(columnName == 'IsActive') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.IsActive > y.IsActive) ? 1 : -1) : ((x.IsActive < y.IsActive) ? 1 : -1));\r\n else if(columnName == 'UpdateDate') this.appfeatures = this.appfeatures.sort((x, y) => this.sortReverseAppFeature ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n\r\n \r\n this.selectedRowAppFeature = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getAppFeatures(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getAppFeatures(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.appfeatures = data.Data.AppFeatures;\r\n }\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.appfeatures = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a AppFeature-------------------\r\n addAppFeature(appfeature: AppFeature) {\r\n this.dataSource.addAppFeature(1, appfeature).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.appfeature = data.Data.appfeature;\r\n alert(\"Add AppFeature successful\");\r\n }\r\n else alert(\"Add AppFeature failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n alert(\"ERROR: Add AppFeature failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateAppFeature(appfeature: AppFeature) {\r\n this.dataSource.updateAppFeature(1, appfeature).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.appfeature = data.Data.appfeature;\r\n alert(\"Update AppFeature successful\");\r\n }\r\n else alert(\"Update AppFeature failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n alert(\"ERROR: Delete AppFeature failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteAppFeature(id: number) {\r\n this.dataSource.deleteAppFeatureById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data!= null && data.Data > 0) alert(\"Delete AppFeature successful\");\r\n else alert(\"Delete AppFeature failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.appfeature = new AppFeature();\r\n alert(\"ERROR: Delete AppFeature failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddAppFeature_Click() {\r\n this.appfeature = new AppFeature();\r\n GParentState.Push('appfeatureDataPage', 'appfeaturePage', this.Id, this.selectedRowAppFeature, this.sFilterAppFeature, this.fetchDb, this.getChild, this.readOnly, this.appfeature, this.appfeatures,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('appfeatureDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"AppFeaturePage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.appfeature,\r\n data: this.appfeatures,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showAppFeatureDetail(appfeature: AppFeature) {\r\n var idx = AppFeature.FindIdx(appfeature.AppFeature_ID, this.appfeatures);\r\n \r\n const modalRef = this.modalService.open(AppFeatureDialog);\r\n modalRef.componentInstance.appfeatures = this.appfeatures;\r\n modalRef.componentInstance.appfeature = appfeature;\r\n modalRef.componentInstance.title = 'AppFeature data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n\r\n //----Setup Global object list--\r\n \r\n\r\n public sFilterAppFeature:string = '';\r\n \r\n public FilterAppFeature_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTag: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterAction: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterAppFeature_ID + '|' +\r\n this.FilterGrpID + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterTag + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterAction + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) ;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterAppFeature_ID = slist[i]; i++;\r\n this.FilterGrpID = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterTag = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterAction = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n }\r\n\r\n\r\n MakeFilterAppFeature ()\r\n {\r\n this.sFilterAppFeature = '';\r\n if (this.FilterAppFeature_ID != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" AppFeature_ID like '%\" + this.FilterAppFeature_ID + \"%' \";\r\n }\r\n if (this.FilterGrpID != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" GrpID like '%\" + this.FilterGrpID + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterTag != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" Tag like '%\" + this.FilterTag + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterAction != '') {\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" Action like '%\" + this.FilterAction + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterAppFeature != '') this.sFilterAppFeature += \" AND \";\r\n this.sFilterAppFeature += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'AppFeature_ID') this.FilterAppFeature_ID = svalue;\r\n else if(sname == 'GrpID') this.FilterGrpID = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'Description') this.FilterDescription = svalue;\r\n else if(sname == 'Tag') this.FilterTag = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if(sname == 'Action') this.FilterAction = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('appfeaturePage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit () {\r\n this.FilterAppFeature_ID = '';\r\n this.FilterGrpID = '';\r\n this.FilterXName = '';\r\n this.FilterDescription = '';\r\n this.FilterTag = '';\r\n this.FilterTenantId = '';\r\n this.FilterAction = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.appfeatures = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentAppFeatures = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.appfeatures.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentAppFeatures = this.appfeatures;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.appfeatures.length) iEItem = this.appfeatures.length;\r\n this.currentAppFeatures = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentAppFeatures.push(this.appfeatures[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.appfeatures == null || this.appfeatures.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentAppFeatures = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.AppFeatures.length) this.itemsPerPage = this.AppFeatures.length;\r\n var nPages = 0;\r\n if (this.appfeatures != null) nPages = Math.ceil(this.appfeatures.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //---------------------List AppFeature records:using ListAppFeatureByFile-------------------------------------------------------------\r\n listAppFeature(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterAppFeature();\r\n if (!fLoadAll && this.sFilterAppFeature == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"AppFeaturePage\", \"listAppFeature\");\r\n\r\n //var srListData = AppFeatureService.ListAppFeature(iBegId, nMax, this.sFilterAppFeature, nGetChild, nMaxLevel);\r\n this.dataSource.ListAppFeatureByFile('AppFeature_QueryFile.sql', 'ListAppFeature', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n {\r\n this.appfeatures = data.Data.appfeature;\r\n }\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('AppFeatureDataPage', this.MakeFilterString(), this.appfeatures, this.appfeature);\r\n \r\n this.selectPage(1);\r\n \r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.appfeatures = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no appfeature data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showAppFeature(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowAppFeature = AppFeature.FindIdx(adata.AppFeature_ID, this.appfeatures);\r\n if (this.selectedRowAppFeature >= 0 && this.selectedRowAppFeature < this.appfeatures.length) adata = this.appfeatures[this.selectedRowAppFeature];\r\n else return;\r\n }\r\n this.appfeature = adata;\r\n GParentState.Push('appfeatureDataPage', 'appfeaturePage', this.Id, this.selectedRowAppFeature, this.sFilterAppFeature, this.fetchDb, this.getChild, this.readOnly, this.appfeature, this.appfeatures,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('appfeatureDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"AppFeaturePage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.appfeature,\r\n data: this.appfeatures,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listAppFeature(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterAppFeature = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowAppFeature(index:number, data: any) {\r\n if(data != null)\r\n {\r\n var i = AppFeature.FindIdx(data.AppFeature_ID, this.appfeatures);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.appfeatures == null) {\r\n this.selectedRowAppFeature = -1;\r\n return;\r\n }\r\n this.selectedRowAppFeature = index;\r\n this.showAppFeature(this.appfeatures[this.selectedRowAppFeature]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgAppFeature tr.data')[this.selectedRowAppFeature];\r\n var container = $('#dgAppFeatureDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.appfeatures = o.dataList;\r\n if(this.appfeatures == null) this.appfeatures = [];\r\n this.appfeature = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.appfeatures != null) nPages = Math.ceil(this.appfeatures.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n \r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgAppFeatureDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","
\r\n
\r\n

AppFeature

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n GrpID\r\n \r\n \r\n \r\n XName\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n \r\n Tag\r\n \r\n \r\n \r\n IsActivate\r\n \r\n \r\n \r\n UpdateDt\r\n \r\n \r\n
\r\n \r\n {{GetNumberString(x.GrpID)}}{{x.XName}}{{x.Description}}{{x.Tag}}{{x.IsActive}}{{GetDateString(x.UpdateDate)}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpRequest, HttpEvent } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\n\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class FileDataSource {\r\n baseUrl: string;\r\n auth_token: string = \"\";\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n this.baseUrl = GlobalObjects.gWebApiURL + \"/api/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private getOptions() {\r\n return {\r\n headers: new HttpHeaders({\r\n \"Authorization\": `Bearer<${this.auth_token}>`\r\n })\r\n };\r\n }\r\n\r\n //=============================================FILE========\r\n upload(filetype:string, subdir:string, ispublic:string, file: File): Observable> {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append(\"username\", GlobalObjects.gUserId);\r\n formData.append('tenantid', GlobalObjects.gTenantId);\r\n formData.append(\"filetype\", filetype);\r\n formData.append(\"subdir\", subdir);\r\n formData.append(\"ispublic\", ispublic);\r\n formData.append('file', file);\r\n\r\n const req = new HttpRequest('POST', `${this.baseUrl}Files`, formData, {\r\n reportProgress: true,\r\n responseType: 'json'\r\n });\r\n\r\n return this.http.request(req);\r\n }\r\n\r\n //Get all photos saved on the server, fileType: image, video, pdf\r\n getAll(fileType: string, sdir: string, filter: string): Observable {\r\n let aUrlA = this.baseUrl + \"Files/?mode=1&fileType=\" + fileType + \"&sdir=\" + sdir + \"&filter=\" + filter + \"&tenantid=\" + GlobalObjects.gTenantId + \"&userid=\" + GlobalObjects.gUserId;\r\n // return this.http.get(aUrlA, { responseType: 'json' });\r\n return this.http.get(aUrlA, { responseType: 'json' });\r\n }\r\n\r\n //Get photo from server with given file name \r\n getPhoto(fileName: string) {\r\n let aUrlA = this.baseUrl + \"Files?\" + fileName;\r\n return this.http.get(aUrlA, { responseType: 'json' });\r\n }\r\n\r\n // Delete photo on the server with given file name \r\n deletePhoto(fileName: string) {\r\n return this.http.delete(this.baseUrl + \"Files\", { params: { fileName: fileName, tenantId:GlobalObjects.gTenantId } });\r\n }\r\n}\r\n","import * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\n//====================Declare Global variables==============\r\n\r\nimport { ITS_JUST_ANGULAR } from \"@angular/core/src/r3_symbols\";\r\nimport { Router } from \"@angular/router\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\nimport { XLogDataSource} from \"../model/xlog.datasource\";\r\nimport { XLog } from \"../model/xlog.model\";\r\nimport { ElementRef } from \"@angular/core\";\r\n\r\n\r\n\r\nexport class GVideoHelper {\r\n\r\n static errorMessage = '';\r\n\r\n static videoCtrl: HTMLMediaElement|null;\r\n static videoCtrlX: HTMLIFrameElement|null;\r\n static fileCtrlX: HTMLLinkElement|null;\r\n static objName = '';\r\n static videoFile = '';\r\n static startTime = 0;\r\n static endTime = 0;\r\n\r\n \r\n constructor(ctrl:any,ctrlX:any,oname:any,vfile:any,startT:number,endT:number) {\r\n GVideoHelper.videoCtrl = ctrl;\r\n GVideoHelper.videoCtrlX = ctrlX;\r\n //GVideoHelper.fileCtrlX = null;\r\n GVideoHelper.objName = oname;\r\n GVideoHelper.videoFile = vfile;\r\n GVideoHelper.startTime = startT;\r\n GVideoHelper.endTime = endT;\r\n }\r\n \r\n //------------------------------------------\r\n static clearVideoSrc () {\r\n GVideoHelper.objName = '';\r\n if (GVideoHelper.videoCtrl != null) GVideoHelper.videoCtrl.src = '';\r\n if (GVideoHelper.videoCtrlX != null) GVideoHelper.videoCtrlX.src = '';\r\n if (GVideoHelper.fileCtrlX != null) GVideoHelper.fileCtrlX.href = '';\r\n GVideoHelper.videoFile = '';\r\n GVideoHelper.getVideoCtrl(); //--Always get the control\r\n if (GVideoHelper.videoCtrlX != null) GVideoHelper.videoCtrlX.style.display = \"none\";\r\n if (GVideoHelper.videoCtrl != null) {\r\n GVideoHelper.videoCtrl.src = '';\r\n GVideoHelper.videoCtrl.style.display = \"block\";\r\n }\r\n if (GVideoHelper.fileCtrlX != null) GVideoHelper.fileCtrlX.style.display = \"none\";\r\n GVideoHelper.startTime = 0;\r\n GVideoHelper.endTime = 0;\r\n }\r\n\r\n //------------------------------------------\r\n static setVideoSize (width:any, height:any) {\r\n GVideoHelper.getVideoCtrl(); //--Always get the control\r\n var a = $(\"#myVideoFrame\");\r\n if (a != null) {\r\n a.width = width;\r\n a.height = height;\r\n }\r\n\r\n if (GVideoHelper.videoCtrlX != null) {\r\n GVideoHelper.videoCtrlX.style.width = width;\r\n GVideoHelper.videoCtrlX.style.height = height;\r\n }\r\n if (GVideoHelper.videoCtrl != null) {\r\n GVideoHelper.videoCtrl.style.width = width;\r\n GVideoHelper.videoCtrl.style.height = height;\r\n }\r\n }\r\n\r\n //--------------Methods--------------------------------------\r\n static getVideoCtrl () {\r\n var x = document.getElementById(\"myVIdeo\");\r\n var a = $(\"#myVideo\");\r\n if (a != null && a.length > 0) GVideoHelper.videoCtrl = a[0] as HTMLMediaElement;\r\n else GVideoHelper.videoCtrl = null;\r\n var b = $(\"#myVideoX\");\r\n if (b != null && b.length > 0) GVideoHelper.videoCtrlX = b[0] as HTMLIFrameElement;\r\n else GVideoHelper.videoCtrlX = null;\r\n var c = $(\"#myFileA\");\r\n if (c != null && c.length > 0) GVideoHelper.fileCtrlX = c[0] as HTMLLinkElement;\r\n else GVideoHelper.fileCtrlX = null;\r\n }\r\n\r\n //------------------------------------------\r\n static setVideoSrc (sname:string, sfile:string, startT:any, endT:any, isWindow:boolean) {\r\n GVideoHelper.objName = sname;\r\n if (GVideoHelper.videoCtrl != null) GVideoHelper.videoCtrl.src = '';\r\n if (GVideoHelper.videoCtrlX != null) GVideoHelper.videoCtrlX.src = '';\r\n if (GVideoHelper.fileCtrlX != null) GVideoHelper.fileCtrlX.href = '';\r\n GVideoHelper.videoFile = sfile;\r\n GVideoHelper.getVideoCtrl(); //--Always get the control\r\n\r\n var isVideoFile = false;\r\n if (!GlobalHelpers.isNullOrEmpty(sfile)) {\r\n var sfileU = sfile.toUpperCase();\r\n if (sfileU.indexOf('.MP4') >= 0 || sfileU.indexOf('.MOV') >= 0) isVideoFile = true;\r\n }\r\n\r\n if (isVideoFile) {\r\n $(\"#myVideoFrame\").css(\"background-color\", \"black\");\r\n }\r\n else {\r\n $(\"#myVideoFrame\").css(\"background-color\", \"white\");\r\n }\r\n if (isWindow) {\r\n if (GVideoHelper.videoCtrlX != null) GVideoHelper.videoCtrlX.style.display = \"none\";\r\n if (GVideoHelper.videoCtrl != null) GVideoHelper.videoCtrl.style.display = \"none\";\r\n }\r\n else {\r\n if (isVideoFile) {\r\n if (GVideoHelper.videoCtrl != null) {\r\n GVideoHelper.videoCtrl.style.display = \"block\";\r\n GVideoHelper.videoCtrl.src = sfile;\r\n }\r\n if (GVideoHelper.videoCtrlX != null) GVideoHelper.videoCtrlX.style.display = \"none\";\r\n }\r\n else {\r\n if (GVideoHelper.videoCtrl != null) GVideoHelper.videoCtrl.style.display = \"none\";\r\n if (GVideoHelper.videoCtrlX != null) {\r\n GVideoHelper.videoCtrlX.style.display = \"block\";\r\n GVideoHelper.videoCtrlX.src = sfile;\r\n }\r\n }\r\n }\r\n if (GVideoHelper.fileCtrlX != null) { \r\n GVideoHelper.fileCtrlX.style.display = \"block\";\r\n GVideoHelper.fileCtrlX.textContent = GlobalHelpers.getLimitStr(sname, 40);\r\n if (isVideoFile && !isWindow) { //--when MP4, it become downloadable, so the logic prevent it\r\n GVideoHelper.fileCtrlX.title = \"\";\r\n GVideoHelper.fileCtrlX.href = \"\";\r\n }\r\n else {\r\n GVideoHelper.fileCtrlX.title = \"Click to open in a separate window\";\r\n GVideoHelper.fileCtrlX.href = sfile;\r\n }\r\n }\r\n GVideoHelper.startTime = startT;\r\n GVideoHelper.endTime = endT;\r\n\r\n if (isWindow) {\r\n // if (!GlobalHelpers.isNullOrEmpty(sfile)) window.open(sfile, '_blank');\r\n }\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n static playVideo (sname:string, fileName:string, isWindow:boolean) {\r\n var vfile = fileName;\r\n if (vfile.indexOf('.wmv') >= 0) vfile = vfile.replace('.wmv', '.mp4');\r\n if (vfile.indexOf('http://') >= 0 || vfile.indexOf('https://') >= 0) {\r\n var v = vfile.split('?v=')\r\n if (v[0] == \"https://www.youtube.com\") {\r\n vfile = 'https://youtu.be/' + v[1];\r\n }\r\n vfile = vfile.replace('https://youtu.be/', 'https://www.youtube.com/embed/');\r\n // GVideoHelper.setVideoXSrc(sname, vfile, 0, 0, isWindow);\r\n }\r\n else {\r\n if (!GlobalHelpers.isNullOrEmpty(vfile)) vfile = GlobalObjects.gWebApiURL + \"/Uploads/\" + vfile;\r\n // GVideoHelper.setVideoSrc(sname, vfile, 0, 0, isWindow);\r\n }\r\n GVideoHelper.setVideoSrc(sname, vfile, 0, 0, isWindow);\r\n /*\r\n if (isWindow == true) {\r\n window.open(vfile, \"_blank\");\r\n return;\r\n }\r\n */\r\n }\r\n\r\n //----------------------Use the name to set the IsWindow flag---------------------------------------------------------\r\n static checkNeedWindow (fileName:any) {\r\n var vfile = fileName;\r\n if (vfile.indexOf('http://') >= 0 || vfile.indexOf('https://') >= 0) {\r\n var v = vfile.split('?v=')\r\n if (v[0] == \"https://www.youtube.com\" || vfile.indexOf(\"https://youtu.be/\") >= 0) return false; //-embedded\r\n else return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n //------------------------------Why need to be here, xpictureplay already has it--------------------------------\r\n static playPicture (pictureFile:any) {\r\n var vfile = pictureFile;\r\n var sPicture = GlobalObjects.gWebApiURL + \"/Uploads/\" + vfile;\r\n var aCtrl = $(\"#myPicture\");\r\n if (aCtrl != null) {\r\n aCtrl.attr(\"src\", sPicture);\r\n }\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n static playIcon (iconFile:any) {\r\n var vfile = iconFile;\r\n var sPicture = GlobalObjects.gWebApiURL + \"/Uploads/Icon/\" + vfile;\r\n var aCtrl = $(\".myIcon\");\r\n if (aCtrl != null) {\r\n aCtrl.attr(\"src\", sPicture);\r\n }\r\n }\r\n\r\n //------------------------------------------\r\n static checkEndTime () {\r\n if (GVideoHelper.videoCtrl == null) {\r\n GVideoHelper.getVideoCtrl();\r\n if (GVideoHelper.videoCtrl == undefined) return;\r\n }\r\n if (GVideoHelper.videoCtrl.readyState != 4) return;\r\n if (GVideoHelper.endTime > GVideoHelper.startTime && GVideoHelper.videoCtrl.currentTime > GVideoHelper.endTime) GVideoHelper.videoCtrl.pause();\r\n }\r\n\r\n //------------------------------------------\r\n static setCurTime () {\r\n if (GVideoHelper.videoCtrl == null) {\r\n GVideoHelper.getVideoCtrl();\r\n if (GVideoHelper.videoCtrl == undefined) return;\r\n }\r\n if (GVideoHelper.videoCtrl.readyState != 4) return;\r\n if (GVideoHelper.startTime > 0) GVideoHelper.videoCtrl.currentTime = GVideoHelper.startTime;\r\n else GVideoHelper.videoCtrl.currentTime = 0;\r\n }\r\n\r\n //------------------------------------------\r\n static zoomIn () {\r\n if (GVideoHelper.videoCtrl == null) {\r\n GVideoHelper.getVideoCtrl();\r\n if (GVideoHelper.videoCtrl == undefined) return;\r\n }\r\n if (GVideoHelper.videoCtrl.readyState != 4) return;\r\n var h = GVideoHelper.videoCtrl.style.height.length;\r\n GVideoHelper.videoCtrl.style.height = (h * 1.25) + 'px';\r\n var w = GVideoHelper.videoCtrl.style.width.length;\r\n GVideoHelper.videoCtrl.style.width = (w * 1.25) + 'px';\r\n }\r\n\r\n //------------------------------------------\r\n static zoomOut () {\r\n if (GVideoHelper.videoCtrl == null) {\r\n GVideoHelper.getVideoCtrl();\r\n if (GVideoHelper.videoCtrl == undefined) return;\r\n }\r\n if (GVideoHelper.videoCtrl.readyState != 4) return;\r\n var h = GVideoHelper.videoCtrl.style.height.length;\r\n GVideoHelper.videoCtrl.style.height = (h / 1.25) + 'px';\r\n var w = GVideoHelper.videoCtrl.style.width.length;\r\n GVideoHelper.videoCtrl.style.width = (w / 1.25) + 'px';\r\n }\r\n}","//#############################################################\r\n//## PrivacyPolicy.component.ts\r\n//#############################################################\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'PrivacyPolicy',\r\n templateUrl: './PrivacyPolicy.component.html'\r\n})\r\nexport class PrivacyPolicyComponent implements OnInit {\r\n constructor() { }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n }\r\n}\r\n\r\n","
\r\n
\r\n

Privacy of Your Health Care Information

\r\n

Your privacy is important to us. The information you provide on this web site is protected by federal laws. To learn more about how your rights to privacy are being protected, please contact the Customer Service Department.

\r\n
\r\n
\r\n","//#############################################################\r\n//## TermsConditions.component.ts\r\n//#############################################################\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'TermsConditions',\r\n templateUrl: './TermsConditions.component.html'\r\n})\r\nexport class TermsConditionsComponent implements OnInit {\r\n constructor() { }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n }\r\n}\r\n\r\n","
\r\n
\r\n

TERMS AND CONDITIONS OF USE

\r\n

Community Hospital provides personalized health guidance for you and your family and assists you in assembling\r\n health information you may find useful in various health situations such as doctor visits. Your use of\r\n Community Hospital is governed by the terms and conditions of use of this Agreement (the “Terms and Conditions,”\r\n or this “Agreement”). Please read this Agreement carefully before accessing or using Community Hospital.\r\n

\r\n

General Terms and Conditions of Use

\r\n

Your access and use of Community Hospital binds you to this Agreement. If you do not agree to the Terms and\r\n Conditions for this site, you may not use Community Hospital. We may modify this Agreement at any time. Any\r\n modifications made to this Agreement will be effective immediately upon posting. By accessing or using Community Hospital\r\n & me, you agree to be bound by all Terms and Conditions of this Agreement as posted on Community Hospital at the time\r\n of your access or use.

\r\n\r\n

Use of Protected Health Information

\r\n

When using Community Hospital, Community Hospital allows you to transfer personal health information on your behalf, or on\r\n behalf of a minor upon whose personal health information you legally have the right to access, from interactions\r\n with Community Hospital into Community Hospital. Community Hospital reserves the right to exclude access within Community Hospital to certain\r\n portions of your protected health information which may reside in your legal medical record. Such information\r\n which may be excluded includes but is not limited to: (1) certain mental health records, (2) portions of a\r\n minor’s record which may be statutorily protected from release, (3) certain portions of the medical record which\r\n cannot be transmitted electronically to Community Hospital, and (4) other records which may require the patient to\r\n request release in person. In the event there are portions of your medical record you are unable to obtain\r\n through Community Hospital, you may request those records in person from your health care provider.

\r\n

Minor Eligibility

\r\n

An individual must be age 12 or older to participate in Community Hospital. Parents or guardians of minor patients\r\n may request proxy access to the minor's account by following the Terms and Conditions of Community Hospital. Under\r\n State and Federal law, there are certain types of medical information the parent or guardian of a minor patient\r\n age 12 or older may not view without consent of the minor patient. Because of these requirements, information of\r\n minor patients in this age category may be limited or incomplete. When a minor patient reaches age 18, parental\r\n proxy access will be automatically revoked to Community Hospital.

\r\n

For further information and frequently asked questions on this topic, please visit our FAQ webpage at Community Hospital&Me\r\n Frequently Asked Questions . If you believe there is health information missing from your minor\r\n patient’s account that you need or have a right to access, or to request all medical records for a minor,\r\n please contact Health Information Management at HealthInfoManagement@Community Hospitalok.com or (877) 778-7211.

\r\n \r\n

Proxy Access

\r\n

\r\n A parent or legal representative of a patient age 18 or older may request proxy access to the individual’s\r\n Community Hospital account by completing the Community Hospital request form and submitting it to Community Hospital. Such access\r\n will only be granted to parties who can demonstrate the legal right to the adult patient’s medical information.\r\n An Community Hospital account will be activated for both the proxy and the patient. If the proxy’s legal relationship\r\n with the patient changes, the proxy must inform Community Hospital immediately by calling Community Hospital at 1-877-778-7211 or\r\n sending written notice to Community Hospital Health Information Management at HealthInfoManagement@Community Hospitalok.com or 3366\r\n Northwest Expressway St. Suite C-20, Oklahoma City, OK 73112. Adult patients may revoke proxy access from\r\n Community Hospital profile or by submitting a request to Health Information Management. Community Hospital reserves the right\r\n to revoke proxy access at any time for any reason.

\r\n

E-mail Privacy

\r\n

\r\n Patients who are users of Community Hospital should be aware they will be notified via e-mail when there is new\r\n medical information to be viewed on Community Hospital. This means any person with access to a patient’s e-mail will\r\n be able to see this notification. This could include the patient’s spouse, employer or anyone else who can\r\n access a patient’s e-mail account. Although no private medical information will be sent, the notification that\r\n new medical information is available by accessing Community Hospital may be information a patient would not want\r\n others to know. Thus, patients should take this into account when providing an e-mail address. Please know that\r\n if you send us an e-mail communication, it may be shared with the Community Hospital staff assisting the physician in\r\n providing the patient’s medical care. A patient’s confidential medical information on Community Hospital will be\r\n accessible only to appropriate clinical staff.

\r\n

Bill Pay

\r\n

\r\n You may use Community Hospital to view your Community Hospital billing statements online and make online payments online for\r\n health care services you receive from Community Hospital. Please note we use a third party to process the payments you\r\n make using the Community Hospital service. You agree to comply with any terms and conditions of the third-party\r\n processor in connection with your use of such third-party processor services. There is no charge for making a\r\n payment online. Your bank and credit card information is protected by our secure website.

\r\n

Limited Medical Advice

\r\n

\r\n ALL OF THE INFORMATION AND GUIDANCE PROVIDED BY Community Hospital IS FOR HEALTH INFORMATION PURPOSES ONLY AND IS NOT\r\n MEANT TO DIAGNOSE OR TREAT ANY ILLNESS OR DISEASE. THE HEALTH INFORMATION AND GUIDANCE YOU WILL RECEIVE THROUGH\r\n Community Hospital, ASIDE FROM SECURE MESSAGING, IS AUTOMATICALLY GENERATED BY Community Hospital, BASED ON CERTAIN\r\n INFORMATION THAT YOU ENTER INTO Community Hospital OR MAKE AVAILABLE TO Community Hospital, AND IS NOT NECESSARILY\r\n REVIEWED BY A PHYSICIAN, NURSE OR OTHER HEALTH CARE PROVIDER. WE ADVISE YOU TO ALWAYS SEEK THE ADVICE OF A\r\n PHYSICIAN OR OTHER QUALIFIED HEALTH CARE PROVIDER WITH ANY QUESTIONS REGARDING PERSONAL HEALTH OR MEDICAL\r\n CONDITIONS. NEVER DISREGARD, AVOID OR DELAY IN OBTAINING MEDICAL ADVICE FROM YOUR DOCTOR OR OTHER QUALIFIED\r\n HEALTH CARE PROVIDER BECAUSE OF SOMETHING YOU HAVE READ ON Community Hospital.\r\n IF YOU HAVE OR SUSPECT THAT YOU HAVE A MEDICAL PROBLEM OR CONDITION, PLEASE CONTACT A QUALIFIED HEALTH CARE\r\n PROFESSIONAL IMMEDIATELY. IF YOU ARE IN THE UNITED STATES AND ARE EXPERIENCING A MEDICAL EMERGENCY, PLEASE CALL\r\n 911 OR CALL FOR EMERGENCY MEDICAL HELP ON THE NEAREST TELEPHONE.

\r\n

Secure Messaging

\r\n

\r\n You may receive direct communication from your health care providers through secure messaging on Community Hospital.\r\n You must log-in to Community Hospital to view the message. Protected health information will not be sent directly\r\n through email. All health care provider initiated messages will contain a date, time, and name of sender\r\n notifying the recipient of who sent the message. A secure message may or may not contain medical information. It\r\n is intended to facilitate interaction between you and your health care providers. You may have the option to\r\n send a secure message to a health care provider with whom you have an established relationship. FOR MEDICAL\r\n EMERGENCIES DO NOT USE THE MESSAGING SERVICE TO COMMUNICATE WITH YOUR PHYSICIAN OR HEALTH CARE PROVIDER.\r\n IMMEDIATELY CALL 911 OR GO TO THE NEAREST EMERGENCY ROOM. All messages will be reviewed by the physician’s\r\n office staff and forwarded to the physician, as deemed appropriate. Secure messaging may or may not be the\r\n appropriate format for communication between you and your health care provider. The health care providers\r\n utilizing this service reserve the right to contact you by other appropriate means to respond to your inquiry.\r\n Should the information communicated through secure messaging include medical information that the health care\r\n provider determines should be incorporated into your legal medical record, such communication shall be saved to\r\n your electronic medical record. IF AT ANY TIME YOU WISH TO OPT OF OUT SECURE MESSAGING, PLEASE CONTACT Community Hospital\r\n & ME CUSTOMER SERVICE.

\r\n

Disclaimers

\r\n

\r\n THE INFORMATION AND GUIDANCE CONTAINED IN OR PROVIDED THROUGH Community Hospital IS PROVIDED ON AN \"AS IS\" BASIS, AND\r\n YOU ASSUME FULL RESPONSIBILITY FOR USING Community Hospital. YOUR USE OF Community Hospital IS VOLUNTARY AND ENTIRELY AT\r\n YOUR OWN RISK. WE DO NOT MAKE ANY EXPRESS OR IMPLIED WARRANTIES, REPRESENTATIONS OR ENDORSEMENTS OF ANY KIND\r\n WHATSOEVER (INCLUDING WITHOUT LIMITATION, WARRANTIES OF TITLE OR NONINFRINGEMENT, OR ANY WARRANTIES OF\r\n MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE) WITH REGARD TO Community Hospital, OR WITH RESPECT TO ANY\r\n INFORMATION, PRODUCT, SERVICE, MERCHANDISE OR OTHER MATERIAL PROVIDED ON OR THROUGH Community Hospital. WE DO NOT\r\n WARRANT OR GUARANTEE THE ACCURACY, COMPLETENESS, CORRECTNESS, TIMELINESS OR USEFULNESS OF ANY INFORMATION,\r\n PRODUCTS, SERVICES, MERCHANDISE OR OTHER MATERIAL PROVIDED THROUGH Community Hospital OR ON THE INTERNET GENERALLY.\r\n WE MAKE NO WARRANTY OR GUARANTEE THAT Community Hospital WILL BE UNINTERRUPTED, TIMELY, SECURE OR ERROR-FREE. We do\r\n not operate, control, supply, endorse, warrant or guarantee any information, products, services or merchandise\r\n that is not clearly identified as information, products, services or merchandise supplied by us. We also do not\r\n warrant or guarantee that files available for downloading through Community Hospital will be free of infections or\r\n viruses, worms, Trojan horses or other code which contains contaminating or destructive properties. We, and our\r\n suppliers, cannot and do not guarantee or warrant against errors, omissions, delays, interruptions or losses,\r\n including loss of data. We reserve the right at any time and from time to time to modify or discontinue,\r\n temporarily or permanently, this site, or any part thereof, including these Terms and Conditions, with or\r\n without notice.

\r\n

Limitation of Liability

\r\n

\r\n NEITHER WE, OUR SUPPLIERS, NOR ANY OF OUR AFFILIATES, SUBSIDIARIES OR PARENT COMPANIES, NOR ANY OF OUR\r\n RESPECTIVE DIRECTORS, OFFICERS, EMPLOYEES OR AGENTS WILL BE LIABLE FOR ANY DAMAGES INCLUDING (BUT NOT LIMITED\r\n TO) ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, EXEMPLARY, OR PUNITIVE DAMAGES, LOSS OF WAGES, REVENUE OR\r\n BUSINESS BECAUSE OF YOUR USE OF Community Hospital OR ANY INFORMATION, GUIDANCE OR SERVICES RELATED TO OR PROVIDED BY\r\n Community Hospital. YOUR SOLE AND EXCLUSIVE REMEDY FOR DISSATISFACTION WITH Community Hospital WILL BE TO STOP USING\r\n Community Hospital.

\r\n

Indemnification

\r\n

\r\n You will indemnify us, our suppliers, and any of our parent or subsidiary companies or organizations, and any of\r\n our successors, assigns or licensees, together with any of their respective officers, directors, employees and\r\n insurers, against any damages, losses, liabilities, judgments, costs or expenses (including reasonable\r\n attorneys' fees and costs) arising out of a claim by a third party relating to use of Community Hospital, or any\r\n breach or violation of this Agreement or any other term or condition contained on Community Hospital.

\r\n

Your Responsibilities

\r\n

\r\n • You will not upload or transmit any communications or content of any type which infringes or violates any\r\n rights of any party.\r\n
• You will not use this site for any purpose in violation of local, state, national or international laws.\r\n
• You will not use this site as a means to distribute advertising or other unsolicited material to any third\r\n party.\r\n
• You will not post material which is unlawful, obscene, defamatory, threatening, harassing, abusive,\r\n slanderous, hateful or embarrassing to any other person or entity as determined by us in our sole discretion.\r\n
• You will not impersonate another person.\r\n
• You agree to comply with all user responsibilities and obligations as stated herein.

\r\n

Your Representations

\r\n

\r\n You represent and warrant that you possess the legal right and ability to agree to these Terms and Conditions\r\n and to use this site.

\r\n

Conflict Resolution

\r\n

\r\n You agree that this Agreement is entered into between you and Community Hospital in the State of Oklahoma, United States\r\n of America, and is performed within the State of Oklahoma and governed by and shall be construed in all respects\r\n under the laws of the State of Oklahoma, exclusive of its choice of law or conflict of laws provisions. In any\r\n claim or action by you directly or indirectly arising under this Agreement or related to Community Hospital, you and\r\n Community Hospital each irrevocably agree to submit to the exclusive personal jurisdiction of the Oklahoma State District\r\n Court sitting in Oklahoma County, Oklahoma, or if such court does not have subject matter jurisdiction, then you\r\n and Community Hospital each irrevocably agree to submit to the exclusive personal jurisdiction of the United States Court\r\n for the District of Oklahoma, and whichever of those two courts has jurisdiction, you and Community Hospital each waive\r\n any jurisdictional, venue or inconvenient forum objections to such court. If any of the provisions of this\r\n Agreement are held to be not enforceable by a court or other tribunal of competent jurisdiction, then such\r\n provisions shall be limited or eliminated to the minimum extent necessary so that this Agreement shall otherwise\r\n remain in full force and effect. This Agreement constitutes the entire agreement between you and Community Hospital\r\n relating to the access and use of the site and any of its services. This Agreement may not be modified, in whole\r\n or in part, except as described elsewhere in this Agreement. Anything contained on Community Hospital inconsistent\r\n with or conflicting with the terms of this Agreement is superseded by the terms of this Agreement.

\r\n

Termination of Services

\r\n

\r\n If you violate these Terms and Conditions, Community Hospital may, in our sole discretion, terminate your access to\r\n Community Hospital, or any portion thereof. These actions are in addition to and not in lieu or limitation of any\r\n other right or remedy we may have available at law. Further, Community Hospital shall not be liable to you or any third\r\n party for any such termination or discontinuance.

\r\n

General

\r\n

\r\n You agree that these Terms and Conditions and all incorporated agreements between Community Hospital and you may be\r\n automatically assigned by Community Hospital, in Community Hospital’ sole discretion, to a third party in the event of a merger,\r\n acquisition or liquidation. Community HospitalU+2019 failure to act with respect to a breach by you or others of these Terms\r\n and Conditions does not waive Community HospitalU+2019 right to act with respect to subsequent or similar breaches. These Terms\r\n and Conditions set forth the entire understanding and agreement between Community Hospital and any site user with respect\r\n to the site, its uses and services.

\r\n

Copyright and Trademarks

\r\n

\r\n The marks \"Community Hospital,\" \"Community Hospital Health,\" “Community Hospital,” the Community Hospital Health logo, and the Community Hospital Personal\r\n Health Record logo are trademarks and service marks of Community Hospital Health. The materials on the site are\r\n copyrighted by Community Hospital and/or other applicable rights holders. All content included on Community Hospital,\r\n including, but not limited to text, photographs, graphics, button icons, images, artwork, names, logos,\r\n trademarks, service marks and data, in any form including the compilation thereof, are protected by U.S. and\r\n international copyright law and conventions. The content includes content owned or controlled by Community Hospital and\r\n content owned or controlled by third parties and licensed to Community Hospital. Except as set forth herein, direct or\r\n indirect reproduction of the content, in whole or in part by any means is prohibited without the express written\r\n consent of Community Hospital. You may download and reprint a single copy of the materials from Community Hospital for your own\r\n personal, noncommercial use only, provided you include all applicable notices and disclaimers. Any other use of\r\n the materials is strictly prohibited without our prior written permission and the permission of the applicable\r\n rights holder(s). MyChart is a registered trademark of Epic Systems Corporation.

\r\n

Contact Information

\r\n

Technical: Community Hospital, Customer Support at 844.843.1500.

\r\n

Medical records or proxy access: Health Information Management at 877.778.7211

\r\n

Billing: Community Hospital Customer Service at 405.252.8400

\r\n\r\n
\r\n
\r\n","//#############################################################\r\n//## XFileSelect.html.js\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2015, DRS\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FileDataSource } from './File.datasource';\r\nimport { XItem } from '../model/XItem.model';\r\n\r\n\r\n@Component({\r\n selector: 'modal-content',\r\n templateUrl: './XFileSelect.component.html'\r\n})\r\nexport class XFileSelectComponent implements OnInit {\r\n @Input() public title = '';\r\n @Input() public fileType = 'Picture';\r\n @Input() public data?: XItem; //--already selected from init\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public selectedFile: any;\r\n public fileList: any;\r\n public sFilter = '';\r\n public loading = false;\r\n public errorMessage = '';\r\n\r\n valueWidth = false;\r\n\r\n constructor(public activeModal:NgbActiveModal, private dataSource: FileDataSource) { }\r\n\r\n //-------------------------------------------------------\r\n getFiles() {\r\n this.loading = true;\r\n this.dataSource.getAll(this.fileType, '', this.sFilter).subscribe({\r\n next: (res) => {\r\n this.fileList = res;\r\n this.loading = false;\r\n },\r\n error: (err: any) => {\r\n this.errorMessage = err.message;\r\n this.fileList = null;\r\n console.log(\"getFiles: error\" + err.message);\r\n // this.bsModalRef.hide();\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectFile(data: any) {\r\n this.selectedFile = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.getFiles();\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilter = \"\";\r\n }\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n this.getFiles();\r\n }\r\n\r\n //-------------------------------------------------------\r\n onOk() {\r\n this.data = new XItem(0, this.selectedFile.Name, this.selectedFile.Name, false, this.selectedFile.Size, false);\r\n this.passEntry.emit(this.data);\r\n this.activeModal.close(this.data);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onCancel() {\r\n this.selectedFile = undefined;\r\n this.activeModal.close();\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n \r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpEvent, HttpEventType } from \"@angular/common/http\";\r\nimport { FileDataSource } from './File.datasource';\r\nimport { error } from 'protractor';\r\nimport { addListener } from 'process';\r\n\r\nimport { XItem } from '../model/XItem.model';\r\n\r\n\r\n@Component({\r\n selector: 'xfileupload',\r\n templateUrl: './XFileUpload.component.html'\r\n})\r\nexport class XFileUploadComponent implements OnInit {\r\n @Input() public title = 'Upload file';\r\n @Input() public fileType = 'Picture';\r\n @Input() public showFileList = true;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public loading = false;\r\n\r\n selectedFiles?: FileList;\r\n currentFile?: File;\r\n progress = 0;\r\n message = '';\r\n selectedFileName = '';\r\n\r\n filedata: any;\r\n\r\n fileInfos?: Observable;\r\n\r\n fileList: any;\r\n\r\n fileSelectType = 'video/*';\r\n\r\n constructor(public activeModal:NgbActiveModal, public uploadService: FileDataSource) {\r\n }\r\n\r\n //--this is for select from Windows Browser\r\n //-------------------------------------------------------\r\n selectFile(event: any): void {\r\n this.selectedFiles = event.target.files;\r\n this.setSelectedFileName();\r\n }\r\n\r\n //-------------------------------------------------------\r\n setSelectedFileName() {\r\n this.selectedFileName = '';\r\n if (this.selectedFiles) {\r\n const file: File | null = this.selectedFiles.item(0);\r\n\r\n if (file) {\r\n this.selectedFileName = file.name;\r\n }\r\n }\r\n }\r\n\r\n //--this is for drag and drop\r\n //-------------------------------------------------------\r\n dragDropFile(event: any): void {\r\n this.selectedFiles = event;\r\n this.setSelectedFileName();\r\n }\r\n\r\n //-------------------------------------------------------\r\n getFileUrl(name: string) {\r\n var a = GlobalObjects.gWebApiURL + \"uploads/\" + name;\r\n return a;\r\n }\r\n\r\n public isValidFileNames(): string\r\n {\r\n if(this.selectedFiles == null) return \"no files\";\r\n var sMsg = \"\";\r\n for(var i=0;i\")||\r\n this.selectedFiles.item(i)?.name.includes(\"|\")) sMsg += \"\\r\\n\" + this.selectedFiles.item(i)?.name;\r\n }\r\n return sMsg;\r\n }\r\n\r\n //-------------------------------------------------------\r\n upload(): void {\r\n var sErrMsg = this.isValidFileNames();\r\n if(sErrMsg != \"\"){\r\n alert(\"Invalid file name contains: \\ / : * ? \\\" < > |\" + sErrMsg);\r\n return;\r\n } \r\n\r\n this.progress = 0;\r\n \r\n if (this.selectedFiles) {\r\n const file: File | null = this.selectedFiles.item(0);\r\n \r\n if (file) {\r\n this.currentFile = file;\r\n\r\n this.uploadService.upload('Picture', '', '1', this.currentFile).subscribe({\r\n next: (event: any) => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else if (event instanceof HttpResponse) {\r\n var result = null;\r\n if (event.body != null && event.body.length > 0) {\r\n result = event.body[0];\r\n let xItem = new XItem(0, result.Name, result.Name, false, result.Size, false);\r\n this.passEntry.emit(xItem);\r\n this.activeModal.close(xItem); // this.getFiles();\r\n }\r\n else{\r\n alert(\"File upload FAILED: \" + this.currentFile?.name);\r\n this.passEntry.emit(null);\r\n this.activeModal.close(null); // this.getFiles();\r\n }\r\n }\r\n },\r\n error: (err: any) => {\r\n console.log(err);\r\n this.progress = 0;\r\n\r\n if (err.error && err.error.message) {\r\n this.message = err.error.message;\r\n } else {\r\n this.message = 'Could not upload the file!';\r\n }\r\n\r\n this.currentFile = undefined;\r\n // this.bsModalRef.hide();\r\n }\r\n });\r\n }\r\n\r\n this.selectedFiles = undefined;\r\n }\r\n }\r\n\r\n //-------------------------------------------------------\r\n getFiles() {\r\n this.loading = true;\r\n this.uploadService.getAll(this.fileType, '', '').subscribe({\r\n next: (res) => {\r\n this.loading = false;\r\n var data = res;\r\n this.fileList = data;\r\n // this.bsModalRef.hide();\r\n },\r\n error: (err: any) => {\r\n this.loading = false;\r\n console.log(\"getFiles: error\" + err.error);\r\n this.fileList = [];\r\n // this.bsModalRef.hide();\r\n }\r\n });\r\n }\r\n\r\n //-------------------------------------------------------\r\n onClose() {\r\n this.passEntry.emit(null);\r\n this.activeModal.close(1);\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n if(this.showFileList) this.getFiles();\r\n if (this.fileType == 'video') this.fileSelectType = 'video/*';\r\n else if (this.fileType == 'audio') this.fileSelectType = 'audio/*';\r\n else if (this.fileType == 'image' || this.fileType == 'picture') this.fileSelectType = 'image/*';\r\n else if (this.fileType == 'document') this.fileSelectType = '.txt,.pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n else this.fileSelectType = '*';\r\n }\r\n\r\n}","\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ progress }}%\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n File: {{selectedFileName}}\r\n
\r\n
\r\n
\r\n Choose a file or drag here\r\n ({{fileSelectType}})\r\n \r\n \r\n
\r\n
\r\n\r\n
{{ message }}
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","//#############################################################\r\n//## XLogoFileSelect.html.js\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2015, DRS\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FileDataSource } from './File.datasource';\r\nimport { XItem } from '../model/XItem.model';\r\n\r\n\r\n@Component({\r\n selector: 'modal-content',\r\n templateUrl: './XLogoFileSelect.component.html'\r\n})\r\nexport class XLogoFileSelectComponent implements OnInit {\r\n @Input() public title = '';\r\n @Input() public fileType = 'Picture';\r\n @Input() public data?: XItem; //--already selected from init\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public selectedFile: any;\r\n public fileList: any;\r\n public sFilter = '';\r\n public loading = false;\r\n public errorMessage = '';\r\n\r\n valueWidth = false;\r\n\r\n constructor(public activeModal:NgbActiveModal, private dataSource: FileDataSource) { }\r\n\r\n //-------------------------------------------------------\r\n getFiles() {\r\n this.loading = true;\r\n this.dataSource.getAll(this.fileType, 'Logo', this.sFilter).subscribe({\r\n next: (res) => {\r\n this.fileList = res;\r\n this.loading = false;\r\n },\r\n error: (err: any) => {\r\n this.errorMessage = err.message;\r\n this.fileList = null;\r\n console.log(\"getFiles: error\" + err.message);\r\n // this.bsModalRef.hide();\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectFile(data: any) {\r\n this.selectedFile = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.getFiles();\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilter = \"\";\r\n }\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n this.getFiles();\r\n }\r\n\r\n //-------------------------------------------------------\r\n onOk() {\r\n this.data = new XItem(0, this.selectedFile.Name, this.selectedFile.Name, false, this.selectedFile.Size, false);\r\n this.passEntry.emit(this.data);\r\n this.activeModal.close(this.data);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onCancel() {\r\n this.selectedFile = undefined;\r\n this.activeModal.close();\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n \r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpEvent, HttpEventType } from \"@angular/common/http\";\r\nimport { FileDataSource } from './File.datasource';\r\nimport { error } from 'protractor';\r\nimport { addListener } from 'process';\r\n\r\nimport { XItem } from '../model/XItem.model';\r\n\r\n\r\n@Component({\r\n selector: 'xlogofileupload',\r\n templateUrl: './XLogoFileUpload.component.html'\r\n})\r\nexport class XLogoFileUploadComponent implements OnInit {\r\n @Input() public title = 'Upload file';\r\n @Input() public fileType = '*';\r\n @Input() public showFileList = true;\r\n\r\n public fileSelectType = 'video/*';\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public loading = false;\r\n\r\n selectedFiles?: FileList;\r\n currentFile?: File;\r\n progress = 0;\r\n message = '';\r\n selectedFileName = '';\r\n\r\n filedata: any;\r\n\r\n fileInfos?: Observable;\r\n\r\n fileList: any;\r\n\r\n constructor(public activeModal:NgbActiveModal, public uploadService: FileDataSource) {\r\n }\r\n\r\n //--this is for select from Windows Browser\r\n //-------------------------------------------------------\r\n selectFile(event: any): void {\r\n this.selectedFiles = event.target.files;\r\n this.setSelectedFileName();\r\n }\r\n\r\n //-------------------------------------------------------\r\n setSelectedFileName() {\r\n this.selectedFileName = '';\r\n if (this.selectedFiles) {\r\n const file: File | null = this.selectedFiles.item(0);\r\n\r\n if (file) {\r\n this.selectedFileName = file.name;\r\n }\r\n }\r\n }\r\n\r\n //--this is for drag and drop\r\n //-------------------------------------------------------\r\n dragDropFile(event: any): void {\r\n this.selectedFiles = event;\r\n this.setSelectedFileName();\r\n }\r\n\r\n //-------------------------------------------------------\r\n getFileUrl(name: string) {\r\n var a = GlobalObjects.gWebApiURL + \"uploads/Logo/\" + name;\r\n return a;\r\n }\r\n\r\n //-------------------------------------------------------\r\n upload(): void {\r\n this.progress = 0;\r\n\r\n if (this.selectedFiles) {\r\n const file: File | null = this.selectedFiles.item(0);\r\n\r\n if (file) {\r\n this.currentFile = file;\r\n\r\n this.uploadService.upload('Picture', 'Logo', '1', this.currentFile).subscribe({\r\n next: (event: any) => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else if (event instanceof HttpResponse) {\r\n this.message = event.body.Message;\r\n var result = null;\r\n if (event.body != null && event.body.length > 0) {\r\n result = event.body[0];\r\n let xItem = new XItem(0, result.Name, result.Name, false, result.Size, false);\r\n this.passEntry.emit(xItem);\r\n this.activeModal.close(xItem); // this.getFiles();\r\n }\r\n }\r\n },\r\n error: (err: any) => {\r\n console.log(err);\r\n this.progress = 0;\r\n\r\n if (err.error && err.error.message) {\r\n this.message = err.error.message;\r\n } else {\r\n this.message = 'Could not upload the file!';\r\n }\r\n\r\n this.currentFile = undefined;\r\n // this.bsModalRef.hide();\r\n }\r\n });\r\n }\r\n\r\n this.selectedFiles = undefined;\r\n }\r\n }\r\n\r\n //-------------------------------------------------------\r\n getFiles() {\r\n this.loading = true;\r\n this.uploadService.getAll(this.fileType, 'Logo', '').subscribe({\r\n next: (res) => {\r\n this.loading = false;\r\n var data = res;\r\n this.fileList = data;\r\n // this.bsModalRef.hide();\r\n },\r\n error: (err: any) => {\r\n this.loading = false;\r\n console.log(\"getFiles: error\" + err.error);\r\n this.fileList = [];\r\n // this.bsModalRef.hide();\r\n }\r\n });\r\n }\r\n\r\n //-------------------------------------------------------\r\n onClose() {\r\n this.passEntry.emit(null);\r\n this.activeModal.close(null);\r\n }\r\n\r\n //----------------for display purpose---------------------------------------\r\n ngOnInit() {\r\n if(this.showFileList) this.getFiles();\r\n if (this.fileType == 'video') this.fileSelectType = 'video/*';\r\n else if (this.fileType == 'audio') this.fileSelectType = 'audio/*';\r\n else if (this.fileType == 'image' || this.fileType == 'picture') this.fileSelectType = 'image/*';\r\n else if (this.fileType == 'document') this.fileSelectType = '.txt,.pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n else this.fileSelectType = '*';\r\n }\r\n\r\n}","\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ progress }}%\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n File: {{selectedFileName}}\r\n
\r\n
\r\n
\r\n Choose a file or drag here\r\n ({{fileSelectType}})\r\n \r\n \r\n
\r\n
\r\n\r\n
{{ message }}
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","//#############################################################\r\n//## XLogoPlay.component.js\r\n//## Ctrl (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRS\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, ViewChildren, Input, Output, EventEmitter} from \"@angular/core\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\n//import { GPictureHelper } from \"./GPictureHelper\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XLogoFileUploadComponent } from \"./XLogoFileUpload.component\";\r\nimport { XLogoFileSelectComponent } from \"./XLogoFileSelect.component\";\r\n\r\n@Component({\r\n selector: \"xlogoplay\",\r\n templateUrl: \"XLogoPlay.component.html\",\r\n styleUrls: [\"XLogoPlay.component.css\"]\r\n})\r\nexport class XLogoPlay {\r\n\r\n @Input() xitem = new XItem(0, '', '', false);\r\n @Input() logoId = \"myLogo\";\r\n @Output(\"parentFun\") parentFun: EventEmitter = new EventEmitter();\r\n\r\n public readOnly: number = 0;\r\n public noShowName: number = 0;\r\n public ctrlId = this.logoId;\r\n public ctrlIdWP = this.logoId + \"WP\";\r\n\r\n public aPicture = \"\";\r\n\r\n constructor(\r\n private router: Router,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n ngOnChanges()\r\n {\r\n this.PlayPictureFile();\r\n }\r\n \r\n //-------------------------------------------------------------------------------\r\n PlayPicture(data: any) {\r\n var vfile = data.FileName;\r\n this.aPicture = GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + vfile;\r\n /*\r\n var sPicture = GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + vfile;\r\n var x = \"#\" + this.ctrlId;\r\n var a = $(\"img\");\r\n var p = $(\"picture\");\r\n var aCtrl = $(x);\r\n if (aCtrl != null && aCtrl.length > 0) {\r\n aCtrl.attr(\"src\", sPicture);\r\n }\r\n var x2 = \"#\" + this.ctrlIdWP;\r\n var aCtrlWP = $(x2);\r\n if (aCtrlWP != null && aCtrlWP.length > 0) {\r\n aCtrlWP.attr(\"srcset\", sPicture);\r\n }\r\n */\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n PlayPictureFile() {\r\n this.PlayPicture(this.xitem);\r\n }\r\n\r\n //------------------------------------------------\r\n SelectPictureFile() {\r\n const modalRef = this.modalService.open(XLogoFileSelectComponent);\r\n modalRef.componentInstance.xitem = this.xitem;\r\n modalRef.componentInstance.title = 'Select Logo Picture File Dialog';\r\n modalRef.componentInstance.fileType = 'image';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n this.PlayPictureFile();\r\n this.parentFun.emit();\r\n }\r\n });\r\n }\r\n\r\n //-----------------------------Upload Picture Ctrl------------------\r\n UploadPictureFile() {\r\n const modalRef = this.modalService.open(XLogoFileUploadComponent);\r\n modalRef.componentInstance.showFileList = false;\r\n modalRef.componentInstance.title = 'Upload Logo Picture File';\r\n modalRef.componentInstance.fileType = 'picture';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n this.PlayPictureFile();\r\n this.parentFun.emit();\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n","//#############################################################\r\n//## XPicturePlay.component.js\r\n//## Ctrl (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRS\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, ViewChildren, Input, Output, EventEmitter} from \"@angular/core\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\n//import { GPictureHelper } from \"./GPictureHelper\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFileUploadComponent } from \"./XFileUpload.component\";\r\nimport { XFileSelectComponent } from \"./XFileSelect.component\";\r\n\r\n@Component({\r\n selector: \"xpictureplay\",\r\n templateUrl: \"XPicturePlay.component.html\",\r\n styleUrls: [\"XPicturePlay.component.css\"]\r\n})\r\nexport class XPicturePlay {\r\n\r\n @Input() xitem = new XItem(0, '', '', false);\r\n @Output(\"parentFun\") parentFun: EventEmitter = new EventEmitter();\r\n\r\n public readOnly: number = 0;\r\n public noShowName: number = 0;\r\n\r\n public aPicture = \"\";\r\n\r\n constructor(\r\n private router: Router,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n ngOnChanges()\r\n {\r\n this.PlayPictureFile();\r\n }\r\n \r\n //-------------------------------------------------------------------------------\r\n PlayPicture(data: any) {\r\n var vfile = data.FileName;\r\n this.aPicture = GlobalObjects.gWebApiURL + \"/Uploads/\" + vfile;\r\n /*\r\n var sPicture = GlobalObjects.gWebApiURL + \"/Uploads/\" + vfile;\r\n // var sPicture = \"http://localhost/dfd.webapi/Uploads/\" + vfile;\r\n var aCtrl = $(\"#myPicture\");\r\n if (aCtrl != null) {\r\n aCtrl.attr(\"src\", sPicture);\r\n }\r\n var aCtrlWP = $(\"#myPictureWP\");\r\n if (aCtrlWP != null) {\r\n aCtrlWP.attr(\"srcset\", sPicture);\r\n }\r\n */\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n PlayPictureFile() {\r\n this.PlayPicture(this.xitem);\r\n }\r\n\r\n //------------------------------------------------\r\n SelectPictureFile() {\r\n const modalRef = this.modalService.open(XFileSelectComponent);\r\n modalRef.componentInstance.xitem = this.xitem;\r\n modalRef.componentInstance.title = 'Select Picture File Dialog';\r\n modalRef.componentInstance.fileType = 'image';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n this.PlayPictureFile();\r\n this.parentFun.emit();\r\n }\r\n });\r\n }\r\n\r\n //-----------------------------Upload Picture Ctrl------------------\r\n UploadPictureFile() {\r\n const modalRef = this.modalService.open(XFileUploadComponent);\r\n modalRef.componentInstance.showFileList = false;\r\n modalRef.componentInstance.title = 'Upload Picture File';\r\n modalRef.componentInstance.fileType = 'picture';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n if(result != 1){\r\n this.xitem = result;\r\n this.PlayPictureFile();\r\n this.parentFun.emit();\r\n }\r\n }\r\n else{\r\n alert(\"Upload failed: \");\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n","//#############################################################\r\n//## XUserImageFileSelect.html.js\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2015, DRS\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FileDataSource } from './File.datasource';\r\nimport { XItem } from '../model/XItem.model';\r\n\r\n\r\n@Component({\r\n selector: 'modal-content',\r\n templateUrl: './XUserImageFileSelect.component.html'\r\n})\r\nexport class XUserImageFileSelectComponent implements OnInit {\r\n @Input() public title = '';\r\n @Input() public fileType = 'Picture';\r\n @Input() public data?: XItem; //--already selected from init\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public selectedFile: any;\r\n public fileList: any;\r\n public sFilter = '';\r\n public loading = false;\r\n public errorMessage = '';\r\n\r\n valueWidth = false;\r\n\r\n constructor(public activeModal:NgbActiveModal, private dataSource: FileDataSource) { }\r\n\r\n //-------------------------------------------------------\r\n getFiles() {\r\n this.loading = true;\r\n this.dataSource.getAll(this.fileType, 'User', this.sFilter).subscribe({\r\n next: (res) => {\r\n this.fileList = res;\r\n this.loading = false;\r\n },\r\n error: (err: any) => {\r\n this.errorMessage = err.message;\r\n this.fileList = null;\r\n console.log(\"getFiles: error\" + err.message);\r\n // this.bsModalRef.hide();\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectFile(data: any) {\r\n this.selectedFile = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.getFiles();\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilter = \"\";\r\n }\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n this.getFiles();\r\n }\r\n\r\n //-------------------------------------------------------\r\n onOk() {\r\n this.data = new XItem(0, this.selectedFile.Name, this.selectedFile.Name, false, this.selectedFile.Size, false);\r\n this.passEntry.emit(this.data);\r\n this.activeModal.close(this.data);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onCancel() {\r\n this.selectedFile = undefined;\r\n this.activeModal.close();\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n \r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpEvent, HttpEventType } from \"@angular/common/http\";\r\nimport { FileDataSource } from './File.datasource';\r\nimport { error } from 'protractor';\r\nimport { addListener } from 'process';\r\n\r\nimport { XItem } from '../model/XItem.model';\r\n\r\n\r\n@Component({\r\n selector: 'xuserimagefileupload',\r\n templateUrl: './XUserImageFileUpload.component.html'\r\n})\r\nexport class XUserImageFileUploadComponent implements OnInit {\r\n @Input() public title = 'Upload file';\r\n @Input() public fileType = 'Picture';\r\n @Input() public showFileList = true;\r\n\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public loading = false;\r\n\r\n selectedFiles?: FileList;\r\n currentFile?: File;\r\n progress = 0;\r\n message = '';\r\n selectedFileName = '';\r\n\r\n fileSelectType = 'video/*';\r\n\r\n filedata: any;\r\n\r\n fileInfos?: Observable;\r\n\r\n fileList: any;\r\n\r\n constructor(public activeModal:NgbActiveModal, public uploadService: FileDataSource) {\r\n }\r\n\r\n //--this is for select from Windows Browser\r\n //-------------------------------------------------------\r\n selectFile(event: any): void {\r\n this.selectedFiles = event.target.files;\r\n this.setSelectedFileName();\r\n }\r\n\r\n //-------------------------------------------------------\r\n setSelectedFileName() {\r\n this.selectedFileName = '';\r\n if (this.selectedFiles) {\r\n const file: File | null = this.selectedFiles.item(0);\r\n\r\n if (file) {\r\n this.selectedFileName = file.name;\r\n }\r\n }\r\n }\r\n\r\n //--this is for drag and drop\r\n //-------------------------------------------------------\r\n dragDropFile(event: any): void {\r\n this.selectedFiles = event;\r\n this.setSelectedFileName();\r\n }\r\n\r\n //-------------------------------------------------------\r\n getFileUrl(name: string) {\r\n var a = GlobalObjects.gWebApiURL + \"uploads/User/\" + name;\r\n return a;\r\n }\r\n\r\n //-------------------------------------------------------\r\n upload(): void {\r\n this.progress = 0;\r\n\r\n if (this.selectedFiles) {\r\n const file: File | null = this.selectedFiles.item(0);\r\n\r\n if (file) {\r\n this.currentFile = file;\r\n\r\n this.uploadService.upload('Picture', \"User\", '0', this.currentFile).subscribe({\r\n next: (event: any) => {\r\n if (event.type === HttpEventType.UploadProgress) {\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n }\r\n else if (event instanceof HttpResponse) {\r\n this.message = event.body.Message;\r\n var result = null;\r\n if (event.body != null && event.body.length > 0) {\r\n result = event.body[0];\r\n let xItem = new XItem(0, result.Name, result.Name, false, result.Size, false);\r\n this.passEntry.emit(xItem);\r\n this.activeModal.close(xItem); // this.getFiles();\r\n }\r\n }\r\n },\r\n error: (err: any) => {\r\n console.log(err);\r\n this.progress = 0;\r\n\r\n if (err.error && err.error.message) {\r\n this.message = err.error.message;\r\n } else {\r\n this.message = 'Could not upload the file!';\r\n }\r\n\r\n this.currentFile = undefined;\r\n // this.bsModalRef.hide();\r\n }\r\n });\r\n }\r\n\r\n this.selectedFiles = undefined;\r\n }\r\n }\r\n\r\n //-------------------------------------------------------\r\n getFiles() {\r\n this.loading = true;\r\n this.uploadService.getAll(this.fileType, 'User', '').subscribe({\r\n next: (res) => {\r\n this.loading = false;\r\n var data = res;\r\n this.fileList = data;\r\n // this.bsModalRef.hide();\r\n },\r\n error: (err: any) => {\r\n this.loading = false;\r\n console.log(\"getFiles: error\" + err.error);\r\n this.fileList = [];\r\n // this.bsModalRef.hide();\r\n }\r\n });\r\n }\r\n\r\n //-------------------------------------------------------\r\n onClose() {\r\n this.passEntry.emit(null);\r\n this.activeModal.close(null);\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n if(this.showFileList) this.getFiles();\r\n if (this.fileType == 'video') this.fileSelectType = 'video/*';\r\n else if (this.fileType == 'audio') this.fileSelectType = 'audio/*';\r\n else if (this.fileType == 'image' || this.fileType == 'picture') this.fileSelectType = 'image/*';\r\n else if (this.fileType == 'document') this.fileSelectType = '.txt,.pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n else this.fileSelectType = '*';\r\n }\r\n\r\n}","\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ progress }}%\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n File: {{selectedFileName}}\r\n
\r\n
\r\n
\r\n Choose a file or drag here\r\n ({{fileSelectType}})\r\n \r\n \r\n
\r\n
\r\n\r\n
{{ message }}
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","//#############################################################\r\n//## XUserImagePlay.component.js\r\n//## Ctrl (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRS\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, ViewChildren, Input, Output, EventEmitter} from \"@angular/core\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\n//import { GPictureHelper } from \"./GPictureHelper\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XUserImageFileUploadComponent } from \"./XUserImageFileUpload.component\";\r\nimport { XUserImageFileSelectComponent } from \"./XUserImageFileSelect.component\";\r\n\r\n@Component({\r\n selector: \"xuserimageplay\",\r\n templateUrl: \"XUserImagePlay.component.html\",\r\n styleUrls: [\"XUserImagePlay.component.css\"]\r\n})\r\nexport class XUserImagePlay {\r\n\r\n @Input() xitem = new XItem(0, '', '', false);\r\n @Input() imageId = \"myImage\";\r\n @Output(\"parentFun\") parentFun: EventEmitter = new EventEmitter();\r\n\r\n public readOnly: number = 0;\r\n public noShowName: number = 0;\r\n\r\n public aPicture = \"\";\r\n\r\n constructor(\r\n private router: Router,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n ngOnChanges()\r\n {\r\n this.PlayPictureFile();\r\n }\r\n \r\n //-------------------------------------------------------------------------------\r\n PlayPicture(data: any) {\r\n var vfile = data.FileName;\r\n this.aPicture = GlobalObjects.gWebApiURL + \"/Uploads/User/\" + vfile;\r\n /*\r\n var sPicture = GlobalObjects.gWebApiURL + \"/Uploads/User/\" + vfile;\r\n var x = \"#\" + this.ctrlId;\r\n var a = $(\"img\");\r\n var p = $(\"picture\");\r\n var aCtrl = $(x);\r\n if (aCtrl != null && aCtrl.length > 0) {\r\n aCtrl.attr(\"src\", sPicture);\r\n }\r\n var x2 = \"#\" + this.ctrlIdWP;\r\n var aCtrlWP = $(x2);\r\n if (aCtrlWP != null && aCtrlWP.length > 0) {\r\n aCtrlWP.attr(\"srcset\", sPicture);\r\n }\r\n */\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n PlayPictureFile() {\r\n this.PlayPicture(this.xitem);\r\n }\r\n\r\n //------------------------------------------------\r\n SelectPictureFile() {\r\n const modalRef = this.modalService.open(XUserImageFileSelectComponent);\r\n modalRef.componentInstance.xitem = this.xitem;\r\n modalRef.componentInstance.title = 'Select User Photo';\r\n modalRef.componentInstance.fileType = 'image';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n this.PlayPictureFile();\r\n this.parentFun.emit();\r\n }\r\n });\r\n }\r\n\r\n //-----------------------------Upload Picture Ctrl------------------\r\n UploadPictureFile() {\r\n const modalRef = this.modalService.open(XUserImageFileUploadComponent);\r\n modalRef.componentInstance.showFileList = false;\r\n modalRef.componentInstance.title = 'Upload User Photo';\r\n modalRef.componentInstance.fileType = 'picture';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n this.PlayPictureFile();\r\n this.parentFun.emit();\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n","//#############################################################\r\n//## XVideoPlay.component.js\r\n//## Ctrl (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRS\r\n//#############################################################\r\nimport { Component, OnChanges, ViewChildren, Input } from \"@angular/core\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GVideoHelper } from \"./GVideoHelper\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFileUploadComponent } from \"./XFileUpload.component\";\r\nimport { XFileSelectComponent } from \"./XFileSelect.component\";\r\n\r\n@Component({\r\n selector: \"xvideoplay\",\r\n templateUrl: \"XVideoPlay.component.html\",\r\n styleUrls: [\"XVideoPlay.component.css\"]\r\n})\r\nexport class XVideoPlay {\r\n\r\n @Input() xitem = new XItem(0, '', '', false);\r\n public readOnly: number = 0;\r\n public noShowName: number = 0;\r\n\r\n constructor(\r\n private router: Router,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n PlayVideo(data: any) {\r\n GVideoHelper.playVideo(data.XName, data.FileName, data.IsWindow);\r\n }\r\n\r\n //-------------------------------------------------------------------------------\r\n PlayVideoFile() {\r\n this.PlayVideo(this.xitem);\r\n }\r\n\r\n //------------------------------------------------\r\n SelectVideoFile() {\r\n const modalRef = this.modalService.open(XFileSelectComponent);\r\n modalRef.componentInstance.xitem = this.xitem;\r\n modalRef.componentInstance.title = 'Select Video File Dialog';\r\n modalRef.componentInstance.fileType = 'video';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n }\r\n });\r\n }\r\n\r\n //-----------------------------Upload Video Ctrl------------------\r\n UploadVideoFile() {\r\n const modalRef = this.modalService.open(XFileUploadComponent);\r\n modalRef.componentInstance.showFileList = false;\r\n modalRef.componentInstance.title = 'Upload Video File';\r\n modalRef.componentInstance.fileType = 'video';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xitem = result;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Directive, EventEmitter, Output, HostListener, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[appDragDropFileUpload]'\n})\n\nexport class DragDropFileUploadDirective {\n\n @Output() fileDropped = new EventEmitter();\n\n @HostBinding('style.background-color') private background = '#ffffff';\n\n // Dragover Event\n @HostListener('dragover', ['$event']) dragOver(event: { preventDefault: () => void; stopPropagation: () => void; }) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#e2eefd';\n }\n\n // Dragleave Event\n @HostListener('dragleave', ['$event']) public dragLeave(event: { preventDefault: () => void; stopPropagation: () => void; }) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#ffffff'\n }\n\n // Drop Event\n @HostListener('drop', ['$event']) public drop(event: { preventDefault: () => void; stopPropagation: () => void; dataTransfer: { files: any; }; }) {\n event.preventDefault();\n event.stopPropagation();\n this.background = '#ffffff';\n const files = event.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files)\n }\n }\n\n}","import { Directive, EventEmitter, Input, Output, HostListener, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[outsideClick]'\n})\n\nexport class OutsideClickDirective {\n @Input() status:boolean=false;\n @Output()\n outsideClick: EventEmitter = new EventEmitter();\n public k = 0;\n\n @HostListener('document:mousedown', ['$event'])\n onClick(event: MouseEvent): void {\n var t = event.target as HTMLElement;\n if (t.id == 'logo' \n// || t.className == 'overlay active' //--started with 'logo' then 'overlay active' is the outside area of sidebar\n || !this.elementRef.nativeElement.contains(event.target)) {\n console.log(\"mouse(thDown: good \" + this.k + \", s: \" + this.status);\n this.outsideClick.emit(event);\n }\n console.log(\"mouseDown: \" + (this.k++));\n }\n\n constructor(private elementRef: ElementRef) { }\n}\n","//#############################################################\r\n//## EMailQueueDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { EMailQueue } from \"../model/emailqueue.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { EMailQueueDialog } from './emailqueueDialog.component';\r\nimport { EMailQueueDataSource } from \"../model/emailqueue.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"emailqueueDataPage\",\r\n templateUrl: \"emailqueueDataPage.component.html\",\r\n styleUrls: ['./emailqueue.component.css']\r\n})\r\nexport class EMailQueueDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n \r\n public emailqueuesPerPage = 4;\r\n public selectedPage = 1;\r\n public emailqueues: EMailQueue[] = [];\r\n public emailqueue: EMailQueue = new EMailQueue();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'EMailQueueID,ExternalID,AppName,Sender,Receiver,LastName,FirstName,Subject,Message,InsertDT,ProcessDT,Status,Token,TokenExpireDt,ExternalStatus,TenantId';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowEMailQueue: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n public isUserAuthorized = false;\r\n public loading = false;\r\n\r\n //----Setup Global object list--\r\n \r\n\r\n public sFilterEMailQueue:string = '';\r\n \r\n public FilterEMailQueueID: string = '';\r\n public FilterExternalID: string = '';\r\n public FilterAppName: string = '';\r\n public FilterSender: string = '';\r\n public FilterReceiver: string = '';\r\n public FilterLastName: string = '';\r\n public FilterFirstName: string = '';\r\n public FilterSubject: string = '';\r\n public FilterMessage: string = '';\r\n public FilterInsertDT: string = '';\r\n public FilterProcessDT: string = '';\r\n public FilterStatus: string = '';\r\n public FilterExternalStatus: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //-----------------------------------------------------------\r\n constructor(\r\n private dataSource: EMailQueueDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n \r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n \r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'EMailQueueDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"EMailQueueDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('EMailQueueDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if(this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowEMailQueue = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterEMailQueue = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.emailqueue = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.emailqueues = this.params.data;\r\n }\r\n }\r\n\r\n if (this.selectedRowEMailQueue < 0) this.getEMailQueue(this.Id);\r\n if (this.emailqueues == null) {\r\n this.getDataFromStack();\r\n if (this.emailqueues == null && this.fetchDb == 1) this.listEMailQueue(0);\r\n }\r\n this.showEMailQueue(this.emailqueue);\r\n }\r\n }\r\n \r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if(this.params != null) return;\r\n if(this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.emailqueues == null) this.emailqueues = [];\r\n }\r\n\r\n //--------------------------------------------------------\r\n showEMailQueueDetailDialog(emailqueue: EMailQueue) {\r\n const modalRef = this.modalService.open(EMailQueueDialog);\r\n modalRef.componentInstance.data = emailqueue;\r\n modalRef.componentInstance.title = 'EMailQueue Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.emailqueue = result;\r\n }\r\n });\r\n }\r\n\r\n//>>==================================================\r\n\r\n //------------------------------------------------\r\n isSaveDataReady(){\r\n if(this.emailqueue == null ||\r\n this.emailqueue.EMailQueueID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady(){\r\n if(this.emailqueue == null) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterEMailQueueID + '|' +\r\n this.FilterExternalID + '|' +\r\n this.FilterAppName + '|' +\r\n this.FilterSender + '|' +\r\n this.FilterReceiver + '|' +\r\n this.FilterLastName + '|' +\r\n this.FilterFirstName + '|' +\r\n this.FilterSubject + '|' +\r\n this.FilterMessage + '|' +\r\n this.GetDateString(this.FilterInsertDT) + '|' +\r\n this.GetDateString(this.FilterProcessDT) + '|' +\r\n this.FilterStatus + '|' +\r\n this.FilterExternalStatus + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterEMailQueueID = slist[i]; i++;\r\n this.FilterExternalID = slist[i]; i++;\r\n this.FilterAppName = slist[i]; i++;\r\n this.FilterSender = slist[i]; i++;\r\n this.FilterReceiver = slist[i]; i++;\r\n this.FilterLastName = slist[i]; i++;\r\n this.FilterFirstName = slist[i]; i++;\r\n this.FilterSubject = slist[i]; i++;\r\n this.FilterMessage = slist[i]; i++;\r\n this.FilterInsertDT = this.GetDate(slist[i]); i++;\r\n this.FilterProcessDT = this.GetDate(slist[i]); i++;\r\n this.FilterStatus = slist[i]; i++;\r\n this.FilterExternalStatus = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterEMailQueue ()\r\n {\r\n this.sFilterEMailQueue = '';\r\n if (this.FilterEMailQueueID != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" EMailQueueID like '%\" + this.FilterEMailQueueID + \"%' \";\r\n }\r\n if (this.FilterExternalID != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" ExternalID like '%\" + this.FilterExternalID + \"%' \";\r\n }\r\n if (this.FilterAppName != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" AppName like '%\" + this.FilterAppName + \"%' \";\r\n }\r\n if (this.FilterSender != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Sender like '%\" + this.FilterSender + \"%' \";\r\n }\r\n if (this.FilterReceiver != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Receiver like '%\" + this.FilterReceiver + \"%' \";\r\n }\r\n if (this.FilterLastName != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" LastName like '%\" + this.FilterLastName + \"%' \";\r\n }\r\n if (this.FilterFirstName != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" FirstName like '%\" + this.FilterFirstName + \"%' \";\r\n }\r\n if (this.FilterSubject != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Subject like '%\" + this.FilterSubject + \"%' \";\r\n }\r\n if (this.FilterMessage != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Message like '%\" + this.FilterMessage + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterInsertDT);\r\n if (sDate != '')\r\n {\r\n if (this.FilterInsertDT != '') this.FilterInsertDT = sDate;\r\n else this.FilterInsertDT = sDate;\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" InsertDT >= '\" + this.FilterInsertDT + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterProcessDT); if (sDate != '')\r\n {\r\n if (this.FilterProcessDT != '') this.FilterProcessDT = sDate;\r\n else this.FilterProcessDT = sDate;\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" ProcessDT >= '\" + this.FilterProcessDT + \"' \";\r\n }\r\n if (this.FilterStatus != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Status like '%\" + this.FilterStatus + \"%' \";\r\n }\r\n if (this.FilterExternalStatus != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" ExternalStatus like '%\" + this.FilterExternalStatus + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'EMailQueueID') this.FilterEMailQueueID = svalue;\r\n else if(sname == 'ExternalID') this.FilterExternalID = svalue;\r\n else if(sname == 'AppName') this.FilterAppName = svalue;\r\n else if(sname == 'Sender') this.FilterSender = svalue;\r\n else if(sname == 'Receiver') this.FilterReceiver = svalue;\r\n else if(sname == 'LastName') this.FilterLastName = svalue;\r\n else if(sname == 'FirstName') this.FilterFirstName = svalue;\r\n else if(sname == 'Subject') this.FilterSubject = svalue;\r\n else if(sname == 'Message') this.FilterMessage = svalue;\r\n else if(sname == 'InsertDT') this.FilterInsertDT = svalue;\r\n else if(sname == 'ProcessDT') this.FilterProcessDT = svalue;\r\n else if(sname == 'Status') this.FilterStatus = svalue;\r\n else if(sname == 'ExternalStatus') this.FilterExternalStatus = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('emailqueueDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage, \r\n { state: \r\n { \r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n } \r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeEMailQueue() {\r\n this.emailqueue = new EMailQueue();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of EMailQueue from database \r\n //--Id is object Id, to be as the current\r\n listEMailQueue(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"EMailQueueDataPage\", \"listEMailQueue\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterEMailQueue;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getEMailQueues(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.emailqueues = data.Data.EMailQueues;\r\n }\r\n if(this.emailqueues == null) this.emailqueues = [];\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.emailqueues = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectEMailQueue(data: EMailQueue | null) {\r\n if (data == null) return;\r\n this.getEMailQueue(data.EMailQueueID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getEMailQueue(Id: number) {\r\n if (Id <= 0 || Id == null || this.emailqueues == null) return;\r\n\r\n for (var i = 0; i < this.emailqueues.length; i++) {\r\n if (this.emailqueues[i].EMailQueueID == Id) {\r\n this.selectedRowEMailQueue = i;\r\n this.setClickedRowEMailQueue(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailEMailQueue(datax: any) {\r\n if (datax == null) {\r\n this.emailqueue = new EMailQueue();\r\n return;\r\n }\r\n if (datax.EMailQueueID <= 0) {\r\n this.emailqueue = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = EMailQueue.Copy(datax);\r\n this.dataSource.getEMailQueue(data.EMailQueueID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null){\r\n this.emailqueue = data.Data.emailqueue;\r\n }\r\n this.selectedRowEMailQueue = EMailQueue.FindIdx(this.emailqueue.EMailQueueID,this.emailqueues);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n this.selectedRowEMailQueue = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showEMailQueue(data: EMailQueue | null) {\r\n if (data == null) return;\r\n this.getDetailEMailQueue(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowEMailQueue(index: number, data: any) {\r\n if(data != null)\r\n {\r\n var i = EMailQueue.FindIdx(data.EMailQueueID, this.emailqueues);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.emailqueues == null) {\r\n this.selectedRowEMailQueue = -1;\r\n return;\r\n }\r\n this.selectedRowEMailQueue = index;\r\n this.showEMailQueue(this.emailqueues[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemEMailQueue_Click() {\r\n if (this.emailqueues == null || this.emailqueues.length <= 0) return;\r\n this.setClickedRowEMailQueue(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemEMailQueue_Click() {\r\n if (this.emailqueues == null || this.emailqueues.length <= 0) return;\r\n var i = this.selectedRowEMailQueue - 1;\r\n if (i < 0) i = this.emailqueues.length - 1;\r\n this.setClickedRowEMailQueue(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemEMailQueue_Click() {\r\n if (this.emailqueues == null || this.emailqueues.length <= 0) return;\r\n var i = this.selectedRowEMailQueue + 1;\r\n if (i >= this.emailqueues.length) i = 0;\r\n this.setClickedRowEMailQueue(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemEMailQueue_Click() {\r\n if (this.emailqueues == null || this.emailqueues.length <= 0) return;\r\n var i = this.emailqueues.length - 1;\r\n this.setClickedRowEMailQueue(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.emailqueues = o.dataList;\r\n if(this.emailqueues == null) this.emailqueues = [];\r\n this.emailqueue = o.data;\r\n this.sFilterEMailQueue = o.filter;\r\n }\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewEMailQueue_Click() {\r\n this.InitializeEMailQueue(); \r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewEMailQueue_Click() {\r\n this.saveNewEMailQueue(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditEMailQueue_Click() {\r\n this.saveEMailQueue(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteEMailQueue_Click() {\r\n this.deleteEMailQueue(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddEMailQueue2List(data: any) {\r\n let iAdd = true;\r\n if (this.emailqueues == null) this.emailqueues = [];\r\n else {\r\n for (let i = 0; i < this.emailqueues.length; i++) {\r\n if (this.emailqueues[i].EMailQueueID == data.EMailQueueID) {\r\n this.emailqueues[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.emailqueues.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveEMailQueue(saveDB: boolean) {\r\n if (this.emailqueue == null || this.emailqueue.EMailQueueID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"EMailQueue\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddEMailQueue2List(this.emailqueue);\r\n }\r\n else {\r\n this.dataSource.updateEMailQueue(1, this.emailqueue).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.emailqueue = data.Data.emailqueue;\r\n alert(\"save EMailQueue Successful: \" + this.emailqueue.EMailQueueID);\r\n }\r\n else{\r\n alert(\"save EMailQueue Failed: \" + this.emailqueue.EMailQueueID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n alert(\"saveEMailQueue ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewEMailQueue(saveDB: boolean) {\r\n let a = EMailQueue.Copy(this.emailqueue);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"EMailQueue\", \"SaveNewData \" + saveDB);\r\n a.EMailQueueID = -1;\r\n if (!saveDB) {\r\n this.AddEMailQueue2List(a);\r\n }\r\n else {\r\n this.dataSource.addEMailQueue(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.emailqueue = data.Data.emailqueue;\r\n alert(\"saveNew EMailQueue Successful: \" + this.emailqueue.EMailQueueID);\r\n }\r\n else{\r\n alert(\"saveNew EMailQueue Failed\");\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n alert(\"ERROR: SaveNew EMailQueue Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteEMailQueue(delDB: boolean) {\r\n if (this.emailqueues != null && this.emailqueues.length > 0 && this.emailqueue.EMailQueueID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the EMailQueue: \" + this.emailqueue.EMailQueueID);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the EMailQueue to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"EMailQueue\", \"DeleteData \" + this.emailqueue.EMailQueueID);\r\n\r\n if (!delDB) {\r\n let idx = this.emailqueues.indexOf(this.emailqueue);\r\n if (idx >= 0) {\r\n this.emailqueues.splice(idx, 1);\r\n this.InitializeEMailQueue();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = EMailQueueService.deleteEMailQueue(this.EMailQueue.EMailQueueID);\r\n var id = this.dataSource.deleteEMailQueueById(this.emailqueue.EMailQueueID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data > 0){\r\n alert(\"Delete EMailQueue Successful: \" + this.emailqueue.EMailQueueID);\r\n }\r\n else{\r\n alert(\"Delete EMailQueue Failed: \" + this.emailqueue.EMailQueueID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n alert(\"ERROR: Delete EMailQueue Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'EMailQueueDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

EMail Queue Data

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

{{selectedRowEMailQueue}} of {{emailqueues?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","//#############################################################\r\n//## EMailQueueDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { EMailQueueDataSource } from '../model/emailqueue.datasource';\r\n\r\nimport { EMailQueue } from 'src/app/model/emailqueue.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'emailqueuedata-content',\r\n templateUrl: './emailqueueDialog.component.html'\r\n})\r\nexport class EMailQueueDialog implements OnInit {\r\n @Input() emailqueue: EMailQueue = new EMailQueue();\r\n @Input() emailqueues: EMailQueue[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: EMailQueueDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.emailqueues == null) return;\r\n this.index = EMailQueue.FindIdx(this.emailqueue.EMailQueueID, this.emailqueues);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.emailqueues.length) this.index = this.emailqueues.length - 1;\r\n this.emailqueue = this.emailqueues[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.emailqueues == null) return;\r\n this.index = EMailQueue.FindIdx(this.emailqueue.EMailQueueID, this.emailqueues);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.emailqueues.length) this.index = this.emailqueues.length - 1;\r\n this.emailqueue = this.emailqueues[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getEMailQueue(this.emailqueue.EMailQueueID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.emailqueue = data.Data.EMailQueue;\r\n }\r\n else this.emailqueue = new EMailQueue();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.emailqueue);\r\n this.activeModal.close(this.emailqueue);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

EMailQueue Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","//--KEEP:\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { EMailQueue } from \"../model/emailqueue.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { EMailQueueDialog } from './emailqueueDialog.component';\r\nimport { EMailQueueDataSource } from \"../model/emailqueue.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"emailqueuePage\",\r\n templateUrl: \"emailqueuePage.component.html\"\r\n})\r\nexport class EMailQueuePageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public emailqueuesPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'EMailQueueID,ISEQ,RdPrvg,WtPrvg,EMailQueueID,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowEMailQueue: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public emailqueues: EMailQueue[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n constructor(\r\n private dataSource: EMailQueueDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private emailqueue: EMailQueue,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('EMailQueuePage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowEMailQueue = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterEMailQueue = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.emailqueue = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.emailqueues = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if (this.emailqueues == undefined || this.emailqueues.length <= 0) this.getEMailQueues(1, 500, '', 100, 1, 5);\r\n console.log((\"EMailQueuePage.Component construct\"));\r\n }\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n orderEMailQueue(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof EMailQueue;\r\n this.sortTypeEMailQueue = columnName;\r\n this.sortReverseEMailQueue = (this.sortTypeEMailQueue === columnName) ? !this.sortReverseEMailQueue : false;\r\n\r\n if (columnName == 'AppName') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.AppName > y.AppName) ? 1 : -1) : ((x.AppName < y.AppName) ? 1 : -1));\r\n else if (columnName == 'Sender') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.Sender > y.Sender) ? 1 : -1) : ((x.Sender < y.Sender) ? 1 : -1));\r\n else if (columnName == 'Receiver') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.Receiver > y.Receiver) ? 1 : -1) : ((x.Receiver < y.Receiver) ? 1 : -1));\r\n else if (columnName == 'LastName') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.LastName > y.LastName) ? 1 : -1) : ((x.LastName < y.LastName) ? 1 : -1));\r\n else if (columnName == 'FirstName') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.FirstName > y.FirstName) ? 1 : -1) : ((x.FirstName < y.FirstName) ? 1 : -1));\r\n else if (columnName == 'Subject') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.Subject > y.Subject) ? 1 : -1) : ((x.Subject < y.Subject) ? 1 : -1));\r\n else if (columnName == 'Message') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.Message > y.Message) ? 1 : -1) : ((x.Message < y.Message) ? 1 : -1));\r\n else if (columnName == 'ProcessDT') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.ProcessDT > y.ProcessDT) ? 1 : -1) : ((x.ProcessDT < y.ProcessDT) ? 1 : -1));\r\n else if (columnName == 'Status') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.Status > y.Status) ? 1 : -1) : ((x.Status < y.Status) ? 1 : -1));\r\n else if (columnName == 'ExternalStatus') this.emailqueues = this.emailqueues.sort((x, y) => this.sortReverseEMailQueue ? ((x.ExternalStatus > y.ExternalStatus) ? 1 : -1) : ((x.ExternalStatus < y.ExternalStatus) ? 1 : -1));\r\n\r\n\r\n this.selectedRowEMailQueue = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getEMailQueues(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getEMailQueues(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.emailqueues = data.Data.emailqueues;\r\n if(this.emailqueues == null) this.emailqueues = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.emailqueues = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a EMailQueue-------------------\r\n /*\r\n addEMailQueue(emailqueue: EMailQueue) {\r\n this.dataSource.addEMailQueue(1, emailqueue).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null) {\r\n this.emailqueue = data;\r\n alert(\"Add EMailQueue successful\");\r\n }\r\n else alert(\"Add EMailQueue failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n alert(\"ERROR: Add EMailQueue failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n */\r\n updateEMailQueue(emailqueue: EMailQueue) {\r\n this.dataSource.updateEMailQueue(1, emailqueue).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.emailqueue = data.Data.emailqueue;\r\n alert(\"Update EMailQueue successful\");\r\n }\r\n else alert(\"Update EMailQueue failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n alert(\"ERROR: Delete EMailQueue failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteEMailQueue(id: number) {\r\n this.dataSource.deleteEMailQueueById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"Delete EMailQueue successful\");\r\n else alert(\"Delete EMailQueue failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.emailqueue = new EMailQueue();\r\n alert(\"ERROR: Delete EMailQueue failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n /*\r\n btnAddEMailQueue_Click() {\r\n this.emailqueue = new EMailQueue();\r\n GParentState.Push('emailqueueDataPage', 'emailqueuePage', this.Id, this.selectedRowEMailQueue, this.sFilterEMailQueue, this.fetchDb, this.getChild, this.readOnly, this.emailqueue, this.emailqueues,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('emailqueueDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"EMailQueuePage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.emailqueue,\r\n data: this.emailqueues,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n */\r\n\r\n //-----------------------------------------------------------\r\n showEMailQueueDetail(emailqueue: EMailQueue) {\r\n var idx = EMailQueue.FindIdx(emailqueue.EMailQueueID, this.emailqueues);\r\n\r\n const modalRef = this.modalService.open(EMailQueueDialog);\r\n modalRef.componentInstance.emailqueues = this.emailqueues;\r\n modalRef.componentInstance.emailqueue = emailqueue;\r\n modalRef.componentInstance.title = 'EMailQueue data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n public currentPage = 0;\r\n public currentEMailQueues: EMailQueue[] = [];\r\n\r\n public sortTypeEMailQueue = '';\r\n public sortReverseEMailQueue = false;\r\n\r\n //----Setup Global object list--\r\n\r\n\r\n public sFilterEMailQueue: string = '';\r\n\r\n public FilterEMailQueueID: string = '';\r\n public FilterExternalID: string = '';\r\n public FilterAppName: string = '';\r\n public FilterSender: string = '';\r\n public FilterReceiver: string = '';\r\n public FilterLastName: string = '';\r\n public FilterFirstName: string = '';\r\n public FilterSubject: string = '';\r\n public FilterMessage: string = '';\r\n public FilterInsertDT: string = '';\r\n public FilterProcessDT: string = '';\r\n public FilterStatus: string = '';\r\n public FilterExternalStatus: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterEMailQueueID + '|' +\r\n this.FilterExternalID + '|' +\r\n this.FilterAppName + '|' +\r\n this.FilterSender + '|' +\r\n this.FilterReceiver + '|' +\r\n this.FilterLastName + '|' +\r\n this.FilterFirstName + '|' +\r\n this.FilterSubject + '|' +\r\n this.FilterMessage + '|' +\r\n this.GetDateString(this.FilterInsertDT) + '|' +\r\n this.GetDateString(this.FilterProcessDT) + '|' +\r\n this.FilterStatus + '|' +\r\n this.FilterExternalStatus + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterEMailQueueID = slist[i]; i++;\r\n this.FilterExternalID = slist[i]; i++;\r\n this.FilterAppName = slist[i]; i++;\r\n this.FilterSender = slist[i]; i++;\r\n this.FilterReceiver = slist[i]; i++;\r\n this.FilterLastName = slist[i]; i++;\r\n this.FilterFirstName = slist[i]; i++;\r\n this.FilterSubject = slist[i]; i++;\r\n this.FilterMessage = slist[i]; i++;\r\n this.FilterInsertDT = this.GetDate(slist[i]); i++;\r\n this.FilterProcessDT = this.GetDate(slist[i]); i++;\r\n this.FilterStatus = slist[i]; i++;\r\n this.FilterExternalStatus = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterEMailQueue() {\r\n this.sFilterEMailQueue = '';\r\n if (this.FilterEMailQueueID != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" EMailQueueID like '%\" + this.FilterEMailQueueID + \"%' \";\r\n }\r\n if (this.FilterExternalID != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" ExternalID like '%\" + this.FilterExternalID + \"%' \";\r\n }\r\n if (this.FilterAppName != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" AppName like '%\" + this.FilterAppName + \"%' \";\r\n }\r\n if (this.FilterSender != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Sender like '%\" + this.FilterSender + \"%' \";\r\n }\r\n if (this.FilterReceiver != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Receiver like '%\" + this.FilterReceiver + \"%' \";\r\n }\r\n if (this.FilterLastName != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" LastName like '%\" + this.FilterLastName + \"%' \";\r\n }\r\n if (this.FilterFirstName != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" FirstName like '%\" + this.FilterFirstName + \"%' \";\r\n }\r\n if (this.FilterSubject != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Subject like '%\" + this.FilterSubject + \"%' \";\r\n }\r\n if (this.FilterMessage != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Message like '%\" + this.FilterMessage + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterInsertDT);\r\n if (sDate != '') {\r\n if (this.FilterInsertDT != '') this.FilterInsertDT = sDate;\r\n else this.FilterInsertDT = sDate;\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" InsertDT >= '\" + this.FilterInsertDT + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterProcessDT); if (sDate != '') {\r\n if (this.FilterProcessDT != '') this.FilterProcessDT = sDate;\r\n else this.FilterProcessDT = sDate;\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" ProcessDT >= '\" + this.FilterProcessDT + \"' \";\r\n }\r\n if (this.FilterStatus != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" Status like '%\" + this.FilterStatus + \"%' \";\r\n }\r\n if (this.FilterExternalStatus != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" ExternalStatus like '%\" + this.FilterExternalStatus + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterEMailQueue != '') this.sFilterEMailQueue += \" AND \";\r\n this.sFilterEMailQueue += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'EMailQueueID') this.FilterEMailQueueID = svalue;\r\n else if (sname == 'ExternalID') this.FilterExternalID = svalue;\r\n else if (sname == 'AppName') this.FilterAppName = svalue;\r\n else if (sname == 'Sender') this.FilterSender = svalue;\r\n else if (sname == 'Receiver') this.FilterReceiver = svalue;\r\n else if (sname == 'LastName') this.FilterLastName = svalue;\r\n else if (sname == 'FirstName') this.FilterFirstName = svalue;\r\n else if (sname == 'Subject') this.FilterSubject = svalue;\r\n else if (sname == 'Message') this.FilterMessage = svalue;\r\n else if (sname == 'InsertDT') this.FilterInsertDT = svalue;\r\n else if (sname == 'ProcessDT') this.FilterProcessDT = svalue;\r\n else if (sname == 'Status') this.FilterStatus = svalue;\r\n else if (sname == 'ExternalStatus') this.FilterExternalStatus = svalue;\r\n else if (sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('emailqueuePage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit() {\r\n this.FilterEMailQueueID = '';\r\n this.FilterExternalID = '';\r\n this.FilterAppName = '';\r\n this.FilterSender = '';\r\n this.FilterReceiver = '';\r\n this.FilterLastName = '';\r\n this.FilterFirstName = '';\r\n this.FilterSubject = '';\r\n this.FilterMessage = '';\r\n this.FilterInsertDT = '';\r\n this.FilterProcessDT = '';\r\n this.FilterStatus = '';\r\n this.FilterExternalStatus = '';\r\n this.FilterTenantId = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.emailqueues = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentEMailQueues = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.emailqueues.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentEMailQueues = this.emailqueues;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.emailqueues.length) iEItem = this.emailqueues.length;\r\n this.currentEMailQueues = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentEMailQueues.push(this.emailqueues[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.emailqueues == null || this.emailqueues.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentEMailQueues = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.EMailQueues.length) this.itemsPerPage = this.EMailQueues.length;\r\n var nPages = 0;\r\n if (this.emailqueues != null) nPages = Math.ceil(this.emailqueues.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //------------------------------------------------\r\n IsAdminUser(){\r\n if(GlobalObjects.gUserPrvg > 8) return true;\r\n else return false;\r\n }\r\n\r\n //---------------------List EMailQueue records:using ListEMailQueueByFile-------------------------------------------------------------\r\n listEMailQueue(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterEMailQueue();\r\n if (!fLoadAll && this.sFilterEMailQueue == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n if(!this.IsAdminUser()) this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"EMailQueuePage\", \"listEMailQueue\");\r\n\r\n //var srListData = EMailQueueService.ListEMailQueue(iBegId, nMax, this.sFilterEMailQueue, nGetChild, nMaxLevel);\r\n this.dataSource.ListEMailQueueByFile('EMailQueue_QueryFile.sql', 'ListEMailQueue', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.emailqueues = data.Data.emailqueues;\r\n if(this.emailqueues == null) this.emailqueues = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('EMailQueueDataPage', this.MakeFilterString(), this.emailqueues, this.emailqueue);\r\n\r\n this.selectPage(1);\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.emailqueues = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no emailqueue data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showEMailQueue(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowEMailQueue = EMailQueue.FindIdx(adata.EMailQueueID, this.emailqueues);\r\n if (this.selectedRowEMailQueue >= 0 && this.selectedRowEMailQueue < this.emailqueues.length) adata = this.emailqueues[this.selectedRowEMailQueue];\r\n else return;\r\n }\r\n this.emailqueue = adata;\r\n GParentState.Push('emailqueueDataPage', 'emailqueuePage', this.Id, this.selectedRowEMailQueue, this.sFilterEMailQueue, this.fetchDb, this.getChild, this.readOnly, this.emailqueue, this.emailqueues,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('emailqueueDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"EMailQueuePage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.emailqueue,\r\n data: this.emailqueues,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listEMailQueue(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterEMailQueue = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowEMailQueue(index: number, data: any) {\r\n if (data != null) {\r\n var i = EMailQueue.FindIdx(data.EMailQueueID, this.emailqueues);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.emailqueues == null) {\r\n this.selectedRowEMailQueue = -1;\r\n return;\r\n }\r\n this.selectedRowEMailQueue = index;\r\n this.showEMailQueue(this.emailqueues[this.selectedRowEMailQueue]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgEMailQueue tr.data')[this.selectedRowEMailQueue];\r\n var container = $('#dgEMailQueueDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.emailqueues = o.dataList;\r\n this.emailqueue = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.emailqueues != null) nPages = Math.ceil(this.emailqueues.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n\r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgEMailQueueDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","\r\n
\r\n
\r\n

EMail Queue Administration

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Sender\r\n \r\n \r\n \r\n Receiver\r\n \r\n \r\n \r\n Subject\r\n \r\n \r\n \r\n InsertDt\r\n \r\n \r\n \r\n ProcessDt\r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n XStatus\r\n \r\n \r\n
\r\n \r\n {{x.Sender}}{{x.Receiver}}{{x.Subject}}{{GetDateString(x.InsertDT)}}{{GetDateString(x.ProcessDT)}}{{GetNumberString(x.Status)}}{{GetNumberString(x.ExternalStatus)}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## FacilityDataListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, Injectable, OnChanges, Input, ViewChild, Inject } from \"@angular/core\";\r\nimport { Facility } from \"../model/facility.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\n\r\nimport {\r\n TreeviewItem, TreeviewConfig, TreeviewHelper, TreeviewComponent,\r\n TreeviewEventParser, OrderDownlineTreeviewEventParser, DownlineTreeviewItem\r\n} from \"ngx-treeview\";\r\n\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FacilityDialog } from './facilityDialog.component';\r\nimport { FacilityDataSource } from \"../model/facility.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XPicturePlay } from \"../common/XPicturePlay.component\";\r\nimport { OrganizationDataPageComponent } from \"../organization/organizationDataPage.component\";\r\nimport { State } from \"../model/state.model\";\r\n\r\n@Injectable()\r\nexport class ProductTreeviewConfig extends TreeviewConfig {\r\n hasAllCheckBox = true;\r\n hasFilter = true;\r\n hasCollapseExpand = false;\r\n maxHeight = 400;\r\n}\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"facilityDataListView\",\r\n templateUrl: \"facilityDataListView.component.html\",\r\n styleUrls: ['./facility.component.css'],\r\n providers: [\r\n { provide: TreeviewEventParser, useClass: OrderDownlineTreeviewEventParser },\r\n { provide: TreeviewConfig, useClass: ProductTreeviewConfig }\r\n ]\r\n})\r\nexport class FacilityDataListViewComponent {\r\n @Input() facilitys: Facility[] = [];\r\n @ViewChild(TreeviewComponent) treeviewComponent?: TreeviewComponent;\r\n @ViewChild(XPicturePlay) xpictureplay?: XPicturePlay;\r\n public facility: Facility = new Facility();\r\n\r\n public curXItem: XItem = new XItem(-1, '', '', false, 0, false);\r\n\r\n public items: TreeviewItem[] = [];\r\n public rows: string[] = [];\r\n public currentTItem: TreeviewItem | any;\r\n\r\n // public rootT = new TreeviewItem({ text: 'root', value: new Facility() })\r\n\r\n // public currentTItem: TreeviewItem = new TreeviewItem({ text: '', value: 0 });\r\n\r\n public states = GlobalHelpers.gStates;\r\n\r\n\r\n public config = TreeviewConfig.create({\r\n decoupleChildFromParent: true,\r\n hasFilter: false,\r\n hasAllCheckBox: false,\r\n hasCollapseExpand: false,\r\n maxHeight: 1000\r\n });\r\n\r\n public selectTreeItem: TreeviewItem | any;\r\n public iSelectedSeq = 0;\r\n\r\n public facilitysPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public igSeq = 1; //--temp id for tree\r\n\r\n constructor(\r\n private parent: OrganizationDataPageComponent,\r\n private dataSource: FacilityDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n }\r\n\r\n //---------------------------------------------------\r\n setFacilitys(data:any)\r\n {\r\n this.facilitys = data;\r\n if(this.facilitys == null) this.facilitys = [];\r\n setTimeout(() => {\r\n this.SetupTreeItems(true);\r\n }, (100));\r\n }\r\n \r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.facilitys == null) this.facilitys = [];\r\n this.SetupTreeItems(true);\r\n }\r\n\r\n\r\n onSelectedChange(downlineItems: DownlineTreeviewItem[]): void {\r\n /*\r\n this.rows = [];\r\n downlineItems.forEach(downlineItem => {\r\n const item = downlineItem.item;\r\n const value = item.value;\r\n const texts = [item.text];\r\n let parent = downlineItem.parent;\r\n while (parent != null) {\r\n texts.push(parent.item.text);\r\n parent = parent.parent;\r\n }\r\n });\r\n */\r\n }\r\n\r\n onCheckedChange(item: TreeviewItem): void {\r\n if (this.currentTItem != null) this.currentTItem.checked = false;\r\n item.checked = true;\r\n this.currentTItem = item;\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetIconFullPath(data: any) {\r\n // return \"http://localhost/dfd.webapi/Uploads/\" + data.PictureFile;\r\n var sPicture = \"_defaultOrg.png\";\r\n if (data != null && data.value.PictureFile != null && data.value.PictureFile != '') sPicture = data.value.PictureFile;\r\n return GlobalObjects.gWebApiURL + \"/Uploads/\" + sPicture;\r\n }\r\n\r\n //-------------------------------------------------------------\r\n setItemCheck(item: TreeviewItem): void {\r\n if (this.currentTItem != null) this.currentTItem.checked = false;\r\n item.checked = true;\r\n this.currentTItem = item;\r\n }\r\n\r\n statusItem(item: TreeviewItem)\r\n {\r\n if(item.checked) return 1;\r\n else return 0;\r\n }\r\n\r\n //-------------------------------------------------------------\r\n selectTItem(item: TreeviewItem, fLoad: boolean): void {\r\n this.iSelectedSeq = -1;\r\n this.setItemCheck(item);\r\n\r\n if (!fLoad) {\r\n this.iSelectedSeq = item.value.ISeq;\r\n }\r\n else {\r\n if (item == null) this.facility = new Facility();\r\n else {\r\n this.setItemCheck(item);\r\n this.showFacility(item.value);\r\n this.iSelectedSeq = item.value.ISeq;\r\n }\r\n }\r\n // if (this.treeviewComponent != null) this.treeviewComponent.raiseSelectedChange();\r\n }\r\n\r\n hasChildren(item: TreeviewItem): boolean {\r\n var r = true;\r\n if (item == null || item.children == null || item.children.length <= 0) r = false;\r\n return r;\r\n }\r\n\r\n //-------------------------------------------------------------\r\n addChildTItem(item: TreeviewItem): void {\r\n let errMsg = this.CheckFacilityInput();\r\n if (errMsg != \"\") {\r\n alert(errMsg);\r\n return;\r\n }\r\n let x = new Facility();\r\n if (this.facility != null) x = Facility.Copy(this.facility);\r\n x.Facility_ID = -1;\r\n x.GrpID = -1;\r\n x.ISeq = this.igSeq++;\r\n this.SetChildISeq(x);\r\n\r\n if (item != null) {\r\n let f = item.value;\r\n if (f.aSubFacility_IDList == null) f.aSubFacility_IDList = [];\r\n this.iSelectedSeq = x.ISeq;\r\n if (item.value.XName == x.XName) x.XName += \" \" + x.ISeq;\r\n if (item.value.Description == x.Description) x.Description += \" \" + x.ISeq;\r\n f.aSubFacility_IDList.push(x);\r\n }\r\n else {\r\n if (this.facilitys == null) this.facilitys = [];\r\n this.facilitys.push(x);\r\n }\r\n this.SetupTreeItems(false);\r\n }\r\n\r\n //-------------------------------------------------------------\r\n RemoveFacility(f: Facility): boolean {\r\n if (this.facilitys == null || this.facilitys.length <= 0) return false;\r\n for (var i = 0; i < this.facilitys.length; i++) {\r\n if (this.facilitys[i].ISeq == f.ISeq) {\r\n this.facilitys.splice(i, 1);\r\n return true;\r\n }\r\n if (this.RemoveSubFacility(this.facilitys[i].aSubFacility_IDList, f)) return true;\r\n }\r\n return false;\r\n }\r\n\r\n //-------------------------------------------------------------\r\n RemoveSubFacility(aList: Facility[], f: Facility): boolean {\r\n if (aList == null || aList.length <= 0) return false;\r\n for (var i = 0; i < aList.length; i++) {\r\n if (aList[i].ISeq == f.ISeq) {\r\n aList.splice(i, 1);\r\n return true;\r\n }\r\n if (this.RemoveSubFacility(aList[i].aSubFacility_IDList, f)) return true;\r\n }\r\n return false;\r\n }\r\n\r\n //-----------------------------------------------------\r\n UpdateFacility(f: Facility): boolean {\r\n for (var i = 0; i < this.facilitys.length; i++) {\r\n if (this.facilitys[i].ISeq == f.ISeq) {\r\n this.facilitys[i] = Facility.Copy(f);\r\n return true;\r\n }\r\n if (this.UpdateSubFacility(this.facilitys[i].aSubFacility_IDList, f)) return true;\r\n }\r\n return false;\r\n }\r\n\r\n //-------------------------------------------------------------\r\n UpdateSubFacility(aList: Facility[], f: Facility): boolean {\r\n if (aList == null || aList.length <= 0) return false;\r\n for (var i = 0; i < aList.length; i++) {\r\n if (aList[i].ISeq == f.ISeq) {\r\n aList[i] = Facility.Copy(f);\r\n return true;\r\n }\r\n\r\n if (this.UpdateSubFacility(aList[i].aSubFacility_IDList, f)) return true;\r\n }\r\n return false;\r\n }\r\n\r\n //-------------------------------------------------------------\r\n removeTItem(item: TreeviewItem): void {\r\n for (const tmpItem of this.items) {\r\n if (tmpItem === item) {\r\n var idx = this.items.indexOf(item);\r\n this.items.splice(idx, 1);\r\n } else {\r\n if (TreeviewHelper.removeItem(tmpItem, item)) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (this.treeviewComponent != null) this.treeviewComponent.raiseSelectedChange();\r\n }\r\n\r\n //---------------------------------------------------------------------\r\n SetupTreeItems(fResetSeq: boolean) {\r\n this.currentTItem = null;\r\n this.items = [];\r\n this.parent.organization.aFacility_IDList = this.facilitys;\r\n\r\n if(this.facilitys == null) return;\r\n // this.items.push(this.rootT);\r\n // var rootChildren = [];\r\n if (fResetSeq) this.igSeq = 1;\r\n for (var i = 0; i < this.facilitys.length; i++) {\r\n var stext = this.facilitys[i].XName;\r\n if (fResetSeq) {\r\n this.facilitys[i].ISeq = this.igSeq;\r\n this.igSeq++;\r\n }\r\n // fChecked = false;\r\n var ta = new TreeviewItem({ text: stext, value: this.facilitys[i], checked: false });\r\n this.items.push(ta);\r\n // rootChildren.push(ta);\r\n if (this.facilitys[i].ISeq == this.iSelectedSeq) this.currentTItem = ta;\r\n this.SetupChildNodes(this.facilitys[i], ta, fResetSeq);\r\n }\r\n// this.rootT.children = rootChildren;\r\n\r\n if (this.currentTItem != null) {\r\n this.currentTItem.checked = true;\r\n this.iSelectedSeq = this.currentTItem.ISeq;\r\n this.facility = Facility.Copy(this.currentTItem.value);\r\n }\r\n\r\n }\r\n\r\n //-------------------------------------------------------------\r\n SetupChildNodes(f: Facility, t: TreeviewItem, fResetSeq: boolean) {\r\n let rc = [];\r\n if (f.aSubFacility_IDList == null || f.aSubFacility_IDList.length <= 0) return;\r\n for (var i = 0; i < f.aSubFacility_IDList.length; i++) {\r\n var stext = f.aSubFacility_IDList[i].XName;\r\n if (fResetSeq) {\r\n f.aSubFacility_IDList[i].ISeq = this.igSeq;\r\n this.igSeq++;\r\n }\r\n var ta = new TreeviewItem({ text: stext, value: f.aSubFacility_IDList[i], checked: false });\r\n if (f.aSubFacility_IDList[i].ISeq == this.iSelectedSeq) this.currentTItem = ta;\r\n rc.push(ta);\r\n this.SetupChildNodes(f.aSubFacility_IDList[i], ta, fResetSeq);\r\n }\r\n if (rc != null && rc.length > 0) t.children = rc;\r\n }\r\n\r\n \r\n //-------------------------------------------------------------\r\n SetChildISeq(f: Facility) {\r\n if (f == null || f.aSubFacility_IDList == null || f.aSubFacility_IDList.length <= 0) return;\r\n for (var i = 0; i < f.aSubFacility_IDList.length; i++) {\r\n f.aSubFacility_IDList[i].ISeq = this.igSeq;\r\n this.igSeq++;\r\n this.SetChildISeq(f.aSubFacility_IDList[i]);\r\n }\r\n }\r\n\r\n //---------------------------------------------------------------------\r\n ngOnChanges() {\r\n if (this.facilitys != null && this.facilitys.length > 0) {\r\n }\r\n }\r\n\r\n public errorMessage = '';\r\n\r\n public loading = false;\r\n\r\n //<<==================================================\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeFacility() {\r\n this.facility = new Facility();\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailFacility(datax: any) {\r\n if (datax == null) {\r\n this.facility = new Facility();\r\n return;\r\n }\r\n if (datax.Facility_ID <= 0) {\r\n this.facility = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = Facility.Copy(datax);\r\n this.facility = data;\r\n }\r\n\r\n isEmptyString(data:any)\r\n {\r\n if(data == null || data == '') return true;\r\n else return false;\r\n }\r\n \r\n //----------------------------------------------------------------------------------------------\r\n showFacility(data: Facility | null) {\r\n if (data == null) return;\r\n this.facility = Facility.Copy(data);\r\n this.curXItem = new XItem(data.Facility_ID, data.XName, data.PictureFile, false, 0, false);\r\n this.xpictureplay?.PlayPicture(this.curXItem);\r\n }\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewFacility_Click() {\r\n this.InitializeFacility();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewFacility_Click() {\r\n this.saveNewFacility();\r\n }\r\n\r\n btnSaveAsChildFacility_Click() {\r\n if (this.currentTItem == null) return;\r\n this.addChildTItem(this.currentTItem);\r\n }\r\n //------------------------------------------------\r\n btnEditFacility_Click() {\r\n this.saveFacility();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteFacility_Click() {\r\n if (this.currentTItem == null) return;\r\n this.deleteFacility(this.currentTItem.value);\r\n }\r\n\r\n //-----CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n savePictureFile() {\r\n if (this.xpictureplay != null) {\r\n this.facility.PictureFile = this.xpictureplay?.xitem.FileName;\r\n // if (this.currentTItem != null) {\r\n // this.currentTItem.value.PictureFile = this.facility.PictureFile;\r\n // }\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveFacility() {\r\n if (this.currentTItem == null) {\r\n alert(\"Please select facility first!\");\r\n return;\r\n }\r\n let errMsg = this.CheckFacilityInput();\r\n if (errMsg != \"\") {\r\n alert(errMsg);\r\n return;\r\n }\r\n if (this.xpictureplay?.xitem != null) this.facility.PictureFile = this.xpictureplay?.xitem.FileName;\r\n this.currentTItem.value = this.facility;\r\n this.UpdateFacility(this.currentTItem.value);\r\n this.SetupTreeItems(false);\r\n }\r\n\r\n //---------------------------------------------------\r\n CheckFacilityInput(): string {\r\n var errMsg = \"\";\r\n if (this.facility.XName == null || this.facility.XName == '') {\r\n errMsg += \"Name is required\";\r\n }\r\n return errMsg;\r\n }\r\n\r\n //----------------------------------------------------\r\n findTreeNodeParent(item:TreeviewItem){\r\n var parent = null;\r\n for(var i=0;i 0) {\r\n// var pFacility = parentItem.value;\r\n// if (pFacility.aSubFacility_IDList == null) pFacility.aSubFacility_IDList = [];\r\n// pFacility.aSubFacility_IDList.push(a);\r\n// }\r\n// else {\r\n if (this.facilitys == null) this.facilitys = [];\r\n this.facilitys.push(a);\r\n// }\r\n this.SetupTreeItems(false);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteFacility(data: any) {\r\n if (this.facilitys != null && this.facilitys.length > 0 && this.currentTItem != null) {\r\n let ok = confirm(\"Are you sure of deleting the Facility: \" + this.facility.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the Facility to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Facility\", \"DeleteData \" + this.facility.XName);\r\n\r\n this.RemoveFacility(this.currentTItem.value);\r\n this.currentTItem = null;\r\n this.iSelectedSeq = 0;\r\n this.SetupTreeItems(false);\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## FacilityDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { Facility } from \"../model/facility.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FacilityDialog } from './facilityDialog.component';\r\nimport { FacilityDataSource } from \"../model/facility.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"facilityDataPage\",\r\n templateUrl: \"facilityDataPage.component.html\",\r\n styleUrls: ['./facility.component.css']\r\n})\r\nexport class FacilityDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n \r\n public facilitysPerPage = 4;\r\n public selectedPage = 1;\r\n public facilitys: Facility[] = [];\r\n public facility: Facility = new Facility();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'Facility_ID,GrpID,ISeq,RdPrvg,WtPrvg,XName,Description,TenantId,PictureFile,PictureFileAltText,URL,URLText,Address,Address2,City,State,Zip,Country,Phone,Content,Altitude,Longitude,Latitude,CreateDate,UpdateDate,SubFacility_ID';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowFacility: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n public isUserAuthorized = false;\r\n public loading = false;\r\n\r\n //----Setup Global object list--\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n public sFilterFacility:string = '';\r\n \r\n public FilterFacility_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterPictureFile: string = '';\r\n public FilterPictureFileAltText: string = '';\r\n public FilterURL: string = '';\r\n public FilterURLText: string = '';\r\n public FilterAddress: string = '';\r\n public FilterAddress2: string = '';\r\n public FilterCity: string = '';\r\n public FilterState: string = '';\r\n public FilterZip: string = '';\r\n public FilterCountry: string = '';\r\n public FilterPhone: string = '';\r\n public FilterContent: string = '';\r\n public FilterAltitude: string = '';\r\n public FilterLongitude: string = '';\r\n public FilterLatitude: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterSubFacility_ID: string = '';\r\n\r\n\r\n //-----------------------------------------------------------\r\n constructor(\r\n private dataSource: FacilityDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n \r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n \r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'FacilityDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"FacilityDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('FacilityDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if(this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowFacility = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterFacility = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.facility = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.facilitys = this.params.data;\r\n }\r\n }\r\n\r\n if (this.selectedRowFacility < 0) this.getFacility(this.Id);\r\n if (this.facilitys == null) {\r\n this.getDataFromStack();\r\n if (this.facilitys == null && this.fetchDb == 1) this.listFacility(0);\r\n }\r\n this.showFacility(this.facility);\r\n }\r\n }\r\n \r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if(this.params != null) return;\r\n if(this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.facilitys == null) this.facilitys = [];\r\n }\r\n\r\n //--------------------------------------------------------\r\n showFacilityDetailDialog(facility: Facility) {\r\n const modalRef = this.modalService.open(FacilityDialog);\r\n modalRef.componentInstance.data = facility;\r\n modalRef.componentInstance.title = 'Facility Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.facility = result;\r\n }\r\n });\r\n }\r\n\r\n//>>==================================================\r\n\r\n //------------------------------------------------\r\n isSaveDataReady(){\r\n if(this.facility == null ||\r\n this.facility.Facility_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady(){\r\n if(this.facility == null) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterFacility_ID + '|' +\r\n this.FilterGrpID + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterPictureFile + '|' +\r\n this.FilterPictureFileAltText + '|' +\r\n this.FilterURL + '|' +\r\n this.FilterURLText + '|' +\r\n this.FilterAddress + '|' +\r\n this.FilterAddress2 + '|' +\r\n this.FilterCity + '|' +\r\n this.FilterState + '|' +\r\n this.FilterZip + '|' +\r\n this.FilterCountry + '|' +\r\n this.FilterPhone + '|' +\r\n this.FilterContent + '|' +\r\n this.FilterAltitude + '|' +\r\n this.FilterLongitude + '|' +\r\n this.FilterLatitude + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterSubFacility_ID;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterFacility_ID = slist[i]; i++;\r\n this.FilterGrpID = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterPictureFile = slist[i]; i++;\r\n this.FilterPictureFileAltText = slist[i]; i++;\r\n this.FilterURL = slist[i]; i++;\r\n this.FilterURLText = slist[i]; i++;\r\n this.FilterAddress = slist[i]; i++;\r\n this.FilterAddress2 = slist[i]; i++;\r\n this.FilterCity = slist[i]; i++;\r\n this.FilterState = slist[i]; i++;\r\n this.FilterZip = slist[i]; i++;\r\n this.FilterCountry = slist[i]; i++;\r\n this.FilterPhone = slist[i]; i++;\r\n this.FilterContent = slist[i]; i++;\r\n this.FilterAltitude = slist[i]; i++;\r\n this.FilterLongitude = slist[i]; i++;\r\n this.FilterLatitude = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterSubFacility_ID = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterFacility ()\r\n {\r\n this.sFilterFacility = '';\r\n if (this.FilterFacility_ID != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Facility_ID like '%\" + this.FilterFacility_ID + \"%' \";\r\n }\r\n if (this.FilterGrpID != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" GrpID like '%\" + this.FilterGrpID + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterPictureFile != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" PictureFile like '%\" + this.FilterPictureFile + \"%' \";\r\n }\r\n if (this.FilterPictureFileAltText != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" PictureFileAltText like '%\" + this.FilterPictureFileAltText + \"%' \";\r\n }\r\n if (this.FilterURL != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" URL like '%\" + this.FilterURL + \"%' \";\r\n }\r\n if (this.FilterURLText != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" URLText like '%\" + this.FilterURLText + \"%' \";\r\n }\r\n if (this.FilterAddress != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Address like '%\" + this.FilterAddress + \"%' \";\r\n }\r\n if (this.FilterAddress2 != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Address2 like '%\" + this.FilterAddress2 + \"%' \";\r\n }\r\n if (this.FilterCity != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" City like '%\" + this.FilterCity + \"%' \";\r\n }\r\n if (this.FilterState != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" State like '%\" + this.FilterState + \"%' \";\r\n }\r\n if (this.FilterZip != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Zip like '%\" + this.FilterZip + \"%' \";\r\n }\r\n if (this.FilterCountry != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Country like '%\" + this.FilterCountry + \"%' \";\r\n }\r\n if (this.FilterPhone != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Phone like '%\" + this.FilterPhone + \"%' \";\r\n }\r\n if (this.FilterContent != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Content like '%\" + this.FilterContent + \"%' \";\r\n }\r\n if (this.FilterAltitude != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Altitude like '%\" + this.FilterAltitude + \"%' \";\r\n }\r\n if (this.FilterLongitude != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Longitude like '%\" + this.FilterLongitude + \"%' \";\r\n }\r\n if (this.FilterLatitude != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Latitude like '%\" + this.FilterLatitude + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterSubFacility_ID != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" SubFacility_ID like '%\" + this.FilterSubFacility_ID + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'Facility_ID') this.FilterFacility_ID = svalue;\r\n else if(sname == 'GrpID') this.FilterGrpID = svalue;\r\n else if(sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'Description') this.FilterDescription = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if(sname == 'PictureFile') this.FilterPictureFile = svalue;\r\n else if(sname == 'PictureFileAltText') this.FilterPictureFileAltText = svalue;\r\n else if(sname == 'URL') this.FilterURL = svalue;\r\n else if(sname == 'URLText') this.FilterURLText = svalue;\r\n else if(sname == 'Address') this.FilterAddress = svalue;\r\n else if(sname == 'Address2') this.FilterAddress2 = svalue;\r\n else if(sname == 'City') this.FilterCity = svalue;\r\n else if(sname == 'State') this.FilterState = svalue;\r\n else if(sname == 'Zip') this.FilterZip = svalue;\r\n else if(sname == 'Country') this.FilterCountry = svalue;\r\n else if(sname == 'Phone') this.FilterPhone = svalue;\r\n else if(sname == 'Content') this.FilterContent = svalue;\r\n else if(sname == 'Altitude') this.FilterAltitude = svalue;\r\n else if(sname == 'Longitude') this.FilterLongitude = svalue;\r\n else if(sname == 'Latitude') this.FilterLatitude = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'SubFacility_ID') this.FilterSubFacility_ID = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('facilityDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage, \r\n { state: \r\n { \r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n } \r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeFacility() {\r\n this.facility = new Facility();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of Facility from database \r\n //--Id is object Id, to be as the current\r\n listFacility(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"FacilityDataPage\", \"listFacility\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterFacility;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getFacilitys(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.facilitys = data.Data.Facilitys;\r\n }\r\n if(this.facilitys == null) this.facilitys = [];\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.facilitys = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectFacility(data: Facility | null) {\r\n if (data == null) return;\r\n this.getFacility(data.Facility_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getFacility(Id: number) {\r\n if (Id <= 0 || Id == null || this.facilitys == null) return;\r\n\r\n for (var i = 0; i < this.facilitys.length; i++) {\r\n if (this.facilitys[i].Facility_ID == Id) {\r\n this.selectedRowFacility = i;\r\n this.setClickedRowFacility(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailFacility(datax: any) {\r\n if (datax == null) {\r\n this.facility = new Facility();\r\n return;\r\n }\r\n if (datax.Facility_ID <= 0) {\r\n this.facility = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = Facility.Copy(datax);\r\n this.dataSource.getFacility(data.Facility_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null){\r\n this.facility = data.Data.facility;\r\n }\r\n this.selectedRowFacility = Facility.FindIdx(this.facility.Facility_ID,this.facilitys);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n this.selectedRowFacility = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showFacility(data: Facility | null) {\r\n if (data == null) return;\r\n this.getDetailFacility(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowFacility(index: number, data: any) {\r\n if(data != null)\r\n {\r\n var i = Facility.FindIdx(data.Facility_ID, this.facilitys);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.facilitys == null) {\r\n this.selectedRowFacility = -1;\r\n return;\r\n }\r\n this.selectedRowFacility = index;\r\n this.showFacility(this.facilitys[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemFacility_Click() {\r\n if (this.facilitys == null || this.facilitys.length <= 0) return;\r\n this.setClickedRowFacility(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemFacility_Click() {\r\n if (this.facilitys == null || this.facilitys.length <= 0) return;\r\n var i = this.selectedRowFacility - 1;\r\n if (i < 0) i = this.facilitys.length - 1;\r\n this.setClickedRowFacility(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemFacility_Click() {\r\n if (this.facilitys == null || this.facilitys.length <= 0) return;\r\n var i = this.selectedRowFacility + 1;\r\n if (i >= this.facilitys.length) i = 0;\r\n this.setClickedRowFacility(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemFacility_Click() {\r\n if (this.facilitys == null || this.facilitys.length <= 0) return;\r\n var i = this.facilitys.length - 1;\r\n this.setClickedRowFacility(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.facilitys = o.dataList;\r\n if(this.facilitys == null) this.facilitys = [];\r\n this.facility = o.data;\r\n this.sFilterFacility = o.filter;\r\n }\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewFacility_Click() {\r\n this.InitializeFacility(); \r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewFacility_Click() {\r\n this.saveNewFacility(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditFacility_Click() {\r\n this.saveFacility(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteFacility_Click() {\r\n this.deleteFacility(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddFacility2List(data: any) {\r\n let iAdd = true;\r\n if (this.facilitys == null) this.facilitys = [];\r\n else {\r\n for (let i = 0; i < this.facilitys.length; i++) {\r\n if (this.facilitys[i].Facility_ID == data.Facility_ID) {\r\n this.facilitys[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.facilitys.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveFacility(saveDB: boolean) {\r\n if (this.facility == null || this.facility.Facility_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Facility\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddFacility2List(this.facility);\r\n }\r\n else {\r\n this.dataSource.updateFacility(1, this.facility).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.facility = data.Data.facility;\r\n alert(\"save Facility Successful: \" + this.facility.Facility_ID);\r\n }\r\n else{\r\n alert(\"save Facility Failed: \" + this.facility.Facility_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n alert(\"saveFacility ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewFacility(saveDB: boolean) {\r\n let a = Facility.Copy(this.facility);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Facility\", \"SaveNewData \" + saveDB);\r\n a.Facility_ID = -1;\r\n if (!saveDB) {\r\n this.AddFacility2List(a);\r\n }\r\n else {\r\n this.dataSource.addFacility(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.facility = data.Data.facility;\r\n alert(\"saveNew Facility Successful: \" + this.facility.Facility_ID);\r\n }\r\n else{\r\n alert(\"saveNew Facility Failed\");\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n alert(\"ERROR: SaveNew Facility Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteFacility(delDB: boolean) {\r\n if (this.facilitys != null && this.facilitys.length > 0 && this.facility.Facility_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the Facility: \" + this.facility.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the Facility to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Facility\", \"DeleteData \" + this.facility.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.facilitys.indexOf(this.facility);\r\n if (idx >= 0) {\r\n this.facilitys.splice(idx, 1);\r\n this.InitializeFacility();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = FacilityService.deleteFacility(this.Facility.Facility_ID);\r\n var id = this.dataSource.deleteFacilityById(this.facility.Facility_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data > 0){\r\n alert(\"Delete Facility Successful: \" + this.facility.Facility_ID);\r\n }\r\n else{\r\n alert(\"Delete Facility Failed: \" + this.facility.Facility_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n alert(\"ERROR: Delete Facility Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'FacilityDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

Facility Data Page

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{{selectedRowFacility}} of {{facilitys.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## FacilityDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { FacilityDataSource } from '../model/facility.datasource';\r\n\r\nimport { Facility } from 'src/app/model/facility.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'facilitydata-content',\r\n templateUrl: './facilityDialog.component.html'\r\n})\r\nexport class FacilityDialog implements OnInit {\r\n @Input() facility: Facility = new Facility();\r\n @Input() facilitys: Facility[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: FacilityDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.facilitys == null) return;\r\n this.index = Facility.FindIdx(this.facility.Facility_ID, this.facilitys);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.facilitys.length) this.index = this.facilitys.length - 1;\r\n this.facility = this.facilitys[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.facilitys == null) return;\r\n this.index = Facility.FindIdx(this.facility.Facility_ID, this.facilitys);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.facilitys.length) this.index = this.facilitys.length - 1;\r\n this.facility = this.facilitys[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getFacility(this.facility.Facility_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.facility = data.Data.Facility;\r\n }\r\n else this.facility = new Facility();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.facility);\r\n this.activeModal.close(this.facility);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

Facility Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Facility } from \"../model/facility.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { FacilityDialog } from './facilityDialog.component';\r\nimport { FacilityDataSource } from \"../model/facility.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"facilityPage\",\r\n templateUrl: \"facilityPage.component.html\"\r\n})\r\nexport class FacilityPageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public facilitysPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public params: any;\r\n\r\n public Properties = 'Facility_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowFacility: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public facilitys: Facility[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n public currentPage = 0;\r\n public currentFacilitys: Facility[] = [];\r\n\r\n public sortTypeFacility = '';\r\n public sortReverseFacility = false;\r\n\r\n constructor(\r\n private dataSource: FacilityDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n \r\n private facility: Facility,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('FacilityPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowFacility = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterFacility = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.facility = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.facilitys = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if(this.facilitys == undefined || this.facilitys.length <= 0) this.getFacilitys(1, 500, '', 100, 1, 5);\r\n console.log((\"FacilityPage.Component construct\"));\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.facilitys == null) this.facilitys = [];\r\n }\r\n \r\n //-----------------------------------------------------\r\n orderFacility (columnName:string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof Facility;\r\n this.sortTypeFacility = columnName;\r\n this.sortReverseFacility = (this.sortTypeFacility === columnName) ? !this.sortReverseFacility : false;\r\n \r\n if(columnName == 'GrpID') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.GrpID > y.GrpID) ? 1 : -1) : ((x.GrpID < y.GrpID) ? 1 : -1));\r\n else if(columnName == 'XName') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if(columnName == 'Description') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.Description > y.Description) ? 1 : -1) : ((x.Description < y.Description) ? 1 : -1));\r\n else if(columnName == 'Address') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.Address > y.Address) ? 1 : -1) : ((x.Address < y.Address) ? 1 : -1));\r\n else if(columnName == 'Address2') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.Address2 > y.Address2) ? 1 : -1) : ((x.Address2 < y.Address2) ? 1 : -1));\r\n else if(columnName == 'UpdateDate') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n else if(columnName == 'SubFacility_ID') this.facilitys = this.facilitys.sort((x, y) => this.sortReverseFacility ? ((x.SubFacility_ID > y.SubFacility_ID) ? 1 : -1) : ((x.SubFacility_ID < y.SubFacility_ID) ? 1 : -1));\r\n\r\n \r\n this.selectedRowFacility = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getFacilitys(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getFacilitys(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.facilitys = data.Data.Facilitys;\r\n }\r\n if(this.facilitys == null) this.facilitys = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.facilitys = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a Facility-------------------\r\n addFacility(facility: Facility) {\r\n this.dataSource.addFacility(1, facility).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.facility = data.Data.facility;\r\n alert(\"Add Facility successful\");\r\n }\r\n else alert(\"Add Facility failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n alert(\"ERROR: Add Facility failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateFacility(facility: Facility) {\r\n this.dataSource.updateFacility(1, facility).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.facility = data.Data.facility;\r\n alert(\"Update Facility successful\");\r\n }\r\n else alert(\"Update Facility failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n alert(\"ERROR: Delete Facility failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteFacility(id: number) {\r\n this.dataSource.deleteFacilityById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data!= null && data.Data > 0) alert(\"Delete Facility successful\");\r\n else alert(\"Delete Facility failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.facility = new Facility();\r\n alert(\"ERROR: Delete Facility failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddFacility_Click() {\r\n this.facility = new Facility();\r\n GParentState.Push('facilityDataPage', 'facilityPage', this.Id, this.selectedRowFacility, this.sFilterFacility, this.fetchDb, this.getChild, this.readOnly, this.facility, this.facilitys,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('facilityDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"FacilityPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.facility,\r\n data: this.facilitys,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showFacilityDetail(facility: Facility) {\r\n var idx = Facility.FindIdx(facility.Facility_ID, this.facilitys);\r\n \r\n const modalRef = this.modalService.open(FacilityDialog);\r\n modalRef.componentInstance.facilitys = this.facilitys;\r\n modalRef.componentInstance.facility = facility;\r\n modalRef.componentInstance.title = 'Facility data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n\r\n //----Setup Global object list--\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n public sFilterFacility:string = '';\r\n \r\n public FilterFacility_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterPictureFile: string = '';\r\n public FilterPictureFileAltText: string = '';\r\n public FilterURL: string = '';\r\n public FilterURLText: string = '';\r\n public FilterAddress: string = '';\r\n public FilterAddress2: string = '';\r\n public FilterCity: string = '';\r\n public FilterState: string = '';\r\n public FilterZip: string = '';\r\n public FilterCountry: string = '';\r\n public FilterPhone: string = '';\r\n public FilterContent: string = '';\r\n public FilterAltitude: string = '';\r\n public FilterLongitude: string = '';\r\n public FilterLatitude: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterSubFacility_ID: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterFacility_ID + '|' +\r\n this.FilterGrpID + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterPictureFile + '|' +\r\n this.FilterPictureFileAltText + '|' +\r\n this.FilterURL + '|' +\r\n this.FilterURLText + '|' +\r\n this.FilterAddress + '|' +\r\n this.FilterAddress2 + '|' +\r\n this.FilterCity + '|' +\r\n this.FilterState + '|' +\r\n this.FilterZip + '|' +\r\n this.FilterCountry + '|' +\r\n this.FilterPhone + '|' +\r\n this.FilterContent + '|' +\r\n this.FilterAltitude + '|' +\r\n this.FilterLongitude + '|' +\r\n this.FilterLatitude + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterSubFacility_ID;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterFacility_ID = slist[i]; i++;\r\n this.FilterGrpID = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterPictureFile = slist[i]; i++;\r\n this.FilterPictureFileAltText = slist[i]; i++;\r\n this.FilterURL = slist[i]; i++;\r\n this.FilterURLText = slist[i]; i++;\r\n this.FilterAddress = slist[i]; i++;\r\n this.FilterAddress2 = slist[i]; i++;\r\n this.FilterCity = slist[i]; i++;\r\n this.FilterState = slist[i]; i++;\r\n this.FilterZip = slist[i]; i++;\r\n this.FilterCountry = slist[i]; i++;\r\n this.FilterPhone = slist[i]; i++;\r\n this.FilterContent = slist[i]; i++;\r\n this.FilterAltitude = slist[i]; i++;\r\n this.FilterLongitude = slist[i]; i++;\r\n this.FilterLatitude = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterSubFacility_ID = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterFacility ()\r\n {\r\n this.sFilterFacility = '';\r\n if (this.FilterFacility_ID != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Facility_ID like '%\" + this.FilterFacility_ID + \"%' \";\r\n }\r\n if (this.FilterGrpID != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" GrpID like '%\" + this.FilterGrpID + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterPictureFile != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" PictureFile like '%\" + this.FilterPictureFile + \"%' \";\r\n }\r\n if (this.FilterPictureFileAltText != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" PictureFileAltText like '%\" + this.FilterPictureFileAltText + \"%' \";\r\n }\r\n if (this.FilterURL != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" URL like '%\" + this.FilterURL + \"%' \";\r\n }\r\n if (this.FilterURLText != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" URLText like '%\" + this.FilterURLText + \"%' \";\r\n }\r\n if (this.FilterAddress != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Address like '%\" + this.FilterAddress + \"%' \";\r\n }\r\n if (this.FilterAddress2 != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Address2 like '%\" + this.FilterAddress2 + \"%' \";\r\n }\r\n if (this.FilterCity != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" City like '%\" + this.FilterCity + \"%' \";\r\n }\r\n if (this.FilterState != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" State like '%\" + this.FilterState + \"%' \";\r\n }\r\n if (this.FilterZip != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Zip like '%\" + this.FilterZip + \"%' \";\r\n }\r\n if (this.FilterCountry != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Country like '%\" + this.FilterCountry + \"%' \";\r\n }\r\n if (this.FilterPhone != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Phone like '%\" + this.FilterPhone + \"%' \";\r\n }\r\n if (this.FilterContent != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Content like '%\" + this.FilterContent + \"%' \";\r\n }\r\n if (this.FilterAltitude != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Altitude like '%\" + this.FilterAltitude + \"%' \";\r\n }\r\n if (this.FilterLongitude != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Longitude like '%\" + this.FilterLongitude + \"%' \";\r\n }\r\n if (this.FilterLatitude != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" Latitude like '%\" + this.FilterLatitude + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterSubFacility_ID != '') {\r\n if (this.sFilterFacility != '') this.sFilterFacility += \" AND \";\r\n this.sFilterFacility += \" SubFacility_ID like '%\" + this.FilterSubFacility_ID + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'Facility_ID') this.FilterFacility_ID = svalue;\r\n else if(sname == 'GrpID') this.FilterGrpID = svalue;\r\n else if(sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'Description') this.FilterDescription = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if(sname == 'PictureFile') this.FilterPictureFile = svalue;\r\n else if(sname == 'PictureFileAltText') this.FilterPictureFileAltText = svalue;\r\n else if(sname == 'URL') this.FilterURL = svalue;\r\n else if(sname == 'URLText') this.FilterURLText = svalue;\r\n else if(sname == 'Address') this.FilterAddress = svalue;\r\n else if(sname == 'Address2') this.FilterAddress2 = svalue;\r\n else if(sname == 'City') this.FilterCity = svalue;\r\n else if(sname == 'State') this.FilterState = svalue;\r\n else if(sname == 'Zip') this.FilterZip = svalue;\r\n else if(sname == 'Country') this.FilterCountry = svalue;\r\n else if(sname == 'Phone') this.FilterPhone = svalue;\r\n else if(sname == 'Content') this.FilterContent = svalue;\r\n else if(sname == 'Altitude') this.FilterAltitude = svalue;\r\n else if(sname == 'Longitude') this.FilterLongitude = svalue;\r\n else if(sname == 'Latitude') this.FilterLatitude = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'SubFacility_ID') this.FilterSubFacility_ID = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('facilityPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit () {\r\n this.FilterFacility_ID = '';\r\n this.FilterGrpID = '';\r\n this.FilterRdPrvg = '';\r\n this.FilterXName = '';\r\n this.FilterDescription = '';\r\n this.FilterTenantId = '';\r\n this.FilterPictureFile = '';\r\n this.FilterPictureFileAltText = '';\r\n this.FilterURL = '';\r\n this.FilterURLText = '';\r\n this.FilterAddress = '';\r\n this.FilterAddress2 = '';\r\n this.FilterCity = '';\r\n this.FilterState = '';\r\n this.FilterZip = '';\r\n this.FilterCountry = '';\r\n this.FilterPhone = '';\r\n this.FilterContent = '';\r\n this.FilterAltitude = '';\r\n this.FilterLongitude = '';\r\n this.FilterLatitude = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n this.FilterSubFacility_ID = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.facilitys = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentFacilitys = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.facilitys.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentFacilitys = this.facilitys;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.facilitys.length) iEItem = this.facilitys.length;\r\n this.currentFacilitys = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentFacilitys.push(this.facilitys[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.facilitys == null || this.facilitys.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentFacilitys = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.Facilitys.length) this.itemsPerPage = this.Facilitys.length;\r\n var nPages = 0;\r\n if (this.facilitys != null) nPages = Math.ceil(this.facilitys.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //---------------------List Facility records:using ListFacilityByFile-------------------------------------------------------------\r\n listFacility(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterFacility();\r\n if (!fLoadAll && this.sFilterFacility == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"FacilityPage\", \"listFacility\");\r\n\r\n //var srListData = FacilityService.ListFacility(iBegId, nMax, this.sFilterFacility, nGetChild, nMaxLevel);\r\n this.dataSource.ListFacilityByFile('Facility_QueryFile.sql', 'ListFacility', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n {\r\n this.facilitys = data.Data.facility;\r\n }\r\n if(this.facilitys == null) this.facilitys = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('FacilityDataPage', this.MakeFilterString(), this.facilitys, this.facility);\r\n \r\n this.selectPage(1);\r\n \r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.facilitys = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no facility data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showFacility(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowFacility = Facility.FindIdx(adata.Facility_ID, this.facilitys);\r\n if (this.selectedRowFacility >= 0 && this.selectedRowFacility < this.facilitys.length) adata = this.facilitys[this.selectedRowFacility];\r\n else return;\r\n }\r\n this.facility = adata;\r\n GParentState.Push('facilityDataPage', 'facilityPage', this.Id, this.selectedRowFacility, this.sFilterFacility, this.fetchDb, this.getChild, this.readOnly, this.facility, this.facilitys,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('facilityDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"FacilityPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.facility,\r\n data: this.facilitys,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listFacility(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterFacility = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowFacility(index:number, data: any) {\r\n if(data != null)\r\n {\r\n var i = Facility.FindIdx(data.Facility_ID, this.facilitys);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.facilitys == null) {\r\n this.selectedRowFacility = -1;\r\n return;\r\n }\r\n this.selectedRowFacility = index;\r\n this.showFacility(this.facilitys[this.selectedRowFacility]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgFacility tr.data')[this.selectedRowFacility];\r\n var container = $('#dgFacilityDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.facilitys = o.dataList;\r\n if(this.facilitys == null) this.facilitys = [];\r\n this.facility = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.facilitys != null) nPages = Math.ceil(this.facilitys.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n \r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgFacilityDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","
\r\n
\r\n

Facility

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n GrpID\r\n \r\n \r\n \r\n XName\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n \r\n Address\r\n \r\n \r\n \r\n Address2\r\n \r\n \r\n \r\n UpdateDt\r\n \r\n \r\n \r\n SubFacility\r\n \r\n \r\n
\r\n \r\n {{GetNumberString(x.GrpID)}}{{x.XName}}{{x.Description}}{{x.Address}}{{x.Address2}}{{GetDateString(x.UpdateDate)}}{{x.SubFacility_ID}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnChanges } from \"@angular/core\";\r\n\r\nimport { XFrontPage } from \"../model/xfrontpage.model\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\nimport { XFrontPageDataSource } from \"../model/xfrontpage.datasource\";\r\n\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport { NgbModal, NgbModalOptions, NgbCarouselModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\nimport { Organization } from \"../model/organization.model\";\r\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\r\n\r\n@Component({\r\n selector: \"home\",\r\n templateUrl: \"home.component.html\"\r\n})\r\nexport class HomeComponent {\r\n // images = [944, 1011, 984].map((n) => `https://picsum.photos/id/${n}/900/500`);\r\n images = [944, 1011, 984].map((n) => GlobalObjects.gWebApiURL + `/uploads/${n}.jpg`);\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n public organization: Organization = new Organization();\r\n public xfrontpages: XFrontPage[] = [];\r\n public xfrontpageinfos: XFrontPageInfo[] = [];\r\n public Title = \"Community General\";\r\n\r\n constructor(\r\n private dataSourceORG: OrganizationDataSource,\r\n private dataSourceXFrontPage: XFrontPageDataSource,\r\n private router: Router,\r\n private modalService: NgbModal) {\r\n this.getXFrontPage();\r\n this.getOrganization();\r\n }\r\n\r\n //---------------------List XFrontPage records:using SearchDataByFile-------------------------------------------------------------\r\n getXFrontPage() {\r\n\r\n //GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPagePage\", \"listXFrontPage\");\r\n\r\n //this.dataSourceXFrontPage.searchDataByFile('XFrontPage_QueryFile.sql', 'ListXFrontPage', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n this.dataSourceXFrontPage.getXFrontPagesByKeyNAR('1', 'IsPrimary', 100, 0, 3, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if (data.Data != null && data.Data.xfrontpages != null) {\r\n this.xfrontpages = data.Data.xfrontpages;\r\n }\r\n else {\r\n this.xfrontpages = [];\r\n console.log(data.Message);\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no xfrontpage data: \" + data.Message);\r\n }\r\n this.setImages();\r\n },\r\n error: error => {\r\n this.xfrontpages = [];\r\n console.log(error.toString());\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no xfrontpage data: \" + error.message);\r\n this.setImages();\r\n }\r\n });\r\n }\r\n\r\n //---------------------List XFrontPage records:using SearchDataByFile-------------------------------------------------------------\r\n getOrganization() {\r\n\r\n //GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPagePage\", \"listXFrontPage\");\r\n\r\n //this.dataSourceXFrontPage.searchDataByFile('XFrontPage_QueryFile.sql', 'ListXFrontPage', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n this.dataSourceORG.getOrganizationsByKeyNAR(GlobalObjects.gTenantId, 'TenantId', 100, 0, 3, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.organizations != null && data.Data.organizations.length > 0) {\r\n this.organization = data.Data.organizations[0];\r\n this.Title = this.organization.XName;\r\n }\r\n else {\r\n this.Title = \"Community General\";\r\n this.organization = new Organization();\r\n }\r\n },\r\n error: error => {\r\n this.organization = new Organization();\r\n console.log(error.toString());\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no organization data: \" + error.message);\r\n }\r\n });\r\n }\r\n\r\n //--------------------------------------------------------\r\n setImages() {\r\n this.xfrontpageinfos = [];\r\n this.images = [];\r\n if (this.xfrontpages == null || this.xfrontpages.length <= 0) return;\r\n for (let i = 0; i < this.xfrontpages.length; i++) {\r\n if (this.xfrontpages[i].aXFrontPageInfo_IDList == null) continue;\r\n for (let b of this.xfrontpages[i].aXFrontPageInfo_IDList) {\r\n this.xfrontpageinfos.push(b);\r\n if (b.PictureFile != '') {\r\n console.log(\"Picture: \" + b.PictureFile);\r\n this.images.push(GlobalObjects.gWebApiURL + \"/uploads/\" + b.PictureFile);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //-----------------------------------------------------------\r\n GetFullLogoPath(a: any) {\r\n if (a == null) return '';\r\n else return GlobalObjects.gWebApiURL + \"/uploads/Logo/\" + a;\r\n }\r\n\r\n //-----------------------------------------------------------\r\n GetFullImagePath(a: any) {\r\n if (a == null) return '';\r\n else return GlobalObjects.gWebApiURL + \"/uploads/\" + a;\r\n }\r\n\r\n //-----------------------------------------------------------\r\n gotoURL(url: any) {\r\n console.log(\"gotoURL: \" + url);\r\n if (url == '') return;\r\n if (url.indexOf(\"http://\") >= 0 || url.indexOf(\"https://\") >= 0) window.open(url, '_blank');\r\n else {\r\n this.router.navigateByUrl(url,\r\n {\r\n state:\r\n {\r\n FromPage: \"home\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: null,\r\n data: null,\r\n rootData: null,\r\n curRootData: null\r\n }\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n

Welcome to {{Title}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \"{{organization.LogoFile}}\"\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \"{{x.PictureFileAltText}}\"\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n

{{x.Content}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\n//import { FormsModule } from \"@angular/forms\";\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ModelModule } from \"../model/model.module\";\r\nimport { HomeComponent } from \"./home.component\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n ModelModule, \r\n BrowserModule, \r\n FormsModule, \r\n NgbModule,\r\n RouterModule\r\n ],\r\n declarations: [\r\n HomeComponent\r\n ],\r\n exports: [\r\n HomeComponent\r\n ]\r\n})\r\nexport class HomeModule { }\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nexport class ForgotPasswordRequest {\r\n public email: string = '';\r\n public tenantId: string = '';\r\n constructor(_email: string, _tenantId:string)\r\n {\r\n this.email = _email;\r\n this.tenantId = _tenantId;\r\n }\r\n }\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nexport class ForgotUserIdRequest {\r\n public email: string = '';\r\n public tenantId: string = '';\r\n constructor(_email: string, _tenantId:string)\r\n {\r\n this.email = _email;\r\n this.tenantId = _tenantId;\r\n }\r\n }\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nexport class ResetPasswordRequest {\r\n public token: string = '';\r\n public password: string = '';\r\n public confirmPassword: string = '';\r\n \r\n constructor(_token: string, _password:string, _confirmPassword:string)\r\n {\r\n this.token = _token;\r\n this.password = _password;\r\n this.confirmPassword = _confirmPassword;\r\n }\r\n }\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nexport class ResetUserIdRequest {\r\n public token: string = '';\r\n public UserId: string = '';\r\n public confirmUserId: string = '';\r\n \r\n constructor(_token: string, _userId:string, _confirmUserId:string)\r\n {\r\n this.token = _token;\r\n this.UserId = _userId;\r\n this.confirmUserId = _confirmUserId;\r\n }\r\n }\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nexport class UserEntity {\r\n public UserId: string = '';\r\n public Password: string=''; //--this shall be encrypted\r\n public Name: string='';\r\n public Prvg : number = 0;\r\n public TenantId: string='';\r\n public Token: string = '';\r\n public TokenValidTo: Date= new Date();\r\n public SessionId: string='';\r\n public RefreshToken: string='';\r\n public RefreshTokenExpireDt: Date = new Date();\r\n public XUser_ID: number = 0;\r\n constructor(\r\n ) {}\r\n }\r\n","//--? means that the parameter is optional and can be omitted.\r\nexport class XItem {\r\n\r\n constructor(\r\n public Id: number,\r\n public XName: string,\r\n public FileName: string,\r\n public IsWindow: boolean,\r\n public Size?: number,\r\n public IsSelected?: boolean\r\n ) {}\r\n }","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { XUserInfoEntity } from \"./XUserInfoEntity.model\";\r\nimport { XUserSecurityQuestionEntity } from \"./XUserSecurityQuestionEntity.model\";\r\n\r\nexport class XUserEntity {\r\n public LoginID: string = '';\r\n public Pwd: string = '';\r\n public EMail: string = '';\r\n public TenantId: string = GlobalObjects.gTenantId;\r\n public aXUserInfo: XUserInfoEntity = new XUserInfoEntity();\r\n public aXUserSecurityQuestions: XUserSecurityQuestionEntity[] = [];\r\n\r\n constructor(\r\n ) { }\r\n}\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nexport class XUserInfoEntity {\r\n public FirstName:string = '';\r\n public MiddleName:string = '';\r\n public LastName:string = '';\r\n public Address:string = '';\r\n public Address2:string = '';\r\n public City:string = '';\r\n public State:string = '';\r\n public Zip:string = '';\r\n public Country:string = '';\r\n public Mobile:string = '';\r\n public SSN:string = '';\r\n public Gender:string = '';\r\n public BirthDate:string = '';\r\n public PictureFile = '';\r\n public TenantId: string = GlobalObjects.gTenantId;\r\n constructor(\r\n ) {}\r\n }\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nexport class XUserSecurityQuestionEntity {\r\n public Question: string = '';\r\n public Answer: string=''; \r\n public TenantId: string = GlobalObjects.gTenantId;\r\n constructor(\r\n ) {}\r\n\r\n //-------------------------------------------------------------\r\n public static Copy (data: XUserSecurityQuestionEntity) : XUserSecurityQuestionEntity\r\n {\r\n var x = new XUserSecurityQuestionEntity();\r\n x.Question = data.Question;\r\n x.Answer = data.Answer;\r\n x.TenantId = data.TenantId;\r\n return x;\r\n }\r\n }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AppFeature } from \"./appfeature.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class AppFeatureDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/AppFeature/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================AppFeature========\r\n\r\n getAppFeature(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetAppFeature?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"appfeatures\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppFeaturesByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetAppFeatureByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppFeaturesByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetAppFeatureByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getAppFeaturesByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetAppFeatureByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppFeaturesByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetAppFeatureByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getAppFeatures(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"AppFeature?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListAppFeature?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppFeaturesNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"AppFeature?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListAppFeatureNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addAppFeature(fChild: number, data: AppFeature): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddAppFeature?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateAppFeature(fChild: number, data: AppFeature): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateAppFeature?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteAppFeatureById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteAppFeatureById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteAppFeatureById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteAppFeature(fChild: number, data:AppFeature): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteAppFeature?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetAppFeatureCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetAppFeatureNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListAppFeature(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListAppFeature?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListAppFeatureByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListAppFeatureByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class AppFeature {\r\n //------------------Properties------------------------\r\n public AppFeature_ID : number = 0;\r\n public GrpID : number = 0;\r\n public XName : string = '';\r\n public Description : string = '';\r\n public Tag : string = '';\r\n public TenantId : string = '';\r\n public IsActive : boolean = false;\r\n public Action : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: AppFeature) : boolean\r\n {\r\n if(d.AppFeature_ID != 0) return false;\r\n if(d.GrpID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.Tag != '') return false;\r\n if(d.TenantId != '') return false;\r\n if(d.IsActive != false) return false;\r\n if(d.Action != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: AppFeature[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!AppFeature.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: AppFeature, d2: AppFeature) : boolean\r\n {\r\n if(d1.AppFeature_ID != d2.AppFeature_ID) return false;\r\n if(d1.GrpID != d2.GrpID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.Tag != d2.Tag) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n if(d1.IsActive != d2.IsActive) return false;\r\n if(d1.Action != d2.Action) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: AppFeature[], aList2: AppFeature[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!AppFeature.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:AppFeature) : any\r\n {\r\n if(d == null) return null;\r\n let r = new AppFeature();\r\n if(d.AppFeature_ID != null) r.AppFeature_ID = d.AppFeature_ID\r\n if(d.GrpID != null) r.GrpID = d.GrpID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.Tag != null) r.Tag = d.Tag\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n if(d.IsActive != null) r.IsActive = d.IsActive\r\n if(d.Action != null) r.Action = d.Action\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: AppFeature[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(AppFeature.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:AppFeature)\r\n {\r\n if(d.AppFeature_ID == null) d.AppFeature_ID = 0;\r\n if(d.GrpID == null) d.GrpID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.Tag == null) d.Tag = '';\r\n if(d.TenantId == null) d.TenantId = '';\r\n if(d.IsActive == null) d.IsActive = false;\r\n if(d.Action == null) d.Action = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:AppFeature[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n AppFeature.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:AppFeature[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].AppFeature_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:AppFeature[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].AppFeature_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { AppKey } from \"./appkey.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class AppKeyDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/AppKey/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================AppKey========\r\n\r\n getAppKey(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetAppKey?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"appkeys\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppKeysByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetAppKeyByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppKeysByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetAppKeyByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getAppKeysByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetAppKeyByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppKeysByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetAppKeyByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getAppKeys(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"AppKey?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListAppKey?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getAppKeysNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"AppKey?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListAppKeyNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addAppKey(fChild: number, data: AppKey): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddAppKey?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateAppKey(fChild: number, data: AppKey): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateAppKey?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteAppKeyById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteAppKeyById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteAppKeyById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteAppKey(fChild: number, data:AppKey): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteAppKey?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetAppKeyCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetAppKeyNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListAppKey(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListAppKey?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListAppKeyByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListAppKeyByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class AppKey {\r\n //------------------Properties------------------------\r\n public AppKey_ID : number = 0;\r\n public GrpID : number = 0;\r\n public XName : string = '';\r\n public Description : string = '';\r\n public TenantId : string = '';\r\n public Key : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: AppKey) : boolean\r\n {\r\n if(d.AppKey_ID != 0) return false;\r\n if(d.GrpID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.TenantId != '') return false;\r\n if(d.Key != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: AppKey[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!AppKey.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: AppKey, d2: AppKey) : boolean\r\n {\r\n if(d1.AppKey_ID != d2.AppKey_ID) return false;\r\n if(d1.GrpID != d2.GrpID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n if(d1.Key != d2.Key) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: AppKey[], aList2: AppKey[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!AppKey.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:AppKey) : any\r\n {\r\n if(d == null) return null;\r\n let r = new AppKey();\r\n if(d.AppKey_ID != null) r.AppKey_ID = d.AppKey_ID\r\n if(d.GrpID != null) r.GrpID = d.GrpID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n if(d.Key != null) r.Key = d.Key\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: AppKey[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(AppKey.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:AppKey)\r\n {\r\n if(d.AppKey_ID == null) d.AppKey_ID = 0;\r\n if(d.GrpID == null) d.GrpID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.TenantId == null) d.TenantId = '';\r\n if(d.Key == null) d.Key = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:AppKey[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n AppKey.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:AppKey[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].AppKey_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:AppKey[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].AppKey_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class ConnectionService {\r\n private connEvents: Subject;\r\n\r\n constructor() {\r\n this.connEvents = new Subject();\r\n window.addEventListener(\"online\", (e) => this.handleConnectionChange(e));\r\n window.addEventListener(\"offline\", (e) => this.handleConnectionChange(e));\r\n }\r\n\r\n private handleConnectionChange(event: Event) {\r\n this.connEvents.next(this.connected);\r\n }\r\n\r\n get connected(): boolean {\r\n return window.navigator.onLine;\r\n }\r\n\r\n get Changes(): Observable {\r\n return this.connEvents;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { EMailQueue } from \"./emailqueue.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class EMailQueueDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/EMailQueue/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================EMailQueue========\r\n\r\n getEMailQueue(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetEMailQueue?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"emailqueues\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getEMailQueuesByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetEMailQueueByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getEMailQueuesByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetEMailQueueByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getEMailQueuesByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetEMailQueueByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getEMailQueuesByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetEMailQueueByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getEMailQueues(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"EMailQueue?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListEMailQueue?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getEMailQueuesNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"EMailQueue?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListEMailQueueNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addEMailQueue(fChild: number, data: EMailQueue): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddEMailQueue?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateEMailQueue(fChild: number, data: EMailQueue): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateEMailQueue?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteEMailQueueById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteEMailQueueById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteEMailQueueById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteEMailQueue(fChild: number, data:EMailQueue): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteEMailQueue?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetEMailQueueCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetEMailQueueNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListEMailQueue(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListEMailQueue?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListEMailQueueByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListEMailQueueByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class EMailQueue {\r\n //------------------Properties------------------------\r\n public EMailQueueID : number = 0;\r\n public ExternalID : number = 0;\r\n public AppName : string = '';\r\n public Sender : string = '';\r\n public Receiver : string = '';\r\n public LastName : string = '';\r\n public FirstName : string = '';\r\n public Subject : string = '';\r\n public Message : string = '';\r\n public InsertDT : Date = new Date();\r\n public ProcessDT : Date = new Date();\r\n public Status : number = 0;\r\n public Token : string = '';\r\n public TokenExpireDt : Date = new Date();\r\n public ExternalStatus : number = 0;\r\n public TenantId : string = '';\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: EMailQueue) : boolean\r\n {\r\n if(d.EMailQueueID != 0) return false;\r\n if(d.ExternalID != 0) return false;\r\n if(d.AppName != '') return false;\r\n if(d.Sender != '') return false;\r\n if(d.Receiver != '') return false;\r\n if(d.LastName != '') return false;\r\n if(d.FirstName != '') return false;\r\n if(d.Subject != '') return false;\r\n if(d.Message != '') return false;\r\n if(d.InsertDT != GlobalObjects.gMinDate) return false;\r\n if(d.ProcessDT != GlobalObjects.gMinDate) return false;\r\n if(d.Status != 0) return false;\r\n if(d.Token != '') return false;\r\n if(d.TokenExpireDt != GlobalObjects.gMinDate) return false;\r\n if(d.ExternalStatus != 0) return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: EMailQueue[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!EMailQueue.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: EMailQueue, d2: EMailQueue) : boolean\r\n {\r\n if(d1.EMailQueueID != d2.EMailQueueID) return false;\r\n if(d1.ExternalID != d2.ExternalID) return false;\r\n if(d1.AppName != d2.AppName) return false;\r\n if(d1.Sender != d2.Sender) return false;\r\n if(d1.Receiver != d2.Receiver) return false;\r\n if(d1.LastName != d2.LastName) return false;\r\n if(d1.FirstName != d2.FirstName) return false;\r\n if(d1.Subject != d2.Subject) return false;\r\n if(d1.Message != d2.Message) return false;\r\n if(d1.InsertDT != d2.InsertDT) return false;\r\n if(d1.ProcessDT != d2.ProcessDT) return false;\r\n if(d1.Status != d2.Status) return false;\r\n if(d1.Token != d2.Token) return false;\r\n if(d1.TokenExpireDt != d2.TokenExpireDt) return false;\r\n if(d1.ExternalStatus != d2.ExternalStatus) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: EMailQueue[], aList2: EMailQueue[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!EMailQueue.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:EMailQueue) : any\r\n {\r\n if(d == null) return null;\r\n let r = new EMailQueue();\r\n if(d.EMailQueueID != null) r.EMailQueueID = d.EMailQueueID\r\n if(d.ExternalID != null) r.ExternalID = d.ExternalID\r\n if(d.AppName != null) r.AppName = d.AppName\r\n if(d.Sender != null) r.Sender = d.Sender\r\n if(d.Receiver != null) r.Receiver = d.Receiver\r\n if(d.LastName != null) r.LastName = d.LastName\r\n if(d.FirstName != null) r.FirstName = d.FirstName\r\n if(d.Subject != null) r.Subject = d.Subject\r\n if(d.Message != null) r.Message = d.Message\r\n if(d.InsertDT != null || d.InsertDT <= GlobalObjects.gMinDate) r.InsertDT = d.InsertDT\r\n if(d.ProcessDT != null || d.ProcessDT <= GlobalObjects.gMinDate) r.ProcessDT = d.ProcessDT\r\n if(d.Status != null) r.Status = d.Status\r\n if(d.Token != null) r.Token = d.Token\r\n if(d.TokenExpireDt != null || d.TokenExpireDt <= GlobalObjects.gMinDate) r.TokenExpireDt = d.TokenExpireDt\r\n if(d.ExternalStatus != null) r.ExternalStatus = d.ExternalStatus\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: EMailQueue[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(EMailQueue.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:EMailQueue)\r\n {\r\n if(d.EMailQueueID == null) d.EMailQueueID = 0;\r\n if(d.ExternalID == null) d.ExternalID = 0;\r\n if(d.AppName == null) d.AppName = '';\r\n if(d.Sender == null) d.Sender = '';\r\n if(d.Receiver == null) d.Receiver = '';\r\n if(d.LastName == null) d.LastName = '';\r\n if(d.FirstName == null) d.FirstName = '';\r\n if(d.Subject == null) d.Subject = '';\r\n if(d.Message == null) d.Message = '';\r\n if(d.InsertDT == null || d.InsertDT <= GlobalObjects.gMinDate) d.InsertDT = new Date();\r\n if(d.ProcessDT == null || d.ProcessDT <= GlobalObjects.gMinDate) d.ProcessDT = new Date();\r\n if(d.Status == null) d.Status = 0;\r\n if(d.Token == null) d.Token = '';\r\n if(d.TokenExpireDt == null || d.TokenExpireDt <= GlobalObjects.gMinDate) d.TokenExpireDt = new Date();\r\n if(d.ExternalStatus == null) d.ExternalStatus = 0;\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:EMailQueue[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n EMailQueue.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:EMailQueue[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].EMailQueueID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:EMailQueue[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].EMailQueueID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Facility } from \"./facility.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class FacilityDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/Facility/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================Facility========\r\n\r\n getFacility(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetFacility?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"facilitys\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getFacilitysByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetFacilityByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getFacilitysByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetFacilityByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getFacilitysByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetFacilityByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getFacilitysByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetFacilityByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getFacilitys(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"Facility?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListFacility?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getFacilitysNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"Facility?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListFacilityNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addFacility(fChild: number, data: Facility): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddFacility?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateFacility(fChild: number, data: Facility): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateFacility?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteFacilityById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteFacilityById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteFacilityById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteFacility(fChild: number, data:Facility): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteFacility?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetFacilityCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetFacilityNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListFacility(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListFacility?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListFacilityByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListFacilityByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class Facility {\r\n //------------------Properties------------------------\r\n public Facility_ID : number = 0;\r\n public GrpID : number = 0;\r\n public ISeq : number = 0;\r\n public RdPrvg : number = 0;\r\n public WtPrvg : number = 0;\r\n public XName : string = '';\r\n public Description : string = '';\r\n public TenantId : string = '';\r\n public PictureFile : string = '';\r\n public PictureFileAltText : string = '';\r\n public URL : string = '';\r\n public URLText : string = '';\r\n public Address : string = '';\r\n public Address2 : string = '';\r\n public City : string = '';\r\n public State : string = '';\r\n public Zip : string = '';\r\n public Country : string = '';\r\n public Phone : string = '';\r\n public Content : string = '';\r\n public Altitude : number = 0.0;\r\n public Longitude : number = 0.0;\r\n public Latitude : number = 0.0;\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public SubFacility_ID : number = 0;\r\n //----Extra\r\n public aSubFacility_IDList : Facility[] = []; //-1M Facility.SubFacility_ID <= Facility.Facility_ID\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: Facility) : boolean\r\n {\r\n if(d.Facility_ID != 0) return false;\r\n if(d.GrpID != 0) return false;\r\n if(d.ISeq != 0) return false;\r\n if(d.RdPrvg != 0) return false;\r\n if(d.WtPrvg != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.TenantId != '') return false;\r\n if(d.PictureFile != '') return false;\r\n if(d.PictureFileAltText != '') return false;\r\n if(d.URL != '') return false;\r\n if(d.URLText != '') return false;\r\n if(d.Address != '') return false;\r\n if(d.Address2 != '') return false;\r\n if(d.City != '') return false;\r\n if(d.State != '') return false;\r\n if(d.Zip != '') return false;\r\n if(d.Country != '') return false;\r\n if(d.Phone != '') return false;\r\n if(d.Content != '') return false;\r\n if(d.Altitude != 0.0) return false;\r\n if(d.Longitude != 0.0) return false;\r\n if(d.Latitude != 0.0) return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.SubFacility_ID != 0) return false;\r\n //----Extra\r\n if(!Facility.isEmptyList(d.aSubFacility_IDList)) return false; //-1M, Facility.SubFacility_ID <= Facility.Facility_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: Facility[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!Facility.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: Facility, d2: Facility) : boolean\r\n {\r\n if(d1.Facility_ID != d2.Facility_ID) return false;\r\n if(d1.GrpID != d2.GrpID) return false;\r\n if(d1.ISeq != d2.ISeq) return false;\r\n if(d1.RdPrvg != d2.RdPrvg) return false;\r\n if(d1.WtPrvg != d2.WtPrvg) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n if(d1.PictureFile != d2.PictureFile) return false;\r\n if(d1.PictureFileAltText != d2.PictureFileAltText) return false;\r\n if(d1.URL != d2.URL) return false;\r\n if(d1.URLText != d2.URLText) return false;\r\n if(d1.Address != d2.Address) return false;\r\n if(d1.Address2 != d2.Address2) return false;\r\n if(d1.City != d2.City) return false;\r\n if(d1.State != d2.State) return false;\r\n if(d1.Zip != d2.Zip) return false;\r\n if(d1.Country != d2.Country) return false;\r\n if(d1.Phone != d2.Phone) return false;\r\n if(d1.Content != d2.Content) return false;\r\n if(d1.Altitude != d2.Altitude) return false;\r\n if(d1.Longitude != d2.Longitude) return false;\r\n if(d1.Latitude != d2.Latitude) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.SubFacility_ID != d2.SubFacility_ID) return false;\r\n //----Extra\r\n if(!Facility.isSameList(d1.aSubFacility_IDList, d2.aSubFacility_IDList)) return false; //-1M Facility.SubFacility_ID <= Facility.Facility_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: Facility[], aList2: Facility[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!Facility.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:Facility) : any\r\n {\r\n if(d == null) return null;\r\n let r = new Facility();\r\n if(d.Facility_ID != null) r.Facility_ID = d.Facility_ID\r\n if(d.GrpID != null) r.GrpID = d.GrpID\r\n if(d.ISeq != null) r.ISeq = d.ISeq\r\n if(d.RdPrvg != null) r.RdPrvg = d.RdPrvg\r\n if(d.WtPrvg != null) r.WtPrvg = d.WtPrvg\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n if(d.PictureFile != null) r.PictureFile = d.PictureFile\r\n if(d.PictureFileAltText != null) r.PictureFileAltText = d.PictureFileAltText\r\n if(d.URL != null) r.URL = d.URL\r\n if(d.URLText != null) r.URLText = d.URLText\r\n if(d.Address != null) r.Address = d.Address\r\n if(d.Address2 != null) r.Address2 = d.Address2\r\n if(d.City != null) r.City = d.City\r\n if(d.State != null) r.State = d.State\r\n if(d.Zip != null) r.Zip = d.Zip\r\n if(d.Country != null) r.Country = d.Country\r\n if(d.Phone != null) r.Phone = d.Phone\r\n if(d.Content != null) r.Content = d.Content\r\n if(d.Altitude != null) r.Altitude = d.Altitude\r\n if(d.Longitude != null) r.Longitude = d.Longitude\r\n if(d.Latitude != null) r.Latitude = d.Latitude\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.SubFacility_ID != null) r.SubFacility_ID = d.SubFacility_ID\r\n //----Extra\r\n r.aSubFacility_IDList = Facility.CopyList(d.aSubFacility_IDList); //-1M, Facility.SubFacility_ID <= Facility.Facility_ID\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: Facility[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(Facility.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:Facility)\r\n {\r\n if(d.Facility_ID == null) d.Facility_ID = 0;\r\n if(d.GrpID == null) d.GrpID = 0;\r\n if(d.ISeq == null) d.ISeq = 0;\r\n if(d.RdPrvg == null) d.RdPrvg = 0;\r\n if(d.WtPrvg == null) d.WtPrvg = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.TenantId == null) d.TenantId = '';\r\n if(d.PictureFile == null) d.PictureFile = '';\r\n if(d.PictureFileAltText == null) d.PictureFileAltText = '';\r\n if(d.URL == null) d.URL = '';\r\n if(d.URLText == null) d.URLText = '';\r\n if(d.Address == null) d.Address = '';\r\n if(d.Address2 == null) d.Address2 = '';\r\n if(d.City == null) d.City = '';\r\n if(d.State == null) d.State = '';\r\n if(d.Zip == null) d.Zip = '';\r\n if(d.Country == null) d.Country = '';\r\n if(d.Phone == null) d.Phone = '';\r\n if(d.Content == null) d.Content = '';\r\n if(d.Altitude == null) d.Altitude = 0;\r\n if(d.Longitude == null) d.Longitude = 0;\r\n if(d.Latitude == null) d.Latitude = 0;\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.SubFacility_ID == null) d.SubFacility_ID = 0;\r\n //----Extra\r\n Facility.FixDataList(d.aSubFacility_IDList); //-1M Facility.SubFacility_ID <= Facility.Facility_ID\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:Facility[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n Facility.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:Facility[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].Facility_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:Facility[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].Facility_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","//--KEEP:\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { MasterAppFeature } from \"./masterappfeature.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class MasterAppFeatureDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n// this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/MasterAppFeature/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Basic ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================MasterAppFeature========\r\n\r\n getMasterAppFeature(id: number ): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetMasterAppFeature?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" ;\r\n // return this.http.get(this.baseUrl + \"masterappfeatures\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getMasterAppFeaturesByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number ): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetMasterAppFeatureByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getMasterAppFeaturesByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number ): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetMasterAppFeatureByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getMasterAppFeaturesByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number ): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetMasterAppFeatureByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getMasterAppFeaturesByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number ): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetMasterAppFeatureByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getMasterAppFeatures(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number ): Observable {\r\n //let aUrlA = this.baseUrl + \"MasterAppFeature?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListMasterAppFeature?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getMasterAppFeaturesNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number ): Observable {\r\n //let aUrlA = this.baseUrl + \"MasterAppFeature?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListMasterAppFeatureNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n addMasterAppFeature(fChild: number, data: MasterAppFeature): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddMasterAppFeature?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n updateMasterAppFeature(fChild: number, data: MasterAppFeature): Observable {\r\n return this.http.put(`${this.baseUrl}ar/UpdateMasterAppFeature?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n deleteMasterAppFeatureById(id: number): Observable {\r\n return this.http.delete(`${this.baseUrl}ar/DeleteMasterAppFeatureById/${id} `, this.authHeader());\r\n }\r\n\r\n deleteMasterAppFeature(fChild: number, data:MasterAppFeature): Observable {\r\n return this.http.put(`${this.baseUrl}ar/DeleteMasterAppFeature/?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable\r\n {\r\n var surl = this.baseUrl + \"GetMasterAppFeatureCount?sFilter=\" + filter ;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID(): Observable\r\n {\r\n var surl = this.baseUrl + \"GetMasterAppFeatureNextID?iX=\";\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListMasterAppFeature(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number ): Observable {\r\n var surl = this.baseUrl + \"nar/ListMasterAppFeatureNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListMasterAppFeatureByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"nar/ListMasterAppFeatureByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel ;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class MasterAppFeature {\r\n //------------------Properties------------------------\r\n public MasterAppFeature_ID : number = 0;\r\n public XName : string = '';\r\n public Description : string = '';\r\n public Tag : string = '';\r\n public Action : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: MasterAppFeature) : boolean\r\n {\r\n if(d.MasterAppFeature_ID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.Tag != '') return false;\r\n if(d.Action != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: MasterAppFeature[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!MasterAppFeature.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: MasterAppFeature, d2: MasterAppFeature) : boolean\r\n {\r\n if(d1.MasterAppFeature_ID != d2.MasterAppFeature_ID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.Tag != d2.Tag) return false;\r\n if(d1.Action != d2.Action) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: MasterAppFeature[], aList2: MasterAppFeature[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!MasterAppFeature.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:MasterAppFeature) : any\r\n {\r\n if(d == null) return null;\r\n let r = new MasterAppFeature();\r\n if(d.MasterAppFeature_ID != null) r.MasterAppFeature_ID = d.MasterAppFeature_ID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.Tag != null) r.Tag = d.Tag\r\n if(d.Action != null) r.Action = d.Action\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: MasterAppFeature[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(MasterAppFeature.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:MasterAppFeature)\r\n {\r\n if(d.MasterAppFeature_ID == null) d.MasterAppFeature_ID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.Tag == null) d.Tag = '';\r\n if(d.Action == null) d.Action = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:MasterAppFeature[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n MasterAppFeature.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:MasterAppFeature[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].MasterAppFeature_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:MasterAppFeature[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].MasterAppFeature_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\n\r\nimport { XLog} from \"./xlog.model\";\r\nimport { XLogDataSource } from \"./xlog.datasource\";\r\n\r\n\r\nimport { XUser } from \"./xuser.model\";\r\nimport { XUserInfo } from \"./xuserinfo.model\";\r\nimport { XUserDataSource } from \"./xuser.datasource\";\r\nimport { XUserInfoDataSource } from \"./xuserinfo.datasource\";\r\nimport { UserDataSource } from \"./user.datasource\";\r\n\r\nimport { Organization } from \"./organization.model\";\r\nimport { OrganizationDataSource } from \"./organization.datasource\";\r\n\r\nimport { Facility } from \"./facility.model\";\r\nimport { FacilityDataSource } from \"./facility.datasource\";\r\n\r\nimport { AppKey } from \"./appkey.model\";\r\nimport { AppKeyDataSource } from \"./appkey.datasource\";\r\n\r\nimport { AppFeature } from \"./appfeature.model\";\r\nimport { AppFeatureDataSource } from \"./appfeature.datasource\";\r\n\r\nimport { MasterAppFeature } from \"./masterappfeature.model\";\r\nimport { MasterAppFeatureDataSource } from \"./masterappfeature.datasource\";\r\n\r\nimport { SecurityQuestion } from \"./securityquestion.model\";\r\nimport { SecurityQuestionDataSource } from \"./securityquestion.datasource\";\r\n\r\nimport { UserSecurityQuestion } from \"./usersecurityquestion.model\";\r\nimport { UserSecurityQuestionDataSource } from \"./usersecurityquestion.datasource\";\r\n\r\nimport { XFrontPage } from \"./xfrontpage.model\";\r\nimport { XFrontPageDataSource } from \"./xfrontpage.datasource\";\r\n\r\nimport { XFrontPageInfo } from \"./xfrontpageinfo.model\";\r\nimport { XFrontPageInfoDataSource } from \"./xfrontpageinfo.datasource\";\r\n\r\nimport { EMailQueue } from \"./emailqueue.model\";\r\nimport { EMailQueueDataSource } from \"./emailqueue.datasource\";\r\n\r\nimport { State } from \"./state.model\";\r\nimport { StateDataSource } from \"./state.datasource\";\r\n\r\nimport { FileDataSource } from \"../common/File.datasource\";\r\n\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { ConnectionService } from \"./connection.service\";\r\n\r\n@NgModule({\r\n imports: [HttpClientModule],\r\n providers: [\r\n //--drs--\r\n XLogDataSource,\r\n XUser, XUserDataSource, UserDataSource,\r\n XUserInfo, XUserInfoDataSource,\r\n XFrontPage, XFrontPageDataSource,\r\n XFrontPageInfo, XFrontPageInfoDataSource,\r\n SecurityQuestion, SecurityQuestionDataSource,\r\n UserSecurityQuestion, UserSecurityQuestionDataSource,\r\n EMailQueue, EMailQueueDataSource,\r\n State, StateDataSource,\r\n Organization, OrganizationDataSource,\r\n Facility, FacilityDataSource,\r\n AppKey, AppKeyDataSource,\r\n AppFeature, AppFeatureDataSource,\r\n MasterAppFeature, MasterAppFeatureDataSource,\r\n FileDataSource, \r\n ConnectionService\r\n ]\r\n})\r\nexport class ModelModule { }\r\n","//--KEEP:\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Organization } from \"./organization.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\nimport { AppKey } from \"./appkey.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class OrganizationDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/Organization/\";\r\n // this.baseUrl = \"http://localhost/godfd.hsapi/Organization/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Basic ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================Organization========\r\n\r\n getOrganization(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetOrganization?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=20\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"organizations\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n\r\n getOrganizationAppKeys(aTenantId:string): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetOrgAppKey?aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getOrganizationsByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetOrganizationByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getOrganizationsByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetOrganizationByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getOrganizationsByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetOrganizationByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getOrganizationsByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetOrganizationByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getOrganizations(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"Organization?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListOrganization?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getOrganizationsNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"Organization?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListOrganizationNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n addOrganization(fChild: number, data: Organization): Observable {\r\n data.TenantId = '00';\r\n return this.http.post(this.baseUrl + \"ar/AddOrganization?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n updateOrganization(fChild: number, data: Organization): Observable {\r\n return this.http.put(`${this.baseUrl}ar/UpdateOrganization?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n deleteOrganizationById(id: number): Observable {\r\n return this.http.delete(`${this.baseUrl}ar/DeleteOrganizationById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n }\r\n\r\n deleteOrganization(fChild: number, data:Organization): Observable {\r\n return this.http.put(`${this.baseUrl}ar/DeleteOrganization/?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable \r\n {\r\n var surl = this.baseUrl + \"ar/GetOrganizationCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID(): Observable \r\n {\r\n var surl = this.baseUrl + \"ar/GetOrganizationNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListOrganization(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListOrganization?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListOrganizationByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListOrganizationByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\nimport { Facility } from \"./facility.model\";\r\nimport { AppKey } from \"./appkey.model\";\r\nimport { AppFeature } from \"./appfeature.model\";\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class Organization {\r\n //------------------Properties------------------------\r\n public Organization_ID : number = 0;\r\n public RdPrvg : number = 0;\r\n public WtPrvg : number = 0;\r\n public XName : string = '';\r\n public Description : string = '';\r\n public TenantId : string = '';\r\n public LogoFile : string = '';\r\n public LogoFileAltText : string = '';\r\n public PictureFile : string = '';\r\n public PictureFileAltText : string = '';\r\n public URL : string = '';\r\n public URLText : string = '';\r\n public Address : string = '';\r\n public Address2 : string = '';\r\n public City : string = '';\r\n public State : string = '';\r\n public Zip : string = '';\r\n public Country : string = '';\r\n public Phone : string = '';\r\n public Content : string = '';\r\n public Altitude : number = 0.0;\r\n public Longitude : number = 0.0;\r\n public Latitude : number = 0.0;\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public Facility_ID : number = 0;\r\n public AppKey_ID : number = 0;\r\n public AppFeature_ID : number = 0;\r\n //----Extra\r\n public aFacility_IDList : Facility[] = []; //-1M Organization.Facility_ID <= Facility.Facility_ID\r\n public aAppKey_IDList : AppKey[] = []; //-1M Organization.AppKey_ID <= AppKey.AppKey_ID\r\n public aAppFeature_IDList : AppFeature[] = []; //-1M Organization.AppFeature_ID <= AppFeature.AppFeature_ID\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: Organization) : boolean\r\n {\r\n if(d.Organization_ID != 0) return false;\r\n if(d.RdPrvg != 0) return false;\r\n if(d.WtPrvg != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.TenantId != '') return false;\r\n if(d.LogoFile != '') return false;\r\n if(d.LogoFileAltText != '') return false;\r\n if(d.PictureFile != '') return false;\r\n if(d.PictureFileAltText != '') return false;\r\n if(d.URL != '') return false;\r\n if(d.URLText != '') return false;\r\n if(d.Address != '') return false;\r\n if(d.Address2 != '') return false;\r\n if(d.City != '') return false;\r\n if(d.State != '') return false;\r\n if(d.Zip != '') return false;\r\n if(d.Country != '') return false;\r\n if(d.Phone != '') return false;\r\n if(d.Content != '') return false;\r\n if(d.Altitude != 0.0) return false;\r\n if(d.Longitude != 0.0) return false;\r\n if(d.Latitude != 0.0) return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.Facility_ID != 0) return false;\r\n if(d.AppKey_ID != 0) return false;\r\n if(d.AppFeature_ID != 0) return false;\r\n //----Extra\r\n if(!Facility.isEmptyList(d.aFacility_IDList)) return false; //-1M, Organization.Facility_ID <= Facility.Facility_ID\r\n if(!AppKey.isEmptyList(d.aAppKey_IDList)) return false; //-1M, Organization.AppKey_ID <= AppKey.AppKey_ID\r\n if(!AppFeature.isEmptyList(d.aAppFeature_IDList)) return false; //-1M, Organization.AppFeature_ID <= AppFeature.AppFeature_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: Organization[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!Organization.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: Organization, d2: Organization) : boolean\r\n {\r\n if(d1.Organization_ID != d2.Organization_ID) return false;\r\n if(d1.RdPrvg != d2.RdPrvg) return false;\r\n if(d1.WtPrvg != d2.WtPrvg) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n if(d1.LogoFile != d2.LogoFile) return false;\r\n if(d1.LogoFileAltText != d2.LogoFileAltText) return false;\r\n if(d1.PictureFile != d2.PictureFile) return false;\r\n if(d1.PictureFileAltText != d2.PictureFileAltText) return false;\r\n if(d1.URL != d2.URL) return false;\r\n if(d1.URLText != d2.URLText) return false;\r\n if(d1.Address != d2.Address) return false;\r\n if(d1.Address2 != d2.Address2) return false;\r\n if(d1.City != d2.City) return false;\r\n if(d1.State != d2.State) return false;\r\n if(d1.Zip != d2.Zip) return false;\r\n if(d1.Country != d2.Country) return false;\r\n if(d1.Phone != d2.Phone) return false;\r\n if(d1.Content != d2.Content) return false;\r\n if(d1.Altitude != d2.Altitude) return false;\r\n if(d1.Longitude != d2.Longitude) return false;\r\n if(d1.Latitude != d2.Latitude) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.Facility_ID != d2.Facility_ID) return false;\r\n if(d1.AppKey_ID != d2.AppKey_ID) return false;\r\n if(d1.AppFeature_ID != d2.AppFeature_ID) return false;\r\n //----Extra\r\n if(!Facility.isSameList(d1.aFacility_IDList, d2.aFacility_IDList)) return false; //-1M Organization.Facility_ID <= Facility.Facility_ID\r\n if(!AppKey.isSameList(d1.aAppKey_IDList, d2.aAppKey_IDList)) return false; //-1M Organization.AppKey_ID <= AppKey.AppKey_ID\r\n if(!AppFeature.isSameList(d1.aAppFeature_IDList, d2.aAppFeature_IDList)) return false; //-1M Organization.AppFeature_ID <= AppFeature.AppFeature_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: Organization[], aList2: Organization[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!Organization.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:Organization) : any\r\n {\r\n if(d == null) return null;\r\n let r = new Organization();\r\n if(d.Organization_ID != null) r.Organization_ID = d.Organization_ID\r\n if(d.RdPrvg != null) r.RdPrvg = d.RdPrvg\r\n if(d.WtPrvg != null) r.WtPrvg = d.WtPrvg\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n if(d.LogoFile != null) r.LogoFile = d.LogoFile\r\n if(d.LogoFileAltText != null) r.LogoFileAltText = d.LogoFileAltText\r\n if(d.PictureFile != null) r.PictureFile = d.PictureFile\r\n if(d.PictureFileAltText != null) r.PictureFileAltText = d.PictureFileAltText\r\n if(d.URL != null) r.URL = d.URL\r\n if(d.URLText != null) r.URLText = d.URLText\r\n if(d.Address != null) r.Address = d.Address\r\n if(d.Address2 != null) r.Address2 = d.Address2\r\n if(d.City != null) r.City = d.City\r\n if(d.State != null) r.State = d.State\r\n if(d.Zip != null) r.Zip = d.Zip\r\n if(d.Country != null) r.Country = d.Country\r\n if(d.Phone != null) r.Phone = d.Phone\r\n if(d.Content != null) r.Content = d.Content\r\n if(d.Altitude != null) r.Altitude = d.Altitude\r\n if(d.Longitude != null) r.Longitude = d.Longitude\r\n if(d.Latitude != null) r.Latitude = d.Latitude\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.Facility_ID != null) r.Facility_ID = d.Facility_ID\r\n if(d.AppKey_ID != null) r.AppKey_ID = d.AppKey_ID\r\n if(d.AppFeature_ID != null) r.AppFeature_ID = d.AppFeature_ID\r\n //----Extra\r\n r.aFacility_IDList = Facility.CopyList(d.aFacility_IDList); //-1M, Organization.Facility_ID <= Facility.Facility_ID\r\n r.aAppKey_IDList = AppKey.CopyList(d.aAppKey_IDList); //-1M, Organization.AppKey_ID <= AppKey.AppKey_ID\r\n r.aAppFeature_IDList = AppFeature.CopyList(d.aAppFeature_IDList); //-1M, Organization.AppFeature_ID <= AppFeature.AppFeature_ID\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: Organization[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(Organization.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:Organization)\r\n {\r\n if(d.Organization_ID == null) d.Organization_ID = 0;\r\n if(d.RdPrvg == null) d.RdPrvg = 0;\r\n if(d.WtPrvg == null) d.WtPrvg = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.TenantId == null) d.TenantId = '';\r\n if(d.LogoFile == null) d.LogoFile = '';\r\n if(d.LogoFileAltText == null) d.LogoFileAltText = '';\r\n if(d.PictureFile == null) d.PictureFile = '';\r\n if(d.PictureFileAltText == null) d.PictureFileAltText = '';\r\n if(d.URL == null) d.URL = '';\r\n if(d.URLText == null) d.URLText = '';\r\n if(d.Address == null) d.Address = '';\r\n if(d.Address2 == null) d.Address2 = '';\r\n if(d.City == null) d.City = '';\r\n if(d.State == null) d.State = '';\r\n if(d.Zip == null) d.Zip = '';\r\n if(d.Country == null) d.Country = '';\r\n if(d.Phone == null) d.Phone = '';\r\n if(d.Content == null) d.Content = '';\r\n if(d.Altitude == null) d.Altitude = 0;\r\n if(d.Longitude == null) d.Longitude = 0;\r\n if(d.Latitude == null) d.Latitude = 0;\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.Facility_ID == null) d.Facility_ID = 0;\r\n if(d.AppKey_ID == null) d.AppKey_ID = 0;\r\n if(d.AppFeature_ID == null) d.AppFeature_ID = 0;\r\n //----Extra\r\n Facility.FixDataList(d.aFacility_IDList); //-1M Organization.Facility_ID <= Facility.Facility_ID\r\n AppKey.FixDataList(d.aAppKey_IDList); //-1M Organization.AppKey_ID <= AppKey.AppKey_ID\r\n AppFeature.FixDataList(d.aAppFeature_IDList); //-1M Organization.AppFeature_ID <= AppFeature.AppFeature_ID\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:Organization[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n Organization.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:Organization[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].Organization_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:Organization[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].Organization_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { SecurityQuestion } from \"./securityquestion.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class SecurityQuestionDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/SecurityQuestion/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================SecurityQuestion========\r\n\r\n getSecurityQuestion(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetSecurityQuestion?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"securityquestions\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getSecurityQuestionsByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetSecurityQuestionByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getSecurityQuestionsByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetSecurityQuestionByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getSecurityQuestionsByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetSecurityQuestionByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getSecurityQuestionsByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetSecurityQuestionByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getSecurityQuestions(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"SecurityQuestion?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListSecurityQuestion?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getSecurityQuestionsNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"SecurityQuestion?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListSecurityQuestionNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addSecurityQuestion(fChild: number, data: SecurityQuestion): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddSecurityQuestion?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateSecurityQuestion(fChild: number, data: SecurityQuestion): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateSecurityQuestion?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteSecurityQuestionById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteSecurityQuestionById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteSecurityQuestionById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteSecurityQuestion(fChild: number, data:SecurityQuestion): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteSecurityQuestion?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetSecurityQuestionCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetSecurityQuestionNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListSecurityQuestion(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListSecurityQuestion?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListSecurityQuestionByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListSecurityQuestionByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n updateSecurityQuestionSEQ(sIdList: string): Observable {\r\n return this.http.get(this.baseUrl + \"ar/UpdateSecurityQuestionSEQ?sIdList=\"+sIdList+ \"&aTenantId=\" + GlobalObjects.gTenantId, this.getOption());\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class SecurityQuestion {\r\n //------------------Properties------------------------\r\n public SecurityQuestion_ID : number = 0;\r\n public XName : string = '';\r\n public ISEQ : number = 0;\r\n public Question : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public TenantId : string = '';\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: SecurityQuestion) : boolean\r\n {\r\n if(d.SecurityQuestion_ID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.ISEQ != 0) return false;\r\n if(d.Question != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: SecurityQuestion[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!SecurityQuestion.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: SecurityQuestion, d2: SecurityQuestion) : boolean\r\n {\r\n if(d1.SecurityQuestion_ID != d2.SecurityQuestion_ID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.ISEQ != d2.ISEQ) return false;\r\n if(d1.Question != d2.Question) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: SecurityQuestion[], aList2: SecurityQuestion[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!SecurityQuestion.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:SecurityQuestion) : any\r\n {\r\n if(d == null) return null;\r\n let r = new SecurityQuestion();\r\n if(d.SecurityQuestion_ID != null) r.SecurityQuestion_ID = d.SecurityQuestion_ID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.ISEQ != null) r.ISEQ = d.ISEQ\r\n if(d.Question != null) r.Question = d.Question\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: SecurityQuestion[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(SecurityQuestion.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:SecurityQuestion)\r\n {\r\n if(d.SecurityQuestion_ID == null) d.SecurityQuestion_ID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.ISEQ == null) d.ISEQ = 0;\r\n if(d.Question == null) d.Question = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:SecurityQuestion[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n SecurityQuestion.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:SecurityQuestion[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].SecurityQuestion_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:SecurityQuestion[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].SecurityQuestion_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","//--KEEP:\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { State } from \"./state.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class StateDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n// this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/State/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Basic ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================State========\r\n\r\n getState(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetState?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"states\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getStatesByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetStateByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getStatesByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetStateByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getStatesByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetStateByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getStatesByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetStateByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getStates(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"ar/State?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ListState?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getStatesNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"nar/State?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ListStateNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n addState(fChild: number, data: State): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddState?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n updateState(fChild: number, data: State): Observable {\r\n return this.http.put(`${this.baseUrl}ar/UpdateState?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n deleteStateById(id: number): Observable {\r\n return this.http.delete(`${this.baseUrl}ar/DeleteStateById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n }\r\n\r\n deleteState(fChild: number, data:State): Observable {\r\n return this.http.put(`${this.baseUrl}ar/DeleteState/?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetStateCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID(): Observable {\r\n var surl = this.baseUrl + \"ar/GetStateNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListState(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"nar/ListStateNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListStateByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListStateByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class State {\r\n //------------------Properties------------------------\r\n public StateID : number = 0;\r\n public XName : string = '';\r\n public Abbreviation : string = '';\r\n public TenantId : string = '';\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: State) : boolean\r\n {\r\n if(d.StateID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Abbreviation != '') return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: State[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!State.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: State, d2: State) : boolean\r\n {\r\n if(d1.StateID != d2.StateID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Abbreviation != d2.Abbreviation) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: State[], aList2: State[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!State.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:State) : any\r\n {\r\n if(d == null) return null;\r\n let r = new State();\r\n if(d.StateID != null) r.StateID = d.StateID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Abbreviation != null) r.Abbreviation = d.Abbreviation\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: State[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(State.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:State)\r\n {\r\n if(d.StateID == null) d.StateID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Abbreviation == null) d.Abbreviation = '';\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:State[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n State.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:State[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].StateID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:State[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].StateID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","//--? means that the parameter is optional and can be omitted.\r\nimport { Injectable } from \"@angular/core\";\r\nexport class TResultEntity {\r\n public Status: string = '';\r\n public Data: any = null; //--this shall be encrypted\r\n public Message: string='';\r\n constructor(\r\n ) {}\r\n }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { XUser } from \"./xuser.model\";\r\nimport { EMailQueue } from \"./emailqueue.model\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { UserEntity } from \"./UserEntity.model\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\nimport { ForgotPasswordRequest } from \"./ForgotPasswordRequest.model\";\r\nimport { ForgotUserIdRequest } from \"./ForgotUserIdRequest.model\";\r\nimport { ResetPasswordRequest } from \"./ResetPasswordRequest.model\";\r\nimport { ResetUserIdRequest } from \"./ResetUserIdRequest.model\";\r\nimport { XUserEntity } from \"./XUserEntity.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class UserDataSource {\r\n baseUrl: string = \"\";\r\n baseUrlX: string = \"\";\r\n auth_token: string = \"\";\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption() {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Basic ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n // this.baseUrl = GlobalObjects.gUserApiURL + \"/api/\";\r\n // this.baseUrl = GlobalObjects.gUserApiURL + \"/User/\";\r\n this.baseUrl = GlobalObjects.gUserApiURL + \"/User/\";\r\n this.baseUrlX = GlobalObjects.gUserApiURL + \"/XUser/\";\r\n }\r\n\r\n //=============================================XUser==:Extra======\r\n validateUser(userId: any, password: any, tenantId: any): Observable {\r\n var passwordE = this.encryptData(password);\r\n var sParams = \"ar/ValidateUserSE\";\r\n var userEntity = new UserEntity();\r\n userEntity.UserId = userId;\r\n userEntity.Password = passwordE;\r\n userEntity.TenantId = tenantId;\r\n\r\n return this.http.post(this.baseUrl + sParams, userEntity, { responseType: 'json' });\r\n }\r\n\r\n //=============================================XUser==:Extra======\r\n isExistXUserByInfo(data: XUserEntity): Observable {\r\n var sParams = \"ar/IsExistXUserByInfo\";\r\n return this.http.post(this.baseUrl + sParams, data, { responseType: 'json' });\r\n }\r\n\r\n //=============================================XUser==:Extra======\r\n registerUser(data: XUserEntity): Observable {\r\n var sParams = \"ar/RegisterUser\";\r\n return this.http.post(this.baseUrl + sParams, data, { responseType: 'json' });\r\n }\r\n\r\n //=============================================XUser==:Extra======\r\n getCurrentUserDB(userId: any, password: any): Observable {\r\n var passwordE = this.encryptData(password);\r\n var sParams = \"ar/Login?userId=\" + userId + \"&password=\" + passwordE + \"&tenantId=\" + GlobalObjects.gTenantId;\r\n return this.http.get(this.baseUrl + sParams, { responseType: 'json' });\r\n }\r\n\r\n\r\n //--------------------------------------------------------\r\n getN(filter: any): Observable {\r\n var surl = this.baseUrlX + \"ar/GetXUserCount?sFilter=\" + filter;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n getNextID(): Observable {\r\n var surl = this.baseUrlX + \"nar/GetXUserNextID?iX=\";\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n getUserProfile(id: number, aTenantId: string): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetUserProfile?Id=\" + id + \"&tenantId=\" + aTenantId;\r\n // return this.http.get(this.baseUrl + \"xusers\");\r\n return this.http.post(aUrlA, this.getOption());\r\n }\r\n\r\n getUserSecurityQuestion(id: number, aTenantId: string): Observable {\r\n let aUrlA = this.baseUrlX + \"ar/GetUserSecurityQuestion?Id=\" + id + \"&tenantId=\" + aTenantId;\r\n // return this.http.get(this.baseUrl + \"xusers\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getUserUserID(id: number, aTenantId: string): Observable {\r\n let aUrlA = this.baseUrlX + \"nar/GetUserUserID?Id=\" + id + \"&tenantId=\" + aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n updateUserProfile(data: XUser): Observable {\r\n let aUrlA = this.baseUrl + \"ar/UpdateUserProfile\";\r\n // return this.http.get(this.baseUrl + \"xusers\");\r\n return this.http.put(aUrlA, data, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------------\r\n resetUserId(token: string, userId: string, confirmUserId: string): Observable {\r\n var sParams = \"nar/ResetUserId\";\r\n var resetUserIdRequest = new ResetUserIdRequest(token, userId, confirmUserId);\r\n return this.http.post(this.baseUrl + sParams, resetUserIdRequest, { responseType: 'json' });\r\n }\r\n\r\n //--------------------------------------------------------------\r\n resetPassword(token: string, password: string, confirmPassword: string): Observable {\r\n var sParams = \"nar/ResetPassword\";\r\n var resetPasswordRequest = new ResetPasswordRequest(token, password, confirmPassword);\r\n return this.http.post(this.baseUrl + sParams, resetPasswordRequest, { responseType: 'json' });\r\n }\r\n\r\n //--------------------------------------------------------------\r\n forgotUserId(email: string, tenantId: string): Observable {\r\n var sParams = \"nar/ForgotUserId\";\r\n var forgotUserIdRequest = new ForgotUserIdRequest(email, tenantId);\r\n return this.http.post(this.baseUrl + sParams, forgotUserIdRequest, { responseType: 'json' });\r\n }\r\n\r\n //--------------------------------------------------------------\r\n forgotPassword(email: string, tenantId: string): Observable {\r\n var sParams = \"nar/ForgotPassword\";\r\n var forgotPasswordRequest = new ForgotPasswordRequest(email, tenantId);\r\n return this.http.post(this.baseUrl + sParams, forgotPasswordRequest, { responseType: 'json' });\r\n }\r\n\r\n //-----------------------------------------------------------------\r\n encryptData(plainPassword: any): any {\r\n const key = CryptoJS.enc.Utf8.parse('e8ffc7e56311679f12b6fc91aa77a5eb');\r\n const iv = CryptoJS.enc.Utf8.parse('1234567890123456');\r\n const encrypted = CryptoJS.AES.encrypt(plainPassword, key, {\r\n keySize: 32,\r\n iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n }).toString();\r\n return encrypted;\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { UserSecurityQuestion } from \"./usersecurityquestion.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class UserSecurityQuestionDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/UserSecurityQuestion/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================UserSecurityQuestion========\r\n\r\n getUserSecurityQuestion(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetUserSecurityQuestion?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"usersecurityquestions\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getUserSecurityQuestionsByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetUserSecurityQuestionByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getUserSecurityQuestionsByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetUserSecurityQuestionByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getUserSecurityQuestionsByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetUserSecurityQuestionByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getUserSecurityQuestionsByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetUserSecurityQuestionByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getUserSecurityQuestions(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"UserSecurityQuestion?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListUserSecurityQuestion?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getUserSecurityQuestionsNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"UserSecurityQuestion?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListUserSecurityQuestionNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addUserSecurityQuestion(fChild: number, data: UserSecurityQuestion): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddUserSecurityQuestion?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateUserSecurityQuestion(fChild: number, data: UserSecurityQuestion): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateUserSecurityQuestion?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteUserSecurityQuestionById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteUserSecurityQuestionById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteUserSecurityQuestionById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteUserSecurityQuestion(fChild: number, data:UserSecurityQuestion): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteUserSecurityQuestion?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetUserSecurityQuestionCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetUserSecurityQuestionNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListUserSecurityQuestion(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListUserSecurityQuestion?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListUserSecurityQuestionByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListUserSecurityQuestionByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n updateUserSecurityQuestionSEQ(sIdList: string): Observable {\r\n return this.http.get(this.baseUrl + \"ar/UpdateUserSecurityQuestionSEQ?sIdList=\"+sIdList+ \"&aTenantId=\" + GlobalObjects.gTenantId, this.getOption());\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class UserSecurityQuestion {\r\n //------------------Properties------------------------\r\n public UserSecurityQuestion_ID : number = 0;\r\n public GrpID : number = 0;\r\n public XName : string = '';\r\n public ISEQ : number = 0;\r\n public Question : string = '';\r\n public Answer : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public TenantId : string = '';\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: UserSecurityQuestion) : boolean\r\n {\r\n if(d.UserSecurityQuestion_ID != 0) return false;\r\n if(d.GrpID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.ISEQ != 0) return false;\r\n if(d.Question != '') return false;\r\n if(d.Answer != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: UserSecurityQuestion[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!UserSecurityQuestion.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: UserSecurityQuestion, d2: UserSecurityQuestion) : boolean\r\n {\r\n if(d1.UserSecurityQuestion_ID != d2.UserSecurityQuestion_ID) return false;\r\n if(d1.GrpID != d2.GrpID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.ISEQ != d2.ISEQ) return false;\r\n if(d1.Question != d2.Question) return false;\r\n if(d1.Answer != d2.Answer) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: UserSecurityQuestion[], aList2: UserSecurityQuestion[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!UserSecurityQuestion.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:UserSecurityQuestion) : any\r\n {\r\n if(d == null) return null;\r\n let r = new UserSecurityQuestion();\r\n if(d.UserSecurityQuestion_ID != null) r.UserSecurityQuestion_ID = d.UserSecurityQuestion_ID\r\n if(d.GrpID != null) r.GrpID = d.GrpID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.ISEQ != null) r.ISEQ = d.ISEQ\r\n if(d.Question != null) r.Question = d.Question\r\n if(d.Answer != null) r.Answer = d.Answer\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: UserSecurityQuestion[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(UserSecurityQuestion.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:UserSecurityQuestion)\r\n {\r\n if(d.UserSecurityQuestion_ID == null) d.UserSecurityQuestion_ID = 0;\r\n if(d.GrpID == null) d.GrpID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.ISEQ == null) d.ISEQ = 0;\r\n if(d.Question == null) d.Question = '';\r\n if(d.Answer == null) d.Answer = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:UserSecurityQuestion[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n UserSecurityQuestion.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:UserSecurityQuestion[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].UserSecurityQuestion_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:UserSecurityQuestion[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].UserSecurityQuestion_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { XFrontPage } from \"./xfrontpage.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class XFrontPageDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/XFrontPage/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================XFrontPage========\r\n\r\n getXFrontPage(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXFrontPage?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"xfrontpages\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPagesByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXFrontPageByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPagesByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXFrontPageByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXFrontPagesByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXFrontPageByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPagesByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXFrontPageByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXFrontPages(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"XFrontPage?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListXFrontPage?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPagesNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"XFrontPage?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListXFrontPageNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addXFrontPage(fChild: number, data: XFrontPage): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddXFrontPage?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateXFrontPage(fChild: number, data: XFrontPage): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateXFrontPage?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteXFrontPageById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteXFrontPageById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteXFrontPageById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteXFrontPage(fChild: number, data:XFrontPage): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteXFrontPage?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetXFrontPageCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetXFrontPageNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXFrontPage(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListXFrontPage?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXFrontPageByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListXFrontPageByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\nimport { XFrontPageInfo } from \"./xfrontpageinfo.model\";\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class XFrontPage {\r\n //------------------Properties------------------------\r\n public XFrontPage_ID : number = 0;\r\n public RdPrvg : number = 0;\r\n public WtPrvg : number = 0;\r\n public XName : string = '';\r\n public Description : string = '';\r\n public IsPrimary : boolean = false;\r\n public XFrontPageInfo_ID : number = 0;\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public TenantId : string = '';\r\n //----Extra\r\n public aXFrontPageInfo_IDList : XFrontPageInfo[] = []; //-1M XFrontPage.XFrontPageInfo_ID <= XFrontPageInfo.XFrontPageInfo_ID\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: XFrontPage) : boolean\r\n {\r\n if(d.XFrontPage_ID != 0) return false;\r\n if(d.RdPrvg != 0) return false;\r\n if(d.WtPrvg != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.IsPrimary != false) return false;\r\n if(d.XFrontPageInfo_ID != 0) return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n if(!XFrontPageInfo.isEmptyList(d.aXFrontPageInfo_IDList)) return false; //-1M, XFrontPage.XFrontPageInfo_ID <= XFrontPageInfo.XFrontPageInfo_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: XFrontPage[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!XFrontPage.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: XFrontPage, d2: XFrontPage) : boolean\r\n {\r\n if(d1.XFrontPage_ID != d2.XFrontPage_ID) return false;\r\n if(d1.RdPrvg != d2.RdPrvg) return false;\r\n if(d1.WtPrvg != d2.WtPrvg) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.IsPrimary != d2.IsPrimary) return false;\r\n if(d1.XFrontPageInfo_ID != d2.XFrontPageInfo_ID) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n if(!XFrontPageInfo.isSameList(d1.aXFrontPageInfo_IDList, d2.aXFrontPageInfo_IDList)) return false; //-1M XFrontPage.XFrontPageInfo_ID <= XFrontPageInfo.XFrontPageInfo_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: XFrontPage[], aList2: XFrontPage[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!XFrontPage.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:XFrontPage) : any\r\n {\r\n if(d == null) return null;\r\n let r = new XFrontPage();\r\n if(d.XFrontPage_ID != null) r.XFrontPage_ID = d.XFrontPage_ID\r\n if(d.RdPrvg != null) r.RdPrvg = d.RdPrvg\r\n if(d.WtPrvg != null) r.WtPrvg = d.WtPrvg\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.IsPrimary != null) r.IsPrimary = d.IsPrimary\r\n if(d.XFrontPageInfo_ID != null) r.XFrontPageInfo_ID = d.XFrontPageInfo_ID\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n r.aXFrontPageInfo_IDList = XFrontPageInfo.CopyList(d.aXFrontPageInfo_IDList); //-1M, XFrontPage.XFrontPageInfo_ID <= XFrontPageInfo.XFrontPageInfo_ID\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: XFrontPage[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(XFrontPage.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:XFrontPage)\r\n {\r\n if(d.XFrontPage_ID == null) d.XFrontPage_ID = 0;\r\n if(d.RdPrvg == null) d.RdPrvg = 0;\r\n if(d.WtPrvg == null) d.WtPrvg = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.IsPrimary == null) d.IsPrimary = false;\r\n if(d.XFrontPageInfo_ID == null) d.XFrontPageInfo_ID = 0;\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n XFrontPageInfo.FixDataList(d.aXFrontPageInfo_IDList); //-1M XFrontPage.XFrontPageInfo_ID <= XFrontPageInfo.XFrontPageInfo_ID\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:XFrontPage[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n XFrontPage.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:XFrontPage[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XFrontPage_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:XFrontPage[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XFrontPage_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","//--KEEP:\r\nimport { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { XFrontPageInfo } from \"./xfrontpageinfo.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class XFrontPageInfoDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n// this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/XFrontPageInfo/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption() {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Basic ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================XFrontPageInfo========\r\n\r\n getXFrontPageInfo(id: number, aTenantId: string = ''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXFrontPageInfo?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" + \"&aTenantId=\" + aTenantId;\r\n // return this.http.get(this.baseUrl + \"xfrontpageinfos\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPageInfosByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXFrontPageInfoByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPageInfosByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXFrontPageInfoByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXFrontPageInfosByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXFrontPageInfoByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPageInfosByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXFrontPageInfoByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXFrontPageInfos(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n //let aUrlA = this.baseUrl + \"ar/XFrontPageInfo?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ListXFrontPageInfo?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXFrontPageInfosNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n //let aUrlA = this.baseUrl + \"nar/XFrontPageInfo?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ListXFrontPageInfoNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n addXFrontPageInfo(fChild: number, data: XFrontPageInfo): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddXFrontPageInfo?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n updateXFrontPageInfo(fChild: number, data: XFrontPageInfo): Observable {\r\n return this.http.put(`${this.baseUrl}ar/UpdateXFrontPageInfo?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n updateXFrontPageInfoSEQ(sIdList: string): Observable {\r\n return this.http.get(this.baseUrl + \"ar/UpdateXFrontPageInfoSEQ?sIdList=\"+sIdList+ \"&aTenantId=\" + GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteXFrontPageInfoById(id: number): Observable {\r\n // return this.http.delete(`${this.baseUrl}DeleteXFrontPageInfoById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteXFrontPageInfoById?Id=\" + id + \"&aTenantId=\" + GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteXFrontPageInfo(fChild: number, data: XFrontPageInfo): Observable {\r\n return this.http.put(`${this.baseUrl}ar/DeleteXFrontPageInfo/?fChild=${fChild}`, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n\r\n //--------------------------------------------------------\r\n GetN (filter: any): Observable {\r\n var surl = this.baseUrl + \"ar/GetXFrontPageInfoCount?sFilter=\" + filter + \"&aTenantId=\" + GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID(): Observable {\r\n var surl = this.baseUrl + \"nar/GetXFrontPageInfoNextID?iX=\" + \"&aTenantId=\" + GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXFrontPageInfo(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number, aTenantId: string = ''): Observable {\r\n var surl = this.baseUrl + \"ar/ListXFrontPageInfo?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXFrontPageInfoByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListXFrontPageInfoByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel + \"&aTenantId=\" + GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class XFrontPageInfo {\r\n //------------------Properties------------------------\r\n public XFrontPageInfo_ID : number = 0;\r\n public GrpID : number = 0;\r\n public ISEQ : number = 0;\r\n public RdPrvg : number = 0;\r\n public WtPrvg : number = 0;\r\n public XName : string = '';\r\n public Title : string = '';\r\n public Description : string = '';\r\n public Content : string = '';\r\n public PictureFile : string = '';\r\n public PictureFileAltText : string = '';\r\n public URL : string = '';\r\n public URLText : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public TenantId : string = '';\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: XFrontPageInfo) : boolean\r\n {\r\n if(d.XFrontPageInfo_ID != 0) return false;\r\n if(d.GrpID != 0) return false;\r\n if(d.ISEQ != 0) return false;\r\n if(d.RdPrvg != 0) return false;\r\n if(d.WtPrvg != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.Title != '') return false;\r\n if(d.Description != '') return false;\r\n if(d.Content != '') return false;\r\n if(d.PictureFile != '') return false;\r\n if(d.PictureFileAltText != '') return false;\r\n if(d.URL != '') return false;\r\n if(d.URLText != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: XFrontPageInfo[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!XFrontPageInfo.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: XFrontPageInfo, d2: XFrontPageInfo) : boolean\r\n {\r\n if(d1.XFrontPageInfo_ID != d2.XFrontPageInfo_ID) return false;\r\n if(d1.GrpID != d2.GrpID) return false;\r\n if(d1.ISEQ != d2.ISEQ) return false;\r\n if(d1.RdPrvg != d2.RdPrvg) return false;\r\n if(d1.WtPrvg != d2.WtPrvg) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.Title != d2.Title) return false;\r\n if(d1.Description != d2.Description) return false;\r\n if(d1.Content != d2.Content) return false;\r\n if(d1.PictureFile != d2.PictureFile) return false;\r\n if(d1.PictureFileAltText != d2.PictureFileAltText) return false;\r\n if(d1.URL != d2.URL) return false;\r\n if(d1.URLText != d2.URLText) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: XFrontPageInfo[], aList2: XFrontPageInfo[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!XFrontPageInfo.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:XFrontPageInfo) : any\r\n {\r\n if(d == null) return null;\r\n let r = new XFrontPageInfo();\r\n if(d.XFrontPageInfo_ID != null) r.XFrontPageInfo_ID = d.XFrontPageInfo_ID\r\n if(d.GrpID != null) r.GrpID = d.GrpID\r\n if(d.ISEQ != null) r.ISEQ = d.ISEQ\r\n if(d.RdPrvg != null) r.RdPrvg = d.RdPrvg\r\n if(d.WtPrvg != null) r.WtPrvg = d.WtPrvg\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.Title != null) r.Title = d.Title\r\n if(d.Description != null) r.Description = d.Description\r\n if(d.Content != null) r.Content = d.Content\r\n if(d.PictureFile != null) r.PictureFile = d.PictureFile\r\n if(d.PictureFileAltText != null) r.PictureFileAltText = d.PictureFileAltText\r\n if(d.URL != null) r.URL = d.URL\r\n if(d.URLText != null) r.URLText = d.URLText\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: XFrontPageInfo[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(XFrontPageInfo.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:XFrontPageInfo)\r\n {\r\n if(d.XFrontPageInfo_ID == null) d.XFrontPageInfo_ID = 0;\r\n if(d.GrpID == null) d.GrpID = 0;\r\n if(d.ISEQ == null) d.ISEQ = 0;\r\n if(d.RdPrvg == null) d.RdPrvg = 0;\r\n if(d.WtPrvg == null) d.WtPrvg = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.Title == null) d.Title = '';\r\n if(d.Description == null) d.Description = '';\r\n if(d.Content == null) d.Content = '';\r\n if(d.PictureFile == null) d.PictureFile = '';\r\n if(d.PictureFileAltText == null) d.PictureFileAltText = '';\r\n if(d.URL == null) d.URL = '';\r\n if(d.URLText == null) d.URLText = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:XFrontPageInfo[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n XFrontPageInfo.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:XFrontPageInfo[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XFrontPageInfo_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:XFrontPageInfo[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XFrontPageInfo_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable, ObservedValueOf } from \"rxjs\";\r\nimport { XLog } from \"./xlog.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class XLogDataSource {\r\n baseUrl: string;\r\n auth_token: string = \"\";\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n console.log(\"XLogDataSource\");\r\n // this.baseUrl = \"/hsapi/\";\r\n// this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/XLog/\";\r\n }\r\n\r\n //------------------------------insert--------------------------\r\n postData(data: XLog) {\r\n XLog.FixData(data);\r\n var rtn = this.http.get(this.baseUrl + \"logging?sTime=\" + data.CreateDT + \"&sUser=\" + data.UserId + \"&sType=\" + data.Type + \"&sKey=\" + data.Key + \"&sMsg=\" + data.Msg);\r\n return rtn;\r\n }\r\n\r\n}\r\n","//import { Injectable } from \"@angular/core\";\r\n//import { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n//@Injectable()\r\nexport class XLog {\r\n //------------------Properties------------------------\r\n public XLog_ID : number = 0;\r\n //----Extra\r\n\r\n constructor(public CreateDT:string='', public UserId:string='', public Type:string='', public Key:string='', public Msg:string='') { \r\n }\r\n\r\n \r\n //============Global Methods========================\r\n \r\n //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: XLog) : boolean\r\n {\r\n if(d.XLog_ID != 0) return false;\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: XLog[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!XLog.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: XLog, d2: XLog) : boolean\r\n {\r\n if(d1.XLog_ID != d2.XLog_ID) return false;\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: XLog[], aList2: XLog[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!XLog.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:XLog) : any\r\n {\r\n if(d == null) return null;\r\n let r = new XLog('','','','','');\r\n if(d.XLog_ID != null) r.XLog_ID = d.XLog_ID\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: XLog[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(XLog.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:XLog)\r\n {\r\n if(d.XLog_ID == null) d.XLog_ID = 0;\r\n }\r\n \r\n //----------------------------------------\r\n static FixDataList (aList:XLog[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n XLog.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n static Find (id:any, aList:XLog[]) : any\r\n {\r\n if(aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XLog_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n static FindIdx (id:any, aList:XLog[]) : any\r\n {\r\n if(aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XLog_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { XUser } from \"./xuser.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class XUserDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/XUser/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================XUser========\r\n\r\n getXUser(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXUser?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"xusers\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUsersByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXUserByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUsersByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXUserByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXUsersByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXUserByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUsersByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXUserByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXUsers(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"XUser?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListXUser?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUsersNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"XUser?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListXUserNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addXUser(fChild: number, data: XUser): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddXUser?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateXUser(fChild: number, data: XUser): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateXUser?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteXUserById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteXUserById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteXUserById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteXUser(fChild: number, data:XUser): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteXUser?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetXUserCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetXUserNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXUser(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListXUser?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXUserByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListXUserByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","//--KEEP:\r\nimport { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\nimport { XUserInfo } from \"./xuserinfo.model\";\r\nimport { UserSecurityQuestion } from \"./usersecurityquestion.model\";\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class XUser {\r\n //------------------Properties------------------------\r\n public XUser_ID : number = 0;\r\n public Prvg : number = 0;\r\n public IsActive : boolean = false;\r\n public LastAccessDt : Date = new Date();\r\n public TenantId : string = '';\r\n public Token : string = '';\r\n public TokenValidTo : Date = new Date();\r\n public RefreshToken : string = '';\r\n public RefreshTokenExpireDt : Date = new Date();\r\n public XName : string = '';\r\n public ID : string = '';\r\n public Pwd : string = '';\r\n public EMail : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public XUserInfo_ID : number = 0;\r\n public UserSecurityQuestion_ID : number = 0;\r\n //----Extra\r\n public aXUserInfo_ID : XUserInfo = new XUserInfo(); //-11 XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n public aUserSecurityQuestion_IDList : UserSecurityQuestion[] = []; //-1M XUser.UserSecurityQuestion_ID <= UserSecurityQuestion.UserSecurityQuestion_ID\r\n public OrgName='';\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: XUser) : boolean\r\n {\r\n if(d.XUser_ID != 0) return false;\r\n if(d.Prvg != 0) return false;\r\n if(d.IsActive != false) return false;\r\n if(d.LastAccessDt != GlobalObjects.gMinDate) return false;\r\n if(d.TenantId != '') return false;\r\n if(d.Token != '') return false;\r\n if(d.TokenValidTo != GlobalObjects.gMinDate) return false;\r\n if(d.RefreshToken != '') return false;\r\n if(d.RefreshTokenExpireDt != GlobalObjects.gMinDate) return false;\r\n if(d.XName != '') return false;\r\n if(d.ID != '') return false;\r\n if(d.Pwd != '') return false;\r\n if(d.EMail != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.XUserInfo_ID != 0) return false;\r\n if(d.UserSecurityQuestion_ID != 0) return false;\r\n //----Extra\r\n if(!XUserInfo.isEmpty(d.aXUserInfo_ID)) return false; //--11, XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n if(!UserSecurityQuestion.isEmptyList(d.aUserSecurityQuestion_IDList)) return false; //-1M, XUser.UserSecurityQuestion_ID <= UserSecurityQuestion.UserSecurityQuestion_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: XUser[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!XUser.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: XUser, d2: XUser) : boolean\r\n {\r\n if(d1.XUser_ID != d2.XUser_ID) return false;\r\n if(d1.Prvg != d2.Prvg) return false;\r\n if(d1.IsActive != d2.IsActive) return false;\r\n if(d1.LastAccessDt != d2.LastAccessDt) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n if(d1.Token != d2.Token) return false;\r\n if(d1.TokenValidTo != d2.TokenValidTo) return false;\r\n if(d1.RefreshToken != d2.RefreshToken) return false;\r\n if(d1.RefreshTokenExpireDt != d2.RefreshTokenExpireDt) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.ID != d2.ID) return false;\r\n if(d1.Pwd != d2.Pwd) return false;\r\n if(d1.EMail != d2.EMail) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.XUserInfo_ID != d2.XUserInfo_ID) return false;\r\n if(d1.UserSecurityQuestion_ID != d2.UserSecurityQuestion_ID) return false;\r\n //----Extra\r\n if(!XUserInfo.isSame(d1.aXUserInfo_ID, d2.aXUserInfo_ID)) return false; //-11 XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n if(!UserSecurityQuestion.isSameList(d1.aUserSecurityQuestion_IDList, d2.aUserSecurityQuestion_IDList)) return false; //-1M XUser.UserSecurityQuestion_ID <= UserSecurityQuestion.UserSecurityQuestion_ID\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: XUser[], aList2: XUser[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!XUser.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:XUser) : any\r\n {\r\n if(d == null) return null;\r\n let r = new XUser();\r\n if(d.XUser_ID != null) r.XUser_ID = d.XUser_ID;\r\n if(d.Prvg != null) r.Prvg = d.Prvg;\r\n if(d.IsActive != null) r.IsActive = d.IsActive;\r\n if(d.LastAccessDt != null || d.LastAccessDt <= GlobalObjects.gMinDate) r.LastAccessDt = d.LastAccessDt;\r\n if(d.TenantId != null) r.TenantId = d.TenantId;\r\n if(d.Token != null) r.Token = d.Token;\r\n if(d.TokenValidTo != null || d.TokenValidTo <= GlobalObjects.gMinDate) r.TokenValidTo = d.TokenValidTo;\r\n if(d.RefreshToken != null) r.RefreshToken = d.RefreshToken;\r\n if(d.RefreshTokenExpireDt != null || d.RefreshTokenExpireDt <= GlobalObjects.gMinDate) r.RefreshTokenExpireDt = d.RefreshTokenExpireDt;\r\n if(d.XName != null) r.XName = d.XName;\r\n if(d.ID != null) r.ID = d.ID;\r\n if(d.Pwd != null) r.Pwd = d.Pwd;\r\n if(d.EMail != null) r.EMail = d.EMail;\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate;\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate;\r\n if(d.XUserInfo_ID != null) r.XUserInfo_ID = d.XUserInfo_ID;\r\n if(d.UserSecurityQuestion_ID != null) r.UserSecurityQuestion_ID = d.UserSecurityQuestion_ID;\r\n //----Extra\r\n if(d.aXUserInfo_ID != null) r.aXUserInfo_ID = XUserInfo.Copy(d.aXUserInfo_ID); //--11, XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n r.aUserSecurityQuestion_IDList = UserSecurityQuestion.CopyList(d.aUserSecurityQuestion_IDList); //-1M, XUser.UserSecurityQuestion_ID <= UserSecurityQuestion.UserSecurityQuestion_ID\r\n if(d.OrgName != null) r.OrgName = d.OrgName;\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: XUser[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(XUser.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:XUser)\r\n {\r\n if(d.XUser_ID == null) d.XUser_ID = 0;\r\n if(d.Prvg == null) d.Prvg = 0;\r\n if(d.IsActive == null) d.IsActive = false;\r\n if(d.LastAccessDt == null || d.LastAccessDt <= GlobalObjects.gMinDate) d.LastAccessDt = new Date();\r\n if(d.TenantId == null) d.TenantId = '';\r\n if(d.Token == null) d.Token = '';\r\n if(d.TokenValidTo == null || d.TokenValidTo <= GlobalObjects.gMinDate) d.TokenValidTo = new Date();\r\n if(d.RefreshToken == null) d.RefreshToken = '';\r\n if(d.RefreshTokenExpireDt == null || d.RefreshTokenExpireDt <= GlobalObjects.gMinDate) d.RefreshTokenExpireDt = new Date();\r\n if(d.XName == null) d.XName = '';\r\n if(d.ID == null) d.ID = '';\r\n if(d.Pwd == null) d.Pwd = '';\r\n if(d.EMail == null) d.EMail = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.XUserInfo_ID == null) d.XUserInfo_ID = 0;\r\n if(d.UserSecurityQuestion_ID == null) d.UserSecurityQuestion_ID = 0;\r\n //----Extra\r\n XUserInfo.FixData(d.aXUserInfo_ID); //-11 XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n UserSecurityQuestion.FixDataList(d.aUserSecurityQuestion_IDList); //-1M XUser.UserSecurityQuestion_ID <= UserSecurityQuestion.UserSecurityQuestion_ID\r\n if(d.OrgName == null) d.OrgName = '';\r\n }\r\n \r\n //----------------------------------------\r\n static FixDataList (aList:XUser[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n XUser.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:XUser[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XUser_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:XUser[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XUser_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { XUserInfo } from \"./xuserinfo.model\";\r\nimport { map } from \"rxjs/operators\";\r\nimport { HttpHeaders } from \"@angular/common/http\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\nimport { TResultEntity } from \"./tresult.model\";\r\n\r\nconst PROTOCOL = \"http\";\r\nconst PORT = 3500;\r\n\r\n@Injectable()\r\nexport class XUserInfoDataSource {\r\n baseUrl: string;\r\n //auth_token: string = encodeURIComponent(GlobalObjects.gUserRefreshToken);\r\n auth_token: string = GlobalObjects.gUserRefreshToken;\r\n\r\n constructor(private http: HttpClient) {\r\n // this.baseUrl = `${PROTOCOL}://${location.hostname}:${PORT}/`;\r\n //this.baseUrl = GlobalObjects.gHSApiURL + \"/api/\";\r\n this.baseUrl = GlobalObjects.gHSApiURL + \"/XUserInfo/\";\r\n }\r\n\r\n authenticate(user: string, pass: string): Observable {\r\n return this.http.post(this.baseUrl + \"login\", {\r\n name: user, password: pass\r\n }).pipe(map(response => {\r\n this.auth_token = response.success ? response.token : null;\r\n return response.success;\r\n }));\r\n }\r\n\r\n private authHeader() {\r\n // return {\r\n // headers: new HttpHeaders({\r\n // \"Authorization\": `Bearer <${this.auth_token}>`\r\n // })\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n //\"Authorization\": 'Bearer ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n \"Authorization\": 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n private getOption()\r\n {\r\n // return {\r\n // headers: { \"Authorization\": `Bearer<${this.auth_token}>`},\r\n // params:{responseType: 'json'}\r\n // };\r\n return {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n //'Authorization': 'Basic ' + btoa(encodeURIComponent(GlobalObjects.gUserRefreshToken))\r\n 'Authorization': 'Bearer ' + GlobalObjects.gUserRefreshToken\r\n })\r\n };\r\n }\r\n\r\n //=============================================XUserInfo========\r\n\r\n getXUserInfo(id: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXUserInfo?Id=\" + id + \"&nChild=100&iLevel=0&nMaxLevel=3\" +\"&aTenantId=\"+aTenantId;\r\n // return this.http.get(this.baseUrl + \"xuserinfos\");\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUserInfosByKey(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXUserInfoByKey?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUserInfosByKeyNAR(id: string, sColumnName: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXUserInfoByKeyNAR?Id=\" + id + \"&ColumnName=\" + sColumnName + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXUserInfosByFilter(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"ar/GetXUserInfoByFilter?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUserInfosByFilterNAR(sFilter: string, nChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n let aUrlA = this.baseUrl + \"nar/GetXUserInfoByFilterNAR?sFilter=\" + sFilter + \"&nChild=\" + nChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n getXUserInfos(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"XUserInfo?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"ar/ListXUserInfo?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA, this.getOption());\r\n }\r\n\r\n getXUserInfosNAR(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n //let aUrlA = this.baseUrl + \"XUserInfo?iBegIDX=1&nMax=100&sFilter=&fExtra=0&nGetChild=10&iLevel=0&nMaxLevel=-1\";\r\n let aUrlA = this.baseUrl + \"nar/ListXUserInfoNAR?iBegIDX=\" + iBegId + \"&nMax=\" + nMax + \"&sFilter=\" + sFilter + \"&fExtra=0&nGetChild=\" + nGetChild + \"&iLevel=\" + iLevel + \"&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(aUrlA);\r\n }\r\n\r\n addXUserInfo(fChild: number, data: XUserInfo): Observable {\r\n return this.http.post(this.baseUrl + \"ar/AddXUserInfo?fChild=\"+fChild, data, this.getOption());\r\n }\r\n\r\n updateXUserInfo(fChild: number, data: XUserInfo): Observable {\r\n return this.http.put(this.baseUrl + \"ar/UpdateXUserInfo?fChild=\"+fChild, data, this.authHeader());\r\n }\r\n\r\n deleteXUserInfoById(id: number): Observable {\r\n //return this.http.delete(`${this.baseUrl}/ar/DeleteXUserInfoById/${id} +\"&aTenantId=\"+GlobalObjects.gTenantId`, this.authHeader());\r\n return this.http.delete(this.baseUrl + \"ar/DeleteXUserInfoById/\"+id +\"&aTenantId=\"+GlobalObjects.gTenantId, this.authHeader());\r\n }\r\n\r\n deleteXUserInfo(fChild: number, data:XUserInfo): Observable {\r\n return this.http.put(this.baseUrl + \"ar/DeleteXUserInfo?fChild=\" + fChild, data, this.authHeader());\r\n }\r\n\r\n //================================================================\r\n \r\n //--------------------------------------------------------\r\n GetN (filter:any): Observable {\r\n var surl = this.baseUrl + \"ar/GetXUserInfoCount?sFilter=\" + filter +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n GetNextID():Observable {\r\n var surl = this.baseUrl + \"nar/GetXUserInfoNextID?iX=\"+\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXUserInfo(iBegId: number, nmax: number, filter: string, nGetChild: number, nMaxLevel: number , aTenantId:string=''): Observable {\r\n var surl = this.baseUrl + \"ar/ListXUserInfo?iBegIDX=\" + iBegId + \"&nMax=\" + nmax + \"&sFilter=\" + filter + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+aTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n //--------------------------------------------------------\r\n ListXUserInfoByFile(sqlFile: string, sqlName: string, args: string, nMax: number, nGetChild: number, nMaxLevel: number): Observable {\r\n var surl = this.baseUrl + \"ar/ListXUserInfoByFile?sqlFile=\" + sqlFile + \"&sqlName=\" + sqlName + \"&args=\" + args + \"&nMax=\" + nMax + \"&nGetChild=\" + nGetChild + \"&iLevel=0&nMaxLevel=\" + nMaxLevel +\"&aTenantId=\"+GlobalObjects.gTenantId;\r\n return this.http.get(surl, this.getOption());\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { GlobalObjects } from \"../GlobalObjects\";\r\n\r\n\r\n\r\n//--? means that the parameter is optional and can be omitted.\r\n@Injectable()\r\nexport class XUserInfo {\r\n //------------------Properties------------------------\r\n public XUserInfo_ID : number = 0;\r\n public XName : string = '';\r\n public FirstName : string = '';\r\n public MiddleName : string = '';\r\n public LastName : string = '';\r\n public Address : string = '';\r\n public Address2 : string = '';\r\n public City : string = '';\r\n public State : string = '';\r\n public Zip : string = '';\r\n public Country : string = '';\r\n public Mobile : string = '';\r\n public SSN : string = '';\r\n public Gender : string = '';\r\n public BirthDate : string = '';\r\n public PictureFile : string = '';\r\n public CreateDate : Date = new Date();\r\n public UpdateDate : Date = new Date();\r\n public TenantId : string = '';\r\n //----Extra\r\n\r\n\r\n constructor() { }\r\n\r\n //============Global Methods======================== //-----------Check the Extra, 1M, 11 only-----------------------------\r\n static isEmpty (d: XUserInfo) : boolean\r\n {\r\n if(d.XUserInfo_ID != 0) return false;\r\n if(d.XName != '') return false;\r\n if(d.FirstName != '') return false;\r\n if(d.MiddleName != '') return false;\r\n if(d.LastName != '') return false;\r\n if(d.Address != '') return false;\r\n if(d.Address2 != '') return false;\r\n if(d.City != '') return false;\r\n if(d.State != '') return false;\r\n if(d.Zip != '') return false;\r\n if(d.Country != '') return false;\r\n if(d.Mobile != '') return false;\r\n if(d.SSN != '') return false;\r\n if(d.Gender != '') return false;\r\n if(d.BirthDate != '') return false;\r\n if(d.PictureFile != '') return false;\r\n if(d.CreateDate != GlobalObjects.gMinDate) return false;\r\n if(d.UpdateDate != GlobalObjects.gMinDate) return false;\r\n if(d.TenantId != '') return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isEmptyList (aList: XUserInfo[]) : boolean\r\n {\r\n if (aList == null || aList.length < 1) return true;\r\n for (let i = 0; i < aList.length; i++)\r\n {\r\n if (!XUserInfo.isEmpty(aList[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply check all the fields, 1M, 11 reference only\r\n static isSame (d1: XUserInfo, d2: XUserInfo) : boolean\r\n {\r\n if(d1.XUserInfo_ID != d2.XUserInfo_ID) return false;\r\n if(d1.XName != d2.XName) return false;\r\n if(d1.FirstName != d2.FirstName) return false;\r\n if(d1.MiddleName != d2.MiddleName) return false;\r\n if(d1.LastName != d2.LastName) return false;\r\n if(d1.Address != d2.Address) return false;\r\n if(d1.Address2 != d2.Address2) return false;\r\n if(d1.City != d2.City) return false;\r\n if(d1.State != d2.State) return false;\r\n if(d1.Zip != d2.Zip) return false;\r\n if(d1.Country != d2.Country) return false;\r\n if(d1.Mobile != d2.Mobile) return false;\r\n if(d1.SSN != d2.SSN) return false;\r\n if(d1.Gender != d2.Gender) return false;\r\n if(d1.BirthDate != d2.BirthDate) return false;\r\n if(d1.PictureFile != d2.PictureFile) return false;\r\n if(d1.CreateDate != d2.CreateDate) return false;\r\n if(d1.UpdateDate != d2.UpdateDate) return false;\r\n if(d1.TenantId != d2.TenantId) return false;\r\n //----Extra\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n static isSameList(aList1: XUserInfo[], aList2: XUserInfo[]) : boolean\r\n {\r\n if(aList1 == null && aList2 == null) return true;\r\n if(aList1 == null || aList2 == null) return false;\r\n if(aList1.length != aList2.length) return false;\r\n for (let i = 0; i < aList1.length; i++)\r\n {\r\n if (!XUserInfo.isSame(aList1[i], aList2[i])) return false;\r\n }\r\n return true;\r\n }\r\n \r\n //----------------------------------------\r\n //--Simply copy a record, reference data only for 1M and 11\r\n static Copy (d:XUserInfo) : any\r\n {\r\n if(d == null) return null;\r\n let r = new XUserInfo();\r\n if(d.XUserInfo_ID != null) r.XUserInfo_ID = d.XUserInfo_ID\r\n if(d.XName != null) r.XName = d.XName\r\n if(d.FirstName != null) r.FirstName = d.FirstName\r\n if(d.MiddleName != null) r.MiddleName = d.MiddleName\r\n if(d.LastName != null) r.LastName = d.LastName\r\n if(d.Address != null) r.Address = d.Address\r\n if(d.Address2 != null) r.Address2 = d.Address2\r\n if(d.City != null) r.City = d.City\r\n if(d.State != null) r.State = d.State\r\n if(d.Zip != null) r.Zip = d.Zip\r\n if(d.Country != null) r.Country = d.Country\r\n if(d.Mobile != null) r.Mobile = d.Mobile\r\n if(d.SSN != null) r.SSN = d.SSN\r\n if(d.Gender != null) r.Gender = d.Gender\r\n if(d.BirthDate != null) r.BirthDate = d.BirthDate\r\n if(d.PictureFile != null) r.PictureFile = d.PictureFile\r\n if(d.CreateDate != null || d.CreateDate <= GlobalObjects.gMinDate) r.CreateDate = d.CreateDate\r\n if(d.UpdateDate != null || d.UpdateDate <= GlobalObjects.gMinDate) r.UpdateDate = d.UpdateDate\r\n if(d.TenantId != null) r.TenantId = d.TenantId\r\n //----Extra\r\n return r;\r\n }\r\n \r\n //----------------------------------------\r\n static CopyList(aList: XUserInfo[]) : any\r\n {\r\n if(aList == null) return null;\r\n var rList = [];\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n rList.push(XUserInfo.Copy(aList[i]));\r\n i++;\r\n }\r\n return rList;\r\n }\r\n \r\n //----------------------------------------\r\n //---Simply Fix Record data, extra 1M, 11 only\r\n static FixData (d:XUserInfo)\r\n {\r\n if(d.XUserInfo_ID == null) d.XUserInfo_ID = 0;\r\n if(d.XName == null) d.XName = '';\r\n if(d.FirstName == null) d.FirstName = '';\r\n if(d.MiddleName == null) d.MiddleName = '';\r\n if(d.LastName == null) d.LastName = '';\r\n if(d.Address == null) d.Address = '';\r\n if(d.Address2 == null) d.Address2 = '';\r\n if(d.City == null) d.City = '';\r\n if(d.State == null) d.State = '';\r\n if(d.Zip == null) d.Zip = '';\r\n if(d.Country == null) d.Country = '';\r\n if(d.Mobile == null) d.Mobile = '';\r\n if(d.SSN == null) d.SSN = '';\r\n if(d.Gender == null) d.Gender = '';\r\n if(d.BirthDate == null) d.BirthDate = '';\r\n if(d.PictureFile == null) d.PictureFile = '';\r\n if(d.CreateDate == null || d.CreateDate <= GlobalObjects.gMinDate) d.CreateDate = new Date();\r\n if(d.UpdateDate == null || d.UpdateDate <= GlobalObjects.gMinDate) d.UpdateDate = new Date();\r\n if(d.TenantId == null) d.TenantId = '';\r\n //----Extra\r\n }\r\n //----------------------------------------\r\n static FixDataList (aList:XUserInfo[])\r\n {\r\n if(aList == null) return;\r\n let i = 0;\r\n while(i < aList.length){\r\n XUserInfo.FixData(aList[i]);\r\n i++;\r\n }\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return object of the list\r\n static Find (id:any, aList:XUserInfo[]) : any\r\n {\r\n if(id <= 0 || aList == null) return null;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XUserInfo_ID == id) return aList[i];\r\n i++;\r\n }\r\n return null;\r\n }\r\n \r\n //----------------------------------------\r\n //--find by id, return index in the list\r\n static FindIdx (id:any, aList:XUserInfo[]) : any\r\n {\r\n if(id <= 0 || aList == null) return -1;\r\n let i = 0;\r\n while (i < aList.length)\r\n {\r\n if(aList[i].XUserInfo_ID == id) return i;\r\n i++;\r\n }\r\n return -1;\r\n }\r\n \r\n\r\n\r\n}\r\n","//--KEEP:\r\n//#############################################################\r\n//## OrganizationDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { Organization } from \"../model/organization.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { MapInfoWindow, MapMarker, GoogleMap } from '@angular/google-maps'\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { OrganizationDialog } from './organizationDialog.component';\r\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { State } from \"../model/state.model\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XLogoPlay } from \"../common/XLogoPlay.component\";\r\nimport { XPicturePlay } from \"../common/XPicturePlay.component\";\r\nimport { Facility } from \"../model/facility.model\";\r\nimport { AppKey } from \"../model/appkey.model\";\r\nimport { AppFeature } from \"../model/appfeature.model\";\r\nimport { MasterAppFeature } from \"../model/masterappfeature.model\";\r\n\r\nimport { XFrontPage } from \"../model/xfrontpage.model\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\nimport { XFrontPageDataSource } from \"../model/xfrontpage.datasource\";\r\n\r\nimport { AppKeyDataListViewComponent } from \"../AppKey/appkeyDataListView.component\";\r\nimport { AppFeatureDataListViewComponent } from \"../appfeature/appfeatureDataListView.component\";\r\nimport { FacilityDataListViewComponent } from \"../facility/facilityDataListView.component\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"organizationDataPage\",\r\n templateUrl: \"organizationDataPage.component.html\",\r\n styleUrls: ['./organization.component.css']\r\n})\r\nexport class OrganizationDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n @ViewChild(XLogoPlay) xlogoplay?: XLogoPlay;\r\n @ViewChild(XPicturePlay) xpictureplay?: XPicturePlay;\r\n @ViewChild(AppKeyDataListViewComponent) appkeyDataListView?: AppKeyDataListViewComponent;\r\n @ViewChild(AppFeatureDataListViewComponent) appfeatureDataListView?: AppFeatureDataListViewComponent;\r\n @ViewChild(FacilityDataListViewComponent) facilityDataListView?: FacilityDataListViewComponent;\r\n @ViewChild(GoogleMap, { static: false }) map?: GoogleMap;\r\n @ViewChild(MapInfoWindow, { static: false }) info?: MapInfoWindow;\r\n\r\n public organizationsPerPage = 4;\r\n public selectedPage = 1;\r\n public organizations: Organization[] = [];\r\n public organization: Organization = new Organization();\r\n\r\n public xfrontpage: XFrontPage = new XFrontPage();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public curXItemLogo: XItem = new XItem(-1, '', '', false, 0, false);\r\n public curXItem: XItem = new XItem(-1, '', '', false, 0, false);\r\n public userPrvg = GlobalObjects.gUserPrvg;\r\n\r\n public mapKey = \"key=AIzaSyCOZbYKQZAC0cn4tKPuGY8VpevX_JBfOVY\";\r\n\r\n public states: State[] = [];\r\n public masterAppFeatures: MasterAppFeature[] = [];\r\n public params: any;\r\n\r\n public sFilterOrganization: string = '';\r\n\r\n public FilterOrganization_ID: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterLogoFile: string = '';\r\n public FilterLogoFileAltText: string = '';\r\n public FilterPictureFile: string = '';\r\n public FilterPictureFileAltText: string = '';\r\n public FilterURL: string = '';\r\n public FilterURLText: string = '';\r\n public FilterAddress: string = '';\r\n public FilterAddress2: string = '';\r\n public FilterCity: string = '';\r\n public FilterState: string = '';\r\n public FilterZip: string = '';\r\n public FilterCountry: string = '';\r\n public FilterPhone: string = '';\r\n public FilterContent: string = '';\r\n public FilterLongitude: string = '';\r\n public FilterLatitude: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterFacility_ID: string = '';\r\n\r\n public zoom = 12;\r\n\r\n public center: google.maps.LatLngLiteral = { lat: 46.847902, lng: -114.047528 };\r\n\r\n /*\r\n public options: google.maps.MapOptions = {\r\n zoomControl: false,\r\n scrollwheel: false,\r\n disableDoubleClickZoom: true,\r\n mapTypeId: 'hybrid',\r\n maxZoom: 15,\r\n minZoom: 8,\r\n }\r\n markers = []\r\n infoContent = '';\r\n */\r\n\r\n constructor(\r\n private dataSource: OrganizationDataSource,\r\n private dataSourceXFrontPage: XFrontPageDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n this.states = GlobalHelpers.gStates;\r\n this.masterAppFeatures = GlobalHelpers.gMasterAppFeatures;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //GlobalHelpers.loadGoogleMapScript();\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'OrganizationDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"OrganizationDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('OrganizationDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowOrganization = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterOrganization = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.organization = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.organizations = this.params.data;\r\n }\r\n }\r\n\r\n if (this.fetchDb == 999) { //--to Save\r\n if (this.organization != null) {\r\n if (this.organization.Organization_ID > 0) this.saveOrganization(true);\r\n else this.saveNewOrganization(true);\r\n }\r\n }\r\n else {\r\n if (this.selectedRowOrganization < 0) this.getOrganization(this.Id);\r\n if (this.organizations == null) {\r\n this.getDataFromStack();\r\n if (this.organizations == null && this.fetchDb == 1) this.listOrganization(0);\r\n }\r\n }\r\n this.showOrganization(this.organization);\r\n }\r\n }\r\n\r\n //-----CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n saveLogoFile() {\r\n if (this.xlogoplay != null) {\r\n this.organizations[this.selectedRowOrganization].PictureFile = this.organization.LogoFile = this.xlogoplay?.xitem.FileName;\r\n }\r\n }\r\n\r\n //-----CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n savePictureFile() {\r\n if (this.xpictureplay != null) {\r\n this.organizations[this.selectedRowOrganization].PictureFile = this.organization.PictureFile = this.xpictureplay?.xitem.FileName;\r\n }\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n /*--Get current postion\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.center = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n }\r\n });\r\n */\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n public Properties = 'Organization_ID,RdPrvg,WtPrvg,XName,Description,TenantId,LogoFile,LogoFileAltText,PictureFile,PictureFileAltText,URL,URLText,Address,Address2,City,State,Zip,Country,Phone,Content,Longitude,Latitude,CreateDate,UpdateDate,Facility_ID,AppKey_ID,AppFeature_ID';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowOrganization: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n\r\n public isUserAuthorized = false;\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n //----Setup Global object list--\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterOrganization_ID + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterLogoFile + '|' +\r\n this.FilterLogoFileAltText + '|' +\r\n this.FilterPictureFile + '|' +\r\n this.FilterPictureFileAltText + '|' +\r\n this.FilterURL + '|' +\r\n this.FilterURLText + '|' +\r\n this.FilterAddress + '|' +\r\n this.FilterAddress2 + '|' +\r\n this.FilterCity + '|' +\r\n this.FilterState + '|' +\r\n this.FilterZip + '|' +\r\n this.FilterCountry + '|' +\r\n this.FilterPhone + '|' +\r\n this.FilterContent + '|' +\r\n this.FilterLongitude + '|' +\r\n this.FilterLatitude + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterFacility_ID;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterOrganization_ID = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterLogoFile = slist[i]; i++;\r\n this.FilterLogoFileAltText = slist[i]; i++;\r\n this.FilterPictureFile = slist[i]; i++;\r\n this.FilterPictureFileAltText = slist[i]; i++;\r\n this.FilterURL = slist[i]; i++;\r\n this.FilterURLText = slist[i]; i++;\r\n this.FilterAddress = slist[i]; i++;\r\n this.FilterAddress2 = slist[i]; i++;\r\n this.FilterCity = slist[i]; i++;\r\n this.FilterState = slist[i]; i++;\r\n this.FilterZip = slist[i]; i++;\r\n this.FilterCountry = slist[i]; i++;\r\n this.FilterPhone = slist[i]; i++;\r\n this.FilterContent = slist[i]; i++;\r\n this.FilterLongitude = slist[i]; i++;\r\n this.FilterLatitude = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterFacility_ID = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterOrganization() {\r\n this.sFilterOrganization = '';\r\n if (this.FilterOrganization_ID != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Organization_ID like '%\" + this.FilterOrganization_ID + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterLogoFile != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" LogoFile like '%\" + this.FilterLogoFile + \"%' \";\r\n }\r\n if (this.FilterLogoFileAltText != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" LogoFileAltText like '%\" + this.FilterLogoFileAltText + \"%' \";\r\n }\r\n if (this.FilterPictureFile != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" PictureFile like '%\" + this.FilterPictureFile + \"%' \";\r\n }\r\n if (this.FilterPictureFileAltText != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" PictureFileAltText like '%\" + this.FilterPictureFileAltText + \"%' \";\r\n }\r\n if (this.FilterURL != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" URL like '%\" + this.FilterURL + \"%' \";\r\n }\r\n if (this.FilterURLText != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" URLText like '%\" + this.FilterURLText + \"%' \";\r\n }\r\n if (this.FilterAddress != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Address like '%\" + this.FilterAddress + \"%' \";\r\n }\r\n if (this.FilterAddress2 != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Address2 like '%\" + this.FilterAddress2 + \"%' \";\r\n }\r\n if (this.FilterCity != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" City like '%\" + this.FilterCity + \"%' \";\r\n }\r\n if (this.FilterState != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" State like '%\" + this.FilterState + \"%' \";\r\n }\r\n if (this.FilterZip != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Zip like '%\" + this.FilterZip + \"%' \";\r\n }\r\n if (this.FilterCountry != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Country like '%\" + this.FilterCountry + \"%' \";\r\n }\r\n if (this.FilterPhone != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Phone like '%\" + this.FilterPhone + \"%' \";\r\n }\r\n if (this.FilterContent != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Content like '%\" + this.FilterContent + \"%' \";\r\n }\r\n if (this.FilterLongitude != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Longitude like '%\" + this.FilterLongitude + \"%' \";\r\n }\r\n if (this.FilterLatitude != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Latitude like '%\" + this.FilterLatitude + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterFacility_ID != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Facility_ID like '%\" + this.FilterFacility_ID + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'Organization_ID') this.FilterOrganization_ID = svalue;\r\n else if (sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'Description') this.FilterDescription = svalue;\r\n else if (sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if (sname == 'LogoFile') this.FilterLogoFile = svalue;\r\n else if (sname == 'LogoFileAltText') this.FilterLogoFileAltText = svalue;\r\n else if (sname == 'PictureFile') this.FilterPictureFile = svalue;\r\n else if (sname == 'PictureFileAltText') this.FilterPictureFileAltText = svalue;\r\n else if (sname == 'URL') this.FilterURL = svalue;\r\n else if (sname == 'URLText') this.FilterURLText = svalue;\r\n else if (sname == 'Address') this.FilterAddress = svalue;\r\n else if (sname == 'Address2') this.FilterAddress2 = svalue;\r\n else if (sname == 'City') this.FilterCity = svalue;\r\n else if (sname == 'State') this.FilterState = svalue;\r\n else if (sname == 'Zip') this.FilterZip = svalue;\r\n else if (sname == 'Country') this.FilterCountry = svalue;\r\n else if (sname == 'Phone') this.FilterPhone = svalue;\r\n else if (sname == 'Content') this.FilterContent = svalue;\r\n else if (sname == 'Longitude') this.FilterLongitude = svalue;\r\n else if (sname == 'Latitude') this.FilterLatitude = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if (sname == 'Facility_ID') this.FilterFacility_ID = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('organizationDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeOrganization() {\r\n var tenantId = this.organization.TenantId;\r\n this.organization = new Organization();\r\n this.organization.TenantId = tenantId;\r\n this.InitialAppData();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n InitialAppData() {\r\n if (this.organization.aAppFeature_IDList == null || this.organization.aAppFeature_IDList.length <= 0) {\r\n this.organization.aAppFeature_IDList = this.makeFromMasterAppFeatures();\r\n }\r\n if (this.organization.aAppKey_IDList == null || this.organization.aAppKey_IDList.length <= 0) {\r\n this.organization.aAppKey_IDList = this.makeAppKeys();\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n public makeFromMasterAppFeatures() {\r\n var alist = [];\r\n for (var i = 0; i < GlobalHelpers.gMasterAppFeatures.length; i++) {\r\n var a = new AppFeature();\r\n a.XName = GlobalHelpers.gMasterAppFeatures[i].XName;\r\n a.Action = GlobalHelpers.gMasterAppFeatures[i].Action;\r\n a.Description = GlobalHelpers.gMasterAppFeatures[i].Description;\r\n a.Tag = GlobalHelpers.gMasterAppFeatures[i].Tag;\r\n a.TenantId = GlobalObjects.gTenantId;\r\n a.IsActive = true;\r\n a.Action = GlobalHelpers.gMasterAppFeatures[i].Action;\r\n alist.push(a);\r\n }\r\n return alist;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n public makeAppKeys() {\r\n var alist = [];\r\n var i = 1;\r\n var a1 = new AppKey();\r\n a1.XName = \"GoogleMap_IOS\";\r\n a1.GrpID = -1;\r\n a1.Description = \"Google Map IOS API key\";\r\n a1.Key = \"key-value-\" + i;\r\n a1.TenantId = GlobalObjects.gTenantId;\r\n alist.push(a1);\r\n i++;\r\n var a2 = new AppKey();\r\n a2.XName = \"GoogleMap_Android\";\r\n a2.GrpID = -1;\r\n a2.Description = \"Google Map Android API key\";\r\n a2.Key = \"key-value-\" + i;\r\n a2.TenantId = GlobalObjects.gTenantId;\r\n alist.push(a2);\r\n i++;\r\n var a3 = new AppKey();\r\n a3.XName = \"GoogleMap_Android\";\r\n a3.GrpID = -1;\r\n a3.Description = \"Google Map Web API key\";\r\n a3.Key = \"key-value-\" + i;\r\n a3.TenantId = GlobalObjects.gTenantId;\r\n alist.push(a3);\r\n i++;\r\n return alist;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of Organization from database \r\n //--Id is object Id, to be as the current\r\n listOrganization(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"OrganizationDataPage\", \"listOrganization\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterOrganization;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getOrganizations(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.organizations = data.Data.organizations;\r\n if(this.organizations == null) this.organizations = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.organizations = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectOrganization(data: Organization | null) {\r\n if (data == null) return;\r\n this.getOrganization(data.Organization_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getOrganization(Id: number) {\r\n if (Id <= 0 || Id == null || this.organizations == null) return;\r\n\r\n for (var i = 0; i < this.organizations.length; i++) {\r\n if (this.organizations[i].Organization_ID == Id) {\r\n this.selectedRowOrganization = i;\r\n this.setClickedRowOrganization(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n setMapCenter(latV: number, lngV: number) {\r\n this.center = {\r\n lat: latV,\r\n lng: lngV,\r\n }\r\n }\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailOrganization(datax: any) {\r\n if (datax == null) {\r\n this.InitializeOrganization();\r\n return;\r\n }\r\n if (datax.Organization_ID <= 0) {\r\n this.organization = datax;\r\n this.InitialAppData();\r\n return;\r\n }\r\n\r\n this.InitialAppData();\r\n\r\n this.loading = true;\r\n var data = Organization.Copy(datax);\r\n this.dataSource.getOrganization(data.Organization_ID, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.organization = data.Data.organization;\r\n this.selectedRowOrganization = Organization.FindIdx(this.organization.Organization_ID, this.organizations);\r\n this.setMapCenter(this.organization.Latitude, this.organization.Longitude);\r\n\r\n this.getXFrontPage();\r\n\r\n this.refreshOrganizationDataUI();\r\n }\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.InitialAppData();\r\n this.selectedRowOrganization = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n getXFrontPage() {\r\n this.loading = true;\r\n this.dataSourceXFrontPage.getXFrontPagesByKeyNAR(this.organization.TenantId, 'TenantId', 100, 1, 5, this.organization.TenantId).subscribe({\r\n next: data => {\r\n if (data.Data != null && data.Data.xfrontpages != null) {\r\n this.xfrontpage = data.Data.xfrontpages[0];\r\n this.refreshOrganizationDataUI();\r\n }\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpage = new XFrontPage();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n gotoXFrontPageData() {\r\n GParentState.Push('xfrontpageDataPage', 'organizationDataPage', this.Id, this.selectedRowOrganization, this.sFilterOrganization, this.fetchDb, this.getChild, this.readOnly, this.organization, this.organizations,\r\n this.rootData, null);\r\n this.router.navigateByUrl('xfrontpageDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"organizationDataPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xfrontpage,\r\n data: null,\r\n rootData: this.rootData,\r\n curRootData: null\r\n }\r\n }\r\n );\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showOrganization(data: Organization | null) {\r\n if (data == null) return;\r\n this.getDetailOrganization(data);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n refreshOrganizationDataUI() {\r\n this.curXItemLogo = new XItem(this.organization.Organization_ID, this.organization.XName, this.organization.LogoFile, false, 0, false);\r\n this.xlogoplay?.PlayPicture(this.curXItemLogo);\r\n this.facilityDataListView?.setFacilitys(this.organization.aFacility_IDList);\r\n this.appkeyDataListView?.setAppkeys(this.organization.aAppKey_IDList);\r\n this.appfeatureDataListView?.setAppFeatures(this.organization.aAppFeature_IDList);\r\n this.curXItem = new XItem(this.organization.Organization_ID, this.organization.XName, this.organization.PictureFile, false, 0, false);\r\n this.xpictureplay?.PlayPicture(this.curXItem);\r\n\r\n }\r\n //------------Table Row selection------------\r\n setClickedRowOrganization(index: number, data: any) {\r\n if (data != null) {\r\n var i = Organization.FindIdx(data.Organization_ID, this.organizations);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.organizations == null) {\r\n this.selectedRowOrganization = -1;\r\n return;\r\n }\r\n this.selectedRowOrganization = index;\r\n this.showOrganization(this.organizations[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemOrganization_Click() {\r\n if (this.organizations == null || this.organizations.length <= 0) return;\r\n this.setClickedRowOrganization(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemOrganization_Click() {\r\n if (this.organizations == null || this.organizations.length <= 0) return;\r\n var i = this.selectedRowOrganization - 1;\r\n if (i < 0) i = this.organizations.length - 1;\r\n this.setClickedRowOrganization(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemOrganization_Click() {\r\n if (this.organizations == null || this.organizations.length <= 0) return;\r\n var i = this.selectedRowOrganization + 1;\r\n if (i >= this.organizations.length) i = 0;\r\n this.setClickedRowOrganization(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemOrganization_Click() {\r\n if (this.organizations == null || this.organizations.length <= 0) return;\r\n var i = this.organizations.length - 1;\r\n this.setClickedRowOrganization(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.organizations = o.dataList;\r\n this.organization = o.data;\r\n this.sFilterOrganization = o.filter;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewOrganization_Click() {\r\n this.InitializeOrganization();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewOrganization_Click() {\r\n this.saveNewOrganization(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditOrganization_Click() {\r\n this.saveOrganization(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteOrganization_Click() {\r\n this.deleteOrganization(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddOrganization2List(data: any) {\r\n let iAdd = true;\r\n if (this.organizations == null) this.organizations = [];\r\n else {\r\n for (let i = 0; i < this.organizations.length; i++) {\r\n if (this.organizations[i].Organization_ID == data.Organization_ID) {\r\n this.organizations[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.organizations.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n isSaveAsDataReady() {\r\n if (this.organization == null ||\r\n this.organization.XName == '') return false;\r\n return true;\r\n }\r\n\r\n isSaveDataReady() {\r\n if (this.organization == null ||\r\n this.organization.Organization_ID <= 0 ||\r\n this.organization.XName == '') return false;\r\n return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveOrganization(saveDB: boolean) {\r\n if (this.organization == null || this.organization.Organization_ID <= 0) return;\r\n if (this.curXItemLogo.FileName != '') this.organization.LogoFile = this.curXItemLogo.FileName;\r\n if (this.curXItem.FileName != '') this.organization.PictureFile = this.curXItem.FileName;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Organization\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddOrganization2List(this.organization);\r\n }\r\n else {\r\n this.dataSource.updateOrganization(1, this.organization).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data.Data != null) {\r\n this.organization = data.Data.Organization;\r\n var a = GlobalObjects.gLogoCtrl;\r\n if (a != null && a.length > 0) {\r\n a.attr(\"src\", GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + this.organization.LogoFile);\r\n }\r\n alert(\"Update Organization successful: \" + this.organization.XName);\r\n }\r\n else {\r\n alert(\"Update Organization failed: \" + this.organization.XName);\r\n }\r\n\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n console.log(error.toString());\r\n alert(\"Update Organization failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setMapCenter(this.organization.Latitude, this.organization.Longitude);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n\r\n }\r\n }\r\n //----------------------------------------------------------------------------------------------\r\n fixFacilityId(o: Organization | any) {\r\n if (o == null) return;\r\n o.Facility_ID = -1;\r\n if (o.aFacility_IDList != null && o.aFacility_IDList.length > 0) {\r\n for (var i = 0; i < o.aFacility_IDList.length; i++) {\r\n this.fixSubFacilityId(o.aFacility_IDList[i]);\r\n }\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n fixSubFacilityId(a: Facility) {\r\n if (a == null) return;\r\n a.Facility_ID = -1;\r\n a.GrpID = -1;\r\n if (a.aSubFacility_IDList != null && a.aSubFacility_IDList.length > 0) {\r\n for (var i = 0; i < a.aSubFacility_IDList.length; i++) {\r\n this.fixSubFacilityId(a.aSubFacility_IDList[i]);\r\n }\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)--------------------------------------\r\n saveNewOrganization(saveDB: boolean) {\r\n if (this.curXItemLogo.FileName != '') this.organization.LogoFile = this.curXItemLogo.FileName;\r\n if (this.curXItem.FileName != '') this.organization.PictureFile = this.curXItem.FileName;\r\n let a = Organization.Copy(this.organization);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Organization\", \"SaveNewData \" + saveDB);\r\n a.Organization_ID = -1;\r\n this.fixFacilityId(a);\r\n if (!saveDB) {\r\n this.AddOrganization2List(a);\r\n }\r\n else {\r\n this.dataSource.addOrganization(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data.Data != null) {\r\n this.organization = data.Data.Organization;\r\n var a = GlobalObjects.gLogoCtrl;\r\n if (a != null && a.length > 0) {\r\n a.attr(\"src\", GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + this.organization.LogoFile);\r\n }\r\n alert(data.Message);\r\n }\r\n else {\r\n alert(\"Add Organization failed: \" + this.organization.XName);\r\n }\r\n\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n console.log(error.toString());\r\n alert(\"Add Organization failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteOrganization(delDB: boolean) {\r\n if (this.organizations != null && this.organizations.length > 0 && this.organization.Organization_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the Organization: \" + this.organization.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the Organization to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"Organization\", \"DeleteData \" + this.organization.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.organizations.indexOf(this.organization);\r\n if (idx >= 0) {\r\n this.organizations.splice(idx, 1);\r\n this.InitializeOrganization();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = OrganizationService.deleteOrganization(this.Organization.Organization_ID);\r\n this.dataSource.deleteOrganizationById(this.organization.Organization_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"Delete Organization successful: \" + this.organization.XName);\r\n else alert(\"Delete Organization failed: \" + this.organization.XName);\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.InitializeOrganization();\r\n alert(\"Delete Organization failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n //====OPENDIALOG calls: Organization ==========\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'OrganizationDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

Organization Data

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowOrganization}} of {{organizations?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## OrganizationDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { OrganizationDataSource } from '../model/organization.datasource';\r\n\r\nimport { Organization } from 'src/app/model/organization.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'organizationdata-content',\r\n templateUrl: './organizationDialog.component.html'\r\n})\r\nexport class OrganizationDialog implements OnInit {\r\n @Input() organization: Organization = new Organization();\r\n @Input() organizations: Organization[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: OrganizationDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.organizations == null) return;\r\n this.index = Organization.FindIdx(this.organization.Organization_ID, this.organizations);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.organizations.length) this.index = this.organizations.length - 1;\r\n this.organization = this.organizations[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.organizations == null) return;\r\n this.index = Organization.FindIdx(this.organization.Organization_ID, this.organizations);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.organizations.length) this.index = this.organizations.length - 1;\r\n this.organization = this.organizations[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getOrganization(this.organization.Organization_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.organization = data.Data.Organization;\r\n }\r\n else this.organization = new Organization();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.organization = new Organization();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.organization);\r\n this.activeModal.close(this.organization);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

Organization Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","//--KEEP:\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { Organization } from \"../model/organization.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { OrganizationDialog } from './organizationDialog.component';\r\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\r\nimport { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\nimport { State } from \"../model/state.model\";\r\n\r\n\r\n@Component({\r\n selector: \"organizationPage\",\r\n templateUrl: \"organizationPage.component.html\"\r\n})\r\nexport class OrganizationPageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public organizationsPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'Organization_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowOrganization: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public organizations: Organization[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public states = GlobalHelpers.gStates;\r\n\r\n public userPrvg = GlobalObjects.gUserPrvg;\r\n \r\n constructor(\r\n private dataSource: OrganizationDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private organization: Organization,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('OrganizationPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowOrganization = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterOrganization = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.organization = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.organizations = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if (this.organizations == undefined || this.organizations.length <= 0) this.getOrganizations(1, 500, '', 100, 1, 5);\r\n console.log((\"OrganizationPage.Component construct\"));\r\n }\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n orderOrganization(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof Organization;\r\n this.sortTypeOrganization = columnName;\r\n this.sortReverseOrganization = (this.sortTypeOrganization === columnName) ? !this.sortReverseOrganization : false;\r\n\r\n if (columnName == 'XName') this.organizations = this.organizations.sort((x, y) => this.sortReverseOrganization ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'Description') this.organizations = this.organizations.sort((x, y) => this.sortReverseOrganization ? ((x.Description > y.Description) ? 1 : -1) : ((x.Description < y.Description) ? 1 : -1));\r\n else if (columnName == 'Address') this.organizations = this.organizations.sort((x, y) => this.sortReverseOrganization ? ((x.Address > y.Address) ? 1 : -1) : ((x.Address < y.Address) ? 1 : -1));\r\n else if (columnName == 'Address2') this.organizations = this.organizations.sort((x, y) => this.sortReverseOrganization ? ((x.Address2 > y.Address2) ? 1 : -1) : ((x.Address2 < y.Address2) ? 1 : -1));\r\n else if (columnName == 'UpdateDate') this.organizations = this.organizations.sort((x, y) => this.sortReverseOrganization ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n else if (columnName == 'Facility_ID') this.organizations = this.organizations.sort((x, y) => this.sortReverseOrganization ? ((x.Facility_ID > y.Facility_ID) ? 1 : -1) : ((x.Facility_ID < y.Facility_ID) ? 1 : -1));\r\n\r\n\r\n this.selectedRowOrganization = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getOrganizations(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getOrganizations(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.organizations = data.Data.organizations;\r\n if(this.organizations == null) this.organizations = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.organizations = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a Organization-------------------\r\n addOrganization(organization: Organization) {\r\n this.dataSource.addOrganization(1, organization).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.organization = data.Data.Organization;\r\n alert(\"Add Organization successful\");\r\n }\r\n else alert(\"Add Organization failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.organization = new Organization();\r\n alert(\"ERROR: Add Organization failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateOrganization(organization: Organization) {\r\n this.dataSource.updateOrganization(1, organization).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.organization = data.Data.Organization;\r\n alert(\"Update Organization successful\");\r\n }\r\n else alert(\"Update Organization failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.organization = new Organization();\r\n alert(\"ERROR: Delete Organization failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteOrganization(id: number) {\r\n this.dataSource.deleteOrganizationById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"Delete Organization successful\");\r\n else alert(\"Delete Organization failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.organization = new Organization();\r\n alert(\"ERROR: Delete Organization failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddOrganization_Click() {\r\n this.organization = new Organization();\r\n GParentState.Push('organizationDataPage', 'organizationPage', this.Id, this.selectedRowOrganization, this.sFilterOrganization, this.fetchDb, this.getChild, this.readOnly, this.organization, this.organizations,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('organizationDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"OrganizationPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.organization,\r\n data: this.organizations,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showOrganizationDetail(organization: Organization) {\r\n var idx = Organization.FindIdx(organization.Organization_ID, this.organizations);\r\n\r\n const modalRef = this.modalService.open(OrganizationDialog);\r\n modalRef.componentInstance.organizations = this.organizations;\r\n modalRef.componentInstance.organization = organization;\r\n modalRef.componentInstance.title = 'Organization data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n public currentPage = 0;\r\n public currentOrganizations: Organization[] = [];\r\n\r\n public sortTypeOrganization = '';\r\n public sortReverseOrganization = false;\r\n\r\n //----Setup Global object list--\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n public sFilterOrganization: string = '';\r\n\r\n public FilterOrganization_ID: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterLogoFile: string = '';\r\n public FilterLogoFileAltText: string = '';\r\n public FilterPictureFile: string = '';\r\n public FilterPictureFileAltText: string = '';\r\n public FilterURL: string = '';\r\n public FilterURLText: string = '';\r\n public FilterAddress: string = '';\r\n public FilterAddress2: string = '';\r\n public FilterCity: string = '';\r\n public FilterState: string = '';\r\n public FilterZip: string = '';\r\n public FilterCountry: string = '';\r\n public FilterPhone: string = '';\r\n public FilterContent: string = '';\r\n public FilterLongitude: string = '';\r\n public FilterLatitude: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterFacility_ID: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterOrganization_ID + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterLogoFile + '|' +\r\n this.FilterLogoFileAltText + '|' +\r\n this.FilterPictureFile + '|' +\r\n this.FilterPictureFileAltText + '|' +\r\n this.FilterURL + '|' +\r\n this.FilterURLText + '|' +\r\n this.FilterAddress + '|' +\r\n this.FilterAddress2 + '|' +\r\n this.FilterCity + '|' +\r\n this.FilterState + '|' +\r\n this.FilterZip + '|' +\r\n this.FilterCountry + '|' +\r\n this.FilterPhone + '|' +\r\n this.FilterContent + '|' +\r\n this.FilterLongitude + '|' +\r\n this.FilterLatitude + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterFacility_ID;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterOrganization_ID = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterLogoFile = slist[i]; i++;\r\n this.FilterLogoFileAltText = slist[i]; i++;\r\n this.FilterPictureFile = slist[i]; i++;\r\n this.FilterPictureFileAltText = slist[i]; i++;\r\n this.FilterURL = slist[i]; i++;\r\n this.FilterURLText = slist[i]; i++;\r\n this.FilterAddress = slist[i]; i++;\r\n this.FilterAddress2 = slist[i]; i++;\r\n this.FilterCity = slist[i]; i++;\r\n this.FilterState = slist[i]; i++;\r\n this.FilterZip = slist[i]; i++;\r\n this.FilterCountry = slist[i]; i++;\r\n this.FilterPhone = slist[i]; i++;\r\n this.FilterContent = slist[i]; i++;\r\n this.FilterLongitude = slist[i]; i++;\r\n this.FilterLatitude = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterFacility_ID = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterOrganization() {\r\n this.sFilterOrganization = '';\r\n if (this.FilterOrganization_ID != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Organization_ID like '%\" + this.FilterOrganization_ID + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterLogoFile != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" LogoFile like '%\" + this.FilterLogoFile + \"%' \";\r\n }\r\n if (this.FilterLogoFileAltText != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" LogoFileAltText like '%\" + this.FilterLogoFileAltText + \"%' \";\r\n }\r\n if (this.FilterPictureFile != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" PictureFile like '%\" + this.FilterPictureFile + \"%' \";\r\n }\r\n if (this.FilterPictureFileAltText != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" PictureFileAltText like '%\" + this.FilterPictureFileAltText + \"%' \";\r\n }\r\n if (this.FilterURL != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" URL like '%\" + this.FilterURL + \"%' \";\r\n }\r\n if (this.FilterURLText != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" URLText like '%\" + this.FilterURLText + \"%' \";\r\n }\r\n if (this.FilterAddress != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Address like '%\" + this.FilterAddress + \"%' \";\r\n }\r\n if (this.FilterAddress2 != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Address2 like '%\" + this.FilterAddress2 + \"%' \";\r\n }\r\n if (this.FilterCity != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" City like '%\" + this.FilterCity + \"%' \";\r\n }\r\n if (this.FilterState != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" State like '%\" + this.FilterState + \"%' \";\r\n }\r\n if (this.FilterZip != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Zip like '%\" + this.FilterZip + \"%' \";\r\n }\r\n if (this.FilterCountry != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Country like '%\" + this.FilterCountry + \"%' \";\r\n }\r\n if (this.FilterPhone != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Phone like '%\" + this.FilterPhone + \"%' \";\r\n }\r\n if (this.FilterContent != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Content like '%\" + this.FilterContent + \"%' \";\r\n }\r\n if (this.FilterLongitude != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Longitude like '%\" + this.FilterLongitude + \"%' \";\r\n }\r\n if (this.FilterLatitude != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Latitude like '%\" + this.FilterLatitude + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterFacility_ID != '') {\r\n if (this.sFilterOrganization != '') this.sFilterOrganization += \" AND \";\r\n this.sFilterOrganization += \" Facility_ID like '%\" + this.FilterFacility_ID + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'Organization_ID') this.FilterOrganization_ID = svalue;\r\n else if (sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'Description') this.FilterDescription = svalue;\r\n else if (sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if (sname == 'LogoFile') this.FilterLogoFile = svalue;\r\n else if (sname == 'LogoFileAltText') this.FilterLogoFileAltText = svalue;\r\n else if (sname == 'PictureFile') this.FilterPictureFile = svalue;\r\n else if (sname == 'PictureFileAltText') this.FilterPictureFileAltText = svalue;\r\n else if (sname == 'URL') this.FilterURL = svalue;\r\n else if (sname == 'URLText') this.FilterURLText = svalue;\r\n else if (sname == 'Address') this.FilterAddress = svalue;\r\n else if (sname == 'Address2') this.FilterAddress2 = svalue;\r\n else if (sname == 'City') this.FilterCity = svalue;\r\n else if (sname == 'State') this.FilterState = svalue;\r\n else if (sname == 'Zip') this.FilterZip = svalue;\r\n else if (sname == 'Country') this.FilterCountry = svalue;\r\n else if (sname == 'Phone') this.FilterPhone = svalue;\r\n else if (sname == 'Content') this.FilterContent = svalue;\r\n else if (sname == 'Longitude') this.FilterLongitude = svalue;\r\n else if (sname == 'Latitude') this.FilterLatitude = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if (sname == 'Facility_ID') this.FilterFacility_ID = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('organizationPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit() {\r\n this.FilterOrganization_ID = '';\r\n this.FilterRdPrvg = '';\r\n this.FilterXName = '';\r\n this.FilterDescription = '';\r\n this.FilterTenantId = '';\r\n this.FilterLogoFile = '';\r\n this.FilterLogoFileAltText = '';\r\n this.FilterPictureFile = '';\r\n this.FilterPictureFileAltText = '';\r\n this.FilterURL = '';\r\n this.FilterURLText = '';\r\n this.FilterAddress = '';\r\n this.FilterAddress2 = '';\r\n this.FilterCity = '';\r\n this.FilterState = '';\r\n this.FilterZip = '';\r\n this.FilterCountry = '';\r\n this.FilterPhone = '';\r\n this.FilterContent = '';\r\n this.FilterLongitude = '';\r\n this.FilterLatitude = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n this.FilterFacility_ID = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.organizations = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentOrganizations = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.organizations.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentOrganizations = this.organizations;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.organizations.length) iEItem = this.organizations.length;\r\n this.currentOrganizations = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentOrganizations.push(this.organizations[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.organizations == null || this.organizations.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentOrganizations = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.Organizations.length) this.itemsPerPage = this.Organizations.length;\r\n var nPages = 0;\r\n if (this.organizations != null) nPages = Math.ceil(this.organizations.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //---------------------List Organization records:using ListOrganizationByFile-------------------------------------------------------------\r\n listOrganization(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterOrganization();\r\n if (!fLoadAll && this.sFilterOrganization == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"OrganizationPage\", \"listOrganization\");\r\n\r\n //var srListData = OrganizationService.ListOrganization(iBegId, nMax, this.sFilterOrganization, nGetChild, nMaxLevel);\r\n this.dataSource.ListOrganizationByFile('Organization_QueryFile.sql', 'ListOrganization', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.organizations = data.Data.organizations;\r\n if(this.organizations == null) this.organizations = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('OrganizationDataPage', this.MakeFilterString(), this.organizations, this.organization);\r\n\r\n this.selectPage(1);\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.organizations = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no organization data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showOrganization(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowOrganization = Organization.FindIdx(adata.Organization_ID, this.organizations);\r\n if (this.selectedRowOrganization >= 0 && this.selectedRowOrganization < this.organizations.length) adata = this.organizations[this.selectedRowOrganization];\r\n else return;\r\n }\r\n this.organization = adata;\r\n GParentState.Push('organizationDataPage', 'organizationPage', this.Id, this.selectedRowOrganization, this.sFilterOrganization, this.fetchDb, this.getChild, this.readOnly, this.organization, this.organizations,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('organizationDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"OrganizationPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.organization,\r\n data: this.organizations,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listOrganization(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterOrganization = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowOrganization(index: number, data: any) {\r\n if (data != null) {\r\n var i = Organization.FindIdx(data.Organization_ID, this.organizations);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.organizations == null) {\r\n this.selectedRowOrganization = -1;\r\n return;\r\n }\r\n this.selectedRowOrganization = index;\r\n this.showOrganization(this.organizations[this.selectedRowOrganization]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgOrganization tr.data')[this.selectedRowOrganization];\r\n var container = $('#dgOrganizationDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.organizations = o.dataList;\r\n this.organization = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.organizations != null) nPages = Math.ceil(this.organizations.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n\r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgOrganizationDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","\r\n
\r\n
\r\n

Organization Administration

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Name\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n \r\n Address\r\n \r\n \r\n \r\n City\r\n \r\n \r\n \r\n State\r\n \r\n \r\n \r\n Zip\r\n \r\n \r\n
\r\n \r\n {{x.XName}}{{x.Description}}{{x.Address}}{{x.City}}{{x.State}}{{x.Zip}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## OrganizationSelectDialog.component.js\r\n//## Dialog (HTML) Javascript class for ChildSelection\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { Organization } from 'src/app/model/organization.model';\r\nimport { OrganizationDataSource } from '../model/organization.datasource';\r\n\r\n\r\n@Component({\r\n selector: 'modal-content',\r\n templateUrl: './organizationSelectDialog.component.html'\r\n})\r\nexport class OrganizationSelectDialog implements OnInit {\r\n @Input() organizations: Organization[] = [];\r\n @Input() organization: Organization = new Organization();\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public errorMessage = '';\r\n\r\n public sFilterOrganization = '';\r\n public loading = false;\r\n public iSelected = -1;\r\n\r\n public event: EventEmitter = new EventEmitter();\r\n\r\n constructor(public activeModal: NgbActiveModal, private dataSource: OrganizationDataSource) {\r\n }\r\n\r\n\r\n //------------------------------------------------------------------\r\n getOrganizations(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.organization = new Organization();\r\n this.dataSource.getOrganizations(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null && data.Data.Organizations != null){\r\n this.organizations = data.Data.Organizations;\r\n }\r\n if(this.organizations == null) this.organizations = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.organizations = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n this.getOrganizations(1, 500, '', 100, 1, 5);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onOk() {\r\n this.passEntry.emit(this.organization);\r\n this.activeModal.close(this.organization);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onCancel() {\r\n this.organization = new Organization();\r\n this.activeModal.close(this.organization);\r\n }\r\n\r\n //------------------------------------------------------\r\n //--Id is the index in the list\r\n listOrganization(Id: number) {\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = 'XName like \\'%' + this.sFilterOrganization + '%\\'' + ' OR Description like \\'%' + this.sFilterOrganization + '%\\'';\r\n var nGetChild = -1;\r\n var nMaxLevel = 3;\r\n\r\n this.dataSource.ListOrganization(iBegId, nMax, sFilter, nGetChild, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null && data.Data.Organizations != null){\r\n this.organizations = data.Data.Organizations;\r\n }\r\n if(this.organizations == null) this.organizations = [];\r\n if(Id >= 0 && Id < this.organizations.length)\r\n this.organization = this.organizations[Id];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.organizations = [];\r\n this.organization = new Organization();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectOrganization(data: Organization) {\r\n this.organization = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listOrganization(0);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterOrganization = \"\";\r\n }\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n

Organization Child Select

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Injectable } from \"@angular/core\";\r\n\r\nimport {\r\n ActivatedRouteSnapshot, RouterStateSnapshot,\r\n Router\r\n} from \"@angular/router\";\r\n\r\nimport { HomeComponent } from \"./home/home.component\";\r\n\r\n@Injectable()\r\nexport class StoreFirstGuard {\r\n private firstNavigation = true;\r\n\r\n constructor(private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n// if (this.firstNavigation) {\r\n// this.firstNavigation = false;\r\n// if (route.component != HomeComponent) {\r\n// var a = route.url;\r\n// this.router.navigateByUrl(\"/\");\r\n// return false;\r\n// }\r\n// }\r\n return true;\r\n }\r\n}\r\n","//--KEEP:\r\n//#############################################################\r\n//## UserSecurityQuestionDataListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { UserSecurityQuestion } from \"../model/usersecurityquestion.model\";\r\nimport { SecurityQuestion } from \"../model/securityquestion.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { UserSecurityQuestionDataSource } from \"../model/usersecurityquestion.datasource\";\r\nimport { SecurityQuestionDataSource } from \"../model/securityquestion.datasource\";\r\n\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"usersecurityquestionDataListView\",\r\n templateUrl: \"usersecurityquestionDataListView.component.html\",\r\n styleUrls: ['./usersecurityquestion.component.css']\r\n})\r\nexport class UserSecurityQuestionDataListViewComponent {\r\n @Input() usersecurityquestions: UserSecurityQuestion[] = [];\r\n public usersecurityquestion: UserSecurityQuestion = new UserSecurityQuestion();\r\n\r\n public gSecurityQuestions: SecurityQuestion[] = [];\r\n\r\n public params: any;\r\n\r\n public selectedRowUserSecurityQuestion: number = -1; //--Index in the item list\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n constructor(\r\n private dataSource: UserSecurityQuestionDataSource,\r\n private dataSourceSecQ: SecurityQuestionDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n this.getSecurityQuestions();\r\n\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'UserSecurityQuestionDataListView';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"UserSecurityQuestionDataListView\", \"load\");\r\n\r\n this.showUserSecurityQuestion(this.usersecurityquestion);\r\n }\r\n\r\n\r\n //---------------------------------------------------------------------------------------------\r\n //--Get the list of SecurityQuestion from database \r\n //--Id is object Id, to be as the current\r\n getSecurityQuestions() {\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"UserSecurityQuestionDataListView\", \"listSecurityQuestionNAR\");\r\n\r\n this.dataSourceSecQ.getSecurityQuestionsNAR(1, 500, '', 100, 1, 2).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null) this.gSecurityQuestions = data.Data.securityquestions;\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n },\r\n error: error => {\r\n this.gSecurityQuestions = [];\r\n console.log(\"ERROR: getSecurityQuestions, \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n }\r\n\r\n //-----------------------------------------------\r\n IsGoodData()\r\n {\r\n if(this.usersecurityquestion == null || this.usersecurityquestion.Question == '' || this.usersecurityquestion.Answer == '') return false;\r\n else return true;\r\n }\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeUserSecurityQuestion() {\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n let i = 1;\r\n let a = new UserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n IsDataReady() {\r\n let errorMsg = \"\";\r\n if(this.usersecurityquestions == null) return \"\\r\\nNo Security Questions entered\";\r\n if(this.usersecurityquestions.length < 3) errorMsg += \"\\r\\nAt least 3 security questions required\";\r\n for(var i=0;i= this.usersecurityquestions.length) i = 0;\r\n this.setClickedRowUserSecurityQuestion(i);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemUserSecurityQuestion_Click() {\r\n if (this.usersecurityquestions == null || this.usersecurityquestions.length <= 0) return;\r\n var i = this.usersecurityquestions.length - 1;\r\n this.setClickedRowUserSecurityQuestion(i);\r\n }\r\n\r\n public sortTypeUserSecurityQuestion = '';\r\n public sortReverseUserSecurityQuestion = false;\r\n\r\n //-----------------------------------------------------\r\n orderUserSecurityQuestion(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof UserSecurityQuestion;\r\n this.sortTypeUserSecurityQuestion = columnName;\r\n this.sortReverseUserSecurityQuestion = (this.sortTypeUserSecurityQuestion === columnName) ? !this.sortReverseUserSecurityQuestion : false;\r\n\r\n if (columnName == 'GrpID') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.GrpID > y.GrpID) ? 1 : -1) : ((x.GrpID < y.GrpID) ? 1 : -1));\r\n else if (columnName == 'XName') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'ISEQ') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.ISEQ > y.ISEQ) ? 1 : -1) : ((x.ISEQ < y.ISEQ) ? 1 : -1));\r\n else if (columnName == 'Question') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.Question > y.Question) ? 1 : -1) : ((x.Question < y.Question) ? 1 : -1));\r\n else if (columnName == 'Answer') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.Answer > y.Answer) ? 1 : -1) : ((x.Answer < y.Answer) ? 1 : -1));\r\n else if (columnName == 'UpdateDate') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n\r\n this.selectedRowUserSecurityQuestion = -1;\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewUserSecurityQuestion_Click() {\r\n this.InitializeUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewUserSecurityQuestion_Click() {\r\n this.saveNewUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditUserSecurityQuestion_Click() {\r\n this.saveUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteUserSecurityQuestion_Click() {\r\n this.deleteUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n AddUserSecurityQuestion2List(data: any, fAdd: boolean) {\r\n if (fAdd) {\r\n if (this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n this.usersecurityquestions.push(data);\r\n this.selectedRowUserSecurityQuestion = this.usersecurityquestions.length - 1;\r\n }\r\n else {\r\n if (this.selectedRowUserSecurityQuestion >= 0 && this.selectedRowUserSecurityQuestion < this.usersecurityquestions.length) {\r\n this.usersecurityquestions[this.selectedRowUserSecurityQuestion] = data;\r\n }\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveUserSecurityQuestion() {\r\n if (this.usersecurityquestion == null || this.usersecurityquestion.UserSecurityQuestion_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"saveUserSecurityQuestion\");\r\n this.AddUserSecurityQuestion2List(this.usersecurityquestion, false);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewUserSecurityQuestion() {\r\n let a = UserSecurityQuestion.Copy(this.usersecurityquestion);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"saveNewUserSecurityQuestion\");\r\n a.UserSecurityQuestion_ID = -1;\r\n this.AddUserSecurityQuestion2List(a, true);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteUserSecurityQuestion() {\r\n if (this.usersecurityquestions != null && this.usersecurityquestions.length > 0 &&\r\n this.selectedRowUserSecurityQuestion >= 0 && this.selectedRowUserSecurityQuestion < this.usersecurityquestions.length) {\r\n let ok = confirm(\"Are you sure of deleting the UserSecurityQuestion: \" + this.usersecurityquestion.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the UserSecurityQuestion to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"DeleteData \" + this.usersecurityquestion.Question);\r\n\r\n if (this.selectedRowUserSecurityQuestion >= 0) {\r\n this.usersecurityquestions.splice(this.selectedRowUserSecurityQuestion, 1);\r\n if (this.selectedRowUserSecurityQuestion >= this.usersecurityquestions.length) {\r\n this.selectedRowUserSecurityQuestion = -1;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n }\r\n else this.usersecurityquestion = this.usersecurityquestions[this.selectedRowUserSecurityQuestion];\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Security Questions\r\n \r\n \r\n
{{x.Question}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowUserSecurityQuestion}} of {{usersecurityquestions?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## UserSecurityQuestionDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { UserSecurityQuestion } from \"../model/usersecurityquestion.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { UserSecurityQuestionDialog } from './usersecurityquestionDialog.component';\r\nimport { UserSecurityQuestionDataSource } from \"../model/usersecurityquestion.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"usersecurityquestionDataPage\",\r\n templateUrl: \"usersecurityquestionDataPage.component.html\",\r\n styleUrls: ['./usersecurityquestion.component.css']\r\n})\r\nexport class UserSecurityQuestionDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n \r\n public usersecurityquestionsPerPage = 4;\r\n public selectedPage = 1;\r\n public usersecurityquestions: UserSecurityQuestion[] = [];\r\n public usersecurityquestion: UserSecurityQuestion = new UserSecurityQuestion();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'UserSecurityQuestion_ID,GrpID,XName,ISEQ,Question,Answer,CreateDate,UpdateDate,TenantId';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowUserSecurityQuestion: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n public isUserAuthorized = false;\r\n public loading = false;\r\n\r\n //----Setup Global object list--\r\n \r\n\r\n public sFilterUserSecurityQuestion:string = '';\r\n \r\n public FilterUserSecurityQuestion_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterXName: string = '';\r\n public FilterISEQ: string = '';\r\n public FilterQuestion: string = '';\r\n public FilterAnswer: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //-----------------------------------------------------------\r\n constructor(\r\n private dataSource: UserSecurityQuestionDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n \r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n \r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'UserSecurityQuestionDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"UserSecurityQuestionDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('UserSecurityQuestionDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if(this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowUserSecurityQuestion = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterUserSecurityQuestion = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.usersecurityquestion = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.usersecurityquestions = this.params.data;\r\n }\r\n }\r\n\r\n if (this.selectedRowUserSecurityQuestion < 0) this.getUserSecurityQuestion(this.Id);\r\n if (this.usersecurityquestions == null) {\r\n this.getDataFromStack();\r\n if (this.usersecurityquestions == null && this.fetchDb == 1) this.listUserSecurityQuestion(0);\r\n }\r\n this.showUserSecurityQuestion(this.usersecurityquestion);\r\n }\r\n }\r\n \r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if(this.params != null) return;\r\n if(this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n }\r\n\r\n //--------------------------------------------------------\r\n showUserSecurityQuestionDetailDialog(usersecurityquestion: UserSecurityQuestion) {\r\n const modalRef = this.modalService.open(UserSecurityQuestionDialog);\r\n modalRef.componentInstance.data = usersecurityquestion;\r\n modalRef.componentInstance.title = 'UserSecurityQuestion Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.usersecurityquestion = result;\r\n }\r\n });\r\n }\r\n\r\n//>>==================================================\r\n\r\n //------------------------------------------------\r\n isSaveDataReady(){\r\n if(this.usersecurityquestion == null ||\r\n this.usersecurityquestion.UserSecurityQuestion_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady(){\r\n if(this.usersecurityquestion == null) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterUserSecurityQuestion_ID + '|' +\r\n this.FilterGrpID + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterISEQ + '|' +\r\n this.FilterQuestion + '|' +\r\n this.FilterAnswer + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterUserSecurityQuestion_ID = slist[i]; i++;\r\n this.FilterGrpID = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterISEQ = slist[i]; i++;\r\n this.FilterQuestion = slist[i]; i++;\r\n this.FilterAnswer = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterUserSecurityQuestion ()\r\n {\r\n this.sFilterUserSecurityQuestion = '';\r\n if (this.FilterUserSecurityQuestion_ID != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" UserSecurityQuestion_ID like '%\" + this.FilterUserSecurityQuestion_ID + \"%' \";\r\n }\r\n if (this.FilterGrpID != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" GrpID like '%\" + this.FilterGrpID + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterISEQ != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" ISEQ like '%\" + this.FilterISEQ + \"%' \";\r\n }\r\n if (this.FilterQuestion != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" Question like '%\" + this.FilterQuestion + \"%' \";\r\n }\r\n if (this.FilterAnswer != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" Answer like '%\" + this.FilterAnswer + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'UserSecurityQuestion_ID') this.FilterUserSecurityQuestion_ID = svalue;\r\n else if(sname == 'GrpID') this.FilterGrpID = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'ISEQ') this.FilterISEQ = svalue;\r\n else if(sname == 'Question') this.FilterQuestion = svalue;\r\n else if(sname == 'Answer') this.FilterAnswer = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('usersecurityquestionDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage, \r\n { state: \r\n { \r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n } \r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeUserSecurityQuestion() {\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of UserSecurityQuestion from database \r\n //--Id is object Id, to be as the current\r\n listUserSecurityQuestion(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"UserSecurityQuestionDataPage\", \"listUserSecurityQuestion\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterUserSecurityQuestion;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getUserSecurityQuestions(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.usersecurityquestions = data.Data.UserSecurityQuestions;\r\n }\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.usersecurityquestions = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectUserSecurityQuestion(data: UserSecurityQuestion | null) {\r\n if (data == null) return;\r\n this.getUserSecurityQuestion(data.UserSecurityQuestion_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getUserSecurityQuestion(Id: number) {\r\n if (Id <= 0 || Id == null || this.usersecurityquestions == null) return;\r\n\r\n for (var i = 0; i < this.usersecurityquestions.length; i++) {\r\n if (this.usersecurityquestions[i].UserSecurityQuestion_ID == Id) {\r\n this.selectedRowUserSecurityQuestion = i;\r\n this.setClickedRowUserSecurityQuestion(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailUserSecurityQuestion(datax: any) {\r\n if (datax == null) {\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n return;\r\n }\r\n if (datax.UserSecurityQuestion_ID <= 0) {\r\n this.usersecurityquestion = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = UserSecurityQuestion.Copy(datax);\r\n this.dataSource.getUserSecurityQuestion(data.UserSecurityQuestion_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null){\r\n this.usersecurityquestion = data.Data.usersecurityquestion;\r\n }\r\n this.selectedRowUserSecurityQuestion = UserSecurityQuestion.FindIdx(this.usersecurityquestion.UserSecurityQuestion_ID,this.usersecurityquestions);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n this.selectedRowUserSecurityQuestion = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showUserSecurityQuestion(data: UserSecurityQuestion | null) {\r\n if (data == null) return;\r\n this.getDetailUserSecurityQuestion(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowUserSecurityQuestion(index: number, data: any) {\r\n if(data != null)\r\n {\r\n var i = UserSecurityQuestion.FindIdx(data.UserSecurityQuestion_ID, this.usersecurityquestions);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.usersecurityquestions == null) {\r\n this.selectedRowUserSecurityQuestion = -1;\r\n return;\r\n }\r\n this.selectedRowUserSecurityQuestion = index;\r\n this.showUserSecurityQuestion(this.usersecurityquestions[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemUserSecurityQuestion_Click() {\r\n if (this.usersecurityquestions == null || this.usersecurityquestions.length <= 0) return;\r\n this.setClickedRowUserSecurityQuestion(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemUserSecurityQuestion_Click() {\r\n if (this.usersecurityquestions == null || this.usersecurityquestions.length <= 0) return;\r\n var i = this.selectedRowUserSecurityQuestion - 1;\r\n if (i < 0) i = this.usersecurityquestions.length - 1;\r\n this.setClickedRowUserSecurityQuestion(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemUserSecurityQuestion_Click() {\r\n if (this.usersecurityquestions == null || this.usersecurityquestions.length <= 0) return;\r\n var i = this.selectedRowUserSecurityQuestion + 1;\r\n if (i >= this.usersecurityquestions.length) i = 0;\r\n this.setClickedRowUserSecurityQuestion(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemUserSecurityQuestion_Click() {\r\n if (this.usersecurityquestions == null || this.usersecurityquestions.length <= 0) return;\r\n var i = this.usersecurityquestions.length - 1;\r\n this.setClickedRowUserSecurityQuestion(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.usersecurityquestions = o.dataList;\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n this.usersecurityquestion = o.data;\r\n this.sFilterUserSecurityQuestion = o.filter;\r\n }\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewUserSecurityQuestion_Click() {\r\n this.InitializeUserSecurityQuestion(); \r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewUserSecurityQuestion_Click() {\r\n this.saveNewUserSecurityQuestion(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditUserSecurityQuestion_Click() {\r\n this.saveUserSecurityQuestion(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteUserSecurityQuestion_Click() {\r\n this.deleteUserSecurityQuestion(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddUserSecurityQuestion2List(data: any) {\r\n let iAdd = true;\r\n if (this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n else {\r\n for (let i = 0; i < this.usersecurityquestions.length; i++) {\r\n if (this.usersecurityquestions[i].UserSecurityQuestion_ID == data.UserSecurityQuestion_ID) {\r\n this.usersecurityquestions[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.usersecurityquestions.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveUserSecurityQuestion(saveDB: boolean) {\r\n if (this.usersecurityquestion == null || this.usersecurityquestion.UserSecurityQuestion_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddUserSecurityQuestion2List(this.usersecurityquestion);\r\n }\r\n else {\r\n this.dataSource.updateUserSecurityQuestion(1, this.usersecurityquestion).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.usersecurityquestion = data.Data.usersecurityquestion;\r\n alert(\"save UserSecurityQuestion Successful: \" + this.usersecurityquestion.UserSecurityQuestion_ID);\r\n }\r\n else{\r\n alert(\"save UserSecurityQuestion Failed: \" + this.usersecurityquestion.UserSecurityQuestion_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n alert(\"saveUserSecurityQuestion ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewUserSecurityQuestion(saveDB: boolean) {\r\n let a = UserSecurityQuestion.Copy(this.usersecurityquestion);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"SaveNewData \" + saveDB);\r\n a.UserSecurityQuestion_ID = -1;\r\n if (!saveDB) {\r\n this.AddUserSecurityQuestion2List(a);\r\n }\r\n else {\r\n this.dataSource.addUserSecurityQuestion(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.usersecurityquestion = data.Data.usersecurityquestion;\r\n alert(\"saveNew UserSecurityQuestion Successful: \" + this.usersecurityquestion.UserSecurityQuestion_ID);\r\n }\r\n else{\r\n alert(\"saveNew UserSecurityQuestion Failed\");\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n alert(\"ERROR: SaveNew UserSecurityQuestion Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteUserSecurityQuestion(delDB: boolean) {\r\n if (this.usersecurityquestions != null && this.usersecurityquestions.length > 0 && this.usersecurityquestion.UserSecurityQuestion_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the UserSecurityQuestion: \" + this.usersecurityquestion.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the UserSecurityQuestion to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"DeleteData \" + this.usersecurityquestion.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.usersecurityquestions.indexOf(this.usersecurityquestion);\r\n if (idx >= 0) {\r\n this.usersecurityquestions.splice(idx, 1);\r\n this.InitializeUserSecurityQuestion();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = UserSecurityQuestionService.deleteUserSecurityQuestion(this.UserSecurityQuestion.UserSecurityQuestion_ID);\r\n var id = this.dataSource.deleteUserSecurityQuestionById(this.usersecurityquestion.UserSecurityQuestion_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data > 0){\r\n alert(\"Delete UserSecurityQuestion Successful: \" + this.usersecurityquestion.UserSecurityQuestion_ID);\r\n }\r\n else{\r\n alert(\"Delete UserSecurityQuestion Failed: \" + this.usersecurityquestion.UserSecurityQuestion_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n alert(\"ERROR: Delete UserSecurityQuestion Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'UserSecurityQuestionDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

UserSecurityQuestion Data Page

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{{selectedRowUserSecurityQuestion}} of {{usersecurityquestions.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## UserSecurityQuestionDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { UserSecurityQuestionDataSource } from '../model/usersecurityquestion.datasource';\r\n\r\nimport { UserSecurityQuestion } from 'src/app/model/usersecurityquestion.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'usersecurityquestiondata-content',\r\n templateUrl: './usersecurityquestionDialog.component.html'\r\n})\r\nexport class UserSecurityQuestionDialog implements OnInit {\r\n @Input() usersecurityquestion: UserSecurityQuestion = new UserSecurityQuestion();\r\n @Input() usersecurityquestions: UserSecurityQuestion[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: UserSecurityQuestionDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.usersecurityquestions == null) return;\r\n this.index = UserSecurityQuestion.FindIdx(this.usersecurityquestion.UserSecurityQuestion_ID, this.usersecurityquestions);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.usersecurityquestions.length) this.index = this.usersecurityquestions.length - 1;\r\n this.usersecurityquestion = this.usersecurityquestions[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.usersecurityquestions == null) return;\r\n this.index = UserSecurityQuestion.FindIdx(this.usersecurityquestion.UserSecurityQuestion_ID, this.usersecurityquestions);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.usersecurityquestions.length) this.index = this.usersecurityquestions.length - 1;\r\n this.usersecurityquestion = this.usersecurityquestions[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getUserSecurityQuestion(this.usersecurityquestion.UserSecurityQuestion_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.usersecurityquestion = data.Data.UserSecurityQuestion;\r\n }\r\n else this.usersecurityquestion = new UserSecurityQuestion();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.usersecurityquestion);\r\n this.activeModal.close(this.usersecurityquestion);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

UserSecurityQuestion Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { UserSecurityQuestion } from \"../model/usersecurityquestion.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { UserSecurityQuestionDialog } from './usersecurityquestionDialog.component';\r\nimport { UserSecurityQuestionDataSource } from \"../model/usersecurityquestion.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"usersecurityquestionPage\",\r\n templateUrl: \"usersecurityquestionPage.component.html\"\r\n})\r\nexport class UserSecurityQuestionPageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public usersecurityquestionsPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public params: any;\r\n\r\n public Properties = 'UserSecurityQuestion_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowUserSecurityQuestion: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public usersecurityquestions: UserSecurityQuestion[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n public currentPage = 0;\r\n public currentUserSecurityQuestions: UserSecurityQuestion[] = [];\r\n\r\n public sortTypeUserSecurityQuestion = '';\r\n public sortReverseUserSecurityQuestion = false;\r\n\r\n constructor(\r\n private dataSource: UserSecurityQuestionDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n \r\n private usersecurityquestion: UserSecurityQuestion,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('UserSecurityQuestionPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowUserSecurityQuestion = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterUserSecurityQuestion = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.usersecurityquestion = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.usersecurityquestions = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if(this.usersecurityquestions == undefined || this.usersecurityquestions.length <= 0) this.getUserSecurityQuestions(1, 500, '', 100, 1, 5);\r\n console.log((\"UserSecurityQuestionPage.Component construct\"));\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n }\r\n \r\n //-----------------------------------------------------\r\n orderUserSecurityQuestion (columnName:string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof UserSecurityQuestion;\r\n this.sortTypeUserSecurityQuestion = columnName;\r\n this.sortReverseUserSecurityQuestion = (this.sortTypeUserSecurityQuestion === columnName) ? !this.sortReverseUserSecurityQuestion : false;\r\n \r\n if(columnName == 'GrpID') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.GrpID > y.GrpID) ? 1 : -1) : ((x.GrpID < y.GrpID) ? 1 : -1));\r\n else if(columnName == 'XName') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if(columnName == 'ISEQ') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.ISEQ > y.ISEQ) ? 1 : -1) : ((x.ISEQ < y.ISEQ) ? 1 : -1));\r\n else if(columnName == 'Question') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.Question > y.Question) ? 1 : -1) : ((x.Question < y.Question) ? 1 : -1));\r\n else if(columnName == 'Answer') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.Answer > y.Answer) ? 1 : -1) : ((x.Answer < y.Answer) ? 1 : -1));\r\n else if(columnName == 'UpdateDate') this.usersecurityquestions = this.usersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n\r\n \r\n this.selectedRowUserSecurityQuestion = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getUserSecurityQuestions(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getUserSecurityQuestions(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.usersecurityquestions = data.Data.UserSecurityQuestions;\r\n }\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.usersecurityquestions = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a UserSecurityQuestion-------------------\r\n addUserSecurityQuestion(usersecurityquestion: UserSecurityQuestion) {\r\n this.dataSource.addUserSecurityQuestion(1, usersecurityquestion).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.usersecurityquestion = data.Data.usersecurityquestion;\r\n alert(\"Add UserSecurityQuestion successful\");\r\n }\r\n else alert(\"Add UserSecurityQuestion failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n alert(\"ERROR: Add UserSecurityQuestion failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateUserSecurityQuestion(usersecurityquestion: UserSecurityQuestion) {\r\n this.dataSource.updateUserSecurityQuestion(1, usersecurityquestion).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.usersecurityquestion = data.Data.usersecurityquestion;\r\n alert(\"Update UserSecurityQuestion successful\");\r\n }\r\n else alert(\"Update UserSecurityQuestion failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n alert(\"ERROR: Delete UserSecurityQuestion failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteUserSecurityQuestion(id: number) {\r\n this.dataSource.deleteUserSecurityQuestionById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data!= null && data.Data > 0) alert(\"Delete UserSecurityQuestion successful\");\r\n else alert(\"Delete UserSecurityQuestion failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n alert(\"ERROR: Delete UserSecurityQuestion failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddUserSecurityQuestion_Click() {\r\n this.usersecurityquestion = new UserSecurityQuestion();\r\n GParentState.Push('usersecurityquestionDataPage', 'usersecurityquestionPage', this.Id, this.selectedRowUserSecurityQuestion, this.sFilterUserSecurityQuestion, this.fetchDb, this.getChild, this.readOnly, this.usersecurityquestion, this.usersecurityquestions,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('usersecurityquestionDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"UserSecurityQuestionPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.usersecurityquestion,\r\n data: this.usersecurityquestions,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showUserSecurityQuestionDetail(usersecurityquestion: UserSecurityQuestion) {\r\n var idx = UserSecurityQuestion.FindIdx(usersecurityquestion.UserSecurityQuestion_ID, this.usersecurityquestions);\r\n \r\n const modalRef = this.modalService.open(UserSecurityQuestionDialog);\r\n modalRef.componentInstance.usersecurityquestions = this.usersecurityquestions;\r\n modalRef.componentInstance.usersecurityquestion = usersecurityquestion;\r\n modalRef.componentInstance.title = 'UserSecurityQuestion data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n\r\n //----Setup Global object list--\r\n \r\n\r\n public sFilterUserSecurityQuestion:string = '';\r\n \r\n public FilterUserSecurityQuestion_ID: string = '';\r\n public FilterGrpID: string = '';\r\n public FilterXName: string = '';\r\n public FilterISEQ: string = '';\r\n public FilterQuestion: string = '';\r\n public FilterAnswer: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterUserSecurityQuestion_ID + '|' +\r\n this.FilterGrpID + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterISEQ + '|' +\r\n this.FilterQuestion + '|' +\r\n this.FilterAnswer + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterUserSecurityQuestion_ID = slist[i]; i++;\r\n this.FilterGrpID = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterISEQ = slist[i]; i++;\r\n this.FilterQuestion = slist[i]; i++;\r\n this.FilterAnswer = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterUserSecurityQuestion ()\r\n {\r\n this.sFilterUserSecurityQuestion = '';\r\n if (this.FilterUserSecurityQuestion_ID != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" UserSecurityQuestion_ID like '%\" + this.FilterUserSecurityQuestion_ID + \"%' \";\r\n }\r\n if (this.FilterGrpID != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" GrpID like '%\" + this.FilterGrpID + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterISEQ != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" ISEQ like '%\" + this.FilterISEQ + \"%' \";\r\n }\r\n if (this.FilterQuestion != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" Question like '%\" + this.FilterQuestion + \"%' \";\r\n }\r\n if (this.FilterAnswer != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" Answer like '%\" + this.FilterAnswer + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterUserSecurityQuestion != '') this.sFilterUserSecurityQuestion += \" AND \";\r\n this.sFilterUserSecurityQuestion += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'UserSecurityQuestion_ID') this.FilterUserSecurityQuestion_ID = svalue;\r\n else if(sname == 'GrpID') this.FilterGrpID = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'ISEQ') this.FilterISEQ = svalue;\r\n else if(sname == 'Question') this.FilterQuestion = svalue;\r\n else if(sname == 'Answer') this.FilterAnswer = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('usersecurityquestionPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit () {\r\n this.FilterUserSecurityQuestion_ID = '';\r\n this.FilterGrpID = '';\r\n this.FilterXName = '';\r\n this.FilterISEQ = '';\r\n this.FilterQuestion = '';\r\n this.FilterAnswer = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n this.FilterTenantId = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.usersecurityquestions = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentUserSecurityQuestions = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.usersecurityquestions.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentUserSecurityQuestions = this.usersecurityquestions;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.usersecurityquestions.length) iEItem = this.usersecurityquestions.length;\r\n this.currentUserSecurityQuestions = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentUserSecurityQuestions.push(this.usersecurityquestions[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.usersecurityquestions == null || this.usersecurityquestions.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentUserSecurityQuestions = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.UserSecurityQuestions.length) this.itemsPerPage = this.UserSecurityQuestions.length;\r\n var nPages = 0;\r\n if (this.usersecurityquestions != null) nPages = Math.ceil(this.usersecurityquestions.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //---------------------List UserSecurityQuestion records:using ListUserSecurityQuestionByFile-------------------------------------------------------------\r\n listUserSecurityQuestion(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterUserSecurityQuestion();\r\n if (!fLoadAll && this.sFilterUserSecurityQuestion == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"UserSecurityQuestionPage\", \"listUserSecurityQuestion\");\r\n\r\n //var srListData = UserSecurityQuestionService.ListUserSecurityQuestion(iBegId, nMax, this.sFilterUserSecurityQuestion, nGetChild, nMaxLevel);\r\n this.dataSource.ListUserSecurityQuestionByFile('UserSecurityQuestion_QueryFile.sql', 'ListUserSecurityQuestion', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n {\r\n this.usersecurityquestions = data.Data.usersecurityquestion;\r\n }\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('UserSecurityQuestionDataPage', this.MakeFilterString(), this.usersecurityquestions, this.usersecurityquestion);\r\n \r\n this.selectPage(1);\r\n \r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.usersecurityquestions = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no usersecurityquestion data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showUserSecurityQuestion(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowUserSecurityQuestion = UserSecurityQuestion.FindIdx(adata.UserSecurityQuestion_ID, this.usersecurityquestions);\r\n if (this.selectedRowUserSecurityQuestion >= 0 && this.selectedRowUserSecurityQuestion < this.usersecurityquestions.length) adata = this.usersecurityquestions[this.selectedRowUserSecurityQuestion];\r\n else return;\r\n }\r\n this.usersecurityquestion = adata;\r\n GParentState.Push('usersecurityquestionDataPage', 'usersecurityquestionPage', this.Id, this.selectedRowUserSecurityQuestion, this.sFilterUserSecurityQuestion, this.fetchDb, this.getChild, this.readOnly, this.usersecurityquestion, this.usersecurityquestions,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('usersecurityquestionDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"UserSecurityQuestionPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.usersecurityquestion,\r\n data: this.usersecurityquestions,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listUserSecurityQuestion(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterUserSecurityQuestion = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowUserSecurityQuestion(index:number, data: any) {\r\n if(data != null)\r\n {\r\n var i = UserSecurityQuestion.FindIdx(data.UserSecurityQuestion_ID, this.usersecurityquestions);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.usersecurityquestions == null) {\r\n this.selectedRowUserSecurityQuestion = -1;\r\n return;\r\n }\r\n this.selectedRowUserSecurityQuestion = index;\r\n this.showUserSecurityQuestion(this.usersecurityquestions[this.selectedRowUserSecurityQuestion]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgUserSecurityQuestion tr.data')[this.selectedRowUserSecurityQuestion];\r\n var container = $('#dgUserSecurityQuestionDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.usersecurityquestions = o.dataList;\r\n if(this.usersecurityquestions == null) this.usersecurityquestions = [];\r\n this.usersecurityquestion = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.usersecurityquestions != null) nPages = Math.ceil(this.usersecurityquestions.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n \r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgUserSecurityQuestionDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","
\r\n
\r\n

UserSecurityQuestion

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n GrpID\r\n \r\n \r\n \r\n XName\r\n \r\n \r\n \r\n SEQ\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n Answer\r\n \r\n \r\n \r\n UpdateDt\r\n \r\n \r\n
\r\n \r\n {{GetNumberString(x.GrpID)}}{{x.XName}}{{GetNumberString(x.ISEQ)}}{{x.Question}}{{x.Answer}}{{GetDateString(x.UpdateDate)}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XFrontPageDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XFrontPage } from \"../model/xfrontpage.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFrontPageDialog } from './xfrontpageDialog.component';\r\nimport { XFrontPageDataSource } from \"../model/xfrontpage.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\nimport { timeStamp } from \"console\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xfrontpageDataPage\",\r\n templateUrl: \"xfrontpageDataPage.component.html\",\r\n styleUrls: ['./xfrontpage.component.css']\r\n})\r\nexport class XFrontPageDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n //@ViewChild(xfrontpageinfoDataListView) xfrontpageinfodatalistview ?: xfrontpageinfoDataListView;\r\n\r\n public xfrontpagesPerPage = 4;\r\n public selectedPage = 1;\r\n public xfrontpages: XFrontPage[] = [];\r\n public xfrontpage: XFrontPage = new XFrontPage();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public sFilterXFrontPage: string = '';\r\n\r\n public FilterXFrontPage_ID: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterIsPrimary: string = '';\r\n public FilterXFrontPageInfo_ID: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n constructor(\r\n private dataSource: XFrontPageDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'XFrontPageDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('XFrontPageDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXFrontPage = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXFrontPage = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xfrontpage = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xfrontpages = this.params.data;\r\n }\r\n }\r\n\r\n if (this.fetchDb == 999) { //--to Save\r\n if (this.xfrontpage != null) {\r\n if (this.xfrontpage.XFrontPage_ID > 0) this.saveXFrontPage(true);\r\n else this.saveNewXFrontPage(true);\r\n }\r\n }\r\n else {\r\n if (this.selectedRowXFrontPage < 0) this.getXFrontPage(this.Id);\r\n if (this.xfrontpages == null) {\r\n this.getDataFromStack();\r\n if (this.xfrontpages == null && this.fetchDb == 1) this.listXFrontPage(0);\r\n }\r\n }\r\n this.showXFrontPage(this.xfrontpage);\r\n }\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n fakeData() {\r\n if (this.xfrontpage == null) {\r\n this.xfrontpage = new XFrontPage();\r\n this.xfrontpage.TenantId = GlobalObjects.gTenantId;\r\n }\r\n this.xfrontpage.XName = \"DFD2\";\r\n this.xfrontpage.Description = \"DFD2- test data\";\r\n this.xfrontpage.IsPrimary = false;\r\n this.xfrontpage.CreateDate = new Date();\r\n this.xfrontpage.UpdateDate = new Date();\r\n if (this.xfrontpage.aXFrontPageInfo_IDList == null) this.xfrontpage.aXFrontPageInfo_IDList = [];\r\n let a1 = new XFrontPageInfo();\r\n a1.XName = \"test1\";\r\n a1.Title = \"title 1\";\r\n a1.Content = \"Content 2-1\";\r\n a1.Description = \"description 2-1\";\r\n a1.GrpID = -1;\r\n a1.CreateDate = new Date();\r\n a1.UpdateDate = new Date();\r\n a1.ISEQ = 1;\r\n a1.PictureFile = \"1011.jpg\";\r\n a1.PictureFileAltText = \"alt text 1011\";\r\n a1.RdPrvg = 4;\r\n a1.WtPrvg = 7;\r\n a1.URL = \"https://www.yahoo.com\";\r\n a1.URLText = \"Go to Yahoo\";\r\n a1.TenantId = this.xfrontpage.TenantId;\r\n this.xfrontpage.aXFrontPageInfo_IDList.push(a1);\r\n\r\n let a2 = new XFrontPageInfo();\r\n a2.XName = \"test2\";\r\n a2.Title = \"title 2\";\r\n a2.Content = \"Content 2-2\";\r\n a2.Description = \"description 2-2\";\r\n a2.GrpID = -1;\r\n a2.CreateDate = new Date();\r\n a2.UpdateDate = new Date();\r\n a2.ISEQ = 2;\r\n a2.PictureFile = \"984.jpg\";\r\n a2.PictureFileAltText = \"alt text 984\";\r\n a2.RdPrvg = 4;\r\n a2.WtPrvg = 7;\r\n a2.URL = \"https://www.youtube.com\";\r\n a2.URLText = \"Go to YouTube\";\r\n a1.TenantId = this.xfrontpage.TenantId;\r\n this.xfrontpage.aXFrontPageInfo_IDList.push(a2);\r\n }\r\n\r\n //---------------------------------------------------------------\r\n showXFrontPageDetailDialog(xfrontpage: XFrontPage) {\r\n const modalRef = this.modalService.open(XFrontPageDialog);\r\n modalRef.componentInstance.data = xfrontpage;\r\n modalRef.componentInstance.title = 'XFrontPage Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.xfrontpage = result;\r\n }\r\n });\r\n }\r\n\r\n\r\n public Properties = 'XFrontPage_ID,RdPrvg,WtPrvg,XName,Description,IsPrimary,XFrontPageInfo_ID,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXFrontPage: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n\r\n public isUserAuthorized = false;\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterXFrontPage_ID + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterIsPrimary + '|' +\r\n this.FilterXFrontPageInfo_ID + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate);\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXFrontPage_ID = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterIsPrimary = slist[i]; i++;\r\n this.FilterXFrontPageInfo_ID = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n }\r\n\r\n\r\n MakeFilterXFrontPage() {\r\n this.sFilterXFrontPage = '';\r\n if (this.FilterXFrontPage_ID != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" XFrontPage_ID like '%\" + this.FilterXFrontPage_ID + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterIsPrimary != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" IsPrimary like '%\" + this.FilterIsPrimary + \"%' \";\r\n }\r\n if (this.FilterXFrontPageInfo_ID != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" XFrontPageInfo_ID like '%\" + this.FilterXFrontPageInfo_ID + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'XFrontPage_ID') this.FilterXFrontPage_ID = svalue;\r\n else if (sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'Description') this.FilterDescription = svalue;\r\n else if (sname == 'IsPrimary') this.FilterIsPrimary = svalue;\r\n else if (sname == 'XFrontPageInfo_ID') this.FilterXFrontPageInfo_ID = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('xfrontpageDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXFrontPage() {\r\n var tenantId = this.xfrontpage.TenantId;\r\n this.xfrontpage = new XFrontPage();\r\n this.xfrontpage.TenantId = tenantId;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of XFrontPage from database \r\n //--Id is object Id, to be as the current\r\n listXFrontPage(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageDataPage\", \"listXFrontPage\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterXFrontPage;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getXFrontPages(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpages = data.Data.xfrontpages;\r\n if(this.xfrontpages == []) this.xfrontpages = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpages = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectXFrontPage(data: XFrontPage | null) {\r\n if (data == null) return;\r\n this.getXFrontPage(data.XFrontPage_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getXFrontPage(Id: number) {\r\n if (Id <= 0 || Id == null || this.xfrontpages == null) return;\r\n\r\n for (var i = 0; i < this.xfrontpages.length; i++) {\r\n if (this.xfrontpages[i].XFrontPage_ID == Id) {\r\n this.selectedRowXFrontPage = i;\r\n this.setClickedRowXFrontPage(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailXFrontPage(datax: any) {\r\n if (datax == null) {\r\n this.xfrontpage = new XFrontPage();\r\n return;\r\n }\r\n if (datax.XFrontPage_ID <= 0) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = XFrontPage.Copy(datax);\r\n this.dataSource.getXFrontPage(data.XFrontPage_ID, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpage = data.Data.xfrontpage;\r\n this.selectedRowXFrontPage = XFrontPage.FindIdx(this.xfrontpage.XFrontPage_ID, this.xfrontpages);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpage = new XFrontPage();\r\n this.selectedRowXFrontPage = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXFrontPage(data: XFrontPage | null) {\r\n if (data == null) return;\r\n this.getDetailXFrontPage(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowXFrontPage(index: number, data: any) {\r\n if (data != null) {\r\n var i = XFrontPage.FindIdx(data.XFrontPage_ID, this.xfrontpages);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xfrontpages == null) {\r\n this.selectedRowXFrontPage = -1;\r\n return;\r\n }\r\n this.selectedRowXFrontPage = index;\r\n this.showXFrontPage(this.xfrontpages[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemXFrontPage_Click() {\r\n if (this.xfrontpages == null || this.xfrontpages.length <= 0) return;\r\n this.setClickedRowXFrontPage(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemXFrontPage_Click() {\r\n if (this.xfrontpages == null || this.xfrontpages.length <= 0) return;\r\n var i = this.selectedRowXFrontPage - 1;\r\n if (i < 0) i = this.xfrontpages.length - 1;\r\n this.setClickedRowXFrontPage(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemXFrontPage_Click() {\r\n if (this.xfrontpages == null || this.xfrontpages.length <= 0) return;\r\n var i = this.selectedRowXFrontPage + 1;\r\n if (i >= this.xfrontpages.length) i = 0;\r\n this.setClickedRowXFrontPage(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemXFrontPage_Click() {\r\n if (this.xfrontpages == null || this.xfrontpages.length <= 0) return;\r\n var i = this.xfrontpages.length - 1;\r\n this.setClickedRowXFrontPage(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xfrontpages = o.dataList;\r\n this.xfrontpage = o.data;\r\n this.sFilterXFrontPage = o.filter;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewXFrontPage_Click() {\r\n this.InitializeXFrontPage();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXFrontPage_Click() {\r\n this.saveNewXFrontPage(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXFrontPage_Click() {\r\n this.saveXFrontPage(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteXFrontPage_Click() {\r\n this.deleteXFrontPage(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddXFrontPage2List(data: any) {\r\n let iAdd = true;\r\n if (this.xfrontpages == null) this.xfrontpages = [];\r\n else {\r\n for (let i = 0; i < this.xfrontpages.length; i++) {\r\n if (this.xfrontpages[i].XFrontPage_ID == data.XFrontPage_ID) {\r\n this.xfrontpages[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.xfrontpages.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n isSaveDataReady() {\r\n if (this.xfrontpage == null ||\r\n this.xfrontpage.XName == '' ||\r\n this.xfrontpage.XFrontPage_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n isSaveAsDataReady() {\r\n if (this.xfrontpage == null ||\r\n this.xfrontpage.XName == '') return false;\r\n else return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveXFrontPage(saveDB: boolean) {\r\n if (this.xfrontpage == null || this.xfrontpage.XFrontPage_ID <= 0) return;\r\n this.setTenantId(this.xfrontpage);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPage\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddXFrontPage2List(this.xfrontpage);\r\n }\r\n else {\r\n if (this.xfrontpage.aXFrontPageInfo_IDList !== null && this.xfrontpage.aXFrontPageInfo_IDList.length > 0) {\r\n this.xfrontpage.aXFrontPageInfo_IDList.sort((a: { ISEQ: number; }, b: { ISEQ: number; }) => (a.ISEQ > b.ISEQ) ? 1 : -1);\r\n for (let i = 0; i < this.xfrontpage.aXFrontPageInfo_IDList.length; i++) {\r\n this.xfrontpage.aXFrontPageInfo_IDList[i].ISEQ = i + 1;\r\n }\r\n }\r\n this.dataSource.updateXFrontPage(1, this.xfrontpage).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpage = data.Data.xfrontpage;\r\n this.loading = false;\r\n alert(\"Update XFrontPage successful: \" + this.xfrontpage.XFrontPage_ID);\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n alert(\"Update XFrontPage failed: \" + this.xfrontpage.XFrontPage_ID + \", \" + this.errorMessage);\r\n this.xfrontpage = new XFrontPage();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n setTenantId(data: XFrontPage | any) {\r\n if (data == null) return;\r\n for (var i = 0; i < data.aXFrontPageInfo_IDList.length; i++) {\r\n data.aXFrontPageInfo_IDList[i].TenantId = data.TenantId;\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewXFrontPage(saveDB: boolean) {\r\n let a = XFrontPage.Copy(this.xfrontpage);\r\n this.setTenantId(a);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPage\", \"SaveNewData \" + saveDB);\r\n a.XFrontPage_ID = -1;\r\n if (a.aXFrontPageInfo_IDList != null) {\r\n a.aXFrontPageInfo_IDList.sort((a: { ISEQ: number; }, b: { ISEQ: number; }) => (a.ISEQ > b.ISEQ) ? 1 : -1);\r\n for (let i = 0; i < a.aXFrontPageInfo_IDList.length; i++) {\r\n a.aXFrontPageInfo_IDList[i].XFrontPageInfo_ID = -1;\r\n a.aXFrontPageInfo_IDList[i].GrpID = -1;\r\n a.aXFrontPageInfo_IDList[i].ISEQ = i + 1;\r\n }\r\n }\r\n if (!saveDB) {\r\n this.AddXFrontPage2List(a);\r\n }\r\n else {\r\n this.dataSource.addXFrontPage(1, a).subscribe({\r\n next: data => {\r\n if (data != null) {\r\n if(data != null && data.Data != null)\r\n this.xfrontpage = data.Data.xfrontpage;\r\n this.loading = false;\r\n this.AddXFrontPage2List(this.xfrontpage);\r\n alert(\"Add XFrontPage successful: \" + this.xfrontpage.XFrontPage_ID);\r\n }\r\n else {\r\n alert(\"Add XFrontPage failed: \" + this.xfrontpage.XName);\r\n }\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n alert(\"Add XFrontPage failed: \" + this.xfrontpage.XFrontPage_ID + \", \" + this.errorMessage);\r\n this.xfrontpage = new XFrontPage();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteXFrontPage(delDB: boolean) {\r\n if (this.xfrontpages != null && this.xfrontpages.length > 0 && this.xfrontpage.XFrontPage_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the XFrontPage: \" + this.xfrontpage.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the XFrontPage to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPage\", \"DeleteData \" + this.xfrontpage.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.xfrontpages.indexOf(this.xfrontpage);\r\n if (idx >= 0) {\r\n this.xfrontpages.splice(idx, 1);\r\n this.InitializeXFrontPage();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = XFrontPageService.deleteXFrontPage(this.XFrontPage.XFrontPage_ID);\r\n var id = this.dataSource.deleteXFrontPageById(this.xfrontpage.XFrontPage_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"Delete XFrontPage successful: \" + this.xfrontpage.XFrontPage_ID);\r\n else alert(\"Delete XFrontPage failed: \" + this.xfrontpage.XFrontPage_ID);\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n alert(\"Delete XFrontPage failed: \" + this.xfrontpage.XFrontPage_ID + \", \" + this.errorMessage);\r\n console.log(error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n //====OPENDIALOG calls: XFrontPage ==========\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'XFrontPageDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

FrontPage Data

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowXFrontPage}} of {{xfrontpages?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","//#############################################################\r\n//## XFrontPageDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { XFrontPageDataSource } from '../model/xfrontpage.datasource';\r\n\r\nimport { XFrontPage } from 'src/app/model/xfrontpage.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'xfrontpagedata-content',\r\n templateUrl: './xfrontpageDialog.component.html'\r\n})\r\nexport class XFrontPageDialog implements OnInit {\r\n @Input() xfrontpage: XFrontPage = new XFrontPage();\r\n @Input() xfrontpages: XFrontPage[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: XFrontPageDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.xfrontpages == null) return;\r\n this.index = XFrontPage.FindIdx(this.xfrontpage.XFrontPage_ID, this.xfrontpages);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xfrontpages.length) this.index = this.xfrontpages.length - 1;\r\n this.xfrontpage = this.xfrontpages[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.xfrontpages == null) return;\r\n this.index = XFrontPage.FindIdx(this.xfrontpage.XFrontPage_ID, this.xfrontpages);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xfrontpages.length) this.index = this.xfrontpages.length - 1;\r\n this.xfrontpage = this.xfrontpages[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getXFrontPage(this.xfrontpage.XFrontPage_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xfrontpage = data.Data.XFrontPage;\r\n }\r\n else this.xfrontpage = new XFrontPage();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpage = new XFrontPage();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.xfrontpage);\r\n this.activeModal.close(this.xfrontpage);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

XFrontPage Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","//--KEEP:\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { XFrontPage } from \"../model/xfrontpage.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFrontPageDialog } from './xfrontpageDialog.component';\r\nimport { XFrontPageDataSource } from \"../model/xfrontpage.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { OrganizationSelectDialog } from \"../organization/organizationSelectDialog.component\";\r\nimport { Organization } from \"../model/organization.model\";\r\n\r\n\r\n@Component({\r\n selector: \"xfrontpagePage\",\r\n templateUrl: \"xfrontpagePage.component.html\"\r\n})\r\nexport class XFrontPagePageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public xfrontpagesPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'XFrontPage_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXFrontPage: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public xfrontpages: XFrontPage[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public userPrvg = GlobalObjects.gUserPrvg;\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n constructor(\r\n private dataSource: XFrontPageDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private xfrontpage: XFrontPage,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('XFrontPagePage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXFrontPage = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXFrontPage = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xfrontpage = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xfrontpages = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if (this.xfrontpages == undefined || this.xfrontpages.length <= 0) this.getXFrontPages(1, 500, '', 100, 1, 5);\r\n console.log((\"XFrontPagePage.Component construct\"));\r\n }\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n orderXFrontPage(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XFrontPage;\r\n this.sortTypeXFrontPage = columnName;\r\n this.sortReverseXFrontPage = (this.sortTypeXFrontPage === columnName) ? !this.sortReverseXFrontPage : false;\r\n\r\n if (columnName == 'XName') this.xfrontpages = this.xfrontpages.sort((x, y) => this.sortReverseXFrontPage ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'Description') this.xfrontpages = this.xfrontpages.sort((x, y) => this.sortReverseXFrontPage ? ((x.Description > y.Description) ? 1 : -1) : ((x.Description < y.Description) ? 1 : -1));\r\n else if (columnName == 'IsPrimary') this.xfrontpages = this.xfrontpages.sort((x, y) => this.sortReverseXFrontPage ? ((x.IsPrimary > y.IsPrimary) ? 1 : -1) : ((x.IsPrimary < y.IsPrimary) ? 1 : -1));\r\n else if (columnName == 'XFrontPageInfo_ID') this.xfrontpages = this.xfrontpages.sort((x, y) => this.sortReverseXFrontPage ? ((x.XFrontPageInfo_ID > y.XFrontPageInfo_ID) ? 1 : -1) : ((x.XFrontPageInfo_ID < y.XFrontPageInfo_ID) ? 1 : -1));\r\n else if (columnName == 'UpdateDate') this.xfrontpages = this.xfrontpages.sort((x, y) => this.sortReverseXFrontPage ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n else if (columnName == 'TenantId') this.xfrontpages = this.xfrontpages.sort((x, y) => this.sortReverseXFrontPage ? ((x.TenantId > y.TenantId) ? 1 : -1) : ((x.TenantId < y.TenantId) ? 1 : -1));\r\n\r\n\r\n this.selectedRowXFrontPage = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getXFrontPages(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getXFrontPages(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpages = data.Data.xfrontpages;\r\n if(this.xfrontpages == null) this.xfrontpages = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpages = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //--------------------------------------------------\r\n SaveIsPrimary(iSel: number, data: any) {\r\n data.IsPrimary = true;\r\n if (this.xfrontpages == null) return;\r\n\r\n for (let i = 0; i < this.xfrontpages.length; i++) {\r\n if (iSel != i && this.xfrontpages[i].TenantId == this.xfrontpages[iSel].TenantId) {\r\n if (this.xfrontpages[i].IsPrimary == true) {\r\n this.xfrontpages[i].IsPrimary = false;\r\n }\r\n }\r\n }\r\n this.xfrontpages[iSel].IsPrimary = true;\r\n this.updateXFrontPage(this.xfrontpages[iSel]); //--this will take care the backend for same tenantid\r\n }\r\n\r\n //---------Insert a XFrontPage-------------------\r\n addXFrontPage(xfrontpage: XFrontPage) {\r\n this.dataSource.addXFrontPage(1, xfrontpage).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpage = data.Data.xfrontpage;\r\n console.log(\"Add XFrontPage successful, \" + this.xfrontpage.XFrontPage_ID);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpage = new XFrontPage();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Update XFrontPage-------------------\r\n updateXFrontPage(xfrontpage: XFrontPage) {\r\n this.dataSource.updateXFrontPage(1, xfrontpage).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpage = data.Data.xfrontpage;\r\n console.log(\"Update XFrontPage successful, \" + this.xfrontpage.XFrontPage_ID);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpage = new XFrontPage();\r\n console.log(\"Update XFrontPage failed, \" + error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n deleteXFrontPage(id: number) {\r\n this.dataSource.deleteXFrontPageById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"delete XFrontPage Successful\");\r\n else alert(\"delete XFrontPage Failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpage = new XFrontPage();\r\n alert(\"ERROR: Delete xfrontpage Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddXFrontPage_Click() {\r\n this.xfrontpage = new XFrontPage();\r\n if (GlobalObjects.gUserPrvg >= 9) {\r\n this.selectOrganization();\r\n }\r\n else {\r\n this.xfrontpage.TenantId = GlobalObjects.gTenantId;\r\n this.gotoXFrontPageDataPage();\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n gotoXFrontPageDataPage() {\r\n GParentState.Push('xfrontpageDataPage', 'xfrontpagePage', this.Id, this.selectedRowXFrontPage, this.sFilterXFrontPage, this.fetchDb, this.getChild, this.readOnly, this.xfrontpage, this.xfrontpages,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xfrontpageDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XFrontPagePage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xfrontpage,\r\n data: this.xfrontpages,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------\r\n selectOrganization() {\r\n const modalRef = this.modalService.open(OrganizationSelectDialog);\r\n modalRef.componentInstance.title = 'Organization select dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.xfrontpage.TenantId = result.TenantId;\r\n this.gotoXFrontPageDataPage();\r\n }\r\n });\r\n\r\n }\r\n\r\n //====================================================================\r\n public currentPage = 0;\r\n public currentXFrontPages: XFrontPage[] = [];\r\n\r\n public sortTypeXFrontPage = '';\r\n public sortReverseXFrontPage = false;\r\n\r\n //----Setup Global object list--\r\n\r\n public sFilterXFrontPage: string = '';\r\n\r\n public FilterXFrontPage_ID: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterDescription: string = '';\r\n public FilterIsPrimary: string = '';\r\n public FilterXFrontPageInfo_ID: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterXFrontPage_ID + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterIsPrimary + '|' +\r\n this.FilterXFrontPageInfo_ID + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXFrontPage_ID = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterIsPrimary = slist[i]; i++;\r\n this.FilterXFrontPageInfo_ID = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterXFrontPage() {\r\n this.sFilterXFrontPage = '';\r\n if (this.FilterXFrontPage_ID != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" XFrontPage_ID like '%\" + this.FilterXFrontPage_ID + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterIsPrimary != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" IsPrimary like '%\" + this.FilterIsPrimary + \"%' \";\r\n }\r\n if (this.FilterXFrontPageInfo_ID != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" XFrontPageInfo_ID like '%\" + this.FilterXFrontPageInfo_ID + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterXFrontPage != '') this.sFilterXFrontPage += \" AND \";\r\n this.sFilterXFrontPage += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'XFrontPage_ID') this.FilterXFrontPage_ID = svalue;\r\n else if (sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'Description') this.FilterDescription = svalue;\r\n else if (sname == 'IsPrimary') this.FilterIsPrimary = svalue;\r\n else if (sname == 'XFrontPageInfo_ID') this.FilterXFrontPageInfo_ID = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if (sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('xfrontpagePage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit() {\r\n this.FilterXFrontPage_ID = '';\r\n this.FilterRdPrvg = '';\r\n this.FilterXName = '';\r\n this.FilterDescription = '';\r\n this.FilterIsPrimary = '';\r\n this.FilterXFrontPageInfo_ID = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n this.FilterTenantId = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.xfrontpages = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentXFrontPages = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.xfrontpages.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentXFrontPages = this.xfrontpages;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.xfrontpages.length) iEItem = this.xfrontpages.length;\r\n this.currentXFrontPages = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentXFrontPages.push(this.xfrontpages[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.xfrontpages == null || this.xfrontpages.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentXFrontPages = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.XFrontPages.length) this.itemsPerPage = this.XFrontPages.length;\r\n var nPages = 0;\r\n if (this.xfrontpages != null) nPages = Math.ceil(this.xfrontpages.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //------------------------------------------------\r\n IsAdminUser() {\r\n if (GlobalObjects.gUserPrvg > 8) return true;\r\n else return false;\r\n }\r\n\r\n //---------------------List XFrontPage records:using ListXFrontPageByFile-------------------------------------------------------------\r\n listXFrontPage(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n if (!this.IsAdminUser()) this.FilterTenantId = GlobalObjects.gTenantId;\r\n this.MakeFilterXFrontPage();\r\n if (!fLoadAll && this.sFilterXFrontPage == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPagePage\", \"listXFrontPage\");\r\n\r\n //var srListData = XFrontPageService.ListXFrontPage(iBegId, nMax, this.sFilterXFrontPage, nGetChild, nMaxLevel);\r\n this.dataSource.ListXFrontPageByFile('XFrontPage_QueryFile.sql', 'ListXFrontPage', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xfrontpages = data.Data.xfrontpages;\r\n this.setPages();\r\n\r\n GObjectStack.Push('XFrontPageDataPage', this.MakeFilterString(), this.xfrontpages, this.xfrontpage);\r\n\r\n this.selectPage(1);\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpages = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no xfrontpage data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXFrontPage(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowXFrontPage = XFrontPage.FindIdx(adata.XFrontPage_ID, this.xfrontpages);\r\n if (this.selectedRowXFrontPage >= 0 && this.selectedRowXFrontPage < this.xfrontpages.length) adata = this.xfrontpages[this.selectedRowXFrontPage];\r\n else return;\r\n }\r\n this.xfrontpage = adata;\r\n GParentState.Push('xfrontpageDataPage', 'xfrontpagePage', this.Id, this.selectedRowXFrontPage, this.sFilterXFrontPage, this.fetchDb, this.getChild, this.readOnly, this.xfrontpage, this.xfrontpages,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xfrontpageDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XFrontPagePage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xfrontpage,\r\n data: this.xfrontpages,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listXFrontPage(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterXFrontPage = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowXFrontPage(index: number, data: any) {\r\n if (data != null) {\r\n var i = XFrontPage.FindIdx(data.XFrontPage_ID, this.xfrontpages);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xfrontpages == null) {\r\n this.selectedRowXFrontPage = -1;\r\n return;\r\n }\r\n this.selectedRowXFrontPage = index;\r\n this.showXFrontPage(this.xfrontpages[this.selectedRowXFrontPage]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgXFrontPage tr.data')[this.selectedRowXFrontPage];\r\n var container = $('#dgXFrontPageDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xfrontpages = o.dataList;\r\n this.xfrontpage = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.xfrontpages != null) nPages = Math.ceil(this.xfrontpages.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n\r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgXFrontPageDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","\r\n
\r\n
\r\n

Front Page Administration

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Name\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n \r\n IsPrimary\r\n \r\n \r\n \r\n TenantId\r\n \r\n \r\n \r\n UpdateDt\r\n \r\n \r\n
\r\n \r\n {{x.XName}}{{x.Description}}\r\n \r\n \r\n {{x.TenantId}}{{GetDateString(x.UpdateDate)}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## XFrontPageSelectDialog.component.js\r\n//## Dialog (HTML) Javascript class for ChildSelection\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\n\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { XFrontPage } from 'src/app/model/xfrontpage.model';\r\nimport { XFrontPageDataSource } from '../model/xfrontpage.datasource';\r\n\r\n\r\n@Component({\r\n selector: 'modal-content',\r\n templateUrl: './xfrontpageSelectDialog.component.html'\r\n})\r\nexport class XFrontPageSelectDialog implements OnInit {\r\n @Input() xfrontpages: XFrontPage[] = [];\r\n @Input() xfrontpage: XFrontPage = new XFrontPage();\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public errorMessage = '';\r\n\r\n public sFilterXFrontPage = '';\r\n public loading = false;\r\n public iSelected = -1;\r\n\r\n public event: EventEmitter = new EventEmitter();\r\n\r\n constructor(public activeModal: NgbActiveModal, private dataSource: XFrontPageDataSource) {\r\n }\r\n\r\n\r\n //------------------------------------------------------------------\r\n getXFrontPages(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.xfrontpage = new XFrontPage();\r\n this.dataSource.getXFrontPages(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null && data.Data.XFrontPages != null){\r\n this.xfrontpages = data.Data.XFrontPages;\r\n }\r\n if(this.xfrontpages == null) this.xfrontpages = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpages = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //-------------------------------------------------------\r\n ngOnInit() {\r\n this.getXFrontPages(1, 500, '', 100, 1, 5);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onOk() {\r\n this.passEntry.emit(this.xfrontpage);\r\n this.activeModal.close(this.xfrontpage);\r\n }\r\n\r\n //-------------------------------------------------------\r\n onCancel() {\r\n this.xfrontpage = new XFrontPage();\r\n this.activeModal.close(this.xfrontpage);\r\n }\r\n\r\n //------------------------------------------------------\r\n //--Id is the index in the list\r\n listXFrontPage(Id: number) {\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = 'XName like \\'%' + this.sFilterXFrontPage + '%\\'' + ' OR Description like \\'%' + this.sFilterXFrontPage + '%\\'';\r\n var nGetChild = -1;\r\n var nMaxLevel = 3;\r\n\r\n this.dataSource.ListXFrontPage(iBegId, nMax, sFilter, nGetChild, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null && data.Data.XFrontPages != null){\r\n this.xfrontpages = data.Data.XFrontPages;\r\n }\r\n if(this.xfrontpages == null) this.xfrontpages = [];\r\n if(Id >= 0 && Id < this.xfrontpages.length)\r\n this.xfrontpage = this.xfrontpages[Id];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpages = [];\r\n this.xfrontpage = new XFrontPage();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectXFrontPage(data: XFrontPage) {\r\n this.xfrontpage = data;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listXFrontPage(0);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterXFrontPage = \"\";\r\n }\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n

XFrontPage Child Select

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XFrontPageInfoDataListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFrontPageDataSource } from \"../model/xfrontpage.datasource\";\r\nimport { XFrontPageInfoDataSource } from \"../model/xfrontpageinfo.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XPicturePlay } from \"../common/XPicturePlay.component\";\r\nimport { XFrontPage } from \"../model/xfrontpage.model\";\r\nimport { OrganizationSelectDialog } from \"../organization/organizationSelectDialog.component\";\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xfrontpageinfoDFDView\",\r\n templateUrl: \"xfrontpageinfoDFDView.component.html\"\r\n})\r\nexport class XFrontPageInfoDFDViewComponent {\r\n @Input() xfrontpageinfos: XFrontPageInfo[] = [];\r\n @ViewChild(XPicturePlay) xpictureplay?: XPicturePlay;\r\n\r\n public xfrontpage: XFrontPage = new XFrontPage();\r\n\r\n public xfrontpageinfo: XFrontPageInfo = new XFrontPageInfo();\r\n\r\n public curXItem: XItem = new XItem(-1, '', '', false, 0, false);\r\n\r\n public xfrontpageinfosPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public tenantId = GlobalObjects.gTenantId;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public sFilterXFrontPageInfo: string = '';\r\n\r\n constructor(\r\n private dataSourceXFront: XFrontPageDataSource,\r\n private dataSource: XFrontPageInfoDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'xfrontpageinfoDFDView';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"xfrontpageinfoDFDView\", \"load\");\r\n\r\n GlobalHelpers.checkUser('xfrontpageinfoDFDView', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXFrontPageInfo = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXFrontPageInfo = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xfrontpageinfo = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xfrontpageinfos = this.params.data;\r\n }\r\n }\r\n if (this.xfrontpageinfo != null) this.showXFrontPageInfo(this.xfrontpageinfo);\r\n }\r\n\r\n this.getXFrontPage();\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n }\r\n\r\n\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXFrontPageInfo: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n\r\n public isUserAuthorized = false;\r\n\r\n public loading = false;\r\n public iGrpId = -1;\r\n\r\n //>>==================================================\r\n\r\n //----Setup Global object list--\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the XFrontPages with 'IsPrimary' = 1\r\n getXFrontPage() {\r\n if (GlobalObjects.gUserPrvg > 9) {\r\n this.selectOrganization();\r\n }\r\n else this.tenantId = GlobalObjects.gTenantId;\r\n this.getXFrontPageX();\r\n }\r\n\r\n //--------------------------------------------------------------\r\n selectOrganization() {\r\n const modalRef = this.modalService.open(OrganizationSelectDialog);\r\n modalRef.componentInstance.title = 'Organization select dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.tenantId = result.TenantId;\r\n var a = GlobalObjects.gLogoCtrl;\r\n if (a != null && a.length > 0) {\r\n a.attr(\"src\", GlobalObjects.gWebApiURL + \"/Uploads/Logo/\" + result.LogoFile);\r\n }\r\n\r\n this.getXFrontPageX();\r\n }\r\n });\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the XFrontPages with 'IsPrimary' = 1\r\n getXFrontPageX() {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoDataListView\", \"getXFrontPage\");\r\n\r\n this.dataSourceXFront.getXFrontPagesByKey('1', 'IsPrimary', 500, 0, -1, this.tenantId).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.xfrontpages != null && data.Data.xfrontpages.length > 0) {\r\n this.xfrontpage = data.Data.xfrontpages[0];\r\n this.iGrpId = this.xfrontpage.XFrontPage_ID;\r\n this.xfrontpageinfos = this.xfrontpage.aXFrontPageInfo_IDList;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n if (this.iGrpId <= 0) this.getXFrontPageInfo_NextId();\r\n }\r\n else {\r\n this.xfrontpage = new XFrontPage();\r\n this.xfrontpageinfos = [];\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n }\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the XFrontPages with 'IsPrimary' = 1\r\n saveXFrontPageX() {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoDataListView\", \"saveXFrontPage\");\r\n\r\n this.dataSourceXFront.updateXFrontPage(1, this.xfrontpage).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.xfrontpage != null) {\r\n this.xfrontpage = data.Data.xfrontpage;\r\n this.iGrpId = this.xfrontpage.XFrontPage_ID;\r\n this.xfrontpageinfos = this.xfrontpage.aXFrontPageInfo_IDList;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n }\r\n else {\r\n this.xfrontpage = new XFrontPage();\r\n this.xfrontpageinfos = [];\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n }\r\n this.loading = false;\r\n this.getXFrontPageX();\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the NextId for xfrontpageInfo, used for the GrpId\r\n getXFrontPageInfo_NextId() {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoDataListView\", \"getXFrontPageInfo_NextId\");\r\n\r\n this.dataSource.GetNextID().subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null) {\r\n this.iGrpId = data.Data.Id;\r\n }\r\n else {\r\n this.iGrpId = -1;\r\n }\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.iGrpId = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXFrontPageInfo() {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n this.xfrontpageinfo.TenantId = this.tenantId;\r\n }\r\n\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailXFrontPageInfo(datax: any) {\r\n if (datax == null) {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n return;\r\n }\r\n this.xfrontpageinfo = XFrontPageInfo.Copy(datax);\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXFrontPageInfo(data: XFrontPageInfo | null) {\r\n if (data == null) return;\r\n this.getDetailXFrontPageInfo(data);\r\n this.curXItem = new XItem(data.XFrontPageInfo_ID, data.XName, data.PictureFile, false, 0, false);\r\n this.xpictureplay?.PlayPicture(this.curXItem);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowXFrontPageInfo(index: number) {\r\n if (index < 0 || this.xfrontpageinfos == null) {\r\n this.selectedRowXFrontPageInfo = -1;\r\n return;\r\n }\r\n this.selectedRowXFrontPageInfo = index;\r\n this.showXFrontPageInfo(this.xfrontpageinfos[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n this.setClickedRowXFrontPageInfo(0);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.selectedRowXFrontPageInfo - 1;\r\n if (i < 0) i = this.xfrontpageinfos.length - 1;\r\n this.setClickedRowXFrontPageInfo(i);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.selectedRowXFrontPageInfo + 1;\r\n if (i >= this.xfrontpageinfos.length) i = 0;\r\n this.setClickedRowXFrontPageInfo(i);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.xfrontpageinfos.length - 1;\r\n this.setClickedRowXFrontPageInfo(i);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xfrontpageinfos = o.dataList;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n this.xfrontpageinfo = o.data;\r\n this.sFilterXFrontPageInfo = o.filter;\r\n }\r\n }\r\n\r\n\r\n\r\n public sortTypeXFrontPageInfo = '';\r\n public sortReverseXFrontPageInfo = false;\r\n\r\n //-----------------------------------------------------\r\n GetIconFullPath(data: any) {\r\n // return \"http://localhost/dfd.webapi/Uploads/\" + data.PictureFile;\r\n return GlobalObjects.gWebApiURL + \"/Uploads/\" + data.PictureFile;\r\n }\r\n\r\n //-----------------------------------------------------\r\n orderXFrontPageInfo(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XFrontPageInfo;\r\n this.sortTypeXFrontPageInfo = columnName;\r\n this.sortReverseXFrontPageInfo = (this.sortTypeXFrontPageInfo === columnName) ? !this.sortReverseXFrontPageInfo : false;\r\n\r\n if (columnName == 'ISEQ') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.ISEQ > y.ISEQ) ? 1 : -1) : ((x.ISEQ < y.ISEQ) ? 1 : -1));\r\n else if (columnName == 'XName') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'Title') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Title > y.Title) ? 1 : -1) : ((x.Title < y.Title) ? 1 : -1));\r\n else if (columnName == 'Content') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Content > y.Content) ? 1 : -1) : ((x.Content < y.Content) ? 1 : -1));\r\n else if (columnName == 'PictureFile') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.PictureFile > y.PictureFile) ? 1 : -1) : ((x.PictureFile < y.PictureFile) ? 1 : -1));\r\n\r\n\r\n this.selectedRowXFrontPageInfo = -1;\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewXFrontPageInfo_Click() {\r\n this.InitializeXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXFrontPageInfo_Click() {\r\n this.saveNewXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXFrontPageInfo_Click() {\r\n this.saveXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteXFrontPageInfo_Click() {\r\n this.deleteXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n AddXFrontPageInfo2List(data: any) {\r\n if (data == null) return false;\r\n let iAdd = true;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n else {\r\n for (let i = 0; i < this.xfrontpageinfos.length; i++) {\r\n if (this.xfrontpageinfos[i].XFrontPageInfo_ID == data.XFrontPageInfo_ID) {\r\n this.xfrontpageinfos[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.xfrontpageinfos.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n isSaveDataReady() {\r\n if (this.xfrontpageinfo == null ||\r\n this.xfrontpageinfo.XName == '' ||\r\n this.xfrontpageinfo.XFrontPageInfo_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n isSaveAsDataReady() {\r\n if (this.xfrontpageinfo == null ||\r\n this.xfrontpageinfo.XName == '') return false;\r\n else return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n updateXFrontPageInfoSEQ() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"UpdateXFrontPageInfoSEQ\");\r\n var aIdList = '';\r\n for(var i=0;i {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfos = data.Data.xfrontpageInfos;\r\n this.setClickedRowXFrontPageInfo(this.selectedRowXFrontPageInfo);\r\n }\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"Update XFrontPageInfo SEQ Error: \" + error.message);\r\n }\r\n });\r\n }\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveXFrontPageInfo() {\r\n if (this.selectedRowXFrontPageInfo < 0 || this.xfrontpageinfo == null || this.xfrontpageinfo.XFrontPageInfo_ID <= 0) return;\r\n if (this.xpictureplay?.xitem != null) this.xfrontpageinfo.PictureFile = this.xpictureplay?.xitem.FileName;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"SaveData \");\r\n this.dataSource.updateXFrontPageInfo(1, this.xfrontpageinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageInfo;\r\n this.AddXFrontPageInfo2List(this.xfrontpageinfo);\r\n this.updateXFrontPageInfoSEQ();\r\n }\r\n alert(\"Update XFrontPageInfo successful: \" + this.xfrontpageinfo.XName);\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"Update XFrontPageInfo Error: \" + this.xfrontpageinfo.XName + \", \" + error.message);\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n //--If the info is null, make the list\r\n //\r\n saveNewXFrontPageInfo() {\r\n if (this.xpictureplay?.xitem.FileName != null) this.xfrontpageinfo.PictureFile = this.xpictureplay?.xitem.FileName;\r\n\r\n let a = XFrontPageInfo.Copy(this.xfrontpageinfo);\r\n if (this.xfrontpage.aXFrontPageInfo_IDList == null || this.xfrontpage.aXFrontPageInfo_IDList.length <= 0) {\r\n this.xfrontpage.aXFrontPageInfo_IDList = [];\r\n a.iGrpId = this.iGrpId;\r\n this.xfrontpage.aXFrontPageInfo_IDList.push(a);\r\n this.saveXFrontPageX();\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"SaveNewData \");\r\n a.XFrontPageInfo_ID = -1;\r\n this.dataSource.addXFrontPageInfo(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageInfo;\r\n this.AddXFrontPageInfo2List(data);\r\n this.updateXFrontPageInfoSEQ();\r\n }\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n removeXFrontPageInfo(idx: any) {\r\n if (idx >= 0) {\r\n this.xfrontpageinfos.splice(idx, 1);\r\n this.selectedRowXFrontPageInfo = -1;\r\n if (this.xfrontpageinfo != null) this.xfrontpageinfo.XFrontPageInfo_ID = -1;\r\n if (idx >= this.xfrontpageinfos.length) idx = -1;\r\n this.setClickedRowXFrontPageInfo(idx);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteXFrontPageInfo() {\r\n if (this.xfrontpageinfos != null && this.xfrontpageinfos.length > 0 && this.selectedRowXFrontPageInfo >= 0) {\r\n let ok = confirm(\"Are you sure of deleting the XFrontPageInfo Data: \" + this.xfrontpageinfo.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the XFrontPageInfo to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"DeleteData \" + this.xfrontpageinfo.XName);\r\n\r\n if (this.xfrontpageinfo.XFrontPageInfo_ID <= 0) {\r\n this.removeXFrontPageInfo(this.selectedRowXFrontPageInfo);\r\n }\r\n else {\r\n //let srDeleteData = XFrontPageInfoService.deleteData(this.XFrontPageInfo.XFrontPageInfo_ID);\r\n var id = this.dataSource.deleteXFrontPageInfoById(this.xfrontpageinfo.XFrontPageInfo_ID).subscribe({\r\n next: data => {\r\n this.removeXFrontPageInfo(this.selectedRowXFrontPageInfo);\r\n this.updateXFrontPageInfoSEQ();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n console.log(error.toString());\r\n alert(\"Dele XfrontPageInfo Failed: \" + this.xfrontpage.XFrontPage_ID + \", \" + error.message);\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

{{xfrontpage.XName}}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Icon\r\n \r\n \r\n \r\n SEQ\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n
\r\n \"\"\r\n {{GetNumberString(x.ISEQ)}}{{x.XName}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

{{selectedRowXFrontPageInfo+1}} of {{xfrontpageinfos?.length}}

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","//--KEEP:\r\n//#############################################################\r\n//## XFrontPageInfoDataListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFrontPageInfoDialog } from './xfrontpageinfoDialog.component';\r\nimport { XFrontPageInfoDataSource } from \"../model/xfrontpageinfo.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XPicturePlay } from \"../common/XPicturePlay.component\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xfrontpageinfoDataListView\",\r\n templateUrl: \"xfrontpageinfoDataListView.component.html\"\r\n})\r\nexport class XFrontPageInfoDataListViewComponent {\r\n @Input() xfrontpageinfos: XFrontPageInfo[] = [];\r\n @ViewChild(XPicturePlay) xpictureplay?: XPicturePlay;\r\n public xfrontpageinfo: XFrontPageInfo = new XFrontPageInfo();\r\n\r\n public curXItem: XItem = new XItem(-1, '', '', false, 0, false);\r\n\r\n public xfrontpageinfosPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public errorMessage = '';\r\n public loading = false;\r\n public selectedRowXFrontPageInfo = -1;\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n\r\n constructor(\r\n private dataSource: XFrontPageInfoDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'XFrontPageInfoDataListView';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoDataListView\", \"load\");\r\n\r\n\r\n if (this.xfrontpageinfos != null && this.xfrontpageinfos.length > 0) {\r\n this.setClickedRowXFrontPageInfo(0, null);\r\n }\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.xfrontpageinfos != null && this.xfrontpageinfos.length > 0) {\r\n this.setClickedRowXFrontPageInfo(0, null);\r\n }\r\n }\r\n\r\n showXFrontPageInfoDetailDialog(xfrontpageinfo: XFrontPageInfo) {\r\n const modalRef = this.modalService.open(XFrontPageInfoDialog);\r\n modalRef.componentInstance.data = xfrontpageinfo;\r\n modalRef.componentInstance.title = 'XFrontPageInfo Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.xfrontpageinfo = result;\r\n }\r\n });\r\n }\r\n\r\n //>>==================================================\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('xfrontpageinfoDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXFrontPageInfo() {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n }\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectXFrontPageInfo(data: XFrontPageInfo | null) {\r\n if (data == null) return;\r\n this.getXFrontPageInfo(data.XFrontPageInfo_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getXFrontPageInfo(Id: number) {\r\n if (Id <= 0 || Id == null || this.xfrontpageinfos == null) return;\r\n\r\n for (var i = 0; i < this.xfrontpageinfos.length; i++) {\r\n if (this.xfrontpageinfos[i].XFrontPageInfo_ID == Id) {\r\n this.selectedRowXFrontPageInfo = i;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailXFrontPageInfo(datax: any) {\r\n if (datax == null) {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n return;\r\n }\r\n if (datax.XFrontPageInfo_ID <= 0) {\r\n this.xfrontpageinfo = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = XFrontPageInfo.Copy(datax);\r\n this.dataSource.getXFrontPageInfo(data.XFrontPageInfo_ID, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.xfrontpageinfo = data.Data.xfrontpage;\r\n this.selectedRowXFrontPageInfo = XFrontPageInfo.FindIdx(this.xfrontpageinfo.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n }\r\n else {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n this.selectedRowXFrontPageInfo = -1;\r\n }\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n this.selectedRowXFrontPageInfo = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXFrontPageInfo(data: XFrontPageInfo | null) {\r\n if (data == null) return;\r\n this.getDetailXFrontPageInfo(data);\r\n this.curXItem = new XItem(data.XFrontPageInfo_ID, data.XName, data.PictureFile, false, 0, false);\r\n this.xpictureplay?.PlayPicture(this.curXItem);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowXFrontPageInfo(index: number, data: any) {\r\n if (data != null) {\r\n var i = XFrontPageInfo.FindIdx(data.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n if (i >= 0) index = i;\r\n }\r\n if (index < 0 || this.xfrontpageinfos == null) {\r\n this.selectedRowXFrontPageInfo = -1;\r\n return;\r\n }\r\n this.selectedRowXFrontPageInfo = index;\r\n this.showXFrontPageInfo(this.xfrontpageinfos[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n this.setClickedRowXFrontPageInfo(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.selectedRowXFrontPageInfo - 1;\r\n if (i < 0) i = this.xfrontpageinfos.length - 1;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.selectedRowXFrontPageInfo + 1;\r\n if (i >= this.xfrontpageinfos.length) i = 0;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.xfrontpageinfos.length - 1;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n }\r\n\r\n\r\n public sortTypeXFrontPageInfo = '';\r\n public sortReverseXFrontPageInfo = false;\r\n\r\n //-----------------------------------------------------\r\n GetIconFullPath(data: any) {\r\n // return \"http://localhost/dfd.webapi/Uploads/\" + data.PictureFile;\r\n return GlobalObjects.gWebApiURL + \"/Uploads/\" + data.PictureFile;\r\n }\r\n\r\n //-----------------------------------------------------\r\n orderXFrontPageInfo(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XFrontPageInfo;\r\n this.sortTypeXFrontPageInfo = columnName;\r\n this.sortReverseXFrontPageInfo = (this.sortTypeXFrontPageInfo === columnName) ? !this.sortReverseXFrontPageInfo : false;\r\n\r\n if (columnName == 'ISEQ') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.ISEQ > y.ISEQ) ? 1 : -1) : ((x.ISEQ < y.ISEQ) ? 1 : -1));\r\n else if (columnName == 'XName') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'Title') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Title > y.Title) ? 1 : -1) : ((x.Title < y.Title) ? 1 : -1));\r\n else if (columnName == 'Content') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Content > y.Content) ? 1 : -1) : ((x.Content < y.Content) ? 1 : -1));\r\n else if (columnName == 'PictureFile') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.PictureFile > y.PictureFile) ? 1 : -1) : ((x.PictureFile < y.PictureFile) ? 1 : -1));\r\n\r\n\r\n this.selectedRowXFrontPageInfo = -1;\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewXFrontPageInfo_Click() {\r\n this.InitializeXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXFrontPageInfo_Click() {\r\n this.saveNewXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXFrontPageInfo_Click() {\r\n this.saveXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteXFrontPageInfo_Click() {\r\n this.deleteXFrontPageInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n AddXFrontPageInfo2List(data: any) {\r\n let iAdd = true;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n else {\r\n for (let i = 0; i < this.xfrontpageinfos.length; i++) {\r\n if (this.xfrontpageinfos[i].XFrontPageInfo_ID == data.XFrontPageInfo_ID) {\r\n this.xfrontpageinfos[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.xfrontpageinfos.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //-----CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n savePictureFile() {\r\n if (this.xpictureplay != null) {\r\n this.xfrontpageinfos[this.selectedRowXFrontPageInfo].PictureFile = this.xfrontpageinfo.PictureFile = this.xpictureplay?.xitem.FileName;\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n isSaveDataReady()\r\n {\r\n if(this.selectedRowXFrontPageInfo < 0 || \r\n this.xfrontpageinfo == null || \r\n this.xfrontpageinfo.XName =='') return false;\r\n else return true;\r\n }\r\n \r\n //----------------------------------------------------------------------------------------------\r\n isSaveAsDataReady()\r\n {\r\n if(this.xfrontpageinfo == null || \r\n this.xfrontpageinfo.XName =='') return false;\r\n else return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveXFrontPageInfo() {\r\n if (this.selectedRowXFrontPageInfo < 0) return;\r\n if (this.xpictureplay?.xitem != null) this.xfrontpageinfo.PictureFile = this.xpictureplay?.xitem.FileName;\r\n this.xfrontpageinfos[this.selectedRowXFrontPageInfo] = this.xfrontpageinfo;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewXFrontPageInfo() {\r\n if (this.curXItem.FileName != '') this.xfrontpageinfo.PictureFile = this.curXItem.FileName;\r\n let a = XFrontPageInfo.Copy(this.xfrontpageinfo);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"SaveNewData\");\r\n a.XFrontPageInfo_ID = -1;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n this.xfrontpageinfos.push(a);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n removeXFrontPageInfo(idx: any) {\r\n if (idx >= 0) {\r\n this.xfrontpageinfos.splice(idx, 1);\r\n this.selectedRowXFrontPageInfo = -1;\r\n if (idx >= this.xfrontpageinfos.length) idx = 0;\r\n this.setClickedRowXFrontPageInfo(idx, null);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteXFrontPageInfo() {\r\n if (this.xfrontpageinfos != null && this.xfrontpageinfos.length > 0 && this.selectedRowXFrontPageInfo >= 0) {\r\n let ok = confirm(\"Are you sure of deleting the XFrontPageInfo: \" + this.xfrontpageinfo.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the XFrontPageInfo to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"DeleteData \" + this.xfrontpageinfo.XName);\r\n\r\n this.removeXFrontPageInfo(this.selectedRowXFrontPageInfo);\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Icon\r\n \r\n \r\n \r\n SEQ\r\n \r\n \r\n \r\n Name\r\n \r\n \r\n \r\n Title\r\n \r\n \r\n
\r\n \"\"\r\n {{GetNumberString(x.ISEQ)}}{{x.XName}}{{x.Title}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n

{{selectedRowXFrontPageInfo}} of {{xfrontpageinfos?.length}}

\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## XFrontPageInfoDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFrontPageInfoDialog } from './xfrontpageinfoDialog.component';\r\nimport { XFrontPageInfoDataSource } from \"../model/xfrontpageinfo.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xfrontpageinfoDataPage\",\r\n templateUrl: \"xfrontpageinfoDataPage.component.html\",\r\n styleUrls: ['./xfrontpageinfo.component.css']\r\n})\r\nexport class XFrontPageInfoDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n \r\n public xfrontpageinfosPerPage = 4;\r\n public selectedPage = 1;\r\n public xfrontpageinfos: XFrontPageInfo[] = [];\r\n public xfrontpageinfo: XFrontPageInfo = new XFrontPageInfo();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'XFrontPageInfo_ID,GrpID,ISEQ,RdPrvg,WtPrvg,XName,Title,Description,Content,PictureFile,PictureFileAltText,URL,URLText,CreateDate,UpdateDate,TenantId';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXFrontPageInfo: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n public isUserAuthorized = false;\r\n public loading = false;\r\n\r\n //----Setup Global object list--\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n public sFilterXFrontPageInfo:string = '';\r\n \r\n public FilterXFrontPageInfo_ID: string = '';\r\n public FilterISEQ: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterTitle: string = '';\r\n public FilterDescription: string = '';\r\n public FilterContent: string = '';\r\n public FilterPictureFile: string = '';\r\n public FilterPictureFileAltText: string = '';\r\n public FilterURL: string = '';\r\n public FilterURLText: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //-----------------------------------------------------------\r\n constructor(\r\n private dataSource: XFrontPageInfoDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n \r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n \r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'XFrontPageInfoDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('XFrontPageInfoDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if(this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXFrontPageInfo = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXFrontPageInfo = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xfrontpageinfo = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xfrontpageinfos = this.params.data;\r\n }\r\n }\r\n\r\n if (this.selectedRowXFrontPageInfo < 0) this.getXFrontPageInfo(this.Id);\r\n if (this.xfrontpageinfos == null) {\r\n this.getDataFromStack();\r\n if (this.xfrontpageinfos == null && this.fetchDb == 1) this.listXFrontPageInfo(0);\r\n }\r\n this.showXFrontPageInfo(this.xfrontpageinfo);\r\n }\r\n }\r\n \r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if(this.params != null) return;\r\n if(this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n }\r\n\r\n //--------------------------------------------------------\r\n showXFrontPageInfoDetailDialog(xfrontpageinfo: XFrontPageInfo) {\r\n const modalRef = this.modalService.open(XFrontPageInfoDialog);\r\n modalRef.componentInstance.data = xfrontpageinfo;\r\n modalRef.componentInstance.title = 'XFrontPageInfo Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n \r\n modalRef.result.then((result) =>{\r\n if(result){\r\n this.xfrontpageinfo = result;\r\n }\r\n });\r\n }\r\n\r\n//>>==================================================\r\n\r\n //------------------------------------------------\r\n isSaveDataReady(){\r\n if(this.xfrontpageinfo == null ||\r\n this.xfrontpageinfo.XFrontPageInfo_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n isSaveAsDataReady(){\r\n if(this.xfrontpageinfo == null) return false;\r\n else return true;\r\n }\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterXFrontPageInfo_ID + '|' +\r\n this.FilterISEQ + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterTitle + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterContent + '|' +\r\n this.FilterPictureFile + '|' +\r\n this.FilterPictureFileAltText + '|' +\r\n this.FilterURL + '|' +\r\n this.FilterURLText + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXFrontPageInfo_ID = slist[i]; i++;\r\n this.FilterISEQ = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterTitle = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterContent = slist[i]; i++;\r\n this.FilterPictureFile = slist[i]; i++;\r\n this.FilterPictureFileAltText = slist[i]; i++;\r\n this.FilterURL = slist[i]; i++;\r\n this.FilterURLText = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterXFrontPageInfo ()\r\n {\r\n this.sFilterXFrontPageInfo = '';\r\n if (this.FilterXFrontPageInfo_ID != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" XFrontPageInfo_ID like '%\" + this.FilterXFrontPageInfo_ID + \"%' \";\r\n }\r\n if (this.FilterISEQ != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" ISEQ like '%\" + this.FilterISEQ + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterTitle != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" Title like '%\" + this.FilterTitle + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterContent != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" Content like '%\" + this.FilterContent + \"%' \";\r\n }\r\n if (this.FilterPictureFile != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" PictureFile like '%\" + this.FilterPictureFile + \"%' \";\r\n }\r\n if (this.FilterPictureFileAltText != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" PictureFileAltText like '%\" + this.FilterPictureFileAltText + \"%' \";\r\n }\r\n if (this.FilterURL != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" URL like '%\" + this.FilterURL + \"%' \";\r\n }\r\n if (this.FilterURLText != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" URLText like '%\" + this.FilterURLText + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'XFrontPageInfo_ID') this.FilterXFrontPageInfo_ID = svalue;\r\n else if(sname == 'ISEQ') this.FilterISEQ = svalue;\r\n else if(sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'Title') this.FilterTitle = svalue;\r\n else if(sname == 'Description') this.FilterDescription = svalue;\r\n else if(sname == 'Content') this.FilterContent = svalue;\r\n else if(sname == 'PictureFile') this.FilterPictureFile = svalue;\r\n else if(sname == 'PictureFileAltText') this.FilterPictureFileAltText = svalue;\r\n else if(sname == 'URL') this.FilterURL = svalue;\r\n else if(sname == 'URLText') this.FilterURLText = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('xfrontpageinfoDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage, \r\n { state: \r\n { \r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n } \r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXFrontPageInfo() {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of XFrontPageInfo from database \r\n //--Id is object Id, to be as the current\r\n listXFrontPageInfo(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoDataPage\", \"listXFrontPageInfo\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterXFrontPageInfo;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getXFrontPageInfos(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xfrontpageinfos = data.Data.XFrontPageInfos;\r\n }\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectXFrontPageInfo(data: XFrontPageInfo | null) {\r\n if (data == null) return;\r\n this.getXFrontPageInfo(data.XFrontPageInfo_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getXFrontPageInfo(Id: number) {\r\n if (Id <= 0 || Id == null || this.xfrontpageinfos == null) return;\r\n\r\n for (var i = 0; i < this.xfrontpageinfos.length; i++) {\r\n if (this.xfrontpageinfos[i].XFrontPageInfo_ID == Id) {\r\n this.selectedRowXFrontPageInfo = i;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailXFrontPageInfo(datax: any) {\r\n if (datax == null) {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n return;\r\n }\r\n if (datax.XFrontPageInfo_ID <= 0) {\r\n this.xfrontpageinfo = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = XFrontPageInfo.Copy(datax);\r\n this.dataSource.getXFrontPageInfo(data.XFrontPageInfo_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageinfo;\r\n }\r\n this.selectedRowXFrontPageInfo = XFrontPageInfo.FindIdx(this.xfrontpageinfo.XFrontPageInfo_ID,this.xfrontpageinfos);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n this.selectedRowXFrontPageInfo = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXFrontPageInfo(data: XFrontPageInfo | null) {\r\n if (data == null) return;\r\n this.getDetailXFrontPageInfo(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowXFrontPageInfo(index: number, data: any) {\r\n if(data != null)\r\n {\r\n var i = XFrontPageInfo.FindIdx(data.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xfrontpageinfos == null) {\r\n this.selectedRowXFrontPageInfo = -1;\r\n return;\r\n }\r\n this.selectedRowXFrontPageInfo = index;\r\n this.showXFrontPageInfo(this.xfrontpageinfos[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n this.setClickedRowXFrontPageInfo(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.selectedRowXFrontPageInfo - 1;\r\n if (i < 0) i = this.xfrontpageinfos.length - 1;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.selectedRowXFrontPageInfo + 1;\r\n if (i >= this.xfrontpageinfos.length) i = 0;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemXFrontPageInfo_Click() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) return;\r\n var i = this.xfrontpageinfos.length - 1;\r\n this.setClickedRowXFrontPageInfo(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xfrontpageinfos = o.dataList;\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n this.xfrontpageinfo = o.data;\r\n this.sFilterXFrontPageInfo = o.filter;\r\n }\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewXFrontPageInfo_Click() {\r\n this.InitializeXFrontPageInfo(); \r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXFrontPageInfo_Click() {\r\n this.saveNewXFrontPageInfo(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXFrontPageInfo_Click() {\r\n this.saveXFrontPageInfo(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteXFrontPageInfo_Click() {\r\n this.deleteXFrontPageInfo(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddXFrontPageInfo2List(data: any) {\r\n let iAdd = true;\r\n if (this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n else {\r\n for (let i = 0; i < this.xfrontpageinfos.length; i++) {\r\n if (this.xfrontpageinfos[i].XFrontPageInfo_ID == data.XFrontPageInfo_ID) {\r\n this.xfrontpageinfos[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.xfrontpageinfos.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveXFrontPageInfo(saveDB: boolean) {\r\n if (this.xfrontpageinfo == null || this.xfrontpageinfo.XFrontPageInfo_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddXFrontPageInfo2List(this.xfrontpageinfo);\r\n }\r\n else {\r\n this.dataSource.updateXFrontPageInfo(1, this.xfrontpageinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageinfo;\r\n alert(\"save XFrontPageInfo Successful: \" + this.xfrontpageinfo.XFrontPageInfo_ID);\r\n }\r\n else{\r\n alert(\"save XFrontPageInfo Failed: \" + this.xfrontpageinfo.XFrontPageInfo_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n alert(\"saveXFrontPageInfo ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewXFrontPageInfo(saveDB: boolean) {\r\n let a = XFrontPageInfo.Copy(this.xfrontpageinfo);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"SaveNewData \" + saveDB);\r\n a.XFrontPageInfo_ID = -1;\r\n if (!saveDB) {\r\n this.AddXFrontPageInfo2List(a);\r\n }\r\n else {\r\n this.dataSource.addXFrontPageInfo(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageinfo;\r\n alert(\"saveNew XFrontPageInfo Successful: \" + this.xfrontpageinfo.XFrontPageInfo_ID);\r\n }\r\n else{\r\n alert(\"saveNew XFrontPageInfo Failed\");\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n alert(\"ERROR: SaveNew XFrontPageInfo Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteXFrontPageInfo(delDB: boolean) {\r\n if (this.xfrontpageinfos != null && this.xfrontpageinfos.length > 0 && this.xfrontpageinfo.XFrontPageInfo_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the XFrontPageInfo: \" + this.xfrontpageinfo.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the XFrontPageInfo to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XFrontPageInfo\", \"DeleteData \" + this.xfrontpageinfo.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.xfrontpageinfos.indexOf(this.xfrontpageinfo);\r\n if (idx >= 0) {\r\n this.xfrontpageinfos.splice(idx, 1);\r\n this.InitializeXFrontPageInfo();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = XFrontPageInfoService.deleteXFrontPageInfo(this.XFrontPageInfo.XFrontPageInfo_ID);\r\n var id = this.dataSource.deleteXFrontPageInfoById(this.xfrontpageinfo.XFrontPageInfo_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data > 0){\r\n alert(\"Delete XFrontPageInfo Successful: \" + this.xfrontpageinfo.XFrontPageInfo_ID);\r\n }\r\n else{\r\n alert(\"Delete XFrontPageInfo Failed: \" + this.xfrontpageinfo.XFrontPageInfo_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n alert(\"ERROR: Delete XFrontPageInfo Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'XFrontPageInfoDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n \r\n\r\n \r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

XFrontPageInfo Data Page

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{{selectedRowXFrontPageInfo}} of {{xfrontpageinfos.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## XFrontPageInfoDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { XFrontPageInfoDataSource } from '../model/xfrontpageinfo.datasource';\r\n\r\nimport { XFrontPageInfo } from 'src/app/model/xfrontpageinfo.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'xfrontpageinfodata-content',\r\n templateUrl: './xfrontpageinfoDialog.component.html'\r\n})\r\nexport class XFrontPageInfoDialog implements OnInit {\r\n @Input() xfrontpageinfo: XFrontPageInfo = new XFrontPageInfo();\r\n @Input() xfrontpageinfos: XFrontPageInfo[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: XFrontPageInfoDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.xfrontpageinfos == null) return;\r\n this.index = XFrontPageInfo.FindIdx(this.xfrontpageinfo.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xfrontpageinfos.length) this.index = this.xfrontpageinfos.length - 1;\r\n this.xfrontpageinfo = this.xfrontpageinfos[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.xfrontpageinfos == null) return;\r\n this.index = XFrontPageInfo.FindIdx(this.xfrontpageinfo.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xfrontpageinfos.length) this.index = this.xfrontpageinfos.length - 1;\r\n this.xfrontpageinfo = this.xfrontpageinfos[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getXFrontPageInfo(this.xfrontpageinfo.XFrontPageInfo_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xfrontpageinfo = data.Data.XFrontPageInfo;\r\n }\r\n else this.xfrontpageinfo = new XFrontPageInfo();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.xfrontpageinfo);\r\n this.activeModal.close(this.xfrontpageinfo);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

XFrontPageInfo Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { XFrontPageInfo } from \"../model/xfrontpageinfo.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XFrontPageInfoDialog } from './xfrontpageinfoDialog.component';\r\nimport { XFrontPageInfoDataSource } from \"../model/xfrontpageinfo.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"xfrontpageinfoPage\",\r\n templateUrl: \"xfrontpageinfoPage.component.html\"\r\n})\r\nexport class XFrontPageInfoPageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public xfrontpageinfosPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public params: any;\r\n\r\n public Properties = 'XFrontPageInfo_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXFrontPageInfo: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public xfrontpageinfos: XFrontPageInfo[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n public currentPage = 0;\r\n public currentXFrontPageInfos: XFrontPageInfo[] = [];\r\n\r\n public sortTypeXFrontPageInfo = '';\r\n public sortReverseXFrontPageInfo = false;\r\n\r\n constructor(\r\n private dataSource: XFrontPageInfoDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n \r\n private xfrontpageinfo: XFrontPageInfo,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('XFrontPageInfoPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXFrontPageInfo = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXFrontPageInfo = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xfrontpageinfo = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xfrontpageinfos = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if(this.xfrontpageinfos == undefined || this.xfrontpageinfos.length <= 0) this.getXFrontPageInfos(1, 500, '', 100, 1, 5);\r\n console.log((\"XFrontPageInfoPage.Component construct\"));\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n }\r\n \r\n //-----------------------------------------------------\r\n orderXFrontPageInfo (columnName:string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XFrontPageInfo;\r\n this.sortTypeXFrontPageInfo = columnName;\r\n this.sortReverseXFrontPageInfo = (this.sortTypeXFrontPageInfo === columnName) ? !this.sortReverseXFrontPageInfo : false;\r\n \r\n if(columnName == 'ISEQ') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.ISEQ > y.ISEQ) ? 1 : -1) : ((x.ISEQ < y.ISEQ) ? 1 : -1));\r\n else if(columnName == 'XName') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if(columnName == 'Title') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Title > y.Title) ? 1 : -1) : ((x.Title < y.Title) ? 1 : -1));\r\n else if(columnName == 'Description') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Description > y.Description) ? 1 : -1) : ((x.Description < y.Description) ? 1 : -1));\r\n else if(columnName == 'Content') this.xfrontpageinfos = this.xfrontpageinfos.sort((x, y) => this.sortReverseXFrontPageInfo ? ((x.Content > y.Content) ? 1 : -1) : ((x.Content < y.Content) ? 1 : -1));\r\n\r\n \r\n this.selectedRowXFrontPageInfo = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getXFrontPageInfos(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getXFrontPageInfos(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xfrontpageinfos = data.Data.XFrontPageInfos;\r\n }\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a XFrontPageInfo-------------------\r\n addXFrontPageInfo(xfrontpageinfo: XFrontPageInfo) {\r\n this.dataSource.addXFrontPageInfo(1, xfrontpageinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageinfo;\r\n alert(\"Add XFrontPageInfo successful\");\r\n }\r\n else alert(\"Add XFrontPageInfo failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n alert(\"ERROR: Add XFrontPageInfo failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateXFrontPageInfo(xfrontpageinfo: XFrontPageInfo) {\r\n this.dataSource.updateXFrontPageInfo(1, xfrontpageinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xfrontpageinfo = data.Data.xfrontpageinfo;\r\n alert(\"Update XFrontPageInfo successful\");\r\n }\r\n else alert(\"Update XFrontPageInfo failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n alert(\"ERROR: Delete XFrontPageInfo failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteXFrontPageInfo(id: number) {\r\n this.dataSource.deleteXFrontPageInfoById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data!= null && data.Data > 0) alert(\"Delete XFrontPageInfo successful\");\r\n else alert(\"Delete XFrontPageInfo failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n alert(\"ERROR: Delete XFrontPageInfo failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddXFrontPageInfo_Click() {\r\n this.xfrontpageinfo = new XFrontPageInfo();\r\n GParentState.Push('xfrontpageinfoDataPage', 'xfrontpageinfoPage', this.Id, this.selectedRowXFrontPageInfo, this.sFilterXFrontPageInfo, this.fetchDb, this.getChild, this.readOnly, this.xfrontpageinfo, this.xfrontpageinfos,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xfrontpageinfoDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XFrontPageInfoPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xfrontpageinfo,\r\n data: this.xfrontpageinfos,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showXFrontPageInfoDetail(xfrontpageinfo: XFrontPageInfo) {\r\n var idx = XFrontPageInfo.FindIdx(xfrontpageinfo.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n \r\n const modalRef = this.modalService.open(XFrontPageInfoDialog);\r\n modalRef.componentInstance.xfrontpageinfos = this.xfrontpageinfos;\r\n modalRef.componentInstance.xfrontpageinfo = xfrontpageinfo;\r\n modalRef.componentInstance.title = 'XFrontPageInfo data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n\r\n //----Setup Global object list--\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n public sFilterXFrontPageInfo:string = '';\r\n \r\n public FilterXFrontPageInfo_ID: string = '';\r\n public FilterISEQ: string = '';\r\n public FilterRdPrvg: string = '';\r\n public FilterXName: string = '';\r\n public FilterTitle: string = '';\r\n public FilterDescription: string = '';\r\n public FilterContent: string = '';\r\n public FilterPictureFile: string = '';\r\n public FilterPictureFileAltText: string = '';\r\n public FilterURL: string = '';\r\n public FilterURLText: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterXFrontPageInfo_ID + '|' +\r\n this.FilterISEQ + '|' +\r\n this.FilterRdPrvg + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterTitle + '|' +\r\n this.FilterDescription + '|' +\r\n this.FilterContent + '|' +\r\n this.FilterPictureFile + '|' +\r\n this.FilterPictureFileAltText + '|' +\r\n this.FilterURL + '|' +\r\n this.FilterURLText + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXFrontPageInfo_ID = slist[i]; i++;\r\n this.FilterISEQ = slist[i]; i++;\r\n this.FilterRdPrvg = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterTitle = slist[i]; i++;\r\n this.FilterDescription = slist[i]; i++;\r\n this.FilterContent = slist[i]; i++;\r\n this.FilterPictureFile = slist[i]; i++;\r\n this.FilterPictureFileAltText = slist[i]; i++;\r\n this.FilterURL = slist[i]; i++;\r\n this.FilterURLText = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterXFrontPageInfo ()\r\n {\r\n this.sFilterXFrontPageInfo = '';\r\n if (this.FilterXFrontPageInfo_ID != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" XFrontPageInfo_ID like '%\" + this.FilterXFrontPageInfo_ID + \"%' \";\r\n }\r\n if (this.FilterISEQ != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" ISEQ like '%\" + this.FilterISEQ + \"%' \";\r\n }\r\n if (this.FilterRdPrvg != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" RdPrvg like '%\" + this.FilterRdPrvg + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterTitle != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" Title like '%\" + this.FilterTitle + \"%' \";\r\n }\r\n if (this.FilterDescription != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" Description like '%\" + this.FilterDescription + \"%' \";\r\n }\r\n if (this.FilterContent != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" Content like '%\" + this.FilterContent + \"%' \";\r\n }\r\n if (this.FilterPictureFile != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" PictureFile like '%\" + this.FilterPictureFile + \"%' \";\r\n }\r\n if (this.FilterPictureFileAltText != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" PictureFileAltText like '%\" + this.FilterPictureFileAltText + \"%' \";\r\n }\r\n if (this.FilterURL != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" URL like '%\" + this.FilterURL + \"%' \";\r\n }\r\n if (this.FilterURLText != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" URLText like '%\" + this.FilterURLText + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterXFrontPageInfo != '') this.sFilterXFrontPageInfo += \" AND \";\r\n this.sFilterXFrontPageInfo += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'XFrontPageInfo_ID') this.FilterXFrontPageInfo_ID = svalue;\r\n else if(sname == 'ISEQ') this.FilterISEQ = svalue;\r\n else if(sname == 'RdPrvg') this.FilterRdPrvg = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'Title') this.FilterTitle = svalue;\r\n else if(sname == 'Description') this.FilterDescription = svalue;\r\n else if(sname == 'Content') this.FilterContent = svalue;\r\n else if(sname == 'PictureFile') this.FilterPictureFile = svalue;\r\n else if(sname == 'PictureFileAltText') this.FilterPictureFileAltText = svalue;\r\n else if(sname == 'URL') this.FilterURL = svalue;\r\n else if(sname == 'URLText') this.FilterURLText = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('xfrontpageinfoPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit () {\r\n this.FilterXFrontPageInfo_ID = '';\r\n this.FilterISEQ = '';\r\n this.FilterRdPrvg = '';\r\n this.FilterXName = '';\r\n this.FilterTitle = '';\r\n this.FilterDescription = '';\r\n this.FilterContent = '';\r\n this.FilterPictureFile = '';\r\n this.FilterPictureFileAltText = '';\r\n this.FilterURL = '';\r\n this.FilterURLText = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n this.FilterTenantId = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.xfrontpageinfos = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentXFrontPageInfos = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.xfrontpageinfos.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentXFrontPageInfos = this.xfrontpageinfos;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.xfrontpageinfos.length) iEItem = this.xfrontpageinfos.length;\r\n this.currentXFrontPageInfos = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentXFrontPageInfos.push(this.xfrontpageinfos[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.xfrontpageinfos == null || this.xfrontpageinfos.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentXFrontPageInfos = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.XFrontPageInfos.length) this.itemsPerPage = this.XFrontPageInfos.length;\r\n var nPages = 0;\r\n if (this.xfrontpageinfos != null) nPages = Math.ceil(this.xfrontpageinfos.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //---------------------List XFrontPageInfo records:using ListXFrontPageInfoByFile-------------------------------------------------------------\r\n listXFrontPageInfo(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterXFrontPageInfo();\r\n if (!fLoadAll && this.sFilterXFrontPageInfo == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XFrontPageInfoPage\", \"listXFrontPageInfo\");\r\n\r\n //var srListData = XFrontPageInfoService.ListXFrontPageInfo(iBegId, nMax, this.sFilterXFrontPageInfo, nGetChild, nMaxLevel);\r\n this.dataSource.ListXFrontPageInfoByFile('XFrontPageInfo_QueryFile.sql', 'ListXFrontPageInfo', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n {\r\n this.xfrontpageinfos = data.Data.xfrontpageinfo;\r\n }\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('XFrontPageInfoDataPage', this.MakeFilterString(), this.xfrontpageinfos, this.xfrontpageinfo);\r\n \r\n this.selectPage(1);\r\n \r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xfrontpageinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no xfrontpageinfo data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXFrontPageInfo(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowXFrontPageInfo = XFrontPageInfo.FindIdx(adata.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n if (this.selectedRowXFrontPageInfo >= 0 && this.selectedRowXFrontPageInfo < this.xfrontpageinfos.length) adata = this.xfrontpageinfos[this.selectedRowXFrontPageInfo];\r\n else return;\r\n }\r\n this.xfrontpageinfo = adata;\r\n GParentState.Push('xfrontpageinfoDataPage', 'xfrontpageinfoPage', this.Id, this.selectedRowXFrontPageInfo, this.sFilterXFrontPageInfo, this.fetchDb, this.getChild, this.readOnly, this.xfrontpageinfo, this.xfrontpageinfos,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xfrontpageinfoDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XFrontPageInfoPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xfrontpageinfo,\r\n data: this.xfrontpageinfos,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listXFrontPageInfo(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterXFrontPageInfo = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowXFrontPageInfo(index:number, data: any) {\r\n if(data != null)\r\n {\r\n var i = XFrontPageInfo.FindIdx(data.XFrontPageInfo_ID, this.xfrontpageinfos);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xfrontpageinfos == null) {\r\n this.selectedRowXFrontPageInfo = -1;\r\n return;\r\n }\r\n this.selectedRowXFrontPageInfo = index;\r\n this.showXFrontPageInfo(this.xfrontpageinfos[this.selectedRowXFrontPageInfo]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgXFrontPageInfo tr.data')[this.selectedRowXFrontPageInfo];\r\n var container = $('#dgXFrontPageInfoDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xfrontpageinfos = o.dataList;\r\n if(this.xfrontpageinfos == null) this.xfrontpageinfos = [];\r\n this.xfrontpageinfo = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.xfrontpageinfos != null) nPages = Math.ceil(this.xfrontpageinfos.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n \r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgXFrontPageInfoDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","
\r\n
\r\n

XFrontPageInfo

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n SEQ\r\n \r\n \r\n \r\n XName\r\n \r\n \r\n \r\n Title\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n \r\n Content\r\n \r\n \r\n
\r\n \r\n {{GetNumberString(x.ISEQ)}}{{x.XName}}{{x.Title}}{{x.Description}}{{x.Content}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XUserDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUser } from \"../model/xuser.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XUserDialog } from './xuserDialog.component';\r\nimport { XUserDataSource } from \"../model/xuser.datasource\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XUserImagePlay } from \"../common/XUserImagePlay.component\";\r\nimport { XUserInfo } from \"../model/xuserinfo.model\";\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xuserDataPage\",\r\n templateUrl: \"xuserDataPage.component.html\",\r\n styleUrls: ['./xuser.component.css']\r\n})\r\nexport class XUserDataPageComponent {\r\n @ViewChild(XUserImagePlay) xuserimageplay?: XUserImagePlay;\r\n\r\n //@Input() abc: ABC = new ABC();\r\n //@ViewChild(xuserinfoDataView) xuserinfodataview ?: xuserinfoDataView;\r\n //@ViewChild(usersecurityquestionDataListView) usersecurityquestiondatalistview ?: usersecurityquestionDataListView;\r\n\r\n public xusersPerPage = 4;\r\n public selectedPage = 1;\r\n public xusers: XUser[] = [];\r\n public xuser: XUser = new XUser();\r\n\r\n public confirmPwd = '';\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public curXItemUserImage: XItem = new XItem(-1, '', '', false, 0, false);\r\n\r\n public params: any;\r\n\r\n public sFilterXUser: string = '';\r\n\r\n public FilterXUser_ID: string = '';\r\n public FilterIsActive: string = '';\r\n public FilterLastAccessDt: string = '';\r\n public FilterXName: string = '';\r\n public FilterID: string = '';\r\n public FilterEMail: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n\r\n constructor(\r\n private dataSource: XUserDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'XUserDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('XUserDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXUser = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXUser = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xuser = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xusers = this.params.data;\r\n }\r\n }\r\n\r\n if (this.fetchDb == 999) { //--to Save\r\n if (this.xuser != null) {\r\n if (this.xuser.XUser_ID > 0) this.saveXUser(true);\r\n else this.saveNewXUser(true);\r\n }\r\n }\r\n else {\r\n if (this.selectedRowXUser < 0) this.getXUser(this.Id);\r\n if (this.xusers == null) {\r\n this.getDataFromStack();\r\n if (this.xusers == null && this.fetchDb == 1) this.listXUser(0);\r\n }\r\n }\r\n if(this.xuser != null)\r\n {\r\n if(GlobalObjects.gUserId == this.xuser.ID)\r\n {\r\n this.gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg+1);\r\n }\r\n\r\n }\r\n this.showXUser(this.xuser);\r\n }\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n\r\n showXUserDetailDialog(xuser: XUser) {\r\n const modalRef = this.modalService.open(XUserDialog);\r\n modalRef.componentInstance.data = xuser;\r\n modalRef.componentInstance.title = 'XUser Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.xuser = result;\r\n }\r\n });\r\n }\r\n\r\n\r\n //-----Automatically CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n saveUserImageFile() {\r\n if (this.xuserimageplay != null) {\r\n this.xuser.aXUserInfo_ID.PictureFile = this.xuserimageplay?.xitem.FileName;\r\n }\r\n }\r\n\r\n public Properties = 'XUser_ID,Prvg,IsActive,LastAccessDt,TenantId,Token,TokenValidTo,RefreshToken,RefreshTokenExpireDt,XName,ID,Pwd,EMail,CreateDate,UpdateDate,XUserInfo_ID,UserSecurityQuestion_ID';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXUser: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n\r\n public isUserAuthorized = false;\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n //----Setup Global object list--\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterXUser_ID + '|' +\r\n this.FilterIsActive + '|' +\r\n this.GetDateString(this.FilterLastAccessDt) + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterID + '|' +\r\n this.FilterEMail + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate);\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXUser_ID = slist[i]; i++;\r\n this.FilterIsActive = slist[i]; i++;\r\n this.FilterLastAccessDt = this.GetDate(slist[i]); i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterID = slist[i]; i++;\r\n this.FilterEMail = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n }\r\n\r\n\r\n MakeFilterXUser() {\r\n this.sFilterXUser = '';\r\n if (this.FilterXUser_ID != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" XUser_ID like '%\" + this.FilterXUser_ID + \"%' \";\r\n }\r\n if (this.FilterIsActive != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" IsActive like '%\" + this.FilterIsActive + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterLastAccessDt);\r\n if (sDate != '') {\r\n if (this.FilterLastAccessDt != '') this.FilterLastAccessDt = sDate;\r\n else this.FilterLastAccessDt = sDate;\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" LastAccessDt >= '\" + this.FilterLastAccessDt + \"' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterID != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" ID like '%\" + this.FilterID + \"%' \";\r\n }\r\n if (this.FilterEMail != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" EMail like '%\" + this.FilterEMail + \"%' \";\r\n }\r\n sDate = this.GetDateString(this.FilterCreateDate); if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'XUser_ID') this.FilterXUser_ID = svalue;\r\n else if (sname == 'IsActive') this.FilterIsActive = svalue;\r\n else if (sname == 'LastAccessDt') this.FilterLastAccessDt = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'ID') this.FilterID = svalue;\r\n else if (sname == 'EMail') this.FilterEMail = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('xuserDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXUser() {\r\n var tenantId = this.xuser.TenantId;\r\n this.xuser = new XUser();\r\n this.xuser.TenantId = tenantId;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of XUser from database \r\n //--Id is object Id, to be as the current\r\n listXUser(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserDataPage\", \"listXUser\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterXUser;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getXUsers(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null) {\r\n this.xusers = data.Data.xusers;\r\n }\r\n if(this.xusers == null) this.xusers = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xusers = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectXUser(data: XUser | null) {\r\n if (data == null) return;\r\n this.getXUser(data.XUser_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getXUser(Id: number) {\r\n if (Id <= 0 || Id == null || this.xusers == null) return;\r\n\r\n for (var i = 0; i < this.xusers.length; i++) {\r\n if (this.xusers[i].XUser_ID == Id) {\r\n this.selectedRowXUser = i;\r\n this.setClickedRowXUser(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailXUser(datax: any) {\r\n if (datax == null) {\r\n this.xuser = new XUser();\r\n return;\r\n }\r\n if (datax.XUser_ID <= 0) {\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = XUser.Copy(datax);\r\n var nChild = 500;\r\n if (this.getChild == 0) nChild = 0\r\n this.dataSource.getXUser(data.XUser_ID, data.TenantId).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.xuser != null) {\r\n this.xuser = data.Data.xuser;\r\n if(this.xuser.aXUserInfo_ID == null) this.xuser.aXUserInfo_ID = new XUserInfo();\r\n if(this.xuser.aUserSecurityQuestion_IDList == null) this.xuser.aUserSecurityQuestion_IDList = [];\r\n this.selectedRowXUser = XUser.FindIdx(this.xuser.XUser_ID, this.xusers);\r\n var sImage = \"\";\r\n if (this.xuser.aXUserInfo_ID != null) sImage = this.xuser.aXUserInfo_ID.PictureFile;\r\n this.curXItemUserImage = new XItem(this.xuser.XUser_ID, this.xuser.XName, sImage, false, 0, false);\r\n this.xuserimageplay?.PlayPicture(this.curXItemUserImage);\r\n }\r\n else {\r\n this.xuser = new XUser();\r\n this.xuser.aXUserInfo_ID = new XUserInfo();\r\n this.xuser.aUserSecurityQuestion_IDList = [];\r\n this.selectedRowXUser = -1;\r\n }\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n this.xuser.aXUserInfo_ID = new XUserInfo();\r\n this.xuser.aUserSecurityQuestion_IDList = [];\r\n this.selectedRowXUser = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXUser(data: XUser | null) {\r\n if (data == null) return;\r\n this.getDetailXUser(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowXUser(index: number, data: any) {\r\n if (data != null) {\r\n var i = XUser.FindIdx(data.XUser_ID, this.xusers);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xusers == null) {\r\n this.selectedRowXUser = -1;\r\n return;\r\n }\r\n this.selectedRowXUser = index;\r\n this.showXUser(this.xusers[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemXUser_Click() {\r\n if (this.xusers == null || this.xusers.length <= 0) return;\r\n this.setClickedRowXUser(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemXUser_Click() {\r\n if (this.xusers == null || this.xusers.length <= 0) return;\r\n var i = this.selectedRowXUser - 1;\r\n if (i < 0) i = this.xusers.length - 1;\r\n this.setClickedRowXUser(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemXUser_Click() {\r\n if (this.xusers == null || this.xusers.length <= 0) return;\r\n var i = this.selectedRowXUser + 1;\r\n if (i >= this.xusers.length) i = 0;\r\n this.setClickedRowXUser(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemXUser_Click() {\r\n if (this.xusers == null || this.xusers.length <= 0) return;\r\n var i = this.xusers.length - 1;\r\n this.setClickedRowXUser(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xusers = o.dataList;\r\n this.xuser = o.data;\r\n this.sFilterXUser = o.filter;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewXUser_Click() {\r\n this.InitializeXUser();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXUser_Click() {\r\n this.saveNewXUser(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXUser_Click() {\r\n this.saveXUser(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteXUser_Click() {\r\n this.deleteXUser(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddXUser2List(data: any) {\r\n let iAdd = true;\r\n if (this.xusers == null) this.xusers = [];\r\n else {\r\n for (let i = 0; i < this.xusers.length; i++) {\r\n if (this.xusers[i].XUser_ID == data.XUser_ID) {\r\n this.xusers[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.xusers.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n isSaveDataReady(){\r\n if (this.xuser == null || \r\n this.xuser.XName == '' ||\r\n this.xuser.EMail == '' ||\r\n // this.xuser.Pwd != this.confirmPwd ||\r\n this.xuser.ID == '' ||\r\n this.xuser.XUser_ID <= 0) return false;\r\n else return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n isSaveAsDataReady(){\r\n if (this.xuser == null || \r\n this.xuser.XName == '' ||\r\n this.xuser.EMail == '' ||\r\n // this.xuser.Pwd != this.confirmPwd ||\r\n this.xuser.ID == '') return false;\r\n else return true;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveXUser(saveDB: boolean) {\r\n if (!this.isSaveDataReady()) return;\r\n this.setTenantId(this.xuser);\r\n if (this.xuser.Prvg >= GlobalObjects.gUserPrvg) this.xuser.Prvg = GlobalObjects.gUserPrvg;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddXUser2List(this.xuser);\r\n }\r\n else {\r\n this.dataSource.updateXUser(1, this.xuser).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xuser = data.Data.xuser;\r\n if(this.xuser == null) this.xuser = new XUser();\r\n this.loading = false;\r\n alert(\"Update User successful: \" + this.xuser.XName);\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"Update User failed\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewXUser(saveDB: boolean) {\r\n let a = XUser.Copy(this.xuser);\r\n this.setTenantId(a);\r\n a.Pwd = \"none\";\r\n if (a.Prvg >= GlobalObjects.gUserPrvg) a.Prvg = GlobalObjects.gUserPrvg - 1;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"SaveNewData \" + saveDB);\r\n a.XUser_ID = -1;\r\n if (!saveDB) {\r\n this.AddXUser2List(a);\r\n }\r\n else {\r\n this.dataSource.addXUser(1, a).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xuser = data.Data.xuser;\r\n this.loading = false;\r\n alert(\"Save New User successful: \" + this.xuser.XName);\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"Save New User failed\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n setTenantId(x:XUser|any) {\r\n if (x == null) return;\r\n if (x.aUserSecurityQuestion_IDList != null) {\r\n for (var i = 0; i < x.aUserSecurityQuestion_IDList.length; i++) {\r\n x.aUserSecurityQuestion_IDList[i].TenantId = x.TenantId;\r\n }\r\n }\r\n if(x.aXUserInfo_ID != null){\r\n x.aXUserInfo_ID.TenantId = x.TenantId;\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteXUser(delDB: boolean) {\r\n if (this.xusers != null && this.xusers.length > 0 && this.xuser.XUser_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the XUser: \" + this.xuser.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the XUser to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"DeleteData \" + this.xuser.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.xusers.indexOf(this.xuser);\r\n if (idx >= 0) {\r\n this.xusers.splice(idx, 1);\r\n this.InitializeXUser();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = XUserService.deleteData(this.XUser.XUser_ID);\r\n var id = this.dataSource.deleteXUserById(this.xuser.XUser_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"Delete User successful: \" + this.xuser.XName);\r\n else alert(\"Delete User failed: \" + this.xuser.XName)\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"ERROR: Delete User failed: \" + error.message);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n //====OPENDIALOG calls: XUser ==========\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'XUserDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

User Data

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowXUser}} of {{xusers?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## XUserDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { XUserDataSource } from '../model/xuser.datasource';\r\n\r\nimport { XUser } from 'src/app/model/xuser.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'xuserdata-content',\r\n templateUrl: './xuserDialog.component.html'\r\n})\r\nexport class XUserDialog implements OnInit {\r\n @Input() xuser: XUser = new XUser();\r\n @Input() xusers: XUser[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: XUserDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n public gPrvgs = GlobalObjects.gPrvgs;\r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.xusers == null) return;\r\n this.index = XUser.FindIdx(this.xuser.XUser_ID, this.xusers);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xusers.length) this.index = this.xusers.length - 1;\r\n this.xuser = this.xusers[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.xusers == null) return;\r\n this.index = XUser.FindIdx(this.xuser.XUser_ID, this.xusers);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xusers.length) this.index = this.xusers.length - 1;\r\n this.xuser = this.xusers[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getXUser(this.xuser.XUser_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xuser = data.Data.XUser;\r\n }\r\n else this.xuser = new XUser();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.xuser);\r\n this.activeModal.close(this.xuser);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

XUser Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","//#############################################################\nimport * as $ from \"jquery\";\n// or\n//import * as $ = require(\"jquery\");\n\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\nimport { GlobalHelpers } from \"../GlobalHelpers\";\n\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\nimport { UserDataSource } from \"../model/user.datasource\";\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\n//import { XLogDataSource } from \"../model/xlog.datasource\";\n\nimport { EMailQueue } from \"../model/emailqueue.model\";\nimport { Organization } from \"../model/organization.model\";\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: \"xuserForgotPassword\",\n templateUrl: \"xuserForgotPassword.component.html\",\n styleUrls: ['./xuser.component.css']\n})\nexport class XUserForgotPasswordComponent {\n\n public eMail = '';\n\n public emailqueue: EMailQueue = new EMailQueue();\n\n public imagePath = GlobalObjects.gImagePath;\n\n public loading = false;\n\n public ErrorMsg = '';\n\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\n\n public params: any;\n\n public tenantId = GlobalObjects.gTenantId;\n public organization = new Organization();\n public organizations:Organization[] = [];\n\n constructor(\n private dataSource: UserDataSource,\n private dataSourceOrganization: OrganizationDataSource,\n // private dataSourceLog: XLogDataSource,\n\n private router: Router,\n private activatedroute: ActivatedRoute,\n private modalService: NgbModal,\n ) {\n\n // GlobalHelpers.dataSourceLog = dataSourceLog;\n GlobalHelpers.modalService = modalService;\n\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\n else this.params = null;\n\n //-------------Initial action----------------------\n\n GlobalObjects.goState = 'XUserForgotPassword';\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserForgotPassword\", \"load\");\n this.listOrganization();\n }\n \n\n //---------------------List Organization records:using ListOrganizationByFile-------------------------------------------------------------\n listOrganization() {\n this.loading = true;\n this.dataSourceOrganization.getOrganizationsNAR(1, 500, '', 100, 1, 3, '*').subscribe({\n next: data => {\n if(data != null && data.Data != null)\n this.organizations = data.Data.organizations;\n if(this.organizations == null) this.organizations = [];\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.organizations = [];\n console.log(error.toString());\n this.loading = false;\n }\n });\n }\n\n //-----------This is to Save New data(primary key reset)----------------------------------------\n Submit() {\n this.loading = true;\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"UserForgotPassword\");\n this.dataSource.forgotPassword(this.eMail, this.tenantId).subscribe({\n next: data => {\n this.loading = false;\n // this.emailqueue = data.Data.EMailQueue;\n if(data.Status == \"SUCCESS\"){\n alert(data.Status + \"\\r\\nPlease check your email, where a link to reset your password is provided. \" + this.eMail);\n this.router.navigateByUrl('Home');\n }\n else{\n alert(data.Status + \"\\r\\n\"+ data.Message);\n }\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.emailqueue = new EMailQueue();\n console.log(error.toString());\n this.loading = false;\n alert(\"Send email to reset your password failed\");\n }\n });\n }\n\n}\n","\r\n\r\n
\r\n\r\n
\r\n

Forgot User Password

\r\n

Please input your email and organization, a link will be sent to you for resetting password.

\r\n
\r\n
\r\n

\r\n Please wait, processing ...\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
","//#############################################################\nimport * as $ from \"jquery\";\n// or\n//import * as $ = require(\"jquery\");\n\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\nimport { GlobalHelpers } from \"../GlobalHelpers\";\n\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\nimport { UserDataSource } from \"../model/user.datasource\";\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\n//import { XLogDataSource } from \"../model/xlog.datasource\";\n\nimport { EMailQueue } from \"../model/emailqueue.model\";\nimport { Organization } from \"../model/organization.model\";\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: \"xuserForgotUserId\",\n templateUrl: \"xuserForgotUserId.component.html\",\n styleUrls: ['./xuser.component.css']\n})\nexport class XUserForgotUserIdComponent {\n\n public eMail = '';\n public emailqueue: EMailQueue = new EMailQueue();\n public imagePath = GlobalObjects.gImagePath;\n public loading = false;\n public ErrorMsg = '';\n public params: any;\n public tenantId = GlobalObjects.gTenantId;\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\n public organization = new Organization();\n public organizations: Organization[] = [];\n\n constructor(\n private dataSource: UserDataSource,\n private dataSourceOrganization: OrganizationDataSource,\n // private dataSourceLog: XLogDataSource,\n\n private router: Router,\n private activatedroute: ActivatedRoute,\n private modalService: NgbModal,\n ) {\n\n GlobalHelpers.modalService = modalService;\n\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\n else this.params = null;\n\n //-------------Initial action----------------------\n\n GlobalObjects.goState = 'XUserForgotUserId';\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserForgotUserId\", \"load\");\n this.listOrganization();\n }\n\n\n //---------------------List Organization records:using ListOrganizationByFile-------------------------------------------------------------\n listOrganization() {\n this.loading = true;\n this.dataSourceOrganization.getOrganizationsNAR(1, 500, '', 100, 1, 3, '*').subscribe({\n next: data => {\n if(data != null && data.Data != null)\n this.organizations = data.Data;\n if(this.organizations == null) this.organizations = [];\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.organizations = [];\n console.log(error.toString());\n this.loading = false;\n }\n });\n }\n\n //-----------This is to Save New data(primary key reset)----------------------------------------\n Submit() {\n this.loading = true;\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"UserForgotUserId\");\n this.dataSource.forgotUserId(this.eMail, this.tenantId).subscribe({\n next: data => {\n this.loading = false;\n this.emailqueue = data.Data.EMailQueue;\n if (data.Status == \"SUCCESS\") {\n alert(data.Status + \"\\r\\nPlease check your email with your UserID and a link to reset your UserId. \" + this.eMail);\n this.router.navigateByUrl('Home');\n }\n else {\n alert(data.Status + \"\\r\\n\" + data.Message);\n }\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.emailqueue = new EMailQueue();\n console.log(error.toString());\n this.loading = false;\n alert(\"Send email to reset your password failed\");\n }\n });\n }\n\n}\n","\r\n
\r\n\r\n
\r\n

Forgot User Id

\r\n

Please input your email and organization, a link will be sent to you for your user id.

\r\n
\r\n
\r\n

\r\n Please wait, processing ...\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
","//--KEEP:\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { XUser } from \"../model/xuser.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XUserDialog } from './xuserDialog.component';\r\nimport { XUserDataSource } from \"../model/xuser.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { OrganizationSelectDialog } from \"../organization/organizationSelectDialog.component\";\r\nimport { Organization } from \"../model/organization.model\";\r\n\r\n\r\n@Component({\r\n selector: \"xuserPage\",\r\n templateUrl: \"xuserPage.component.html\"\r\n})\r\nexport class XUserPageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public xusersPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public params: any;\r\n\r\n public Properties = 'XUser_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXUser: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public xusers: XUser[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n constructor(\r\n private dataSource: XUserDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private xuser: XUser,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('XUserPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXUser = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXUser = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xuser = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xusers = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if (this.xusers == undefined || this.xusers.length <= 0) this.getXUsers(1, 500, '', 100, 1, 5);\r\n console.log((\"XUserPage.Component construct\"));\r\n }\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n //-----------------------------------------------------\r\n orderXUser(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XUser;\r\n this.sortTypeXUser = columnName;\r\n this.sortReverseXUser = (this.sortTypeXUser === columnName) ? !this.sortReverseXUser : false;\r\n\r\n if (columnName == 'XName') this.xusers = this.xusers.sort((x, y) => this.sortReverseXUser ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if (columnName == 'ID') this.xusers = this.xusers.sort((x, y) => this.sortReverseXUser ? ((x.ID > y.ID) ? 1 : -1) : ((x.ID < y.ID) ? 1 : -1));\r\n else if (columnName == 'EMail') this.xusers = this.xusers.sort((x, y) => this.sortReverseXUser ? ((x.EMail > y.EMail) ? 1 : -1) : ((x.EMail < y.EMail) ? 1 : -1));\r\n else if (columnName == 'UpdateDate') this.xusers = this.xusers.sort((x, y) => this.sortReverseXUser ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n\r\n\r\n this.selectedRowXUser = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getXUsers(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getXUsers(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xusers = data.Data.xusers;\r\n if(this.xusers == null) this.xusers = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xusers = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a XUser-------------------\r\n addXUser(xuser: XUser) {\r\n this.dataSource.addXUser(1, xuser).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.xuser = data.Data.xuser;\r\n alert(\"Add XUser successful\");\r\n }\r\n else alert(\"Add XUser failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n alert(\"ERROR: Add XUser failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateXUser(xuser: XUser) {\r\n this.dataSource.updateXUser(1, xuser).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.xuser = data.Data.xuser;\r\n alert(\"Update XUser successful\");\r\n }\r\n else alert(\"Update XUser failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n alert(\"ERROR: Delete XUser failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteXUser(id: number) {\r\n this.dataSource.deleteXUserById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) alert(\"Delete XUser successful\");\r\n else alert(\"Delete XUser failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n alert(\"ERROR: Delete XUser failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddXUser_Click() {\r\n this.xuser = new XUser();\r\n if(GlobalObjects.gUserPrvg >= 9){\r\n this.selectOrganization();\r\n }\r\n else{\r\n this.xuser.TenantId = GlobalObjects.gTenantId;\r\n this.gotoXUserDataPage();\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------\r\n selectOrganization() {\r\n const modalRef = this.modalService.open(OrganizationSelectDialog);\r\n modalRef.componentInstance.title = 'Organization select dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.xuser.TenantId = result.TenantId;\r\n this.gotoXUserDataPage();\r\n }\r\n });\r\n\r\n }\r\n\r\n //---------------------------------------------------------------------------\r\n gotoXUserDataPage()\r\n {\r\n GParentState.Push('xuserDataPage', 'xuserPage', this.Id, this.selectedRowXUser, this.sFilterXUser, this.fetchDb, this.getChild, this.readOnly, this.xuser, this.xusers,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xuserDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XUserPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xuser,\r\n data: this.xusers,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showXUserDetail(xuser: XUser) {\r\n var idx = XUser.FindIdx(xuser.XUser_ID, this.xusers);\r\n\r\n const modalRef = this.modalService.open(XUserDialog);\r\n modalRef.componentInstance.xusers = this.xusers;\r\n modalRef.componentInstance.xuser = xuser;\r\n modalRef.componentInstance.title = 'XUser data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n public currentPage = 0;\r\n public currentXUsers: XUser[] = [];\r\n\r\n public sortTypeXUser = '';\r\n public sortReverseXUser = false;\r\n\r\n //----Setup Global object list--\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n public sFilterXUser: string = '';\r\n\r\n public FilterXUser_ID: string = '';\r\n public FilterIsActive: string = '';\r\n public FilterLastAccessDt: string = '';\r\n public FilterTenantId: string = '';\r\n public FilterXName: string = '';\r\n public FilterID: string = '';\r\n public FilterEMail: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterXUser_ID + '|' +\r\n this.FilterIsActive + '|' +\r\n this.GetDateString(this.FilterLastAccessDt) + '|' +\r\n this.FilterTenantId + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterID + '|' +\r\n this.FilterEMail + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate);\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXUser_ID = slist[i]; i++;\r\n this.FilterIsActive = slist[i]; i++;\r\n this.FilterLastAccessDt = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterID = slist[i]; i++;\r\n this.FilterEMail = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n }\r\n\r\n\r\n MakeFilterXUser() {\r\n this.sFilterXUser = '';\r\n if (this.FilterXUser_ID != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" XUser_ID like '%\" + this.FilterXUser_ID + \"%' \";\r\n }\r\n if (this.FilterIsActive != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" IsActive like '%\" + this.FilterIsActive + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterLastAccessDt);\r\n if (sDate != '') {\r\n if (this.FilterLastAccessDt != '') this.FilterLastAccessDt = sDate;\r\n else this.FilterLastAccessDt = sDate;\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" LastAccessDt >= '\" + this.FilterLastAccessDt + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterID != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" ID like '%\" + this.FilterID + \"%' \";\r\n }\r\n if (this.FilterEMail != '') {\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" EMail like '%\" + this.FilterEMail + \"%' \";\r\n }\r\n sDate = this.GetDateString(this.FilterCreateDate); if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXUser != '') this.sFilterXUser += \" AND \";\r\n this.sFilterXUser += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'XUser_ID') this.FilterXUser_ID = svalue;\r\n else if (sname == 'IsActive') this.FilterIsActive = svalue;\r\n else if (sname == 'LastAccessDt') this.FilterLastAccessDt = svalue;\r\n else if (sname == 'TenantId') this.FilterTenantId = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'ID') this.FilterID = svalue;\r\n else if (sname == 'EMail') this.FilterEMail = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('xuserPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit() {\r\n this.FilterXUser_ID = '';\r\n this.FilterIsActive = '';\r\n this.FilterLastAccessDt = '';\r\n this.FilterTenantId = '';\r\n this.FilterXName = '';\r\n this.FilterID = '';\r\n this.FilterEMail = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.xusers = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentXUsers = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.xusers.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentXUsers = this.xusers;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.xusers.length) iEItem = this.xusers.length;\r\n this.currentXUsers = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentXUsers.push(this.xusers[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.xusers == null || this.xusers.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentXUsers = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.XUsers.length) this.itemsPerPage = this.XUsers.length;\r\n var nPages = 0;\r\n if (this.xusers != null) nPages = Math.ceil(this.xusers.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n \r\n //------------------------------------------------\r\n IsAdminUser(){\r\n if(GlobalObjects.gUserPrvg > 8) return true;\r\n else return false;\r\n }\r\n\r\n //---------------------List XUser records:using ListXUserByFile-------------------------------------------------------------\r\n listXUser(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterXUser();\r\n if (!fLoadAll && this.sFilterXUser == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n if(!this.IsAdminUser()) this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserPage\", \"listXUser\");\r\n\r\n //var srListData = XUserService.ListXUser(iBegId, nMax, this.sFilterXUser, nGetChild, nMaxLevel);\r\n this.dataSource.ListXUserByFile('XUser_QueryFile.sql', 'ListXUser', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null) {\r\n this.xusers = data.Data.xusers;\r\n }\r\n this.setPages();\r\n\r\n GObjectStack.Push('XUserDataPage', this.MakeFilterString(), this.xusers, this.xuser);\r\n\r\n this.selectPage(1);\r\n\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xusers = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no xuser data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXUser(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowXUser = XUser.FindIdx(adata.XUser_ID, this.xusers);\r\n if (this.selectedRowXUser >= 0 && this.selectedRowXUser < this.xusers.length) adata = this.xusers[this.selectedRowXUser];\r\n else return;\r\n }\r\n this.xuser = adata;\r\n GParentState.Push('xuserDataPage', 'xuserPage', this.Id, this.selectedRowXUser, this.sFilterXUser, this.fetchDb, this.getChild, this.readOnly, this.xuser, this.xusers,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xuserDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XUserPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xuser,\r\n data: this.xusers,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listXUser(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterXUser = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowXUser(index: number, data: any) {\r\n if (data != null) {\r\n var i = XUser.FindIdx(data.XUser_ID, this.xusers);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xusers == null) {\r\n this.selectedRowXUser = -1;\r\n return;\r\n }\r\n this.selectedRowXUser = index;\r\n this.showXUser(this.xusers[this.selectedRowXUser]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgXUser tr.data')[this.selectedRowXUser];\r\n var container = $('#dgXUserDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xusers = o.dataList;\r\n this.xuser = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.xusers != null) nPages = Math.ceil(this.xusers.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n\r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgXUserDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","\r\n
\r\n
\r\n

User Administration

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Name\r\n \r\n \r\n \r\n Login ID\r\n \r\n \r\n \r\n EMail\r\n \r\n \r\n \r\n Organization\r\n \r\n \r\n
\r\n \r\n {{x.XName}}{{x.ID}}{{x.EMail}}{{x.OrgName}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XUserProfile.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUser } from \"../model/xuser.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XUserDialog } from './xuserDialog.component';\r\nimport { UserDataSource } from \"../model/user.datasource\";\r\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XUserImagePlay } from \"../common/XUserImagePlay.component\";\r\nimport { XUserInfo } from \"../model/xuserinfo.model\";\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xuserProfile\",\r\n templateUrl: \"xuserProfile.component.html\",\r\n styleUrls: ['./xuser.component.css']\r\n})\r\nexport class XUserProfileComponent {\r\n @ViewChild(XUserImagePlay) xuserimageplay?: XUserImagePlay;\r\n //@Input() abc: ABC = new ABC();\r\n //@ViewChild(xuserinfoDataView) xuserinfodataview ?: xuserinfoDataView;\r\n //@ViewChild(usersecurityquestionDataListView) usersecurityquestiondatalistview ?: usersecurityquestionDataListView;\r\n\r\n public xusersPerPage = 4;\r\n public selectedPage = 1;\r\n public xusers: XUser[] = [];\r\n public xuser: XUser = new XUser();\r\n public roleName = '';\r\n\r\n public confirmPwd = '';\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public curXItemUserImage: XItem = new XItem(-1, '', '', false, 0, false);\r\n\r\n public params: any;\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n public organizationName = '';\r\n public tenantId = GlobalObjects.gTenantId;\r\n\r\n constructor(\r\n private dataSource: UserDataSource,\r\n private dataSourceOrganization: OrganizationDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'xuserProfile';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserProfile\", \"load\");\r\n\r\n GlobalHelpers.checkUser('xuserProfile', router);\r\n var au = GlobalObjects.isUserAuthorized;\r\n if (GlobalObjects.isUserAuthorized) {\r\n this.showXUser();\r\n }\r\n }\r\n \r\n //---------------------List Organization records-------------------------------------------------------------\r\n getOrganization(tenantId:string) {\r\n this.loading = true;\r\n \r\n this.dataSourceOrganization.getOrganizationsByKeyNAR(tenantId,\"TenantId\",2,1,2,this.tenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null && data.Data.organizations != null && data.Data.organizations.length > 0){\r\n this.organizationName = data.Data.organizations[0].XName;\r\n } \r\n else this.organizationName = '';\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.organizationName = '';\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n this.getOrganization(this.tenantId);\r\n }\r\n\r\n public errorMessage = '';\r\n\r\n public isUserAuthorized = false;\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n isSaveDataReady() {\r\n if (this.xuser.EMail == '' ||\r\n this.xuser.ID == '' ||\r\n this.xuser.Pwd == '' ||\r\n this.xuser.EMail == '' ||\r\n\r\n this.xuser.Pwd != this.confirmPwd ||\r\n this.xuser.aXUserInfo_ID == null ||\r\n this.xuser.aXUserInfo_ID.FirstName == '' ||\r\n this.xuser.aXUserInfo_ID.LastName == '' ||\r\n this.xuser.aXUserInfo_ID.Gender == '' ||\r\n this.xuser.aXUserInfo_ID.Zip == '' ||\r\n this.xuser.aXUserInfo_ID.BirthDate == '') return false;\r\n else return true;\r\n\r\n }\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n this.router.navigateByUrl('Home');\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXUser() {\r\n this.xuser = new XUser();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXUser() {\r\n this.dataSource.getUserProfile(GlobalObjects.gXUser_ID, GlobalObjects.gTenantId).subscribe({\r\n // this.dataSource.getUserProfile(GlobalObjects.gXUser_ID, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.XUser != null) {\r\n this.xuser = data.Data.XUser;\r\n if(this.xuser.aXUserInfo_ID == null) this.xuser.aXUserInfo_ID = new XUserInfo();\r\n if(this.xuser.aUserSecurityQuestion_IDList == null) this.xuser.aUserSecurityQuestion_IDList = [];\r\n\r\n this.roleName = GlobalObjects.getXRole(this.xuser.Prvg);\r\n var sImage = \"\";\r\n if (this.xuser.aXUserInfo_ID != null) sImage = this.xuser.aXUserInfo_ID.PictureFile;\r\n this.curXItemUserImage = new XItem(this.xuser.XUser_ID, this.xuser.XName, sImage, false, 0, false);\r\n this.xuserimageplay?.PlayPicture(this.curXItemUserImage);\r\n }\r\n else {\r\n this.xuser = new XUser();\r\n this.xuser.aXUserInfo_ID = new XUserInfo();\r\n this.xuser.aUserSecurityQuestion_IDList = [];\r\n this.roleName = '';\r\n this.curXItemUserImage = new XItem(this.xuser.XUser_ID, this.xuser.XName, '', false, 0, false);\r\n this.xuserimageplay?.PlayPicture(this.curXItemUserImage);\r\n }\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n this.roleName = '';\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //-----Automatically CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n saveUserImageFile() {\r\n if (this.xuserimageplay != null) {\r\n this.xuser.aXUserInfo_ID.PictureFile = this.xuserimageplay?.xitem.FileName;\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXUser_Click() {\r\n if (this.xuser == null || this.xuser.XUser_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"SaveProfile \");\r\n this.dataSource.updateUserProfile(this.xuser).subscribe({\r\n next: data => {\r\n this.xuser = data.Data.XUser;\r\n this.loading = false;\r\n alert(\"Update User Profile successful: \" + this.xuser.XName);\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuser = new XUser();\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"Update User Profile failed\");\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

User Profile: {{xuser.XName}}

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XUserRegister.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUser } from \"../model/xuser.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { UserDataSource } from \"../model/user.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\nimport { XUserInfoEntityViewComponent } from \"../xuserentity/xuserinfoEntityView.component\";\r\nimport { XUserSecurityQuestionEntityListViewComponent } from \"../xuserentity/xusersecurityquestionEntityListView.component\";\r\nimport { XUserInfo } from \"../model/xuserinfo.model\";\r\n\r\nimport { XUserEntity } from \"../model/XUserEntity.model\";\r\nimport { XUserInfoEntity } from \"../model/XUserInfoEntity.model\";\r\nimport { XUserSecurityQuestionEntity } from \"../model/XUserSecurityQuestionEntity.model\";\r\n\r\nimport { XItem } from \"../model/XItem.model\";\r\nimport { XUserImagePlay } from \"../common/XUserImagePlay.component\";\r\n\r\nimport { Organization } from \"../model/organization.model\";\r\nimport { OrganizationDataSource } from \"../model/organization.datasource\";\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xuserRegister\",\r\n templateUrl: \"xuserRegister.component.html\",\r\n styleUrls: ['./xuser.component.css']\r\n})\r\nexport class XUserRegisterComponent {\r\n //@Input() abc: ABC = new ABC();\r\n @ViewChild(XUserImagePlay) xuserimageplay?: XUserImagePlay;\r\n @ViewChild(XUserInfoEntityViewComponent) xuserinfoentitydataview?: XUserInfoEntityViewComponent;\r\n @ViewChild(XUserSecurityQuestionEntityListViewComponent) xusersecurityquestionentitylistview?: XUserSecurityQuestionEntityListViewComponent;\r\n\r\n public xuserEntity: XUserEntity = new XUserEntity();\r\n\r\n public confirmPwd = '';\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public curXItemUserImage: XItem = new XItem(-1, '', '', false, 0, false);\r\n\r\n public loading = false;\r\n\r\n public ErrorMsg = '';\r\n\r\n public gPrvgs = GlobalObjects.setPrvgList(GlobalObjects.gUserPrvg);\r\n public gXRoles = GlobalObjects.setXRoleList(GlobalObjects.gUserPrvg);\r\n\r\n public params: any;\r\n\r\n public organizations: Organization[] = [];\r\n public organization: Organization = new Organization();\r\n\r\n constructor(\r\n private dataSource: UserDataSource,\r\n private dataSourceORG: OrganizationDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'XUserRegister';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserRegister\", \"load\");\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n\r\n this.xuserEntity = new XUserEntity();\r\n this.xuserEntity.TenantId = GlobalObjects.gTenantId;\r\n this.xuserEntity.LoginID = '';\r\n this.xuserEntity.Pwd = ''\r\n this.xuserEntity.EMail = '';\r\n this.confirmPwd = '';\r\n this.xuserEntity.aXUserInfo = new XUserInfo();\r\n this.xuserEntity.aXUserSecurityQuestions = [];\r\n this.listOrganization();\r\n this.showXUser(this.xuserEntity);\r\n }\r\n\r\n //-------------------------------------------------------\r\n selectOrganization(data:any){\r\n this.organization = data;\r\n this.xuserEntity.TenantId = this.organization.TenantId;\r\n }\r\n \r\n //---------------------List Organization records:using ListOrganizationByFile-------------------------------------------------------------\r\n listOrganization() {\r\n this.loading = true;\r\n this.dataSourceORG.getOrganizationsNAR(1, 500, '', 100, 1, 3,'*').subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.organizations = data.Data.organizations;\r\n if(this.organizations == null) this.organizations = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n this.organizations = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //<<==================================================\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n this.router.navigateByUrl('Home');\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n btnNewXUser_Click() {\r\n this.InitializeXUser();\r\n }\r\n\r\n //------------------------------------------------\r\n InitializeXUser() {\r\n this.xuserEntity = new XUserEntity();\r\n this.xuserEntity.aXUserInfo = new XUserInfo();\r\n this.xuserEntity.aXUserSecurityQuestions = [];\r\n }\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n GetNextUserID() {\r\n this.dataSource.getNextID().subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xuserEntity.LoginID = 'user' + data.Data.Id;\r\n this.fakeDataX();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n this.xuserEntity.LoginID = 'userX100';\r\n this.fakeDataX();\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n fakeData() {\r\n this.xuserEntity = new XUserEntity();\r\n this.GetNextUserID();\r\n //let b = this.usersecurityquestiondatalistview?.fakeData();\r\n //if(b != null) this.xuser.aUserSecurityQuestion_IDList = b;\r\n }\r\n\r\n fakeDataX() {\r\n this.xuserEntity.Pwd = '';\r\n this.xuserEntity.EMail = this.xuserEntity.LoginID + '@abc.com';\r\n\r\n let a = this.xuserinfoentitydataview?.fakeData();\r\n if (a != null) {\r\n a.FirstName = this.xuserEntity.LoginID;\r\n this.xuserEntity.aXUserInfo = a;\r\n var sImage = \"\";\r\n if (this.xuserEntity.aXUserInfo != null) sImage = this.xuserEntity.aXUserInfo.PictureFile;\r\n this.curXItemUserImage = new XItem(1, this.xuserEntity.LoginID, sImage, false, 0, false);\r\n this.xuserimageplay?.PlayPicture(this.curXItemUserImage);\r\n }\r\n\r\n }\r\n\r\n //-----Automatically CallBack from XPlayPicture-----------------------------------------------------------------------------------------\r\n saveUserImageFile() {\r\n if (this.xuserimageplay != null) {\r\n this.xuserEntity.aXUserInfo.PictureFile = this.xuserimageplay?.xitem.FileName;\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXUser(data: XUserEntity | null) {\r\n if (data == null) return;\r\n this.xuserEntity = data;\r\n var sImage = \"\";\r\n if (data.aXUserInfo != null) sImage = data.aXUserInfo.PictureFile;\r\n this.curXItemUserImage = new XItem(1, data.LoginID, sImage, false, 0, false);\r\n this.xuserimageplay?.PlayPicture(this.curXItemUserImage);\r\n }\r\n\r\n //------------------------------------------------\r\n IsUserDataReady() {\r\n this.ErrorMsg = \"\";\r\n if (this.xuserinfoentitydataview != null) this.ErrorMsg += this.xuserinfoentitydataview?.IsDataReady();\r\n if (this.xusersecurityquestionentitylistview != null) this.ErrorMsg += this.xusersecurityquestionentitylistview?.IsDataReady();\r\n\r\n if (this.xuserEntity.aXUserInfo == null) {\r\n this.ErrorMsg += \"Demographic data missing\";\r\n }\r\n else {\r\n // if(this.xuser.aXUserInfo_ID)\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.ErrorMsg)) return true;\r\n else return false;\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXUser_Click() {\r\n if (!this.IsSaveDataReady()) {\r\n alert(\"ERROR:\" + this.ErrorMsg);\r\n return;\r\n }\r\n this.CheckExist();\r\n }\r\n\r\n //------------------------------------------------------------\r\n IsSaveDataReady(): boolean {\r\n this.ErrorMsg = \"\";\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.LoginID)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter a Unique UserID!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.EMail)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter a EMail!\";\r\n }\r\n if (this.xuserEntity.LoginID.length < 3) {\r\n this.ErrorMsg += \"\\r\\nUser ID must be at least 3 chars long!\";\r\n }\r\n if (this.xuserEntity.Pwd.length < 4) {\r\n this.ErrorMsg += \"\\r\\nPassword must be at least 4 chars long!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.TenantId)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter TenantId!\";\r\n }\r\n\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.Pwd) || GlobalHelpers.isNullOrEmpty(this.confirmPwd) || this.xuserEntity.Pwd != this.confirmPwd) {\r\n this.ErrorMsg += \"\\r\\nPassword and Confirm Password must be the same!\";\r\n }\r\n\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.FirstName)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter a First Name!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.LastName)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter a Last Name!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.Address)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter Address!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.City)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter City!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.State)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter State!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.Zip)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter Zip!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.Gender)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter Gender!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.xuserEntity.aXUserInfo.BirthDate)) {\r\n this.ErrorMsg += \"\\r\\nPlease enter DOB!\";\r\n }\r\n if (GlobalHelpers.isNullOrEmpty(this.ErrorMsg)) return false;\r\n else return true;\r\n }\r\n\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n CheckExist() {\r\n this.dataSource.isExistXUserByInfo(this.xuserEntity).subscribe({\r\n next: data => {\r\n if (data.Data > 0) alert(\"User already exist by the demographics data\\r\\nPlease use Forgot Password and Forgot UserID for help.\");\r\n else if (data.Data < 0) alert(data.Message);\r\n else this.CheckLoginID();\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n console.log(\"ERROR: \" + error.toString());\r\n alert(\"ERROR: Check User Data Failed. \" + this.ErrorMsg);\r\n }\r\n });\r\n }\r\n\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n CheckLoginID() {\r\n this.dataSource.getN(\"WHERE ID='\" + this.xuserEntity.LoginID + \"'\").subscribe({\r\n next: data => {\r\n if (data != null && data.Data != null && data.Data.N > 0) alert(\"User login ID already exist, please use a different ID\");\r\n else this.saveNewXUser();\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n console.log(\"ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewXUser() {\r\n if (this.xuserinfoentitydataview != null) this.xuserEntity.aXUserInfo = this.xuserinfoentitydataview?.xuserinfoEntity;\r\n if (this.xusersecurityquestionentitylistview != null) this.xuserEntity.aXUserSecurityQuestions = this.xusersecurityquestionentitylistview?.xusersecurityquestions;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"UserRegistration\");\r\n this.dataSource.registerUser(this.xuserEntity).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n alert(\"User Registration: \" + data.Status + \" :\\r\\n\" + data.Message);\r\n this.router.navigateByUrl('Home');\r\n },\r\n error: error => {\r\n this.ErrorMsg = error.message;\r\n console.log(error.toString());\r\n this.loading = false;\r\n alert(\"ERROR: \" + error.message);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

User Registration

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","//--KEEP:\n//#############################################################\nimport * as $ from \"jquery\";\n// or\n//import * as $ = require(\"jquery\");\n\nimport { Component, OnInit, Input, ViewChild } from \"@angular/core\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\nimport { GlobalHelpers } from \"../GlobalHelpers\";\n\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\nimport { UserDataSource } from \"../model/user.datasource\";\nimport { EMailQueue } from \"../model/emailqueue.model\";\nimport { EMailQueueDataSource } from \"../model/emailqueue.datasource\";\n//import { XLogDataSource } from \"../model/xlog.datasource\";\n\nimport { TResultEntity } from \"../model/tresult.model\";\nimport { EmailValidator } from \"@angular/forms\";\nimport { XUser } from \"../model/xuser.model\";\nimport { UserSecurityQuestion } from \"../model/usersecurityquestion.model\";\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: \"xuserResetPassword\",\n templateUrl: \"xuserResetPassword.component.html\",\n styleUrls: ['./xuser.component.css']\n})\nexport class XUserResetPasswordComponent {\n\n public Token = '';\n public newPassword = '';\n public confirmNewPassword = '';\n public tresultEntity = new TResultEntity();\n\n public aXUser: XUser = new XUser();\n public SecurityQuestions : UserSecurityQuestion[] = [];\n public Question: string = '';\n public Answer: string = '';\n public iQuestion: number = 0;\n\n public emailQueue: EMailQueue = new EMailQueue();\n\n public imagePath = GlobalObjects.gImagePath;\n\n public loading = false;\n\n public WarnMsg = '';\n public ErrorMsg = '';\n\n public params: any;\n\n constructor(\n private dataSource: UserDataSource,\n private dataSourceEQ: EMailQueueDataSource,\n // private dataSourceLog: XLogDataSource,\n\n private router: Router,\n private activatedroute: ActivatedRoute,\n private modalService: NgbModal,\n ) {\n\n // GlobalHelpers.dataSourceLog = dataSourceLog;\n GlobalHelpers.modalService = modalService;\n\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\n else this.params = null;\n\n GlobalObjects.goState = 'XUserResetPassword';\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserResetPassword\", \"load\");\n }\n\n ngOnInit() {\n this.Token = this.activatedroute.snapshot.queryParams['Token'] || '/';\n this.getEMailQueue();\n }\n\n getEMailQueue() {\n this.loading = true;\n this.dataSourceEQ.getEMailQueuesByKeyNAR(this.Token, \"Token\", 1, 0, 2).subscribe({\n next: data => {\n if (data != null && data.Data != null && data.Data.emailqueues != null && data.Data.emailqueues.length > 0) {\n this.emailQueue = data.Data.emailqueues[0];\n this.getXUserSecurityQuestions(this.emailQueue.ExternalID);\n }\n else {\n this.emailQueue = new EMailQueue();\n this.ErrorMsg = 'Invalid Token or Token expired';\n }\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.emailQueue = new EMailQueue();\n console.log(error.toString());\n this.loading = false;\n alert(\"Get EMailQueue failed: \" + this.ErrorMsg);\n }\n });\n }\n\n //----------------------------------------------------------------------------------------------\n getXUserSecurityQuestions(id: number) {\n this.loading = true;\n this.dataSource.getUserSecurityQuestion(id, GlobalObjects.gTenantId).subscribe({\n next: data => {\n this.tresultEntity = data;\n this.SecurityQuestions = data.Data.SecurityQuestions;\n this.iQuestion = 0;\n var q : UserSecurityQuestion = this.SecurityQuestions[this.iQuestion];\n this.Question = q.Question;\n this.Answer = '';\n this.loading = false;\n // alert(this.tresultEntity.Status + \": \" + this.tresultEntity.Message);\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.tresultEntity = new TResultEntity();\n this.SecurityQuestions = []\n console.log(error.toString());\n this.loading = false;\n alert(\"reset your password failed: \" + this.ErrorMsg);\n }\n });\n }\n\n //----------------------------------------------------------------------------------------------\n keyPressEnter(keyEvent: KeyboardEvent) {\n if (keyEvent.code == \"Enter\") //-enter\n {\n this.getEMailQueue();\n }\n else if (keyEvent.code == \"Escape\") //-escape\n {\n this.Token = \"\";\n }\n }\n\n //----------------------------------------------------------------------------------------------\n keyPressAnswerEnter(keyEvent: KeyboardEvent) {\n if (keyEvent.code == \"Enter\") //-enter\n {\n this.checkQuestionAnswer();\n }\n else if (keyEvent.code == \"Escape\") //-escape\n {\n this.Answer = \"\";\n }\n else{\n this.WarnMsg = '';\n }\n }\n\n //----------------------------------------------------------------------------------------------\n Next() {\n this.checkQuestionAnswer();\n }\n\n //----------------------------------------------------------------\n checkQuestionAnswer() {\n var q : UserSecurityQuestion = this.SecurityQuestions[this.iQuestion];\n if (q.Answer.toUpperCase() == this.Answer.toUpperCase()) {\n this.WarnMsg = '';\n this.iQuestion++;\n if (this.iQuestion >= this.SecurityQuestions.length) this.Question = '';\n else{\n q = this.SecurityQuestions[this.iQuestion];\n this.Question = q.Question;\n } \n }\n else{\n this.WarnMsg = \"Wrong answer\";\n }\n }\n\n //-----------This is to Save New data(primary key reset)----------------------------------------\n Submit() {\n\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"UserResetPassword\");\n this.dataSource.resetPassword(this.Token, this.newPassword, this.confirmNewPassword).subscribe({\n next: data => {\n this.tresultEntity = data;\n this.loading = false;\n alert(this.tresultEntity.Status + \": \" + this.tresultEntity.Message);\n if (this.tresultEntity.Data > 0) {\n this.router.navigateByUrl('Home');\n }\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.tresultEntity = new TResultEntity();\n console.log(error.toString());\n this.loading = false;\n alert(\"reset your password failed: \" + this.ErrorMsg);\n }\n });\n }\n\n}\n","\r\n\r\n
\r\n

Reset Password: {{emailQueue.FirstName + ' ' + emailQueue.LastName}}

\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n

{{ErrorMsg}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Please answer the security question

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\n//#############################################################\nimport * as $ from \"jquery\";\n// or\n//import * as $ = require(\"jquery\");\n\nimport { Component, OnInit, Input, ViewChild } from \"@angular/core\";\nimport { Router, ActivatedRoute } from \"@angular/router\";\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\nimport { GlobalHelpers } from \"../GlobalHelpers\";\n\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\nimport { UserDataSource } from \"../model/user.datasource\";\nimport { EMailQueue } from \"../model/emailqueue.model\";\nimport { EMailQueueDataSource } from \"../model/emailqueue.datasource\";\n//import { XLogDataSource } from \"../model/xlog.datasource\";\n\nimport { TResultEntity } from \"../model/tresult.model\";\nimport { EmailValidator } from \"@angular/forms\";\n\nimport { UserSecurityQuestion } from \"../model/usersecurityquestion.model\";\n\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: \"xuserResetUserId\",\n templateUrl: \"xuserResetUserId.component.html\",\n styleUrls: ['./xuser.component.css']\n})\nexport class XUserResetUserIdComponent {\n\n public Token = '';\n public UserID = '';\n public newUserID = '';\n public confirmNewUserID = '';\n public tresultEntity = new TResultEntity();\n\n public SecurityQuestions : UserSecurityQuestion[] = [];\n public Question: string = '';\n public Answer: string = '';\n public iQuestion: number = 0;\n\n public emailQueue: EMailQueue = new EMailQueue();\n\n public imagePath = GlobalObjects.gImagePath;\n\n public iResetUserID = 0;\n \n public loading = false;\n\n public WarnMsg = '';\n public ErrorMsg = '';\n\n public params: any;\n\n constructor(\n private dataSource: UserDataSource,\n private dataSourceEQ: EMailQueueDataSource,\n // private dataSourceLog: XLogDataSource,\n\n private router: Router,\n private activatedroute: ActivatedRoute,\n private modalService: NgbModal,\n ) {\n\n // GlobalHelpers.dataSourceLog = dataSourceLog;\n GlobalHelpers.modalService = modalService;\n\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\n else this.params = null;\n\n GlobalObjects.goState = 'XUserResetUserID';\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserResetUserID\", \"load\");\n }\n\n ngOnInit() {\n this.Token = this.activatedroute.snapshot.queryParams['Token'] || '/';\n this.getEMailQueue();\n }\n ResetUserID(){\n this.getXUserSecurityQuestions(this.emailQueue.ExternalID);\n this.iResetUserID = 1;\n }\n\n getEMailQueue() {\n this.loading = true;\n this.dataSourceEQ.getEMailQueuesByKeyNAR(this.Token, \"Token\", 1, 0, 2).subscribe({\n next: data => {\n if (data != null && data.Data != null && data.Data.emailqueues != null && data.Data.emailqueues.length > 0) {\n this.emailQueue = data.Data.emailqueues[0];\n // this.getXUserSecurityQuestions(this.emailQueue.ExternalID);\n this.getXUserUserID(this.emailQueue.ExternalID);\n }\n else {\n this.emailQueue = new EMailQueue();\n this.ErrorMsg = 'Invalid Token or Token expired';\n }\n this.loading = false;\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.emailQueue = new EMailQueue();\n console.log(error.toString());\n this.loading = false;\n alert(\"Get EMailQueue failed: \" + this.ErrorMsg);\n }\n });\n }\n\n //----------------------------------------------------------------------------------------------\n getXUserUserID(id: number) {\n this.loading = true;\n this.dataSource.getUserUserID(id, GlobalObjects.gTenantId).subscribe({\n next: data => {\n this.tresultEntity = data;\n this.UserID = data.Data.ID;\n this.loading = false;\n // alert(this.tresultEntity.Status + \": \" + this.tresultEntity.Message);\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.tresultEntity = new TResultEntity();\n this.UserID = '';\n console.log(error.toString());\n this.loading = false;\n alert(\"Get your UserID failed: \" + this.ErrorMsg);\n }\n });\n }\n\n //----------------------------------------------------------------------------------------------\n getXUserSecurityQuestions(id: number) {\n this.loading = true;\n this.dataSource.getUserSecurityQuestion(id, GlobalObjects.gTenantId).subscribe({\n next: data => {\n this.tresultEntity = data;\n this.SecurityQuestions = data.Data.SecurityQuestions;\n this.iQuestion = 0;\n var q : UserSecurityQuestion = this.SecurityQuestions[this.iQuestion];\n this.Question = q.Question;\n this.Answer = '';\n this.loading = false;\n // alert(this.tresultEntity.Status + \": \" + this.tresultEntity.Message);\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.tresultEntity = new TResultEntity();\n this.SecurityQuestions = []\n console.log(error.toString());\n this.loading = false;\n alert(\"reset your UserID failed: \" + this.ErrorMsg);\n }\n });\n }\n\n //----------------------------------------------------------------------------------------------\n keyPressEnter(keyEvent: KeyboardEvent) {\n if (keyEvent.code == \"Enter\") //-enter\n {\n this.getEMailQueue();\n }\n else if (keyEvent.code == \"Escape\") //-escape\n {\n this.Token = \"\";\n }\n }\n\n //----------------------------------------------------------------------------------------------\n keyPressAnswerEnter(keyEvent: KeyboardEvent) {\n if (keyEvent.code == \"Enter\") //-enter\n {\n this.checkQuestionAnswer();\n }\n else if (keyEvent.code == \"Escape\") //-escape\n {\n this.Answer = \"\";\n }\n else{\n this.WarnMsg = '';\n }\n }\n\n //----------------------------------------------------------------------------------------------\n Next() {\n this.checkQuestionAnswer();\n }\n\n //----------------------------------------------------------------\n checkQuestionAnswer() {\n var q : UserSecurityQuestion = this.SecurityQuestions[this.iQuestion];\n if (q.Answer.toUpperCase() == this.Answer.toUpperCase()) {\n this.WarnMsg = '';\n this.iQuestion++;\n if (this.iQuestion >= this.SecurityQuestions.length) this.Question = '';\n else{\n q = this.SecurityQuestions[this.iQuestion];\n this.Question = q.Question;\n } \n }\n else{\n this.WarnMsg = \"Wrong answer\";\n }\n }\n\n\n //-----------This is to Save New data(primary key reset)----------------------------------------\n Submit() {\n\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUser\", \"UserResetUserId\");\n this.dataSource.resetUserId(this.Token, this.newUserID, this.confirmNewUserID).subscribe({\n next: data => {\n this.tresultEntity = data;\n this.loading = false;\n alert(this.tresultEntity.Status + \": \" + this.tresultEntity.Message);\n if (this.tresultEntity.Data > 0) {\n this.router.navigateByUrl('Home');\n }\n },\n error: error => {\n this.ErrorMsg = error.message;\n this.tresultEntity = new TResultEntity();\n console.log(error.toString());\n this.loading = false;\n alert(\"reset your UserId failed: \" + this.ErrorMsg);\n }\n });\n }\n\n}\n","\r\n\r\n
\r\n

{{emailQueue.FirstName + ' ' + emailQueue.LastName}}

\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n

{{ErrorMsg}}

\r\n
Your user ID: {{UserID}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

Please answer the security question

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Cancel\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XUserInfoEntityDataView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUserInfoEntity } from \"../model/XUserInfoEntity.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { State } from \"../model/state.model\";\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xuserinfoEntityView\",\r\n templateUrl: \"xuserinfoEntityView.component.html\"\r\n})\r\nexport class XUserInfoEntityViewComponent {\r\n @Input() xuserinfoEntity: XUserInfoEntity=new XUserInfoEntity();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public gGenders = GlobalObjects.gGenders;\r\n\r\n public states = GlobalHelpers.gStates;\r\n\r\n constructor(\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n let a = this.xuserinfoEntity;\r\n }\r\n\r\n InitData(){\r\n this.xuserinfoEntity = new XUserInfoEntity();\r\n }\r\n\r\n \r\n //--------------------------------------------------------------------------\r\n IsDataReady() : string {\r\n let errorMsg = \"\";\r\n if(this.xuserinfoEntity == null) return \"\\r\\nNo data entered\";\r\n\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.FirstName)) errorMsg += \"\\r\\nFirstName not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.LastName)) errorMsg += \"\\r\\nLastName not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.Address)) errorMsg += \"\\r\\nAddress not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.City)) errorMsg += \"\\r\\nCity not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.State)) errorMsg += \"\\r\\nState not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.Zip)) errorMsg += \"\\r\\nZip not entered\";\r\n //if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.Country)) errorMsg += \"\\r\\nCountry not entered\";\r\n //if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.Mobile)) errorMsg += \"\\r\\nMobile not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.SSN)) errorMsg += \"\\r\\nSSN not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.Gender)) errorMsg += \"\\r\\nGender not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfoEntity.BirthDate)) errorMsg += \"\\r\\BirthDate not entered\";\r\n return errorMsg;\r\n }\r\n\r\n \r\n //--------------------------------------------------------------------------\r\n fakeData() {\r\n this.xuserinfoEntity = new XUserInfoEntity(); //-11 XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n this.xuserinfoEntity.FirstName = 'John';\r\n this.xuserinfoEntity.MiddleName = '';\r\n this.xuserinfoEntity.LastName = 'Doe';\r\n this.xuserinfoEntity.Address = '123 main st.';\r\n this.xuserinfoEntity.Address2 = '';\r\n this.xuserinfoEntity.City = 'Main City';\r\n this.xuserinfoEntity.State = 'AA';\r\n this.xuserinfoEntity.Zip = '11110';\r\n this.xuserinfoEntity.Country = 'USA';\r\n this.xuserinfoEntity.Mobile = '444-656-1234';\r\n this.xuserinfoEntity.SSN = '1234';\r\n this.xuserinfoEntity.Gender = 'Male';\r\n this.xuserinfoEntity.BirthDate = '1/1/1977';\r\n this.xuserinfoEntity.PictureFile = 'default.png';\r\n return this.xuserinfoEntity;\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","//--KEEP:\r\n//#############################################################\r\n//## UserSecurityQuestionEntityListView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUserSecurityQuestionEntity } from \"../model/XUserSecurityQuestionEntity.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\nimport { SecurityQuestion } from \"../model/securityquestion.model\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { UserSecurityQuestionDataSource } from \"../model/usersecurityquestion.datasource\";\r\nimport { SecurityQuestionDataSource } from \"../model/securityquestion.datasource\";\r\n\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xusersecurityquestionEntityListView\",\r\n templateUrl: \"xusersecurityquestionEntityListView.component.html\"\r\n})\r\nexport class XUserSecurityQuestionEntityListViewComponent {\r\n @Input() xusersecurityquestions: XUserSecurityQuestionEntity[] = [];\r\n public xusersecurityquestion: XUserSecurityQuestionEntity = new XUserSecurityQuestionEntity();\r\n\r\n public gSecurityQuestions: SecurityQuestion[] = [];\r\n\r\n public params: any;\r\n\r\n public selectedRowUserSecurityQuestion: number = -1; //--Index in the item list\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n constructor(\r\n private dataSource: UserSecurityQuestionDataSource,\r\n private dataSourceSecQ: SecurityQuestionDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n this.getSecurityQuestions();\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'UserSecurityQuestionDataListView';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"UserSecurityQuestionDataListView\", \"load\");\r\n\r\n this.showUserSecurityQuestion(this.xusersecurityquestion);\r\n }\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of SecurityQuestion from database \r\n //--Id is object Id, to be as the current\r\n getSecurityQuestions() {\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserSecurityQuestionEntityListView\", \"listSecurityQuestionNAR\");\r\n\r\n this.dataSourceSecQ.getSecurityQuestionsNAR(1, 500, '', 100, 1, 2).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.gSecurityQuestions = data.Data.securityquestions;\r\n if(this.gSecurityQuestions == null) this.gSecurityQuestions = [];\r\n },\r\n error: error => {\r\n this.gSecurityQuestions = [];\r\n console.log(\"ERROR: getSecurityQuestions, \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.xusersecurityquestions == null) this.xusersecurityquestions = [];\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeUserSecurityQuestion() {\r\n this.xusersecurityquestion = new XUserSecurityQuestionEntity();\r\n let i = 1;\r\n let a = new XUserSecurityQuestionEntity();\r\n }\r\n\r\n //------------------------------------------------\r\n IsDataReady() {\r\n let errorMsg = \"\";\r\n if(this.xusersecurityquestions == null) return \"\\r\\nNo Security Questions entered\";\r\n if(this.xusersecurityquestions.length < 3) errorMsg += \"\\r\\nAt least 3 security questions required\";\r\n for(var i=0;i= this.xusersecurityquestions.length) i = 0;\r\n this.setClickedRowUserSecurityQuestion(i);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemUserSecurityQuestion_Click() {\r\n if (this.xusersecurityquestions == null || this.xusersecurityquestions.length <= 0) return;\r\n var i = this.xusersecurityquestions.length - 1;\r\n this.setClickedRowUserSecurityQuestion(i);\r\n }\r\n\r\n public sortTypeUserSecurityQuestion = '';\r\n public sortReverseUserSecurityQuestion = false;\r\n\r\n //-----------------------------------------------------\r\n orderUserSecurityQuestion(columnName: string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XUserSecurityQuestionEntity;\r\n this.sortTypeUserSecurityQuestion = columnName;\r\n this.sortReverseUserSecurityQuestion = (this.sortTypeUserSecurityQuestion === columnName) ? !this.sortReverseUserSecurityQuestion : false;\r\n\r\n if (columnName == 'Question') this.xusersecurityquestions = this.xusersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.Question > y.Question) ? 1 : -1) : ((x.Question < y.Question) ? 1 : -1));\r\n else if (columnName == 'Answer') this.xusersecurityquestions = this.xusersecurityquestions.sort((x, y) => this.sortReverseUserSecurityQuestion ? ((x.Answer > y.Answer) ? 1 : -1) : ((x.Answer < y.Answer) ? 1 : -1));\r\n\r\n this.selectedRowUserSecurityQuestion = -1;\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewUserSecurityQuestion_Click() {\r\n this.InitializeUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewUserSecurityQuestion_Click() {\r\n this.saveNewUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditUserSecurityQuestion_Click() {\r\n this.saveUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteUserSecurityQuestion_Click() {\r\n this.deleteUserSecurityQuestion();\r\n }\r\n\r\n //------------------------------------------------\r\n AddUserSecurityQuestion2List(data: any, fAdd: boolean) {\r\n if (fAdd) {\r\n if (this.xusersecurityquestions == null) this.xusersecurityquestions = [];\r\n this.xusersecurityquestions.push(data);\r\n this.selectedRowUserSecurityQuestion = this.xusersecurityquestions.length - 1;\r\n }\r\n else {\r\n if (this.selectedRowUserSecurityQuestion >= 0 && this.selectedRowUserSecurityQuestion < this.xusersecurityquestions.length) {\r\n this.xusersecurityquestions[this.selectedRowUserSecurityQuestion] = data;\r\n }\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveUserSecurityQuestion() {\r\n if (this.xusersecurityquestion == null || this.xusersecurityquestion.Question == '') return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"saveUserSecurityQuestion\");\r\n this.AddUserSecurityQuestion2List(this.xusersecurityquestion, false);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewUserSecurityQuestion() {\r\n let a = XUserSecurityQuestionEntity.Copy(this.xusersecurityquestion);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"saveNewUserSecurityQuestion\");\r\n this.AddUserSecurityQuestion2List(a, true);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteUserSecurityQuestion() {\r\n if (this.xusersecurityquestions != null && this.xusersecurityquestions.length > 0 &&\r\n this.selectedRowUserSecurityQuestion >= 0 && this.selectedRowUserSecurityQuestion < this.xusersecurityquestions.length) {\r\n let ok = confirm(\"Are you sure of deleting the UserSecurityQuestion: \" + this.xusersecurityquestion.Question);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the UserSecurityQuestion to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"UserSecurityQuestion\", \"DeleteData \" + this.xusersecurityquestion.Question);\r\n\r\n if (this.selectedRowUserSecurityQuestion >= 0) {\r\n this.xusersecurityquestions.splice(this.selectedRowUserSecurityQuestion, 1);\r\n if (this.selectedRowUserSecurityQuestion >= this.xusersecurityquestions.length) {\r\n this.selectedRowUserSecurityQuestion = -1;\r\n this.xusersecurityquestion = new XUserSecurityQuestionEntity();\r\n }\r\n else this.xusersecurityquestion = this.xusersecurityquestions[this.selectedRowUserSecurityQuestion];\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Security Questions\r\n \r\n \r\n
{{x.Question}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowUserSecurityQuestion}} of {{xusersecurityquestions?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XUserInfoDataPage.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUserInfo } from \"../model/xuserinfo.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XUserInfoDialog } from './xuserinfoDialog.component';\r\nimport { XUserInfoDataSource } from \"../model/xuserinfo.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\nimport { State } from \"../model/state.model\";\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xuserinfoDataPage\",\r\n templateUrl: \"xuserinfoDataPage.component.html\",\r\n styleUrls: ['./xuserinfo.component.css']\r\n})\r\nexport class XUserInfoDataPageComponent {\r\n //@Input() abc: ABC = new ABC();\r\n\r\n public xuserinfosPerPage = 4;\r\n public selectedPage = 1;\r\n public xuserinfos: XUserInfo[] = [];\r\n public xuserinfo: XUserInfo = new XUserInfo();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public states = GlobalHelpers.gStates;\r\n\r\n public params: any;\r\n\r\n public sFilterXUserInfo: string = '';\r\n\r\n public FilterXUserInfo_ID: string = '';\r\n public FilterXName: string = '';\r\n public FilterFirstName: string = '';\r\n public FilterMiddleName: string = '';\r\n public FilterLastName: string = '';\r\n public FilterAddress: string = '';\r\n public FilterAddress2: string = '';\r\n public FilterCity: string = '';\r\n public FilterState: string = '';\r\n public FilterZip: string = '';\r\n public FilterCountry: string = '';\r\n public FilterMobile: string = '';\r\n public FilterSSN: string = '';\r\n public FilterGender: string = '';\r\n public FilterBirthDate: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n constructor(\r\n private dataSource: XUserInfoDataSource,\r\n //private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n if (this.router.getCurrentNavigation()?.extras.state != null) this.params = history.state;\r\n else this.params = null;\r\n\r\n //-------------Initial action----------------------\r\n\r\n GlobalObjects.goState = 'XUserInfoDataPage';\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserInfoDataPage\", \"load\");\r\n\r\n GlobalHelpers.checkUser('XUserInfoDataPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXUserInfo = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXUserInfo = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xuserinfo = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xuserinfos = this.params.data;\r\n }\r\n }\r\n\r\n if (this.fetchDb == 999) { //--to Save\r\n if (this.xuserinfo != null) {\r\n if (this.xuserinfo.XUserInfo_ID > 0) this.saveXUserInfo(true);\r\n else this.saveNewXUserInfo(true);\r\n }\r\n }\r\n else {\r\n if (this.selectedRowXUserInfo < 0) this.getXUserInfo(this.Id);\r\n if (this.xuserinfos == null) {\r\n this.getDataFromStack();\r\n if (this.xuserinfos == null && this.fetchDb == 1) this.listXUserInfo(0);\r\n }\r\n }\r\n this.showXUserInfo(this.xuserinfo);\r\n }\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n }\r\n\r\n\r\n showXUserInfoDetailDialog(xuserinfo: XUserInfo) {\r\n const modalRef = this.modalService.open(XUserInfoDialog);\r\n modalRef.componentInstance.data = xuserinfo;\r\n modalRef.componentInstance.title = 'XUserInfo Data Dialog';\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n\r\n modalRef.result.then((result) => {\r\n if (result) {\r\n this.xuserinfo = result;\r\n }\r\n });\r\n }\r\n\r\n\r\n public Properties = 'XUserInfo_ID,XName,FirstName,MiddleName,LastName,Address,Address2,City,State,Zip,Country,Mobile,SSN,Gender,BirthDate,CreateDate,UpdateDate,TenantId';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXUserInfo: number = -1; //--Index in the item list\r\n public rootData = null;\r\n\r\n public errorMessage = '';\r\n\r\n public isUserAuthorized = false;\r\n\r\n public loading = false;\r\n\r\n //>>==================================================\r\n\r\n //----Setup Global object list--\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString() {\r\n var sfilter =\r\n this.FilterXUserInfo_ID + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterFirstName + '|' +\r\n this.FilterMiddleName + '|' +\r\n this.FilterLastName + '|' +\r\n this.FilterAddress + '|' +\r\n this.FilterAddress2 + '|' +\r\n this.FilterCity + '|' +\r\n this.FilterState + '|' +\r\n this.FilterZip + '|' +\r\n this.FilterCountry + '|' +\r\n this.FilterMobile + '|' +\r\n this.FilterSSN + '|' +\r\n this.FilterGender + '|' +\r\n this.FilterBirthDate + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXUserInfo_ID = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterFirstName = slist[i]; i++;\r\n this.FilterMiddleName = slist[i]; i++;\r\n this.FilterLastName = slist[i]; i++;\r\n this.FilterAddress = slist[i]; i++;\r\n this.FilterAddress2 = slist[i]; i++;\r\n this.FilterCity = slist[i]; i++;\r\n this.FilterState = slist[i]; i++;\r\n this.FilterZip = slist[i]; i++;\r\n this.FilterCountry = slist[i]; i++;\r\n this.FilterMobile = slist[i]; i++;\r\n this.FilterSSN = slist[i]; i++;\r\n this.FilterGender = slist[i]; i++;\r\n this.FilterBirthDate = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterXUserInfo() {\r\n this.sFilterXUserInfo = '';\r\n if (this.FilterXUserInfo_ID != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" XUserInfo_ID like '%\" + this.FilterXUserInfo_ID + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterFirstName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" FirstName like '%\" + this.FilterFirstName + \"%' \";\r\n }\r\n if (this.FilterMiddleName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" MiddleName like '%\" + this.FilterMiddleName + \"%' \";\r\n }\r\n if (this.FilterLastName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" LastName like '%\" + this.FilterLastName + \"%' \";\r\n }\r\n if (this.FilterAddress != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Address like '%\" + this.FilterAddress + \"%' \";\r\n }\r\n if (this.FilterAddress2 != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Address2 like '%\" + this.FilterAddress2 + \"%' \";\r\n }\r\n if (this.FilterCity != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" City like '%\" + this.FilterCity + \"%' \";\r\n }\r\n if (this.FilterState != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" State like '%\" + this.FilterState + \"%' \";\r\n }\r\n if (this.FilterZip != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Zip like '%\" + this.FilterZip + \"%' \";\r\n }\r\n if (this.FilterCountry != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Country like '%\" + this.FilterCountry + \"%' \";\r\n }\r\n if (this.FilterMobile != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Mobile like '%\" + this.FilterMobile + \"%' \";\r\n }\r\n if (this.FilterSSN != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" SSN like '%\" + this.FilterSSN + \"%' \";\r\n }\r\n if (this.FilterGender != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Gender like '%\" + this.FilterGender + \"%' \";\r\n }\r\n if (this.FilterBirthDate != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" BirthDate like '%\" + this.FilterBirthDate + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '') {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '') {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //<<==================================================\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter(sname: string, svalue: string) {\r\n if (sname == 'XUserInfo_ID') this.FilterXUserInfo_ID = svalue;\r\n else if (sname == 'XName') this.FilterXName = svalue;\r\n else if (sname == 'FirstName') this.FilterFirstName = svalue;\r\n else if (sname == 'MiddleName') this.FilterMiddleName = svalue;\r\n else if (sname == 'LastName') this.FilterLastName = svalue;\r\n else if (sname == 'Address') this.FilterAddress = svalue;\r\n else if (sname == 'Address2') this.FilterAddress2 = svalue;\r\n else if (sname == 'City') this.FilterCity = svalue;\r\n else if (sname == 'State') this.FilterState = svalue;\r\n else if (sname == 'Zip') this.FilterZip = svalue;\r\n else if (sname == 'Country') this.FilterCountry = svalue;\r\n else if (sname == 'Mobile') this.FilterMobile = svalue;\r\n else if (sname == 'SSN') this.FilterSSN = svalue;\r\n else if (sname == 'Gender') this.FilterGender = svalue;\r\n else if (sname == 'BirthDate') this.FilterBirthDate = svalue;\r\n else if (sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if (sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if (sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n //var a = this.router.getCurrentNavigation();\r\n var parentState = GParentState.GetParent('xuserinfoDataPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n this.router.navigateByUrl('Welcome');\r\n }\r\n else {\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //----------------DataPage CRUD Actions--------------------------------------------------\r\n //------------------------------------------------\r\n InitializeXUserInfo() {\r\n this.xuserinfo = new XUserInfo();\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get the list of XUserInfo from database \r\n //--Id is object Id, to be as the current\r\n listXUserInfo(Id: number) {\r\n this.loading = true;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserInfoDataPage\", \"listXUserInfo\");\r\n\r\n //--Search options\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.sFilterXUserInfo;\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n this.loading = true;\r\n this.dataSource.getXUserInfos(iBegId, nMax, sFilter, nGetChild, 1, nMaxLevel, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n this.xuserinfos = data.Data.xuserinfos;\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuserinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n selectXUserInfo(data: XUserInfo | null) {\r\n if (data == null) return;\r\n this.getXUserInfo(data.XUserInfo_ID);\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //--Get object by ID\r\n getXUserInfo(Id: number) {\r\n if (Id <= 0 || Id == null || this.xuserinfos == null) return;\r\n\r\n for (var i = 0; i < this.xuserinfos.length; i++) {\r\n if (this.xuserinfos[i].XUserInfo_ID == Id) {\r\n this.selectedRowXUserInfo = i;\r\n this.setClickedRowXUserInfo(i, null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n //------------------Page Actions----------------------------------------------------\r\n //--Get the detail data from the database\r\n getDetailXUserInfo(datax: any) {\r\n if (datax == null) {\r\n this.xuserinfo = new XUserInfo();\r\n return;\r\n }\r\n if (datax.XUserInfo_ID <= 0) {\r\n this.xuserinfo = datax;\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n var data = XUserInfo.Copy(datax);\r\n this.dataSource.getXUserInfo(data.XUserInfo_ID, GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null) \r\n this.xuserinfo = data.Data.xuserinfo;\r\n this.selectedRowXUserInfo = XUserInfo.FindIdx(this.xuserinfo.XUserInfo_ID, this.xuserinfos);\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n this.selectedRowXUserInfo = -1;\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXUserInfo(data: XUserInfo | null) {\r\n if (data == null) return;\r\n this.getDetailXUserInfo(data);\r\n }\r\n\r\n //------------Table Row selection------------\r\n setClickedRowXUserInfo(index: number, data: any) {\r\n if (data != null) {\r\n var i = XUserInfo.FindIdx(data.XUserInfo_ID, this.xuserinfos);\r\n if (index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xuserinfos == null) {\r\n this.selectedRowXUserInfo = -1;\r\n return;\r\n }\r\n this.selectedRowXUserInfo = index;\r\n this.showXUserInfo(this.xuserinfos[index]);\r\n }\r\n\r\n //----Item Navigation operations------------------\r\n //------------------------------------------------\r\n btnFirstItemXUserInfo_Click() {\r\n if (this.xuserinfos == null || this.xuserinfos.length <= 0) return;\r\n this.setClickedRowXUserInfo(0, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnPreviousItemXUserInfo_Click() {\r\n if (this.xuserinfos == null || this.xuserinfos.length <= 0) return;\r\n var i = this.selectedRowXUserInfo - 1;\r\n if (i < 0) i = this.xuserinfos.length - 1;\r\n this.setClickedRowXUserInfo(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnNextItemXUserInfo_Click() {\r\n if (this.xuserinfos == null || this.xuserinfos.length <= 0) return;\r\n var i = this.selectedRowXUserInfo + 1;\r\n if (i >= this.xuserinfos.length) i = 0;\r\n this.setClickedRowXUserInfo(i, null);\r\n }\r\n\r\n //------------------------------------------------\r\n btnLastItemXUserInfo_Click() {\r\n if (this.xuserinfos == null || this.xuserinfos.length <= 0) return;\r\n var i = this.xuserinfos.length - 1;\r\n this.setClickedRowXUserInfo(i, null);\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xuserinfos = o.dataList;\r\n this.xuserinfo = o.data;\r\n this.sFilterXUserInfo = o.filter;\r\n }\r\n }\r\n\r\n\r\n //----Item CRUD buttons---------\r\n //------------------------------------------------\r\n btnNewXUserInfo_Click() {\r\n this.InitializeXUserInfo();\r\n }\r\n\r\n //------------------------------------------------\r\n btnSaveNewXUserInfo_Click() {\r\n this.saveNewXUserInfo(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnEditXUserInfo_Click() {\r\n this.saveXUserInfo(true);\r\n }\r\n\r\n //------------------------------------------------\r\n btnDeleteXUserInfo_Click() {\r\n this.deleteXUserInfo(true);\r\n }\r\n\r\n //------------------------------------------------\r\n AddXUserInfo2List(data: any) {\r\n let iAdd = true;\r\n if (this.xuserinfos == null) this.xuserinfos = [];\r\n else {\r\n for (let i = 0; i < this.xuserinfos.length; i++) {\r\n if (this.xuserinfos[i].XUserInfo_ID == data.XUserInfo_ID) {\r\n this.xuserinfos[i] = data;\r\n iAdd = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (iAdd) {\r\n this.xuserinfos.push(data);\r\n }\r\n return iAdd;\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //---This for Update data only------------------------------------------------------------------\r\n saveXUserInfo(saveDB: boolean) {\r\n if (this.xuserinfo == null || this.xuserinfo.XUserInfo_ID <= 0) return;\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUserInfo\", \"SaveData \" + saveDB);\r\n if (!saveDB) {\r\n this.AddXUserInfo2List(this.xuserinfo);\r\n }\r\n else {\r\n this.dataSource.updateXUserInfo(1, this.xuserinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.xuserinfo = data.Data.xuserinfo;\r\n alert(\"save XUserInfo Successful: \" + this.xuserinfo.XUserInfo_ID);\r\n }\r\n else {\r\n alert(\"save XUserInfo Failed: \" + this.xuserinfo.XUserInfo_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n alert(\"saveXUserInfo ERROR: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n //-----------This is to Save New data(primary key reset)----------------------------------------\r\n saveNewXUserInfo(saveDB: boolean) {\r\n let a = XUserInfo.Copy(this.xuserinfo);\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUserInfo\", \"SaveNewData \" + saveDB);\r\n a.XUserInfo_ID = -1;\r\n if (!saveDB) {\r\n this.AddXUserInfo2List(a);\r\n }\r\n else {\r\n this.dataSource.addXUserInfo(1, a).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data != null) {\r\n this.xuserinfo = data.Data.xuserinfo;\r\n alert(\"saveNew XUserInfo Successful: \" + this.xuserinfo.XUserInfo_ID);\r\n }\r\n else {\r\n alert(\"saveNew XUserInfo Failed\");\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n alert(\"ERROR: SaveNew XUserInfo Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n deleteXUserInfo(delDB: boolean) {\r\n if (this.xuserinfos != null && this.xuserinfos.length > 0 && this.xuserinfo.XUserInfo_ID <= 0) {\r\n let ok = confirm(\"Are you sure of deleting the XUserInfo: \" + this.xuserinfo.XName);\r\n if (!ok) return;\r\n }\r\n else {\r\n GlobalHelpers.showMessageModal('Warning', 'Please first select the XUserInfo to delete!');\r\n return;\r\n }\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"Info\", \"XUserInfo\", \"DeleteData \" + this.xuserinfo.XName);\r\n\r\n if (!delDB) {\r\n let idx = this.xuserinfos.indexOf(this.xuserinfo);\r\n if (idx >= 0) {\r\n this.xuserinfos.splice(idx, 1);\r\n this.InitializeXUserInfo();\r\n }\r\n }\r\n else {\r\n //let srDeleteData = XUserInfoService.deleteXUserInfo(this.XUserInfo.XUserInfo_ID);\r\n var id = this.dataSource.deleteXUserInfoById(this.xuserinfo.XUserInfo_ID).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if (data != null && data.Data > 0) {\r\n alert(\"Delete XUserInfo Successful: \" + this.xuserinfo.XUserInfo_ID);\r\n }\r\n else {\r\n alert(\"Delete XUserInfo Failed: \" + this.xuserinfo.XUserInfo_ID);\r\n }\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n alert(\"ERROR: Delete XUserInfo Failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n //====OPENDIALOG calls: XUserInfo ==========\r\n\r\n\r\n //----------------------------------------------------------------------------------------------\r\n checkUser() {\r\n if (GlobalObjects.gUserId != null && GlobalObjects.gUserId != '') {\r\n GlobalObjects.isUserAuthorized = true;\r\n }\r\n else {\r\n GlobalObjects.isUserAuthorized = false;\r\n GlobalObjects.goState = 'XUserInfoDataPage';\r\n this.router.navigateByUrl(\"/Login\");\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

XUserInfo Data Page

\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n

\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n

{{selectedRowXUserInfo}} of {{xuserinfos?.length}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","//--KEEP:\r\n//#############################################################\r\n//## XUserInfoDataView.component.ts\r\n//## View (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2022, DRSSW\r\n//#############################################################\r\nimport * as $ from \"jquery\";\r\n// or\r\n//import * as $ = require(\"jquery\");\r\n\r\nimport { Component, OnChanges, Input, ViewChild } from \"@angular/core\";\r\nimport { XUserInfo } from \"../model/xuserinfo.model\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\nimport { State } from \"../model/state.model\";\r\n\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: \"xuserinfoDataView\",\r\n templateUrl: \"xuserinfoDataView.component.html\",\r\n styleUrls: ['./xuserinfo.component.css']\r\n})\r\nexport class XUserInfoDataViewComponent {\r\n @Input() xuserinfo: XUserInfo=new XUserInfo();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public gGenders = GlobalObjects.gGenders;\r\n\r\n public states = GlobalHelpers.gStates;\r\n\r\n\r\n constructor(\r\n // private dataSourceLog: XLogDataSource,\r\n\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal,\r\n ) {\r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n let a = this.xuserinfo;\r\n }\r\n\r\n InitData(){\r\n this.xuserinfo = new XUserInfo();\r\n }\r\n\r\n \r\n //--------------------------------------------------------------------------\r\n IsDataReady() : string {\r\n let errorMsg = \"\";\r\n if(this.xuserinfo == null) return \"\\r\\nNo data entered\";\r\n\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.FirstName)) errorMsg += \"\\r\\nFirstName not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.LastName)) errorMsg += \"\\r\\nLastName not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.Address)) errorMsg += \"\\r\\nAddress not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.City)) errorMsg += \"\\r\\nCity not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.State)) errorMsg += \"\\r\\nState not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.Zip)) errorMsg += \"\\r\\nZip not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.Country)) errorMsg += \"\\r\\nCountry not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.Mobile)) errorMsg += \"\\r\\nMobile not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.SSN)) errorMsg += \"\\r\\nSSN not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.Gender)) errorMsg += \"\\r\\nGender not entered\";\r\n if(GlobalHelpers.isNullOrEmpty(this.xuserinfo.BirthDate)) errorMsg += \"\\r\\BirthDate not entered\";\r\n return errorMsg;\r\n }\r\n\r\n \r\n //--------------------------------------------------------------------------\r\n fakeData() {\r\n this.xuserinfo = new XUserInfo(); //-11 XUser.XUserInfo_ID <= XUserInfo.XUserInfo_ID\r\n this.xuserinfo.XUserInfo_ID = -1;\r\n this.xuserinfo.FirstName = 'John';\r\n this.xuserinfo.MiddleName = '';\r\n this.xuserinfo.LastName = 'Doe';\r\n this.xuserinfo.Address = '123 main st.';\r\n this.xuserinfo.Address2 = '';\r\n this.xuserinfo.City = 'Main City';\r\n this.xuserinfo.State = 'AA';\r\n this.xuserinfo.Zip = '11110';\r\n this.xuserinfo.Country = 'USA';\r\n this.xuserinfo.Mobile = '444-656-1234';\r\n this.xuserinfo.SSN = '1234';\r\n this.xuserinfo.Gender = 'Male';\r\n this.xuserinfo.BirthDate = '1/1/1977';\r\n this.xuserinfo.CreateDate = new Date();\r\n this.xuserinfo.UpdateDate = new Date();\r\n this.xuserinfo.XName = this.xuserinfo.FirstName + ' ' + this.xuserinfo.LastName;\r\n return this.xuserinfo;\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","//#############################################################\r\n//## XUserInfoDialog.component.ts\r\n//## Dialog (HTML) Javascript class for DataAcess Class\r\n//## The View provide the UI of the object for user interface\r\n//#\r\n//## Copyright, 2020, DRSSW\r\n//#############################################################\r\nimport { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { GlobalObjects } from '../GlobalObjects';\r\nimport { GlobalHelpers } from '../GlobalHelpers';\r\nimport { XUserInfoDataSource } from '../model/xuserinfo.datasource';\r\n\r\nimport { XUserInfo } from 'src/app/model/xuserinfo.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'xuserinfodata-content',\r\n templateUrl: './xuserinfoDialog.component.html'\r\n})\r\nexport class XUserInfoDialog implements OnInit {\r\n @Input() xuserinfo: XUserInfo = new XUserInfo();\r\n @Input() xuserinfos: XUserInfo[] = [];\r\n @Input() index: number = -1;\r\n @Input() title?: string;\r\n @Input() closeBtnName?: string;\r\n\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n\r\n public loading = false;\r\n private errorMessage: string = '';\r\n\r\n constructor(public activeModal:NgbActiveModal, \r\n \r\n private datasource: XUserInfoDataSource\r\n )\r\n {\r\n \r\n }\r\n\r\n \r\n\r\n ngOnInit() {\r\n //--do someting to push data?\r\n }\r\n\r\n onNext() {\r\n if (this.xuserinfos == null) return;\r\n this.index = XUserInfo.FindIdx(this.xuserinfo.XUserInfo_ID, this.xuserinfos);\r\n this.index++;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xuserinfos.length) this.index = this.xuserinfos.length - 1;\r\n this.xuserinfo = this.xuserinfos[this.index];\r\n }\r\n\r\n onPrevious() {\r\n if (this.xuserinfos == null) return;\r\n this.index = XUserInfo.FindIdx(this.xuserinfo.XUserInfo_ID, this.xuserinfos);\r\n this.index--;\r\n if (this.index < 0) this.index = 0;\r\n else if (this.index >= this.xuserinfos.length) this.index = this.xuserinfos.length - 1;\r\n this.xuserinfo = this.xuserinfos[this.index];\r\n }\r\n\r\n onRefresh() {\r\n this.loading = true;\r\n this.datasource.getXUserInfo(this.xuserinfo.XUserInfo_ID , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xuserinfo = data.Data.XUserInfo;\r\n }\r\n else this.xuserinfo = new XUserInfo();\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n onClose() {\r\n this.passEntry.emit(this.xuserinfo);\r\n this.activeModal.close(this.xuserinfo);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any): string {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any): string {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n","
\r\n

XUserInfo Data Dialog

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { XUserInfo } from \"../model/xuserinfo.model\";\r\n\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { GlobalObjects, GParentState, GObjectStack } from \"../GlobalObjects\";\r\nimport { GlobalHelpers } from \"../GlobalHelpers\";\r\n\r\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { XUserInfoDialog } from './xuserinfoDialog.component';\r\nimport { XUserInfoDataSource } from \"../model/xuserinfo.datasource\";\r\n//import { XLogDataSource } from \"../model/xlog.datasource\";\r\n\r\n\r\n\r\n@Component({\r\n selector: \"xuserinfoPage\",\r\n templateUrl: \"xuserinfoPage.component.html\"\r\n})\r\nexport class XUserInfoPageComponent implements OnInit {\r\n public selectedCategory: string | null | undefined;\r\n public xuserinfosPerPage = 4;\r\n public selectedPage = 1;\r\n\r\n public Pages: number[] = [];\r\n public itemsPerPage: number = 100;\r\n\r\n public imagePath = GlobalObjects.gImagePath;\r\n \r\n public params: any;\r\n\r\n public Properties = 'XUserInfo_ID,ISEQ,RdPrvg,WtPrvg,XName,URL,Description,CreateDate,UpdateDate';\r\n public FromPage = '';\r\n public Id = 0;\r\n public fetchDb = 1;\r\n public readOnly = 1;\r\n public getChild = 1;\r\n public selectedRowXUserInfo: number = -1; //--Index in the item list\r\n public rootData = null;\r\n public curRootData = null;\r\n\r\n public xuserinfos: XUserInfo[] = [];\r\n public loadAll = true;\r\n public loading: boolean = false;\r\n public errorMessage: string = '';\r\n\r\n public sortColumn = '';\r\n public sortDirection = '';\r\n public currentPage = 0;\r\n public currentXUserInfos: XUserInfo[] = [];\r\n\r\n public sortTypeXUserInfo = '';\r\n public sortReverseXUserInfo = false;\r\n\r\n constructor(\r\n private dataSource: XUserInfoDataSource,\r\n // private dataSourceLog: XLogDataSource,\r\n \r\n private xuserinfo: XUserInfo,\r\n private router: Router,\r\n private activatedroute: ActivatedRoute,\r\n private modalService: NgbModal) {\r\n\r\n \r\n\r\n // GlobalHelpers.dataSourceLog = dataSourceLog;\r\n GlobalHelpers.modalService = modalService;\r\n\r\n GlobalHelpers.checkUser('XUserInfoPage', router);\r\n if (GlobalObjects.isUserAuthorized) {\r\n if (this.params != null) {\r\n if (this.params.FromPage != null) this.FromPage = this.params.FromPage;\r\n if (this.params.Id != undefined) this.Id = this.params.Id;\r\n if (this.params.index != undefined) this.selectedRowXUserInfo = this.params.index; //--Index in the item list\r\n if (this.params.XFilter != undefined) this.sFilterXUserInfo = this.params.XFilter;\r\n if (this.params.fetchDb != undefined) this.fetchDb = this.params.fetchDb;\r\n if (this.params.getChild != undefined) this.getChild = this.params.getChild;\r\n if (this.params.readOnly != undefined) this.readOnly = this.params.readOnly;\r\n if (this.params.curData != undefined) { //--1 record\r\n this.xuserinfo = this.params.curData;\r\n }\r\n if (this.params.data != null) { //--record list\r\n this.xuserinfos = this.params.data;\r\n }\r\n if (this.params.curRootData != undefined) { //--1 record\r\n this.curRootData = this.params.curRootData;\r\n }\r\n }\r\n }\r\n if(this.xuserinfos == undefined || this.xuserinfos.length <= 0) this.getXUserInfos(1, 500, '', 100, 1, 5);\r\n console.log((\"XUserInfoPage.Component construct\"));\r\n }\r\n\r\n //--This is from static in app.module.ts Router defined data\r\n ngOnInit() {\r\n if (this.params != null) return;\r\n if (this.activatedroute.data == null) return;\r\n this.activatedroute.data.subscribe(data => {\r\n this.params = data;\r\n });\r\n if(this.xuserinfos == null) this.xuserinfos = [];\r\n }\r\n \r\n //-----------------------------------------------------\r\n orderXUserInfo (columnName:string) {\r\n // var orderBy = @filter('orderBy');\r\n type xsortColumn = keyof XUserInfo;\r\n this.sortTypeXUserInfo = columnName;\r\n this.sortReverseXUserInfo = (this.sortTypeXUserInfo === columnName) ? !this.sortReverseXUserInfo : false;\r\n \r\n if(columnName == 'XName') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.XName > y.XName) ? 1 : -1) : ((x.XName < y.XName) ? 1 : -1));\r\n else if(columnName == 'FirstName') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.FirstName > y.FirstName) ? 1 : -1) : ((x.FirstName < y.FirstName) ? 1 : -1));\r\n else if(columnName == 'MiddleName') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.MiddleName > y.MiddleName) ? 1 : -1) : ((x.MiddleName < y.MiddleName) ? 1 : -1));\r\n else if(columnName == 'LastName') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.LastName > y.LastName) ? 1 : -1) : ((x.LastName < y.LastName) ? 1 : -1));\r\n else if(columnName == 'Address') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.Address > y.Address) ? 1 : -1) : ((x.Address < y.Address) ? 1 : -1));\r\n else if(columnName == 'Address2') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.Address2 > y.Address2) ? 1 : -1) : ((x.Address2 < y.Address2) ? 1 : -1));\r\n else if(columnName == 'PictureFile') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.PictureFile > y.PictureFile) ? 1 : -1) : ((x.PictureFile < y.PictureFile) ? 1 : -1));\r\n else if(columnName == 'UpdateDate') this.xuserinfos = this.xuserinfos.sort((x, y) => this.sortReverseXUserInfo ? ((x.UpdateDate > y.UpdateDate) ? 1 : -1) : ((x.UpdateDate < y.UpdateDate) ? 1 : -1));\r\n\r\n \r\n this.selectedRowXUserInfo = -1;\r\n this.selectPage(1);\r\n }\r\n\r\n //------------------------------------------------------------------\r\n getXUserInfos(iBegId: number, nMax: number, sFilter: string, nGetChild: number, iLevel: number, nMaxLevel: number) {\r\n this.loading = true;\r\n this.dataSource.getXUserInfos(iBegId, nMax, sFilter, nGetChild, iLevel, nMaxLevel , GlobalObjects.gTenantId).subscribe({\r\n next: data => {\r\n if(data.Data != null){\r\n this.xuserinfos = data.Data.XUserInfos;\r\n }\r\n if(this.xuserinfos == null) this.xuserinfos = [];\r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuserinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n\r\n //---------Insert a XUserInfo-------------------\r\n addXUserInfo(xuserinfo: XUserInfo) {\r\n this.dataSource.addXUserInfo(1, xuserinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xuserinfo = data.Data.xuserinfo;\r\n alert(\"Add XUserInfo successful\");\r\n }\r\n else alert(\"Add XUserInfo failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n alert(\"ERROR: Add XUserInfo failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n updateXUserInfo(xuserinfo: XUserInfo) {\r\n this.dataSource.updateXUserInfo(1, xuserinfo).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data != null && data.Data != null){\r\n this.xuserinfo = data.Data.xuserinfo;\r\n alert(\"Update XUserInfo successful\");\r\n }\r\n else alert(\"Update XUserInfo failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n alert(\"ERROR: Delete XUserInfo failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n deleteXUserInfo(id: number) {\r\n this.dataSource.deleteXUserInfoById(id).subscribe({\r\n next: data => {\r\n this.loading = false;\r\n if(data!= null && data.Data > 0) alert(\"Delete XUserInfo successful\");\r\n else alert(\"Delete XUserInfo failed\");\r\n },\r\n error: error => {\r\n this.loading = false;\r\n this.errorMessage = error.message;\r\n this.xuserinfo = new XUserInfo();\r\n alert(\"ERROR: Delete XUserInfo failed: \" + error.toString());\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n btnAddXUserInfo_Click() {\r\n this.xuserinfo = new XUserInfo();\r\n GParentState.Push('xuserinfoDataPage', 'xuserinfoPage', this.Id, this.selectedRowXUserInfo, this.sFilterXUserInfo, this.fetchDb, this.getChild, this.readOnly, this.xuserinfo, this.xuserinfos,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xuserinfoDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XUserInfoPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xuserinfo,\r\n data: this.xuserinfos,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n }\r\n\r\n showXUserInfoDetail(xuserinfo: XUserInfo) {\r\n var idx = XUserInfo.FindIdx(xuserinfo.XUserInfo_ID, this.xuserinfos);\r\n \r\n const modalRef = this.modalService.open(XUserInfoDialog);\r\n modalRef.componentInstance.xuserinfos = this.xuserinfos;\r\n modalRef.componentInstance.xuserinfo = xuserinfo;\r\n modalRef.componentInstance.title = 'XUserInfo data dialog';\r\n modalRef.componentInstance.index = idx;\r\n modalRef.componentInstance.closeBtnName = 'Close';\r\n }\r\n\r\n //====================================================================\r\n\r\n //----Setup Global object list--\r\n \r\n\r\n public sFilterXUserInfo:string = '';\r\n \r\n public FilterXUserInfo_ID: string = '';\r\n public FilterXName: string = '';\r\n public FilterFirstName: string = '';\r\n public FilterMiddleName: string = '';\r\n public FilterLastName: string = '';\r\n public FilterAddress: string = '';\r\n public FilterAddress2: string = '';\r\n public FilterCity: string = '';\r\n public FilterState: string = '';\r\n public FilterZip: string = '';\r\n public FilterCountry: string = '';\r\n public FilterMobile: string = '';\r\n public FilterSSN: string = '';\r\n public FilterGender: string = '';\r\n public FilterBirthDate: string = '';\r\n public FilterCreateDate: string = '';\r\n public FilterUpdateDate: string = '';\r\n public FilterTenantId: string = '';\r\n\r\n\r\n //------------------------------------------------\r\n MakeFilterString () {\r\n var sfilter = \r\n this.FilterXUserInfo_ID + '|' +\r\n this.FilterXName + '|' +\r\n this.FilterFirstName + '|' +\r\n this.FilterMiddleName + '|' +\r\n this.FilterLastName + '|' +\r\n this.FilterAddress + '|' +\r\n this.FilterAddress2 + '|' +\r\n this.FilterCity + '|' +\r\n this.FilterState + '|' +\r\n this.FilterZip + '|' +\r\n this.FilterCountry + '|' +\r\n this.FilterMobile + '|' +\r\n this.FilterSSN + '|' +\r\n this.FilterGender + '|' +\r\n this.FilterBirthDate + '|' +\r\n this.GetDateString(this.FilterCreateDate) + '|' +\r\n this.GetDateString(this.FilterUpdateDate) + '|' +\r\n this.FilterTenantId;\r\n return sfilter;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n SetFilterString (sfilter:string|null) {\r\n if(sfilter == null) return;\r\n let slist = sfilter.split('|');\r\n let i = 0;\r\n this.FilterXUserInfo_ID = slist[i]; i++;\r\n this.FilterXName = slist[i]; i++;\r\n this.FilterFirstName = slist[i]; i++;\r\n this.FilterMiddleName = slist[i]; i++;\r\n this.FilterLastName = slist[i]; i++;\r\n this.FilterAddress = slist[i]; i++;\r\n this.FilterAddress2 = slist[i]; i++;\r\n this.FilterCity = slist[i]; i++;\r\n this.FilterState = slist[i]; i++;\r\n this.FilterZip = slist[i]; i++;\r\n this.FilterCountry = slist[i]; i++;\r\n this.FilterMobile = slist[i]; i++;\r\n this.FilterSSN = slist[i]; i++;\r\n this.FilterGender = slist[i]; i++;\r\n this.FilterBirthDate = slist[i]; i++;\r\n this.FilterCreateDate = this.GetDate(slist[i]); i++;\r\n this.FilterUpdateDate = this.GetDate(slist[i]); i++;\r\n this.FilterTenantId = slist[i]; i++;\r\n }\r\n\r\n\r\n MakeFilterXUserInfo ()\r\n {\r\n this.sFilterXUserInfo = '';\r\n if (this.FilterXUserInfo_ID != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" XUserInfo_ID like '%\" + this.FilterXUserInfo_ID + \"%' \";\r\n }\r\n if (this.FilterXName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" XName like '%\" + this.FilterXName + \"%' \";\r\n }\r\n if (this.FilterFirstName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" FirstName like '%\" + this.FilterFirstName + \"%' \";\r\n }\r\n if (this.FilterMiddleName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" MiddleName like '%\" + this.FilterMiddleName + \"%' \";\r\n }\r\n if (this.FilterLastName != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" LastName like '%\" + this.FilterLastName + \"%' \";\r\n }\r\n if (this.FilterAddress != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Address like '%\" + this.FilterAddress + \"%' \";\r\n }\r\n if (this.FilterAddress2 != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Address2 like '%\" + this.FilterAddress2 + \"%' \";\r\n }\r\n if (this.FilterCity != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" City like '%\" + this.FilterCity + \"%' \";\r\n }\r\n if (this.FilterState != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" State like '%\" + this.FilterState + \"%' \";\r\n }\r\n if (this.FilterZip != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Zip like '%\" + this.FilterZip + \"%' \";\r\n }\r\n if (this.FilterCountry != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Country like '%\" + this.FilterCountry + \"%' \";\r\n }\r\n if (this.FilterMobile != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Mobile like '%\" + this.FilterMobile + \"%' \";\r\n }\r\n if (this.FilterSSN != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" SSN like '%\" + this.FilterSSN + \"%' \";\r\n }\r\n if (this.FilterGender != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" Gender like '%\" + this.FilterGender + \"%' \";\r\n }\r\n if (this.FilterBirthDate != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" BirthDate like '%\" + this.FilterBirthDate + \"%' \";\r\n }\r\n var sDate = this.GetDateString(this.FilterCreateDate);\r\n if (sDate != '')\r\n {\r\n if (this.FilterCreateDate != '') this.FilterCreateDate = sDate;\r\n else this.FilterCreateDate = sDate;\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" CreateDate >= '\" + this.FilterCreateDate + \"' \";\r\n }\r\n sDate = this.GetDateString(this.FilterUpdateDate); if (sDate != '')\r\n {\r\n if (this.FilterUpdateDate != '') this.FilterUpdateDate = sDate;\r\n else this.FilterUpdateDate = sDate;\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" UpdateDate >= '\" + this.FilterUpdateDate + \"' \";\r\n }\r\n if (this.FilterTenantId != '') {\r\n if (this.sFilterXUserInfo != '') this.sFilterXUserInfo += \" AND \";\r\n this.sFilterXUserInfo += \" TenantId like '%\" + this.FilterTenantId + \"%' \";\r\n }\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n //--filterName:value;filterName:value\r\n setFilterByName(sfilter: string | null) {\r\n if (sfilter == null) return;\r\n var slist = sfilter.split(';');\r\n for (var i = 0; i < slist.length; i++) {\r\n var subx = slist[i].split(':');\r\n var svalue = '';\r\n if (subx.length > 1) svalue = subx[1];\r\n this.setAFilter(subx[0], svalue);\r\n }\r\n }\r\n\r\n //------------------------------------------------\r\n setAFilter (sname:string, svalue:string) {\r\n if(sname == 'XUserInfo_ID') this.FilterXUserInfo_ID = svalue;\r\n else if(sname == 'XName') this.FilterXName = svalue;\r\n else if(sname == 'FirstName') this.FilterFirstName = svalue;\r\n else if(sname == 'MiddleName') this.FilterMiddleName = svalue;\r\n else if(sname == 'LastName') this.FilterLastName = svalue;\r\n else if(sname == 'Address') this.FilterAddress = svalue;\r\n else if(sname == 'Address2') this.FilterAddress2 = svalue;\r\n else if(sname == 'City') this.FilterCity = svalue;\r\n else if(sname == 'State') this.FilterState = svalue;\r\n else if(sname == 'Zip') this.FilterZip = svalue;\r\n else if(sname == 'Country') this.FilterCountry = svalue;\r\n else if(sname == 'Mobile') this.FilterMobile = svalue;\r\n else if(sname == 'SSN') this.FilterSSN = svalue;\r\n else if(sname == 'Gender') this.FilterGender = svalue;\r\n else if(sname == 'BirthDate') this.FilterBirthDate = svalue;\r\n else if(sname == 'CreateDate') this.FilterCreateDate = svalue;\r\n else if(sname == 'UpdateDate') this.FilterUpdateDate = svalue;\r\n else if(sname == 'TenantId') this.FilterTenantId = svalue;\r\n }\r\n\r\n\r\n //------------------------------------------------\r\n btnGoBack_Click() {\r\n var parentState = GParentState.GetParent('xuserinfoPage');\r\n if (parentState == '' || parentState == null) {\r\n //GlobalHelpers.showMessageModal('Error', 'No parent state to go back to!');\r\n parentState = 'Welcome';\r\n }\r\n this.router.navigateByUrl(parentState.FromPage,\r\n {\r\n state:\r\n {\r\n FromPage: parentState.FromPage,\r\n Id: parentState.Id,\r\n index: parentState.index,\r\n XFilter: parentState.XFilter,\r\n fetchDb: parentState.fetchDb,\r\n getChild: parentState.getChild,\r\n readOnly: parentState.readOnly,\r\n curData: parentState.curData,\r\n data: parentState.data,\r\n rootData: parentState.rootData,\r\n curRootData: parentState.curRootData,\r\n }\r\n });\r\n }\r\n\r\n //------------------------------------------------\r\n FilterInit () {\r\n this.FilterXUserInfo_ID = '';\r\n this.FilterXName = '';\r\n this.FilterFirstName = '';\r\n this.FilterMiddleName = '';\r\n this.FilterLastName = '';\r\n this.FilterAddress = '';\r\n this.FilterAddress2 = '';\r\n this.FilterCity = '';\r\n this.FilterState = '';\r\n this.FilterZip = '';\r\n this.FilterCountry = '';\r\n this.FilterMobile = '';\r\n this.FilterSSN = '';\r\n this.FilterGender = '';\r\n this.FilterBirthDate = '';\r\n this.FilterCreateDate = '';\r\n this.FilterUpdateDate = '';\r\n this.FilterTenantId = '';\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n clearData() {\r\n this.FilterInit();\r\n this.xuserinfos = [];\r\n this.setPages();\r\n }\r\n\r\n\r\n //-----------------------------------------------------\r\n GetDateString(adate: any) {\r\n return GlobalHelpers.GetDateString(adate);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetNumberString(idata: any) {\r\n return GlobalHelpers.GetNumberString(idata);\r\n }\r\n\r\n //-----------------------------------------------------\r\n GetDate(sdate: any): string {\r\n return GlobalHelpers.GetDate(sdate).toString();\r\n }\r\n\r\n //-----------------------------------------------------\r\n selectPage(iPage: number) {\r\n if (iPage < 1 || iPage > this.Pages.length) {\r\n this.currentXUserInfos = [];\r\n this.currentPage = 0;\r\n return;\r\n }\r\n\r\n this.currentPage = iPage;\r\n\r\n if (this.xuserinfos.length < this.itemsPerPage) {\r\n this.currentPage = 1;\r\n this.currentXUserInfos = this.xuserinfos;\r\n }\r\n else {\r\n var iBItem = (iPage - 1) * this.itemsPerPage;\r\n var iEItem = iBItem + this.itemsPerPage;\r\n if (iEItem > this.xuserinfos.length) iEItem = this.xuserinfos.length;\r\n this.currentXUserInfos = [];\r\n for (var i = iBItem; i < iEItem; i++) this.currentXUserInfos.push(this.xuserinfos[i]);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.selectPage(this.currentPage);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyInputItemsPerPageEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.setPages();\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n setPages() {\r\n if (this.xuserinfos == null || this.xuserinfos.length <= 0) {\r\n this.currentPage = 0;\r\n this.currentXUserInfos = [];\r\n }\r\n this.currentPage = 0;\r\n if (this.itemsPerPage < 1) this.itemsPerPage = 1;\r\n // if (this.itemsPerPage > this.XUserInfos.length) this.itemsPerPage = this.XUserInfos.length;\r\n var nPages = 0;\r\n if (this.xuserinfos != null) nPages = Math.ceil(this.xuserinfos.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n }\r\n\r\n //---------------------List XUserInfo records:using ListXUserInfoByFile-------------------------------------------------------------\r\n listXUserInfo(fLoadAll: boolean) {\r\n if (!GlobalObjects.isUserAuthorized) {\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"You are not allowed to access the data!\");\r\n return;\r\n }\r\n this.MakeFilterXUserInfo();\r\n if (!fLoadAll && this.sFilterXUserInfo == '') return;\r\n this.loading = true;\r\n\r\n //--Search options\r\n this.FilterTenantId = GlobalObjects.gTenantId;\r\n\r\n var iBegId = 1;\r\n var nMax = 500;\r\n var sFilter = this.MakeFilterString();\r\n var nGetChild = 1000;\r\n var nMaxLevel = 3;\r\n\r\n GlobalHelpers.gWriteLog(GlobalObjects.gUserId, \"INFO\", \"XUserInfoPage\", \"listXUserInfo\");\r\n\r\n //var srListData = XUserInfoService.ListXUserInfo(iBegId, nMax, this.sFilterXUserInfo, nGetChild, nMaxLevel);\r\n this.dataSource.ListXUserInfoByFile('XUserInfo_QueryFile.sql', 'ListXUserInfo', sFilter, nMax, nGetChild, nMaxLevel).subscribe({\r\n next: data => {\r\n if(data != null && data.Data != null)\r\n {\r\n this.xuserinfos = data.Data.xuserinfo;\r\n }\r\n if(this.xuserinfos == null) this.xuserinfos = [];\r\n this.setPages();\r\n\r\n GObjectStack.Push('XUserInfoDataPage', this.MakeFilterString(), this.xuserinfos, this.xuserinfo);\r\n \r\n this.selectPage(1);\r\n \r\n this.loading = false;\r\n },\r\n error: error => {\r\n this.errorMessage = error.message;\r\n this.xuserinfos = [];\r\n console.log(error.toString());\r\n this.loading = false;\r\n GlobalHelpers.showMessageModal(\"ERROR\", \"no xuserinfo data\");\r\n }\r\n });\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n showXUserInfo(adata: any) {\r\n if (adata == null) return;\r\n else {\r\n this.selectedRowXUserInfo = XUserInfo.FindIdx(adata.XUserInfo_ID, this.xuserinfos);\r\n if (this.selectedRowXUserInfo >= 0 && this.selectedRowXUserInfo < this.xuserinfos.length) adata = this.xuserinfos[this.selectedRowXUserInfo];\r\n else return;\r\n }\r\n this.xuserinfo = adata;\r\n GParentState.Push('xuserinfoDataPage', 'xuserinfoPage', this.Id, this.selectedRowXUserInfo, this.sFilterXUserInfo, this.fetchDb, this.getChild, this.readOnly, this.xuserinfo, this.xuserinfos,\r\n this.rootData, this.curRootData);\r\n this.router.navigateByUrl('xuserinfoDataPage',\r\n {\r\n state:\r\n {\r\n FromPage: \"XUserInfoPage\",\r\n Id: -1,\r\n index: -1,\r\n XFilter: '',\r\n fetchDb: 0,\r\n getChild: 1,\r\n readOnly: 0,\r\n curData: this.xuserinfo,\r\n data: this.xuserinfos,\r\n rootData: this.rootData,\r\n curRootData: this.curRootData\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n //----------------------------------------------------------------------------------------------\r\n keyPressEnter(keyEvent: KeyboardEvent) {\r\n if (keyEvent.code == \"Enter\") //-enter\r\n {\r\n this.listXUserInfo(true);\r\n }\r\n else if (keyEvent.code == \"Escape\") //-escape\r\n {\r\n this.sFilterXUserInfo = \"\";\r\n }\r\n }\r\n\r\n //------------Table Row selection----------------------\r\n\r\n //-----------------------------------------------------\r\n setClickedRowXUserInfo(index:number, data: any) {\r\n if(data != null)\r\n {\r\n var i = XUserInfo.FindIdx(data.XUserInfo_ID, this.xuserinfos);\r\n if(index >= 0) index = i;\r\n }\r\n if (index < 0 || this.xuserinfos == null) {\r\n this.selectedRowXUserInfo = -1;\r\n return;\r\n }\r\n this.selectedRowXUserInfo = index;\r\n this.showXUserInfo(this.xuserinfos[this.selectedRowXUserInfo]);\r\n }\r\n\r\n //------------------------------------------------\r\n scrollElementIntoView() {\r\n var element = $('#dgXUserInfo tr.data')[this.selectedRowXUserInfo];\r\n var container = $('#dgXUserInfoDIV')[0];\r\n\r\n if (element != null && element != undefined && container != null && container != undefined) {\r\n var containerTop = container.scrollTop;\r\n var containerBottom = containerTop + container.clientHeight;\r\n var elemTop = element.offsetTop;\r\n var elemBottom = elemTop + element.clientHeight;\r\n if (elemTop < containerTop) {\r\n container.scrollTop = elemTop;\r\n }\r\n else if (elemBottom > containerBottom) {\r\n container.scrollTop = elemBottom - container.clientHeight;\r\n }\r\n }\r\n }\r\n\r\n //-------------GetDataFromStack---------------------------\r\n getDataFromStack() {\r\n var o = GObjectStack.Find(GlobalObjects.goState);\r\n if (o != null) {\r\n this.xuserinfos = o.dataList;\r\n if(this.xuserinfos == null) this.xuserinfos = [];\r\n this.xuserinfo = o.data;\r\n this.SetFilterString(o.filter);\r\n var nPages = 0;\r\n if (this.xuserinfos != null) nPages = Math.ceil(this.xuserinfos.length / this.itemsPerPage);\r\n this.Pages = [];\r\n for (var i = 0; i < nPages; i++) this.Pages.push(i);\r\n this.selectPage(1);\r\n }\r\n }\r\n\r\n //-----------------------------------------------------\r\n \r\n\r\n //-----------------------------------------------------\r\n //setDGHeight () {\r\n // var h0 = $(\"#titleDIV\").outerHeight();\r\n // var h1 = $(\"#dataDIV\").outerHeight();\r\n // var wh = $(window).height();\r\n // $(\"#dgXUserInfoDIV\").height(wh - h0 - h1 - gTableReduceHeight);\r\n //};\r\n\r\n}\r\n","
\r\n
\r\n

XUserInfo

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Loading...\r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n XName\r\n \r\n \r\n \r\n FirstName\r\n \r\n \r\n \r\n MiddleName\r\n \r\n \r\n \r\n LastName\r\n \r\n \r\n \r\n Address\r\n \r\n \r\n \r\n Address2\r\n \r\n \r\n \r\n Picture\r\n \r\n \r\n \r\n UpdateDt\r\n \r\n \r\n
\r\n \r\n {{x.XName}}{{x.FirstName}}{{x.MiddleName}}{{x.LastName}}{{x.Address}}{{x.Address2}}{{x.PictureFile}}{{GetDateString(x.UpdateDate)}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n 1\r\n <\r\n >\r\n {{Pages.length}}\r\n
\r\n
\r\n
\r\n
\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */"],"names":[],"sourceRoot":"webpack:///"}