{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/app/shared/security/auth.service.ts","webpack:///./src/app/survey/survey.component.ts","webpack:///./src/app/unauthorized/unauthorized.component.ts","webpack:///./src/app/shared/service/SurveyService.ts","webpack:///./src/app/shared/component/Localisation/language-localisation.component.ts","webpack:///./src/app/admin/lookup/lookup.component.ts","webpack:///./src/app/admin/preferences/preferences.component.ts","webpack:///./src/app/shared/component/breadcrumb/breadcrumb.component.ts","webpack:///./src/app/admin/admin.component.ts","webpack:///./src/app/shared/service/dialog.service.ts","webpack:///./src/app/home/home.service.ts","webpack:///./src/app/home/home.component.ts","webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/shared/service/error-log.service.ts","webpack:///./src/app/shared/security/auth-guard.service.ts","webpack:///./src/app/shared/component/echr-footer/echr-footer.component.ts","webpack:///./src/app/shared/component/echr-header/echr-header.component.ts","webpack:///./src/app/shared/component/breadcrumb/breadcrumb.component.html","webpack:///./src/app/shared/component/modals/confirm/confirm.component.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/survey/survey.module.ts","webpack:///./src/app/admin/admin.module.ts","webpack:///./src/app/home/home.module.ts","webpack:///./src/app/shared/config/error-handler.ts","webpack:///./src/app/shared/config/AppRequestOptions.ts","webpack:///./src/app/shared/config/date-picker.adapter.ts","webpack:///./src/app/shared/config/date-picker.formatter.ts","webpack:///./src/app/shared/config/http-json.interceptor.ts","webpack:///./src/app/shared/config/http-auth.interceptor.ts","webpack:///./src/app/shared/component/echr-footer/echr-footer.component.html","webpack:///./src/app/shared/component/echr-header/echr-header.component.html","webpack:///./src/app/app.component.html","webpack:///./src/app/unauthorized/unauthorized.component.html","webpack:///./src/app/shared/component/Localisation/language-localisation.component.html","webpack:///./src/app/survey/survey.component.html","webpack:///./src/app/admin/lookup/lookup.component.html","webpack:///./src/app/admin/preferences/preferences.component.html","webpack:///./src/app/admin/admin.component.html","webpack:///./src/app/home/home.component.html","webpack:///./src/app/shared/directive/draggable.directive.ts","webpack:///./src/app/shared/component/modals/confirm/confirm.component.html","webpack:///./src/app/app.module.ts","webpack:///./src/main-aot.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","p","jsonpArray","window","oldJsonpFunction","bind","slice","USER_SESSION","AuthService","router","http","_this","this","authenticationInProgress","_loginPromise","isAuthorized","roles","authenticated","role","_user","claims","some","x","key","toLowerCase","_i","_a","map","getUserFromSession","setUSerToSession","Promise","resolve","login","then","undefined","user","sessionStorage","getItem","JSON","parse","setItem","stringify","config","apiUrl","toPromise","response","json","catch","reason","console","log","fullName","firstName","lastName","divisions","core_1","Survey","showdown","dateRegEx","RegExp","SurveyComponent","document","route","_surveyService","auth","flash","surveyModel","Model","localeID","isLoaded","sendlocalText","EventEmitter","defineLocales","that","langViewChild","localText","locale","setValue","activeSurveyTitle","surveyJSON","title","default","fr","TreatPartial","modifiedData","keys","qName","questionid","getQuestionByName","getValueName","element","querySelector","innerHTML","sendDataToServer","survey","getAllQuestions","question","getQuestionByValueName","questionResult","displayValue","stringifyDateVal","requester","forEach","sendMails","mailReceiver","stringifyDate","val","test","split","reverse","join","message","from","posmailto","indexOf","mailmessage","mail","body","subject","to","ManageSurveyAnswer","ngOnInit","paramMap","subscribe","params","surveyIdToCheck","routePath","url","previewSurvey","onAngularComponentInit","getSurvey","ngOnDestroy","defaultBootstrapCss","navigationButton","rating","item","matrix","root","pageTitle","cssType","surveyLocalization","currentLocale","defaultLocale","toString","currentLocaleValue","SurveyNG","render","model","css","onPartialSend","add","onComplete","onUpdateQuestionCssClasses","options","classes","cssClasses","label","isRequired","getType","converter","Converter","onTextMarkdown","str","makeHtml","text","substring","html","setLocales","UnauthorizedComponent","SurveyService","$http","surveyUrl","redirectToClosed","navigate","redirectToUnAuthorized","surveyId","endpoint","SurveyText","post","replace","$inject","LanguageLocalisationComponent","sanitizer","_localText","LookupComponent","PreferencesComponent","Date","router_1","BreadCrumbComponent","showHome","breadcrumbs","deactivateLastItem","getBreadcrumbs","navigationEnd$","events","filter","event","NavigationEnd","unsubscribe","children","children_1","child","outlet","PRIMARY_OUTLET","snapshot","segment","path","breadcrumb","AdminComponent","confirm_component_1","DialogService","service","confirm","modal","open","ConfirmComponent","componentInstance","HomeService","lorem","HomeComponent","dialog","success","warn","error","bug","fetch","webpackEmptyAsyncContext","req","e","Error","code","id","StackTrace","common_1","ErrorLogService","location","PathLocationStrategy","fromError","offline","stackframes","stackTrace","AuthGuard","authorize","canActivate","state","EchrFooterComponent","api","version","EchrHeaderComponent","appName","_l","i0","ɵeld","_v","en","$event","ad","ɵted","_ck","ɵnov","target","href","ɵpad","parent","context","$implicit","ɵand","View_BreadCrumbComponent_3","ɵdid","i2","NgIf","ViewContainerRef","TemplateRef","ngIf","View_BreadCrumbComponent_4","View_BreadCrumbComponent_1","View_BreadCrumbComponent_2","NgForOf","IterableDiffers","ngForOf","_co","component","defaultOptions","_options","commit","close","discard","dismiss","assign","AppComponent","notificationOptions","timeOut","pauseOnHover","showProgressBar","animate","survey_component_1","unauthorized_component_1","AppRoutingModule","bootstrap","SharedModule","NgbCollapseModule","NgbAccordionModule","NgbAlertModule","NgbButtonsModule","NgbDatepickerModule","NgbDropdownModule","NgbModalModule","NgbPopoverModule","NgbTabsetModule","NgbTimepickerModule","NgbTooltipModule","NgbTypeaheadModule","SurveyModule","auth_guard_service_1","admin_component_1","preferences_component_1","lookup_component_1","ɵ1","ɵ2","AdminModule","home_component_1","HomeModule","angular2_notifications_1","error_log_service_1","ApplicationErrorHandler","injector","handleError","lastError","NotificationsService","AppRequestOptions","_super","withCredentials","headers","set","__extends","BaseRequestOptions","DatePickerAdapter","fromModel","date","getFullYear","year","month","getMonth","day","getDate","toModel","UTC","NgbDateAdapter","padNumber","isNumber","isNaN","toInteger","parseInt","EuropeanDatePickerFormatter","dateParts","trim","format","stringDate","NgbDateParserFormatter","http_1","XSSI_PREFIX","HttpJsonInterceptor","intercept","next","responseType","handle","clone","HttpResponse","processJsonResponse","res","originalBody","reviveUtcDate","HttpErrorResponse","status","statusText","match","exec","HttpAuthInterceptor","authReq","i1","View_NgProgressComponent_0","RenderType_NgProgressComponent","NgProgressComponent","NgProgress","color","i3","View_SimpleNotificationsComponent_0","RenderType_SimpleNotificationsComponent","i4","SimpleNotificationsComponent","ChangeDetectorRef","i5","View_EchrHeaderComponent_0","RenderType_EchrHeaderComponent","i6","i7","RouterOutlet","ChildrenOutletContexts","ComponentFactoryResolver","i8","View_EchrFooterComponent_0","RenderType_EchrFooterComponent","i9","spinnerPosition","direction","thick","View_LanguageLocalisationComponent_1","ngClassUntouched","ngClassTouched","ngClassPristine","ngClassDirty","ngClassValid","ngClassInvalid","ngClassPending","View_LanguageLocalisationComponent_0","RenderType_LanguageLocalisationComponent","DomSanitizer","View_BreadCrumbComponent_0","RenderType_BreadCrumbComponent","ActivatedRoute","Router","DefaultValueAccessor","Renderer2","ElementRef","COMPOSITION_BUFFER_MODE","ɵprd","NgbDatepickerService","NgbCalendar","NgbInputDatepicker","NgZone","i10","NG_VALIDATORS","p0_0","NG_VALUE_ACCESSOR","p1_0","NgModel","ControlContainer","update","NgControl","NgControlStatus","i11","NgbTooltip","Injector","i12","NgbTooltipConfig","placement","ngbTooltip","ɵppd","disabled","ɵunv","RouterLinkActive","routerLinkActiveOptions","routerLinkActive","ɵqud","links","linksWithHrefs","ɵpod","exact","Position","y","DraggableDirective","el","zone","renderer","allowDrag","moving","origin","getHostElement","dragContainer","findHostElement","elem","startsWith","classList","contains","parentElement","nativeElement","host","unsubscribeMouseUp","listen","remove","unsubscribeMouseMove","runOutsideAngular","preventDefault","moveTo","clientX","clientY","getPosition","transform","style","transVal","newX","newY","onMouseDown","button","AppModule","platform_browser_1","app_module_ngfactory_1","enableProdMode","platformBrowser","bootstrapModuleFactory","AppModuleNgFactory"],"mappings":"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","file":"app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([438,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Http } from '@angular/http';\r\n\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\nimport { User } from './user';\r\nimport { Config } from '../config/config';\r\n\r\n\r\ndeclare var config: Config;\r\nexport const USER_SESSION = 'userInfo';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n\r\n //#region Properties\r\n private authenticationInProgress: boolean = false;\r\n private _loginPromise: Promise = null;\r\n\r\n private get _user(): User { return this.getUserFromSession(); }\r\n private set _user(value) { this.setUSerToSession(value); }\r\n\r\n\r\n public get user(): Promise {\r\n\r\n\r\n if (!this.authenticated) {\r\n return this.login()\r\n .then(x => this._user);\r\n }\r\n else {\r\n return new Promise((resolve) => {\r\n resolve(this._user);\r\n });\r\n\r\n }\r\n }\r\n\r\n public get authenticated() {\r\n return (this._user !== undefined && this._user != null);\r\n }\r\n\r\n //#endregion\r\n\r\n //#region ctor\r\n\r\n constructor(private router: Router, private http: Http) {\r\n\r\n }\r\n\r\n //#endregion\r\n\r\n //#region public methods\r\n\r\n public isAuthorized = (roles: string[]) => {\r\n\r\n if (!this.authenticated) return false;\r\n if (roles == null) return false;\r\n\r\n\r\n for (let role of roles.map(x => x.toLowerCase())) {\r\n if (this._user.claims.some(x => x.key == \"authorization\" && x.value.toLowerCase() == role))\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //#endregion\r\n\r\n //#region private methods\r\n\r\n\r\n private getUserFromSession(): User {\r\n let user = sessionStorage.getItem(USER_SESSION);\r\n if (user)\r\n return JSON.parse(user);\r\n\r\n return null;\r\n }\r\n\r\n private setUSerToSession(user: User) {\r\n if (user)\r\n sessionStorage.setItem(USER_SESSION, JSON.stringify(user));\r\n }\r\n\r\n private login() {\r\n\r\n //only request user info once\r\n if (!this.authenticationInProgress) {\r\n\r\n this.authenticationInProgress = true;\r\n this._loginPromise = this.http.get(config.apiUrl + \"/security/user\")\r\n .toPromise()\r\n .then(response => {\r\n let user = response.json() as User;\r\n this._user = user;\r\n this.authenticationInProgress = false;\r\n })\r\n .catch(reason => {\r\n\r\n console.log('Unable to authenticate user. reason: ' + reason);\r\n //create a 'void' user in case of error\r\n //that way the application will still continue to work\r\n this._user = {\r\n fullName: '',\r\n firstName: '',\r\n lastName: '',\r\n login: '',\r\n claims: [],\r\n divisions: []\r\n };\r\n this.authenticationInProgress = false;\r\n });\r\n }\r\n\r\n //else return the resolved promise\r\n return this._loginPromise;\r\n\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n\r\n}","\r\nimport { Component, Input, NgModule, OnInit, Output, Inject, OnDestroy, ElementRef, EventEmitter, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Observable } from 'rxjs';\r\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ActivatedRoute, Router, ParamMap } from '@angular/router';\r\nimport * as Survey from 'survey-angular';\r\nimport { SurveyService } from '../shared/service/SurveyService';\r\n\r\nimport { NotificationsService } from 'angular2-notifications';\r\nimport { DialogService } from '../shared/service/dialog.service';\r\nimport { LanguageLocalisationComponent } from '../shared/component/Localisation/language-localisation.component';\r\nimport { AuthService } from '../shared/security/auth.service';\r\nimport { User } from '../shared/security/user';\r\nimport { surveyLocalization } from 'survey-angular';\r\nimport { IsurveyResult } from '../Shared/models/SurveyResult';\r\nimport { Imail } from '../Shared/models/mail';\r\nimport * as showdown from 'showdown';\r\nimport { request } from 'http';\r\nimport { isNumber } from 'util';\r\nimport { dashCaseToCamelCase } from '@angular/compiler/src/util';\r\n\r\nconst dateRegEx = new RegExp(\"[0-9]{4}-[0-9]{2}-[0-9]{2}\");\r\n@Component({\r\n selector: 'app-survey',\r\n templateUrl: './survey.component.html',\r\n\r\n})\r\n\r\nexport class SurveyComponent implements OnInit {\r\n\r\n private localTextDisplay: string;\r\n public JSON;\r\n public surveyJSON;\r\n public surveyModel = new Survey.Model('');\r\n public localeID: string = \"\";\r\n public routePath: string;\r\n public isLoaded: boolean = false;\r\n private surveyIdToCheck;\r\n private element: HTMLElement;\r\n private surveyId: number;\r\n public localText: string;\r\n public mail: Imail;\r\n public activeSurveyTitle: string;\r\n public user: User = null;\r\n public mailReceiver: string;\r\n \r\n\r\n @Output() sendlocalText: EventEmitter = new EventEmitter();\r\n @Input() surveyID: number;\r\n @ViewChild(LanguageLocalisationComponent) langViewChild: LanguageLocalisationComponent;\r\n\r\n constructor(@Inject(DOCUMENT) document,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private _surveyService: SurveyService,\r\n private auth: AuthService,\r\n private flash: NotificationsService,\r\n ) {\r\n\r\n\r\n }\r\n ngOnInit() {\r\n \r\n\r\n this.route.paramMap.subscribe((params: ParamMap) => {\r\n this.surveyIdToCheck = params.get('surveyID');\r\n this.routePath = this.router.url.split('/')[2];\r\n \r\n\r\n });\r\n\r\n\r\n if (this.routePath == 'preview') {\r\n\r\n this.auth.user.then(user => {\r\n this.user = user;\r\n \r\n }).catch(user => {\r\n //console.log('catch');\r\n //console.log(user);\r\n })\r\n .then(user => {\r\n this._surveyService.previewSurvey(this.surveyIdToCheck)\r\n .then(x => {\r\n\r\n this.JSON = x;\r\n if (this.JSON != undefined) {\r\n this.onAngularComponentInit();\r\n }\r\n\r\n\r\n });\r\n\r\n })\r\n\r\n }\r\n else {\r\n // console.log('freeRoute');\r\n this._surveyService.getSurvey(this.surveyIdToCheck)\r\n .then\r\n (x => {\r\n\r\n this.JSON = x;\r\n if (this.JSON != undefined) {\r\n this.onAngularComponentInit();\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\n }\r\n\r\n\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n public onAngularComponentInit() {\r\n\r\n\r\n this.surveyJSON = JSON.parse(this.JSON['surveyJSON']);\r\n this.surveyModel = new Survey.Model(this.surveyJSON);\r\n // console.log(this.surveyJSON);\r\n //this.localeID = this.surveyModel.getLocale();\r\n Survey.defaultBootstrapCss.navigationButton = \"btn btn-primary\";\r\n Survey.defaultBootstrapCss.rating.item = \"btn btn-primary my-rating\";\r\n Survey.defaultBootstrapCss.matrix.root = \"table table-striped\";\r\n Survey.defaultBootstrapCss.pageTitle = \"btn btn-warning\"\r\n Survey.Survey.cssType = \"bootstrap\";//EchrBootstrap\r\n\r\n this.mailReceiver = this.surveyJSON.mailReceiver;\r\n\r\n\r\n Survey.surveyLocalization.currentLocale = Survey.surveyLocalization.defaultLocale;\r\n this.surveyModel.locale = Survey.surveyLocalization.defaultLocale.toString();\r\n if (this.routePath == \"French\") {\r\n //Survey.surveyLocalization.defaultLocaleValue = \"fr\";\r\n Survey.surveyLocalization.currentLocaleValue = \"fr\";\r\n this.surveyModel.locale = \"fr\";\r\n this.surveyModel.setValue('locale', 'fr');\r\n }\r\n\r\n\r\n var myCss = {\n matrix: { root: \"table table-striped matrixtable\" },\n };\n\r\n Survey\r\n .SurveyNG\r\n .render(\"surveyElement\", {\r\n model: this.surveyModel,\r\n css: myCss\r\n // css: 'EchrBootStrap.css'\r\n });\r\n\r\n this.surveyModel\r\n .onPartialSend\r\n .add(this.TreatPartial);\r\n\r\n this.surveyModel.onComplete.add(this.sendDataToServer);\r\n\r\n this.surveyModel\r\n .onUpdateQuestionCssClasses\r\n .add(function (survey, options) {\r\n var classes = options.cssClasses\r\n\r\n classes.root = \"sq-root\";\r\n classes.title = \"sq-title\";\r\n classes.item = \"sq-item\";\r\n classes.label = \"sq-label\";\r\n\r\n if (options.question.isRequired) {\r\n classes.title = \"sq-title sq-title-required\";\r\n classes.root = \"sq-root sq-root-required\";\r\n }\r\n\r\n if (options.question.getType() === \"checkbox\") {\r\n classes.root = \"sq-root sq-root-cb\";\r\n }\r\n });\r\n\r\n ////Create showdown mardown converter\n var converter = new showdown.Converter();\r\n this.surveyModel\r\n .onTextMarkdown\n .add(function (survey, options) {\n //convert the mardown text to html\n var str = converter.makeHtml(options.text);\n //remove root paragraphs

\n str = str.substring(3);\n str = str.substring(0, str.length - 4);\n //set html\n options.html = str;\n });\r\n if (this.routePath == \"English\" || this.surveyModel.locale == \"en\") {\r\n\r\n this.langViewChild.localText = \"français\";\r\n\r\n this.activeSurveyTitle = this.surveyJSON.title.default;\r\n Survey.surveyLocalization.currentLocaleValue = \"en\";\r\n this.surveyModel.setValue('locale', 'en');\r\n this.surveyModel.render();\r\n\r\n }\r\n else {\r\n this.langViewChild.localText = \"english\";\r\n this.surveyModel.setValue('locale', 'fr');\r\n this.activeSurveyTitle = this.surveyJSON.title.fr;\r\n //Survey.surveyLocalization.currentLocaleValue = \"fr\";\r\n this.surveyModel.render();\r\n }\r\n\r\n\r\n // this.setLocales();\r\n\r\n }\r\n public setLocales() {\r\n var that = this;\r\n this.surveyModel.setValue('locale', 'fr');\r\n\r\n that.surveyModel.render();\r\n\r\n }\r\n public defineLocales = () => {\r\n\r\n\r\n var that = this;\r\n if (that.langViewChild.localText == \"english\") {\r\n\r\n that.surveyModel.locale = \"en\";\r\n this.surveyModel.setValue('locale', 'en');\r\n\r\n //Survey.surveyLocalization.currentLocaleValue=\"en\"\r\n that.localText = \"français\";\r\n that.langViewChild.localText = that.localText;\r\n that.activeSurveyTitle = that.surveyJSON.title.default;\r\n\r\n }\r\n else {\r\n that.surveyModel.locale = \"fr\";\r\n that.localText = \"english\";\r\n this.surveyModel.setValue('locale', 'fr');\r\n\r\n that.activeSurveyTitle = that.surveyJSON.title.fr;\r\n //Survey.surveyLocalization.currentLocaleValue = \"fr\"\r\n\r\n }\r\n that.langViewChild.localText = that.localText;\r\n return true;\r\n\r\n }\r\n public TreatPartial = (result) => {\r\n //function (result) {\r\n var modifiedData = Object.keys(result.data).map(function (qName) {\r\n return {\r\n value: result.data[qName],\r\n questionid: result.getQuestionByName(qName).getValueName//.questionid\r\n\r\n }\r\n });\r\n\r\n this.element\r\n .querySelector('#surveyResult')\r\n .innerHTML = \"result: \" + JSON.stringify(modifiedData);\r\n //});\r\n\r\n }\r\n\r\n\r\n public sendDataToServer = (survey) => {\r\n\r\n //console.log(survey);\r\n\r\n var data = [];\r\n //for (var key in survey.data) {\r\n for (var key in survey.getAllQuestions()) {\r\n var question = survey.getQuestionByValueName(key);\r\n if (!question) {\r\n question = survey.getAllQuestions()[key];\r\n //to see\r\n if (!question) continue;\r\n }\r\n var questionResult = { name: key, value: survey.data[key], title: question.title, displayValue: this.stringifyDateVal(question.displayValue) }\r\n \r\n data.push(questionResult);\r\n }\r\n \r\n\r\n\r\n //var modifiedData = Object.keys(survey.data).map(function (qName) {\r\n // console.log(survey.getQuestionByName(qName).title + ': ' + survey.data[qName]);\r\n\r\n // return {\r\n // value: survey.data[qName],\r\n // questionid: survey.getQuestionByName(qName).title//.questionid\r\n\r\n // }\r\n\r\n //});\r\n\r\n\r\n\r\n //var surveyAnswer: IsurveyResult = { answerText: JSON.stringify(survey.data,this.stringifyDate), answerDate: new Date(), surveyId: this.surveyID };\r\n var requester = '';\r\n var result = '';\r\n\r\n data.forEach(function (value) {\r\n //if (value.name === 'Inquirer:Email') \r\n //console.log('titil' + value.title);\r\n //console.log('disy' + value.displayValue);\r\n //console.log('name' + value.name);\r\n if (value.title === 'Email' || value.title === 'E-mail') {\r\n requester = value.displayValue;\r\n\r\n }\r\n \r\n if (value.displayValue === 'ECHRTitle') {\r\n result = result + '

' + value.title + '

';\r\n }\r\n else {\r\n if(value.displayValue.length > 0)\r\n {\r\n result = result + value.title + ': ' + value.displayValue + '' + '
';\r\n }\r\n }\r\n \r\n return result;\r\n });\r\n\r\n //Requester\r\n if (requester != \"\")\r\n this.sendMails(result, requester,\"\");\r\n //ECHR\r\n if (this.mailReceiver != \"\")\r\n \r\n this.sendMails(result, this.mailReceiver,requester);\r\n }\r\n\r\n public stringifyDate = (key, val) => {\r\n \r\n return this.stringifyDateVal(val);\r\n }\r\n public stringifyDateVal = ( val) => {\r\n\r\n if (dateRegEx.test(val))\r\n return (val).split(\"-\").reverse().join(\"/\");\r\n return val;\r\n }\r\n public sendMails = (message, requester,from) => {\r\n if (requester != '') {\r\n var posmailto = message.indexOf(\"mailto\");\r\n var mailmessage = message.slice(0, posmailto);\r\n\r\n this.mail = {} as Imail;\r\n this.mail.body = mailmessage; \r\n this.mail.subject = this.activeSurveyTitle ;\r\n this.mail.to = requester;//\"sylvia.germe@echr.coe.int\";//\r\n this.mail.from = from;\r\n // console.log(mailmessage);\r\n var result = this._surveyService.ManageSurveyAnswer(this.mail);\r\n\r\n }\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';\n\n@Component({\n selector: 'app-unauthorized',\n templateUrl: './unauthorized.component.html',\n})\nexport class UnauthorizedComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import 'rxjs/add/operator/map';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Config } from '../../shared/config/config';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IsurveyDefinition } from '../models/surveyDefinition';\r\nimport { IsurveyResult} from '../models/SurveyResult';\r\nimport { NotificationsService } from 'angular2-notifications';\r\nimport { SurveyTemplateText } from 'survey-angular';\r\nimport { read } from 'fs';\r\nimport { Imail } from '../models/mail';\r\n\r\ndeclare var config: Config;\r\n\r\n\r\n@Injectable()\r\nexport class SurveyService {\r\n\r\n\r\n public static $inject = ['$http'];\r\n constructor(\r\n public $http: HttpClient,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n\r\n ) {\r\n }\r\n protected get endpoint(): string {\r\n return config.apiUrl;\r\n };\r\n \r\n private surveyUrl = '/TSurveyDefinitions/'; // URL to web api\r\n \r\n\r\n ngOnInit(): void { };\r\n results: string;\r\n\r\n public getSurvey(surveyId: number) {\r\n \r\n return this.$http.get(this.endpoint + this.surveyUrl + surveyId)\r\n .toPromise()\r\n .catch(this.redirectToUnAuthorized);\r\n }\r\n\r\n public redirectToClosed = (message) => {\r\n this.router.navigate(['/closed', message]);\r\n }\r\n\r\n public redirectToUnAuthorized = (message) => {\r\n this.router.navigate(['/401']);\r\n }\r\n\r\n public ManageSurveyAnswer(SurveyText :Imail) {\r\n\r\n \r\n let res = this.$http.post(this.endpoint +'/Email/post/', SurveyText).toPromise();\r\n return res;\r\n \r\n }\r\n\r\n public previewSurvey(surveyId: number) {\r\n\r\n\r\n\r\n return this.$http.get(this.endpoint.replace(\"/api\", \"\") + '/Designer/TSurveyDefinitions/Editor/' + surveyId)\r\n .toPromise()\r\n .catch(this.redirectToUnAuthorized);\r\n \r\n\r\n }\r\n\r\n\r\n}","import { Component, Input, Output,OnInit, OnDestroy ,EventEmitter} from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'language-choosen',\r\n templateUrl: './language-localisation.component.html',\r\n})\r\nexport class LanguageLocalisationComponent implements OnInit {\r\n \r\n private _localText: string;\r\n @Input() \r\n public get localText(): string { return this._localText; };\r\n public set localText(x: string) {\r\n this._localText = x;\r\n\r\n }\r\n \r\n constructor(private sanitizer: DomSanitizer) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n public setLocales = () => {\r\n \r\n this.localText = this._localText;\r\n \r\n\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-lookup',\n templateUrl: './lookup.component.html',\n})\nexport class LookupComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-preferences',\n templateUrl: './preferences.component.html',\n})\nexport class PreferencesComponent implements OnInit {\n\n public model: Date = new Date();\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","\r\nimport { Component, OnInit, OnDestroy, Input } from '@angular/core'\r\nimport { Router, ActivatedRoute, NavigationEnd, Params, PRIMARY_OUTLET } from '@angular/router';\r\nimport { Subscription } from 'rxjs/Subscription';\r\nimport { filter } from 'rxjs/operators'\r\n\r\n\r\nexport interface IBreadcrumb {\r\n label: string;\r\n params: Params;\r\n url: string;\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'breadcrumb',\r\n templateUrl: './breadcrumb.component.html'\r\n})\r\nexport class BreadCrumbComponent implements OnInit, OnDestroy {\r\n\r\n\r\n\r\n //#region properties\r\n\r\n @Input() public showHome: boolean = true;\r\n public breadcrumbs: IBreadcrumb[] = [];\r\n private navigationEnd$: Subscription;\r\n\r\n //#endregion\r\n\r\n //#region ctor\r\n\r\n constructor(private route: ActivatedRoute, private router: Router) {\r\n\r\n }\r\n\r\n //#endregion\r\n\r\n //#region Event cycles\r\n\r\n ngOnInit() {\r\n\r\n let root: ActivatedRoute = this.route.root;\r\n this.breadcrumbs = this.getBreadcrumbs(root);\r\n this.deactivateLastItem();\r\n\r\n //subscribe to the NavigationEnd event\r\n this.navigationEnd$ = this.router.events.filter(event => event instanceof NavigationEnd).subscribe(event => {\r\n //set breadcrumbs\r\n let root: ActivatedRoute = this.route.root;\r\n this.breadcrumbs = this.getBreadcrumbs(root);\r\n this.deactivateLastItem();\r\n\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.navigationEnd$ != null)\r\n this.navigationEnd$.unsubscribe();\r\n }\r\n\r\n //#endregion\r\n\r\n //#region private methods\r\n\r\n /**\r\n * Deactivate last item => user should not be able to go to the route is already in\r\n */\r\n private deactivateLastItem = () => {\r\n\r\n let i = this.breadcrumbs.length;\r\n if (this.breadcrumbs != null && i >= 1)\r\n this.breadcrumbs[i - 1].url = null\r\n\r\n }\r\n\r\n /**\r\n * Returns array of IBreadcrumb objects that represent the breadcrumb\r\n *\r\n * @class DetailComponent\r\n * @method getBreadcrumbs\r\n * @param {ActivateRoute} route\r\n * @param {string} url\r\n * @param {IBreadcrumb[]} breadcrumbs\r\n */\r\n private getBreadcrumbs(route: ActivatedRoute, url: string = \"\", breadcrumbs: IBreadcrumb[] = []): IBreadcrumb[] {\r\n const ROUTE_DATA_BREADCRUMB: string = \"breadcrumb\";\r\n\r\n //get the child routes\r\n let children: ActivatedRoute[] = route.children;\r\n\r\n //return if there are no more children\r\n if (children.length === 0) {\r\n return breadcrumbs;\r\n }\r\n\r\n //iterate over each children\r\n for (let child of children) {\r\n //verify primary route\r\n if (child.outlet !== PRIMARY_OUTLET) {\r\n continue;\r\n }\r\n\r\n //verify the custom data property \"breadcrumb\" is specified on the route\r\n if (!child.snapshot.data.hasOwnProperty(ROUTE_DATA_BREADCRUMB)) {\r\n return this.getBreadcrumbs(child, url, breadcrumbs);\r\n }\r\n\r\n //get the route's URL segment\r\n let routeURL: string = child.snapshot.url.map(segment => segment.path).join(\"/\");\r\n\r\n //append route URL to URL\r\n url += `/${routeURL}`;\r\n\r\n //add breadcrumb\r\n let breadcrumb: IBreadcrumb = {\r\n label: child.snapshot.data[ROUTE_DATA_BREADCRUMB],\r\n params: child.snapshot.params,\r\n url: url\r\n };\r\n breadcrumbs.push(breadcrumb);\r\n\r\n //recursive\r\n return this.getBreadcrumbs(child, url, breadcrumbs);\r\n }\r\n }\r\n\r\n\r\n //#endregion\r\n\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n})\nexport class AdminComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","/*\r\n* Dialog service class.\r\n* Show dialog modal such as 'confirm' dialog\r\n*/\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { ConfirmComponent, ConfirmOptions } from '../component/modals/confirm/confirm.component';\r\n\r\n@Injectable()\r\nexport class DialogService {\r\n\r\n //#region constructor\r\n\r\n constructor(private service: NgbModal) { }\r\n\r\n //#endregion\r\n\r\n //#region public methods\r\n\r\n public confirm = (options?: ConfirmOptions) => {\r\n\r\n\r\n let modal = this.service.open(ConfirmComponent);\r\n let component: ConfirmComponent = modal.componentInstance;\r\n component.options = options;\r\n\r\n return modal.result;\r\n\r\n }\r\n\r\n //#endregion\r\n\r\n\r\n}","import { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../shared/config/config';\r\n\r\ndeclare var config: Config;\r\n\r\n\r\n@Injectable()\r\nexport class HomeService {\r\n\r\n\r\n /**\r\n * Get the api url endpoint\r\n */\r\n protected get endpoint(): string {\r\n return config.apiUrl;\r\n };\r\n\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public lorem = () => {\r\n return this.http.get(this.endpoint + '/dummy/lorem')\r\n .toPromise();\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\nimport { NotificationsService } from 'angular2-notifications';\r\n\nimport { HomeService } from './home.service';\nimport { DialogService } from '../shared/service/dialog.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n})\nexport class HomeComponent implements OnInit {\n\n //#region properties\n\n public data: string;\n\n //#endregion\n\n //#region ctor\n\n constructor(private flash: NotificationsService, private service: HomeService, private dialog: DialogService) { }\n\n //#endregion\n\n //#region Component life cycle event\n\n ngOnInit() {\n }\n\n //#endregion\n\n //#region public methods\n\n public success = () => this.flash.success('Success', 'This is a success message');\n public warn = () => this.flash.warn('Warning', 'This is a warning message');\n public error = () => this.flash.error('Error', 'This is an error message');\n\n public bug = () => {\n let a: string = null;\n return a.length; //should throw an error\n };\n\n public fetch = () => {\n this.service.lorem()\n .then(x => this.data = x)\n }\n\n public confirm = () => {\n return this.dialog.confirm()\r\n .then(x => this.flash.success('Confirmed'))\r\n .catch(x => this.flash.error('Canceled'));\r\n }\n\n //#endregion\n\n\n}\n","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(function() {\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 = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 220;","\r\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Config } from '../config/config';\r\nimport * as StackTrace from 'stacktrace-js';\r\nimport { LocationStrategy, PathLocationStrategy } from '@angular/common';\r\n\r\n\r\ndeclare var config: Config;\r\n\r\n\r\ninterface ApplicationError {\r\n url: string;\r\n stackTrace: string;\r\n message: string;\r\n}\r\n\r\n\r\n/**\r\n * Send error message to the server\r\n */\r\n\r\n@Injectable()\r\nexport class ErrorLogService {\r\n\r\n /**\r\n * Get the api url endpoint\r\n */\r\n protected get endpoint(): string {\r\n return config.apiUrl;\r\n };\r\n\r\n constructor(private http: HttpClient, private location: LocationStrategy) { }\r\n\r\n public error = (error: Error) => {\r\n\r\n const url = this.location instanceof PathLocationStrategy ? this.location.path() : '';\r\n const message = error.message ? error.message : error.toString();\r\n\r\n console.error(error);\r\n\r\n\r\n //get the stack trace, lets grab the last 10 stacks only\r\n return StackTrace.fromError(error, { offline: true })\r\n .then(stackframes => stackframes.splice(0, 20).map(x => x.toString()).join('\\n'))\r\n //then send error to the server\r\n .then(stackTrace => {\r\n\r\n var data: ApplicationError = {\r\n url,\r\n message,\r\n stackTrace\r\n };\r\n \r\n return this.http.post(this.endpoint + `/error`, data)\r\n .toPromise()\r\n .catch(x => {\r\n console.log('Unable to log data:', data);\r\n console.log('Reason:', x);\r\n });\r\n });\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { CanActivate } from '@angular/router';\r\n// Import our authentication service\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private auth: AuthService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\r\n if (route.data != null) {\r\n return this.auth.user\r\n .then(x => this.auth.isAuthorized(route.data.roles))\r\n .then(this.authorize);\r\n }\r\n\r\n return this.auth.user\r\n .then(x => this.auth.authenticated)\r\n .then(this.authorize);\r\n\r\n }\r\n\r\n private authorize = (isAuthorized) => {\r\n if (isAuthorized) return true;\r\n\r\n this.router.navigate(['/401']);\r\n return false;\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Config } from '../../config/config';\r\n\r\ndeclare var config: Config;\r\n\r\n@Component({\r\n selector: 'echr-footer',\r\n templateUrl: './echr-footer.component.html',\r\n})\r\nexport class EchrFooterComponent implements OnInit {\r\n\r\n public api: string;\r\n public version: string;\r\n constructor() {\r\n this.api = config.apiUrl;\r\n this.version = config.version;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Config } from '../../config/config';\r\n\r\ndeclare var config: Config;\r\n\r\n@Component({\r\n selector: 'echr-header',\r\n templateUrl: './echr-header.component.html',\r\n})\r\nexport class EchrHeaderComponent implements OnInit {\r\n\r\n public appName: string;\r\n constructor() {\r\n this.appName = config.appName;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","","\r\nimport { Component, Input } from '@angular/core'\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'\r\n\r\nexport interface ConfirmOptions {\r\n title?: string;\r\n body?: string;\r\n}\r\n\r\nconst defaultOptions: ConfirmOptions = {\r\n title: 'Confirm ?',\r\n body: ''\r\n}\r\n\r\n@Component({\r\n selector: 'confirm',\r\n templateUrl: './confirm.component.html'\r\n})\r\nexport class ConfirmComponent {\r\n\r\n //#region properties\r\n\r\n private _options: ConfirmOptions = defaultOptions;\r\n\r\n\r\n //allow to merge options values\r\n @Input('body')\r\n public get options(): ConfirmOptions { return this._options; }\r\n public set options(value: ConfirmOptions) { this._options = Object.assign({}, defaultOptions, value); }\r\n\r\n //#endregion\r\n\r\n //#region constructor\r\n\r\n constructor(private modal: NgbActiveModal) {}\r\n\r\n //#endregion\r\n\r\n //#region public methods\r\n\r\n public commit = () => {\r\n this.modal.close();\r\n }\r\n\r\n public discard = () => {\r\n this.modal.dismiss();\r\n }\r\n\r\n //#endregion\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport { Options } from 'angular2-notifications';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n})\r\nexport class AppComponent {\r\n\r\n //#region properties\r\n\r\n title = 'app';\r\n\r\n public notificationOptions: Options = {\r\n timeOut: 1500, //ms\r\n pauseOnHover: false,\r\n showProgressBar: false,\r\n animate: 'fromBottom'\r\n };\r\n\r\n //#enregion\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule } from '@angular/forms'; //required for 2way databinding\r\nimport { HttpModule, RequestOptions } from '@angular/http';\r\n\r\n\r\n//3rd party libraries\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { WjCoreModule, WjComponentLoader } from 'wijmo/wijmo.angular2.core';\r\nimport { WjGridModule } from 'wijmo/wijmo.angular2.grid';\r\nimport { WjInputModule } from 'wijmo/wijmo.angular2.input';\r\n\r\n//import app modules + services\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { AuthGuard } from './shared/security/auth-guard.service';\r\n\r\n\r\n//app components\r\n//import { HomeComponent } from './home/home.component';\r\nimport { SurveyComponent} from './survey/survey.component';\r\nimport { UnauthorizedComponent } from './unauthorized/unauthorized.component';\r\n\r\n\r\nconst appRoutes: Routes = [\r\n \r\n //misc routes\r\n {\r\n path: 'EchrContactForm/English/:surveyID',\r\n component: SurveyComponent,\r\n },\r\n {\r\n path: 'EchrContactForm/French/:surveyID',\r\n component: SurveyComponent,\r\n },\r\n {\r\n\r\n path: 'EchrContactForm/preview/:surveyID',\r\n component: SurveyComponent,\r\n //canActivate: [AuthGuard],\r\n //data: { roles: ['User'], breadcrumb: 'home' }\r\n },\r\n \r\n {\r\n path: '401',\r\n component: UnauthorizedComponent,\r\n },\r\n {\r\n path: '**',\r\n component: UnauthorizedComponent,\r\n \r\n },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n UnauthorizedComponent,\r\n ],\r\n providers: [\r\n //add services here\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgbModule,\r\n RouterModule.forRoot(appRoutes),\r\n SharedModule,\r\n ],\r\n exports: [\r\n RouterModule,\r\n\r\n ]\r\n})\r\nexport class AppRoutingModule { }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common'; //ngIf etc...\r\nimport { FormsModule } from '@angular/forms'; // ngModel etc...\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpModule, RequestOptions } from '@angular/http';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\n//bootstrap\r\nimport * as bootstrap from '@ng-bootstrap/ng-bootstrap';\r\n\r\n//resize\r\nimport { ResizableModule } from 'angular-resizable-element';\r\n\r\n\r\n//------------------\r\n//application\r\n//------------------\r\nimport { Config } from './config/config';\r\nimport { AuthService } from './security/auth.service';\r\nimport { DialogService } from './service/dialog.service';\r\nimport { ErrorLogService } from './service/error-log.service';\r\nimport { AuthGuard } from './security/auth-guard.service';\r\nimport { SurveyService} from '../shared/service/SurveyService';\r\nimport { AuthorizeDirective } from './security/authorize.directive';\r\nimport { AppRequestOptions } from './config/AppRequestOptions';\r\nimport { HttpAuthInterceptor } from './config/http-auth.interceptor';\r\nimport { HttpJsonInterceptor } from './config/http-json.interceptor';\r\nimport { DatePickerAdapter } from './config/date-picker.adapter';\r\nimport { EuropeanDatePickerFormatter } from './config/date-picker.formatter';\r\nimport { HtmlPipe } from './pipe/html.pipe';\r\nimport { SafeHtmlPipe } from './pipe/safehtml.pipe'; \r\nimport { AutofocusDirective } from './directive/autofocus.directive';\r\nimport { DraggableDirective } from './directive/draggable.directive';\r\n\r\n//shared components\r\nimport { BreadCrumbComponent } from './component/breadcrumb/breadcrumb.component';\r\nimport { EchrHeaderComponent } from './component/echr-header/echr-header.component';\r\nimport { EchrFooterComponent } from './component/echr-footer/echr-footer.component';\r\nimport { ContentToggleComponent } from './component/content-toggle/content-toggle.component';\r\nimport { ConfirmComponent } from './component/modals/confirm/confirm.component';\r\nimport { LanguageLocalisationComponent } from './component/Localisation/language-localisation.component';\r\n//import { CaptchaComponent} from './component/Captcha/Captcha.component';\r\n\r\n\r\nlet bootstrapModules = [\r\n bootstrap.NgbCollapseModule,\r\n bootstrap.NgbAccordionModule,\r\n bootstrap.NgbAlertModule,\r\n bootstrap.NgbButtonsModule,\r\n bootstrap.NgbDatepickerModule,\r\n bootstrap.NgbDropdownModule,\r\n bootstrap.NgbModalModule,\r\n bootstrap.NgbPopoverModule,\r\n bootstrap.NgbTabsetModule,\r\n bootstrap.NgbTimepickerModule,\r\n bootstrap.NgbTooltipModule,\r\n bootstrap.NgbTypeaheadModule\r\n];\r\n\r\n\r\n\r\n@NgModule({\r\n\r\n entryComponents: [\r\n ConfirmComponent,\r\n ],\r\n declarations: [\r\n AuthorizeDirective,\r\n AutofocusDirective,\r\n DraggableDirective,\r\n HtmlPipe,\r\n SafeHtmlPipe,\r\n\r\n BreadCrumbComponent,\r\n EchrHeaderComponent,\r\n EchrFooterComponent, \r\n ContentToggleComponent,\r\n ConfirmComponent,\r\n LanguageLocalisationComponent,\r\n //CaptchaComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n HttpModule,\r\n HttpClientModule,\r\n BrowserAnimationsModule,\r\n RouterModule,\r\n\r\n //3rd parties module\r\n ResizableModule,\r\n ...bootstrapModules\r\n\r\n ],\r\n exports: [\r\n\r\n CommonModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n\r\n ////re-export modules and component to make them available in any module using SharedModule\r\n //...wijmoModules,\r\n //WjComponentLoader,\r\n\r\n ResizableModule,\r\n ...bootstrapModules,\r\n\r\n //export shared components/directives\r\n AuthorizeDirective,\r\n AutofocusDirective,\r\n DraggableDirective,\r\n HtmlPipe,\r\n SafeHtmlPipe,\r\n\r\n EchrHeaderComponent,\r\n EchrFooterComponent,\r\n BreadCrumbComponent,\r\n ContentToggleComponent,\r\n ConfirmComponent,\r\n LanguageLocalisationComponent,\r\n //CaptchaComponent,\r\n ],\r\n providers: [\r\n AuthService,\r\n AuthGuard,\r\n DialogService,\r\n ErrorLogService,\r\n SurveyService,\r\n { provide: RequestOptions, useClass: AppRequestOptions },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpAuthInterceptor, multi: true }, //automatically set the credential options\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpJsonInterceptor, multi: true }, //automatically convert json date to javascript date\r\n { provide: bootstrap.NgbDateParserFormatter, useClass: EuropeanDatePickerFormatter }, //automatically format date to dd/MM/yyyy\r\n { provide: bootstrap.NgbDateAdapter, useClass: DatePickerAdapter } //automatically transform datepicker date struct to javascript date\r\n\r\n ],\r\n})\r\nexport class SharedModule { }","\r\nimport { NgModule } from '@angular/core';\r\nimport { Route, Router, RouterModule, Routes } from '@angular/router'\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AuthGuard } from '../shared/security/auth-guard.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { SurveyComponent } from './survey.component';\r\nimport { SurveyService } from '../shared/service/SurveyService';\r\n\r\n\r\n\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: 'survey',\r\n component: SurveyComponent,\r\n data: { breadcrumb: 'home' }\r\n }\r\n\r\n];\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule.forRoot(appRoutes),\r\n\r\n\r\n SharedModule,\r\n ],\r\n entryComponents: [\r\n //add dynamic components here (eg. components used by ngbModal)\r\n ],\r\n declarations: [\r\n SurveyComponent,\r\n //ViewSurveyResultComponent,\r\n \r\n\r\n ],\r\n exports: [\r\n RouterModule,\r\n ],\r\n providers: [\r\n //add services to export here\r\n SurveyService,\r\n \r\n ]\r\n\r\n})\r\nexport class SurveyModule {\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","\r\nimport { NgModule } from '@angular/core';\r\nimport { Route, Router, RouterModule, Routes } from '@angular/router'\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AuthGuard } from '../shared/security/auth-guard.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { AdminComponent } from './admin.component';\r\nimport { PreferencesComponent } from './preferences/preferences.component';\r\nimport { LookupComponent } from './lookup/lookup.component';\r\n\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: 'admin',\r\n component: AdminComponent,\r\n canActivate: [AuthGuard],\r\n data: { roles: ['admin'], breadcrumb: 'admin' },\r\n children: [\r\n { path: '', component: PreferencesComponent, data: { breadcrumb: 'preferences'} },\r\n { path: 'lookup', component: LookupComponent, data: { breadcrumb: 'lookup' } },\r\n ]\r\n }\r\n];\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule.forRoot(appRoutes),\r\n\r\n\r\n SharedModule,\r\n\r\n ],\r\n entryComponents: [\r\n //add dynamic components here (eg. components used by ngbModal)\r\n ],\r\n declarations: [\r\n AdminComponent,\r\n LookupComponent,\r\n PreferencesComponent,\r\n \r\n ],\r\n exports: [\r\n RouterModule,\r\n ],\r\n providers: [\r\n //add services to export here\r\n ]\r\n\r\n})\r\nexport class AdminModule { }\r\n","\r\nimport { NgModule } from '@angular/core';\r\nimport { Route, Router, RouterModule, Routes } from '@angular/router'\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { AuthGuard } from '../shared/security/auth-guard.service';\r\nimport { SharedModule } from '../shared/shared.module';\r\n\r\nimport { HomeComponent } from './home.component';\r\nimport { HomeService } from './home.service';\r\nimport {SurveyComponent } from '../survey/survey.component';\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: '',\r\n component: HomeComponent,\r\n data: { breadcrumb: 'home' }\r\n }\r\n \r\n];\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule.forRoot(appRoutes),\r\n\r\n\r\n SharedModule,\r\n\r\n ],\r\n entryComponents: [\r\n //add dynamic components here (eg. components used by ngbModal)\r\n ],\r\n declarations: [\r\n HomeComponent,\r\n ],\r\n exports: [\r\n RouterModule,\r\n ],\r\n providers: [\r\n //add services to export here\r\n HomeService\r\n ]\r\n\r\n})\r\nexport class HomeModule { }\r\n","import { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { LocationStrategy, PathLocationStrategy } from '@angular/common';\r\n\r\nimport { NotificationsService } from 'angular2-notifications';\r\nimport { ErrorLogService } from '../service/error-log.service';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class ApplicationErrorHandler implements ErrorHandler {\r\n\r\n private lastError: Error;\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n handleError(error: Error) {\r\n\r\n //avoid rethrowing the same error twice\r\n if (error === this.lastError) return;\r\n\r\n this.lastError = error;\r\n\r\n const flash = this.injector.get(NotificationsService);\r\n const log = this.injector.get(ErrorLogService);\r\n\r\n\r\n flash.error('Oups !', 'Looks like something went wrong !');\r\n log.error(error);\r\n\r\n\r\n // IMPORTANT: Rethrow the error otherwise it gets swallowed\r\n throw error;\r\n }\r\n\r\n}","import { BaseRequestOptions } from '@angular/http'\r\n\r\nexport class AppRequestOptions extends BaseRequestOptions {\r\n\r\n //override default angular settings\r\n //use it in appmodule\r\n constructor() {\r\n super();\r\n this.withCredentials = true;\r\n this.headers.set('Cache-Control', 'no-cache');\r\n this.headers.set('Pragma', 'no-cache');\r\n }\r\n\r\n}","import { Component, Injectable } from '@angular/core';\r\nimport { NgbDateAdapter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n/**\r\n * Automatically convert Datestruct to javascript date and vice-versa\r\n */\r\n@Injectable()\r\nexport class DatePickerAdapter extends NgbDateAdapter {\r\n\r\n fromModel(date: Date): NgbDateStruct {\r\n return (date && date.getFullYear) ? { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() } : null;\r\n }\r\n\r\n toModel(date: NgbDateStruct): Date {\r\n return date ? new Date(Date.UTC(date.year, date.month - 1, date.day)) : null;\r\n }\r\n}","import { Component, Injectable } from '@angular/core';\r\nimport { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n\r\n\r\nfunction padNumber(value: number) {\r\n if (isNumber(value)) {\r\n return `0${value}`.slice(-2);\r\n } else {\r\n return \"\";\r\n }\r\n}\r\n\r\nfunction isNumber(value: any): boolean {\r\n return !isNaN(toInteger(value));\r\n}\r\n\r\nfunction toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n}\r\n\r\n\r\n/**\r\n * European date formatter\r\n */\r\n@Injectable()\r\nexport class EuropeanDatePickerFormatter extends NgbDateParserFormatter {\r\n\r\n parse(value: string): NgbDateStruct {\r\n if (value) {\r\n const dateParts = value.trim().split('/');\r\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\r\n return { year: toInteger(dateParts[0]), month: null, day: null };\r\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\r\n return { year: toInteger(dateParts[1]), month: toInteger(dateParts[0]), day: null };\r\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\r\n return { year: toInteger(dateParts[2]), month: toInteger(dateParts[1]), day: toInteger(dateParts[0]) };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct): string {\r\n let stringDate: string = \"\";\r\n if (date) {\r\n stringDate += isNumber(date.day) ? padNumber(date.day) + \"/\" : \"\";\r\n stringDate += isNumber(date.month) ? padNumber(date.month) + \"/\" : \"\";\r\n stringDate += date.year;\r\n }\r\n return stringDate;\r\n }\r\n}","//Taken from https://stackoverflow.com/questions/46559268/parse-date-with-angular-4-3-httpclient\r\n\r\n/*\r\n\r\n Bypass the default HttpBehavior with Json content, by requesting text responseType\r\n and then parsing back the result using a custom reviver in order ti automatically transform json date in javascript date object\r\n\r\n*/\r\n\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\n\r\n// https://github.com/angular/angular/blob/master/packages/common/http/src/xhr.ts#L18\r\nconst XSSI_PREFIX = /^\\)\\]\\}',?\\n/;\r\n\r\n/**\r\n * Provide custom json parsing capabilities for api requests.\r\n * @export\r\n * @class JsonInterceptor\r\n */\r\n@Injectable()\r\nexport class HttpJsonInterceptor implements HttpInterceptor {\r\n\r\n /**\r\n * Custom http request interceptor\r\n * @public\r\n * @param {HttpRequest} req\r\n * @param {HttpHandler} next\r\n * @returns {Observable>}\r\n * @memberof JsonInterceptor\r\n */\r\n public intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n if (req.responseType !== 'json') {\r\n return next.handle(req);\r\n }\r\n // convert to responseType of text to skip angular parsing\r\n req = req.clone({\r\n responseType: 'text'\r\n });\r\n\r\n return next.handle(req).map(event => {\r\n // Pass through everything except for the final response.\r\n if (!(event instanceof HttpResponse)) {\r\n return event;\r\n }\r\n return this.processJsonResponse(event);\r\n });\r\n }\r\n\r\n /**\r\n * Parse the json body using custom revivers.\r\n * @private\r\n * @param {HttpResponse} res\r\n * @returns{HttpResponse}\r\n * @memberof JsonInterceptor\r\n */\r\n private processJsonResponse(res: HttpResponse): HttpResponse {\r\n\r\n let body = res.body;\r\n if (typeof body === 'string') {\r\n const originalBody = body;\r\n body = body.replace(XSSI_PREFIX, '');\r\n try {\r\n body = body !== '' ? JSON.parse(body, (key: any, value: any) => this.reviveUtcDate(key, value)) : null;\r\n } catch (error) {\r\n // match https://github.com/angular/angular/blob/master/packages/common/http/src/xhr.ts#L221\r\n throw new HttpErrorResponse({\r\n error: { error, text: originalBody },\r\n headers: res.headers,\r\n status: res.status,\r\n statusText: res.statusText,\r\n url: res.url || undefined,\r\n });\r\n }\r\n }\r\n return res.clone({ body });\r\n }\r\n\r\n /**\r\n * Detect a date string and convert it to a date object.\r\n * @private\r\n * @param {*} key json property key.\r\n * @param {*} value json property value.\r\n * @returns {*} original value or the parsed date.\r\n * @memberof JsonInterceptor\r\n */\r\n private reviveUtcDate(key: any, value: any): any {\r\n\r\n if (typeof value !== 'string') {\r\n return value;\r\n }\r\n\r\n if (value === '0001-01-01T00:00:00') {\r\n return null;\r\n }\r\n\r\n //Match yyyy-MM-ddThh:mm:ss or yyyy-MM-ddThh:mm:ss.000\r\n const match = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(\\.(\\d{1,3}))?$/.exec(value);\r\n if (value.length < 19 || value.length > 23 || !match) {\r\n return value;\r\n }\r\n return new Date(value);\r\n }\r\n}","\r\n/**\r\n * Handle cache and authentication for all http request using HttpClient\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class HttpAuthInterceptor implements HttpInterceptor {\r\n constructor() { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n\r\n // Clone the request to add the new header.\r\n const authReq = req.clone(\r\n {\r\n headers: req.headers\r\n .set('Cache-Control', 'no-cache')\r\n .set('Pragma', 'no-cache'),\r\n withCredentials: true\r\n });\r\n\r\n // Pass on the cloned request instead of the original request.\r\n return next.handle(authReq);\r\n }\r\n}","
\r\n

\r\n Connected to {{api}}\r\n
\r\n Version : {{version}}\r\n

\r\n
\r\n","","\r\n
\r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n
\r\n\r\n
\r\n

401 - Unauthorized

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

\r\n Sorry, you are not authorized to access this page.\r\n

\r\n\r\n
\r\n","
\r\n \r\n\r\n
\r\n","\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n","
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n","\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
Selected date: {{ model | date: 'dd/MM/yyyy' }}
\r\n
\r\n\r\n
","\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n","\r\n
\r\n\r\n
\r\n

Home

\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n","//strongly inspired by https://stackoverflow.com/questions/45834446/making-a-ngb-draggable-modal\r\n\r\n\r\nimport { Directive, ElementRef, Input, OnInit, OnDestroy, NgZone, Renderer2, HostListener, HostBinding } from '@angular/core';\r\n\r\nclass Position {\r\n x: number; y: number;\r\n constructor(x, y) { this.x = x; this.y = y; }\r\n};\r\n\r\n\r\n@Directive({\r\n selector: '[draggable]'\r\n})\r\nexport class DraggableDirective implements OnInit, OnDestroy {\r\n\r\n // #region properties\r\n\r\n /**\r\n * optional => specify the element selector (.class name or #id ) to drag. Must be a parent of the current element\r\n * If not set, the element on which the draggable directive is applied will be used as host\r\n */\r\n @Input('drag-container') public dragContainer: string;\r\n\r\n private handle: HTMLElement;\r\n private host: HTMLElement;\r\n\r\n private allowDrag = true;\r\n private moving = false;\r\n private origin = null;\r\n\r\n // for adding / detaching mouse listeners dynamically so they're not *always* listening\r\n private unsubscribeMouseMove: Function;\r\n private unsubscribeMouseUp: Function;\r\n\r\n\r\n // #endregion\r\n\r\n // #region ctor\r\n\r\n constructor(private el: ElementRef, private zone: NgZone, private renderer: Renderer2) {\r\n }\r\n\r\n // #endregion\r\n\r\n // #region angular event cycle\r\n\r\n ngOnInit() {\r\n\r\n if (this.el) {\r\n this.handle = this.el.nativeElement;\r\n this.host = this.getHostElement();\r\n\r\n if (this.host)\r\n this.handle.classList.add('draggable');\r\n\r\n\r\n // applies mousemove and mouseup listeners to the parent component, typically my app componennt window, I prefer doing it like this so I'm not binding to a window or document object\r\n\r\n this.unsubscribeMouseUp = this.renderer.listen(this.host, 'mouseup', () => {\r\n this.moving = false;\r\n this.host.classList.remove('dragging');\r\n });\r\n\r\n // uses ngzone to run moving outside angular for better performance\r\n this.unsubscribeMouseMove = this.renderer.listen(this.host, 'mousemove', ($event) => {\r\n if (this.moving && this.allowDrag) {\r\n this.zone.runOutsideAngular(() => {\r\n event.preventDefault();\r\n this.moveTo($event.clientX, $event.clientY);\r\n });\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n if (this.host)\r\n this.handle.classList.remove('draggable');\r\n\r\n if (this.unsubscribeMouseUp)\r\n this.unsubscribeMouseUp();\r\n\r\n if (this.unsubscribeMouseMove)\r\n this.unsubscribeMouseMove();\r\n }\r\n\r\n // #endregion\r\n\r\n // #region private methods\r\n\r\n private getHostElement = () => {\r\n\r\n if (this.dragContainer)\r\n return this.findHostElement(this.dragContainer, this.handle);\r\n else\r\n return this.handle;\r\n }\r\n\r\n private findHostElement = (target: string, elem: HTMLElement) => {\r\n\r\n if (!elem)\r\n return null;\r\n\r\n if (target.startsWith('#') && elem.id == target.replace('#', ''))\r\n return elem;\r\n\r\n if (target.startsWith('.') && elem.classList.contains(target.replace('.', '')))\r\n return elem;\r\n\r\n return this.findHostElement(target, elem.parentElement);\r\n\r\n }\r\n\r\n\r\n\r\n // parses css translate string for exact px position\r\n private getPosition(x: number, y: number): Position {\r\n\r\n let transform = this.host.style.transform;\r\n if (transform) {\r\n let transVal: string[] = transform.split(',');\r\n let newX = parseInt(transVal[0].replace('translate(', ''));\r\n let newY = parseInt(transVal[1]);\r\n return new Position(x - newX, y - newY);\r\n }\r\n\r\n return new Position(x, y);\r\n }\r\n\r\n private moveTo(x: number, y: number): void {\r\n\r\n if (this.origin)\r\n this.host.style.transform = `translate(${x - this.origin.x}px, ${y - this.origin.y}px)`;\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event: MouseEvent) {\r\n if (event.button == 2 || (this.handle !== undefined && event.target !== this.handle) || (!this.host)) {\r\n return;\r\n }\r\n else {\r\n this.moving = true;\r\n this.host.classList.add('dragging');\r\n this.origin = this.getPosition(event.clientX, event.clientY);\r\n }\r\n }\r\n\r\n\r\n\r\n // #endregion\r\n}","
\r\n
{{options?.title}}
\r\n \r\n
\r\n
\r\n

\r\n {{options?.body}}\r\n

\r\n
\r\n","//angular imports\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, enableProdMode, ErrorHandler } from '@angular/core';\r\nimport { FormsModule ,ReactiveFormsModule} from '@angular/forms'; //required for 2way databinding\r\nimport { RouterModule, Route } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\n//3rd party libraries\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgProgressModule } from '@ngx-progressbar/core';\r\nimport { NgProgressHttpModule } from '@ngx-progressbar/http'\r\nimport { SimpleNotificationsModule } from 'angular2-notifications';\r\n//import { NgxCaptchaModule} from 'ngx-captcha';\r\n\r\n\r\n//import components + modules\r\nimport { AppComponent } from './app.component';\r\nimport { ApplicationErrorHandler } from './shared/config/error-handler';\r\n\r\n//routes\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { HomeModule } from './home/home.module';\r\nimport { SurveyModule} from './survey/survey.module';\r\nimport { AdminModule } from './admin/admin.module';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule,\r\n\r\n //3rd party modules\r\n //forRoot() is required in order for NgbModule to be properly setup\r\n NgbModule.forRoot(),\r\n SimpleNotificationsModule.forRoot(),\r\n NgProgressModule.forRoot(),\r\n NgProgressHttpModule,\r\n //NgxCaptchaModule,\r\n\r\n //app modules\r\n SharedModule, //common module + services\r\n HomeModule,\r\n AdminModule, \r\n SurveyModule,\r\n AppRoutingModule //global routing module, except\r\n ],\r\n exports: [ ],\r\n providers: [\r\n //global error handling + automatic log\r\n { provide: ErrorHandler, useClass: ApplicationErrorHandler }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","/**\r\n* Angular bootstrap entry point\r\n* - same as main.ts but for AOT (Ahead of time) bundling\r\n* AOT wil compile all templates and modules allowing angular to be faster at runtime\r\n*/\r\n\r\n\r\nimport { enableProdMode } from '@angular/core';\r\n\r\n//#region specific aot config\r\n//use platform-browser instead of platform-browser-dynamic\r\nimport { platformBrowser } from '@angular/platform-browser';\r\nimport { AppModuleNgFactory } from './app/app.module.ngfactory';\r\n\r\n//#endregion\r\n\r\nenableProdMode();\r\nplatformBrowser().bootstrapModuleFactory(AppModuleNgFactory);\r\n"],"sourceRoot":""}