{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/components/confirm/confirm.component.ts","webpack:///src/app/components/confirm/confirm.component.html","webpack:///src/app/components/global-loader/loader.component.ts","webpack:///src/app/components/show-audio/show-audio.component.ts","webpack:///src/app/components/show-audio/show-audio.component.html","webpack:///src/app/components/show-image/show-image.component.ts","webpack:///src/app/components/show-image/show-image.component.html","webpack:///src/app/components/show-pdf/show-pdf.component.ts","webpack:///src/app/components/show-pdf/show-pdf.component.html","webpack:///src/app/components/show-video/show-video.component.ts","webpack:///src/app/components/show-video/show-video.component.html","webpack:///src/app/directives/just-english.directive.ts","webpack:///src/app/directives/only-digits.directive.ts","webpack:///src/app/directives/set-value-object.directive.ts","webpack:///src/app/form-tools/break-line/break-line.component.ts","webpack:///src/app/form-tools/break-line/break-line.component.html","webpack:///src/app/form-tools/check-box/check-box.component.ts","webpack:///src/app/form-tools/check-box/check-box.component.html","webpack:///src/app/form-tools/date/date.component.ts","webpack:///src/app/form-tools/date/date.component.html","webpack:///src/app/form-tools/description/description.component.ts","webpack:///src/app/form-tools/description/description.component.html","webpack:///src/app/form-tools/email/email.component.ts","webpack:///src/app/form-tools/email/email.component.html","webpack:///src/app/form-tools/form-tool.component.ts","webpack:///src/app/form-tools/label/label.component.ts","webpack:///src/app/form-tools/label/label.component.html","webpack:///src/app/form-tools/matrix/matrix.component.ts","webpack:///src/app/form-tools/matrix/matrix.component.html","webpack:///src/app/form-tools/next-button/next-button.component.ts","webpack:///src/app/form-tools/next-button/next-button.component.html","webpack:///src/app/form-tools/number/number.component.ts","webpack:///src/app/form-tools/number/number.component.html","webpack:///src/app/form-tools/password/password.component.ts","webpack:///src/app/form-tools/password/password.component.html","webpack:///src/app/form-tools/prev-button/prev-button.component.ts","webpack:///src/app/form-tools/prev-button/prev-button.component.html","webpack:///src/app/form-tools/radio-button/radio-button.component.ts","webpack:///src/app/form-tools/radio-button/radio-button.component.html","webpack:///src/app/form-tools/range/range.component.ts","webpack:///src/app/form-tools/range/range.component.html","webpack:///src/app/form-tools/select-box/select-box.component.ts","webpack:///src/app/form-tools/select-box/select-box.component.html","webpack:///src/app/form-tools/star/star.component.ts","webpack:///src/app/form-tools/star/star.component.html","webpack:///src/app/form-tools/submit/submit.component.ts","webpack:///src/app/form-tools/submit/submit.component.html","webpack:///src/app/form-tools/text-box/text-box.component.ts","webpack:///src/app/form-tools/text-box/text-box.component.html","webpack:///src/app/form-tools/textarea/textarea.component.ts","webpack:///src/app/form-tools/textarea/textarea.component.html","webpack:///src/app/form-tools/time/time.component.ts","webpack:///src/app/form-tools/time/time.component.html","webpack:///src/app/form-tools/upload/upload.component.ts","webpack:///src/app/form-tools/upload/upload.component.html","webpack:///src/app/form-tools/url/url.component.ts","webpack:///src/app/form-tools/url/url.component.html","webpack:///src/app/models/form-class-name.enum.ts","webpack:///src/app/models/form.enum.ts","webpack:///src/app/pipes/new-array.pipe.ts","webpack:///src/app/pipes/sate-url.pipe.ts","webpack:///src/app/pipes/split-digit.pipe.ts","webpack:///src/app/services/app-service/content.service.ts","webpack:///src/app/services/app-service/site-logo.service.ts","webpack:///src/app/services/copy.service.ts","webpack:///src/app/services/error.service.ts","webpack:///src/app/services/file.service.ts","webpack:///src/app/services/form-service/form.service.ts","webpack:///src/app/services/gloabal-loader.service.ts","webpack:///src/app/services/http.service.ts","webpack:///src/app/services/show-file.service.ts","webpack:///src/app/services/survey-form-service/survey-form.service.ts","webpack:///src/app/services/template-service/active-admin-pages.service.ts","webpack:///src/app/services/template-service/active-auth-pages.service.ts","webpack:///src/app/services/template-service/active-user-pages.service.ts","webpack:///src/app/services/template-service/animations.ts","webpack:///src/app/services/template-service/background.service.ts","webpack:///src/app/services/template-service/chart.service.ts","webpack:///src/app/services/template-service/create-component.service.ts","webpack:///src/app/services/template-service/create-name-tool.service.ts","webpack:///src/app/services/template-service/date.service.ts","webpack:///src/app/services/template-service/drag-and-drop.service.ts","webpack:///src/app/services/template-service/error-message.service.ts","webpack:///src/app/services/template-service/form-submit.service.ts","webpack:///src/app/services/template-service/overlay.service.ts","webpack:///src/app/services/template-service/show-message.service.ts","webpack:///src/app/services/template-service/snackbar.service.ts","webpack:///src/app/services/template-service/time.service.ts","webpack:///src/app/services/token-intercepter.service.ts","webpack:///src/app/services/token.service.ts","webpack:///src/app/services/url.service.ts","webpack:///src/app/services/user.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///zlib (ignored)","webpack:///fs (ignored)?3b3b","webpack:///http (ignored)","webpack:///https (ignored)","webpack:///url (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","routes","path","loadChildren","m","PagesModule","FormBuildModule","ResponsePagesModule","canActivate","AuthModule","UserPagesModule","redirectTo","pathMatch","AppRoutingModule","forRoot","preloadingStrategy","imports","AppComponent","router","dialog","userService","contentService","siteLogoService","bodyElement","document","getElementById","getContentList","getUser","getList","events","subscribe","event","window","scrollTo","closeAll","removeAttribute","selector","templateUrl","styleUrls","animations","scrollFactory","overlay","scrollStrategies","block","matDialogScrollStrategy","noop","AppModule","provide","useFactory","deps","useValue","useClass","multi","declarations","providers","bootstrap","ConfirmComponent","dialogRef","data","checkDownShow","iconPath","confirm","close","localStorage","setItem","dontShowField","removeItem","GlobalLoaderComponent","loader","template","ShowAudioComponent","ShowImageComponent","ShowPdfComponent","zoom","isCtrlPressed","ShowVideoComponent","fullscreen","JustEnglishDirective","englishRegExp","key","isControlKey","test","preventDefault","OnlyDigitsDirective","SetValueObjectDirective","changedStatus","changes","appSetStatus","emit","currentValue","BreakLineComponent","$event","stopPropagation","showFileService","showFile","form","CheckBoxComponent","urlService","mimeTypes","setCheckboxInfo","config","DateComponent","decimalPipe","EClassNameTheme","minDate","year","month","day","maxDate","maxMonth","minMonth","maxDay","minDay","closeMenu","showSelectedDate","selectedDate","setInfo","disableMode","now","Date","getFullYear","jYear","splitMinDate","validation","minStringValue","split","splitMaxDate","maxStringValue","Number","getDayes","init","userInputs","value","date","selectedYear","selectedMonth","selectedDay","setMonths","setDays","applyCondition","isLastComponent","checkConditions","days","transform","setValue","getSelectedDate","element","scroll","top","scrollTop","behavior","DescriptionComponent","EClassNameFontSize","EmailComponent","FormToolComponent","EClassNameAlignment","change","isSurveyForm","setComponentInfo","input","model","minLen","length","control","setErrors","minLength","LabelComponent","fileUrl","getType","open","src","getUrl","MatrixComponent","minWidth","touched","setMatrixInfo","calculateWidth","_addMatrixItem","_matrixItemAdd","unsubscribe","arrWidth","itemsTitle","toArray","item","nativeElement","offsetWidth","setTimeout","Math","max","NextButtonComponent","NumberComponent","minNumValue","minValue","maxNumValue","maxValue","PasswordComponent","email","PrevButtonComponent","RadioButtonComponent","RangeComponent","renderer","initView","ragneCreated","allowCreateRange","range","min","undefined","startPoints","values","createRange","rangeEl","start","tooltips","connect","format","decimals","setAttribute","rangeActions","noUiSlider","disabled","on","SelectBoxComponent","userSelectedValue","option","selectedValue","priceValue","setPriceComponent","StarComponent","totalIcon","filledIcon","EClassNameIcons","required","status","indexIcon","toString","SubmitComponent","formService","route","TextBoxComponent","TextareaComponent","TimeComponent","minTime","hour","minute","maxTime","minMinute","maxMinute","showSelectedTime","selectedHour","selectedMinute","splitMinTime","splitMaxTime","time","setMinutes","selectedTime","getSelectedTime","UploadComponent","fileService","EClassNamePosition","EClassNameImageSize","EClassNameErrorPosition","fileObject","name","file","progressBar","getFile","createUrl","URL","createObjectURL","type","downloadFile","componentID","submitID","submitId","res","mime","body","extension","fileName","title","blob","base64","errorRes","errorMessage","error","message","emptyFile","link","createElement","download","target","href","click","remove","UrlComponent","ETheme","EAlignment","EStatusForm","EImageSize","EFontSize","EOperation","EConditionAggregate","ETool","ESurveyTool","ERow","EIcons","EChart","EApplyFormType","EBank","EOperationFormula","ESignOperationFormula","NewArrayPipe","startIndex","arr","i","push","SafeUrlPipe","sanitizer","url","bypassSecurityTrustResourceUrl","SplitDigitPipe","count","newDigit","negative","indexOf","replaceAll","j","ContentService","httpService","contents","contentList","_readyContent","get","setContents","find","contentText","SiteLogoService","logos","CopyService","newArr","forEach","Array","isArray","copyArray","copyObject","obj","newObj","ErrorService","snackbar","errorStatus","defaultMessage","errorMessages","Extensions","FileService","http","items","index","findIndex","splice","uploadItem","filePath","method","params","dir","reject","uploading","formData","FormData","append","request","URLS","reportProgress","ExtractionParams","pipe","finished","UploadProgress","round","loaded","total","Response","downloadItem","downloading","DownloadProgress","byteCharacters","atob","byteNumbers","charCodeAt","byteArray","Uint8Array","Blob","FormService","formId","post","put","GloabalLoader","_loading","asObservable","show","next","style","display","providedIn","HttpService","extractedParams","ShowFileService","SurveyFormService","page","answerId","ADMIN_PAGES","ActiveAdminPages","tokenService","state","queryParams","token","setAdminToken","newQueryParams","URLSearchParams","param","prototype","hasOwnProperty","call","set","navigate","slice","history","replaceState","getAdminToken","checkToken","location","PANEL_URLS","login","ActiveAuthPages","getToken","user","_readyUser","ActiveUserPages","redirectLogin","slideToggle","slideToggleAuto","widthToggleAuto","slideToggleIcon","halfRotateSlideToggleIcon","getSlideToggleAuto","speed","getShowWidthAuto","getWidthToggleAuto","showFade","getShowFade","rotateCreateAuto","rotateReverseCreateAuto","rotateVoidAuto","BackgroundService","isFullpage","backgroundImageUrl","backgroundImageStyle","fixedBackground","centeredBackground","repeatBackground","coverBackground","ChartService","platformId","zone","chart","logo","ev","axis","cellWidth","pixelWidth","endIndex","labels","maxWidth","floor","zoomFactor","postLabel","setGlobalSetting","rtl","categoryAxis","xAxes","dataFields","category","tooltip","grid","hidden","valueAxis","yAxes","label","findLabelWidth","minGridDistance","truncate","series","categoryX","valueY","strokeWidth","tensionX","tooltipHTML","bullet","bullets","cursor","scrollbarX","marginBottom","chartSeries","seriesItem","dataField","calculatePercent","columns","column","cornerRadiusTopLeft","cornerRadiusTopRight","adapter","add","fill","colors","getIndex","dataItem","cellEndLocation","cellStartLocation","arrangeColumns","w","dataItems","x0","getX","x1","delta","middle","newIndex","each","isHidden","isHiding","dummyData","visibleCount","newMiddle","trueIndex","dx","animate","property","to","interpolationDuration","interpolationEasing","bulletsContainer","legend","categoryY","valueX","cornerRadiusBottomRight","scrollbarY","marginLeft","getY","dy","startLocation","endLocation","strictMinMax","calculateTotals","text","valueYShow","stroke","stacked","fillOpacity","background","getStrokeFromObject","getFillFromObject","pieSeries","slices","strokeOpacity","ticks","hiddenState","properties","opacity","endAngle","startAngle","radius","legendSettings","labelText","valueText","selected","baseData","newData","color","subs","propertyFields","isActive","generateChartData","chartData","x","pulled","dataContext","innerRadius","radiusValue","CreateComponentService","CFResolver","component","containerRef","formForSubmit","componentName","getSurveyComponentName","componentType","getComponentName","newComponent","resolveComponentFactory","clear","createdComponent","createComponent","instance","create","observe","tool","RADIO_BUTTON","DESCRIPTION","PREV_BUTTON","NEXT_BUTTON","SUBMIT_BUTTON","SELECT_BOX","BREAKLINE","CHECK_BOX","PASSWORD","TEXTAREA","TEXT_BOX","INPUT_TIME","INPUT_DATE","NUMBER","UPLOAD","RANGE","EMAIL","MATRIX","STAR","CreateNameToolService","defaultNamePrefix","currentNameIndex","registerNames","String","DateService","firstDate","secondDate","date1","getTime","date2","isValid","jIsLeapYear","console","DragAndDropService","overlayService","draging","_dragStart","width","hide","ErrorMessageService","navigateUrl","FormSubmitService","cdRef","pagesInfo","valid","isSending","_ConditionsApplied","conditions","mergedCondition","len","condition","conditionText","eval","checkCondition","detectChanges","isFormValid","applyFormType","PAYMENT","formulaString","setPrice","setQuestionNumbers","questionIndex","isDescription","compare","firstTime","secondTime","firstValue","secondValue","componentId","valueId","operation","conditionValue","EQUAL","options","NOT","componentsId","optionsObj","checked","pageId","pageInfo","subValues","optionId","formFilled","formID","components","entries","optionKey","optionObj","price","OverlayService","ShowMessageService","getItem","isMessage","SnackBarService","_snackbar","action","snakbarConfig","horizontalPosition","verticalPosition","panelClass","direction","duration","TimeService","time1","time2","TokenIntercepterService","pathname","isAdmin","clone","headers","handle","logout","TokenService","adminToken","sessionStorage","UrlService","PANEL_URL","BASE_URL","BASE_URL_UPLOAD","redirect","homePageSlideImage","homePageVideo","profile","uploads","api","empty","backgroundApply","componentValueFile","backgroundSurvey","formFooterLogo","formHeaderLogo","componentFile","siteLogos","siteUsage","facility","customer","customerIdea","UserService","JSON","parse","removeUser","loading","membership","stringify","setToken","removeToken","setUser","getUserAccess","lastName","newBody","oldPassword","newpassword","environment","production","bootstrapModule","err"],"mappings":"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","file":"main-es5.js","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(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 = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\nimport { ActiveUserPages } from './services/template-service/active-user-pages.service';\nimport { ActiveAuthPages } from './services/template-service/active-auth-pages.service';\n\nconst routes: Routes = [\n {\n path: 'pages',\n loadChildren: () => import('./pages/pages.module').then(m => m.PagesModule)\n },\n {\n path: 'form',\n loadChildren: () => import('./form-build/form-build.module').then(m => m.FormBuildModule)\n },\n {\n path: 'response',\n loadChildren: () => import('./response-pages/response-pages.module').then(m => m.ResponsePagesModule)\n },\n {\n path: 'survey-form',\n loadChildren: () => import('./survey-form-build/form-build.module').then(m => m.FormBuildModule)\n },\n {\n path: 'auth',\n canActivate: [ActiveAuthPages], loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)\n },\n {\n path: 'user-pages',\n canActivate: [ActiveUserPages],\n loadChildren: () => import('./user-pages/user-pages.module').then(m => m.UserPagesModule)\n },\n {\n path: '',\n redirectTo: 'pages',\n pathMatch: 'full'\n },\n {\n path: '**',\n redirectTo: 'response',\n pathMatch: 'full'\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { ContentService } from './services/app-service/content.service';\nimport { SiteLogoService } from './services/app-service/site-logo.service';\nimport { ErrorMessageService } from './services/template-service/error-message.service';\nimport { UserService } from './services/user.service';\n\nimport { trigger } from '@angular/animations';\nimport { getShowFade } from 'src/app/services/template-service/animations';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'], \n animations: [\n trigger('showFade', getShowFade(200)),\n ]\n})\nexport class AppComponent implements OnInit {\n bodyElement = document.getElementById('body');\n\n constructor(\n private router: Router,\n private dialog: MatDialog,\n public userService: UserService,\n private contentService: ContentService,\n private siteLogoService: SiteLogoService,\n ) { }\n ngOnInit(): void {\n // get content sites\n this.contentService.getContentList();\n // check token and get user\n this.userService.getUser();\n // get footer logo\n this.siteLogoService.getList();\n\n // after change page to scroll top\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n // window.scroll({ behavior: 'smooth', top: 0, left: 0 });\n window.scrollTo(0, 0);\n this.dialog.closeAll();\n this.bodyElement.removeAttribute('style');\n // add page to history\n // window.history.pushState(null, 'فرم ساز', window.location.href);\n }\n })\n }\n}\n","","import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatDialogModule, MAT_DIALOG_SCROLL_STRATEGY, MAT_DIALOG_SCROLL_STRATEGY_PROVIDER } from '@angular/material/dialog';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { InjectionToken, NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\n\n// services\nimport { UrlService } from './services/url.service';\nimport { HttpService } from './services/http.service';\nimport { UserService } from './services/user.service';\nimport { FileService } from './services/file.service';\nimport { CopyService } from './services/copy.service';\nimport { TokenService } from './services/token.service';\nimport { ErrorService } from './services/error.service';\nimport { ShowFileService } from './services/show-file.service';\nimport { FormService } from './services/form-service/form.service';\nimport { TimeService } from './services/template-service/time.service';\nimport { DateService } from './services/template-service/date.service';\nimport { ChartService } from './services/template-service/chart.service';\nimport { OverlayService } from './services/template-service/overlay.service';\nimport { SnackBarService } from './services/template-service/snackbar.service';\nimport { TokenIntercepterService } from './services/token-intercepter.service';\nimport { FormSubmitService } from './services/template-service/form-submit.service';\nimport { SurveyFormService } from './services/survey-form-service/survey-form.service';\nimport { DragAndDropService } from './services/template-service/drag-and-drop.service';\nimport { ActiveUserPages } from './services/template-service/active-user-pages.service';\nimport { ActiveAuthPages } from './services/template-service/active-auth-pages.service';\nimport { ErrorMessageService } from './services/template-service/error-message.service';\nimport { CreateComponentService } from './services/template-service/create-component.service';\n\n// for error mat scroll\nimport { Overlay, BlockScrollStrategy, NoopScrollStrategy, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ActiveAdminPages } from './services/template-service/active-admin-pages.service';\nimport { ShowMessageService } from './services/template-service/show-message.service';\nimport { BackgroundService } from './services/template-service/background.service';\nimport { MatMenuModule, MAT_MENU_SCROLL_STRATEGY } from '@angular/material/menu';\nimport { ContentService } from './services/app-service/content.service';\nimport { SiteLogoService } from './services/app-service/site-logo.service';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { GlobalLoaderComponent } from './components/global-loader/loader.component';\n\nexport function scrollFactory(overlay: Overlay): () => BlockScrollStrategy {\n return () => { return overlay.scrollStrategies.block(); }\n}\nexport function matDialogScrollStrategy(overlay: Overlay): () => NoopScrollStrategy {\n return () => { return overlay.scrollStrategies.noop(); }\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n GlobalLoaderComponent,\n ],\n imports: [\n LayoutModule,\n MatMenuModule,\n BrowserModule,\n MatDialogModule,\n AppRoutingModule,\n HttpClientModule,\n MatSnackBarModule,\n BrowserAnimationsModule,\n ],\n providers: [\n // for mat menu scroll staregy\n { provide: MAT_MENU_SCROLL_STRATEGY, useFactory: scrollFactory, deps: [Overlay] },\n // for scrolling after open dialog\n { provide: MAT_DIALOG_SCROLL_STRATEGY_PROVIDER, useValue: matDialogScrollStrategy, deps: [Overlay] },\n\n // for add token to req\n {\n provide: HTTP_INTERCEPTORS,\n useClass: TokenIntercepterService,\n multi: true,\n },\n\n // themplate \n CreateComponentService,\n ErrorMessageService,\n DragAndDropService,\n ShowMessageService,\n SurveyFormService,\n FormSubmitService,\n ActiveAdminPages,\n SnackBarService,\n BackgroundService,\n ShowFileService,\n ContentService,\n SiteLogoService,\n OverlayService,\n ChartService,\n DateService,\n TimeService,\n CopyService,\n ErrorService,\n FormService,\n\n // backend\n TokenService,\n HttpService,\n UrlService,\n FileService,\n UserService,\n\n // active\n ActiveAuthPages,\n ActiveUserPages,\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirm',\n templateUrl: './confirm.component.html',\n styleUrls: ['./confirm.component.scss']\n})\nexport class ConfirmComponent implements OnInit {\n\n checkDownShow: boolean = false;\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { iconPath: string, title: string, isMessage?: boolean, dontShowField?: string }\n ) {\n if (!this.data.iconPath) this.data.iconPath = 'assets/icons/close.png';\n }\n ngOnInit(): void {\n }\n close(confirm) {\n this.dialogRef.close(confirm);\n }\n dontShow() {\n if (this.checkDownShow) localStorage.setItem(this.data.dontShowField, 'true');\n else localStorage.removeItem(this.data.dontShowField);\n }\n}\n","
\n
\n
\n
\n \n \n \n
\n
\n \n دیگه نمایش نده\n \n \n
\n
","import { Component } from '@angular/core';\nimport { trigger } from \"@angular/animations\";\n\nimport { getShowFade } from \"src/app/services/template-service/animations\";\nimport { GloabalLoader } from '../../services/gloabal-loader.service';\n\n@Component({\n selector: 'app-global-loader',\n template: `\n
\n \n
\n `,\n styleUrls: ['../../styles/loader.scss'],\n animations: [\n trigger('showFade', getShowFade(100))\n ]\n})\nexport class GlobalLoaderComponent { loader = GloabalLoader }\n ","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-show-audio',\n templateUrl: './show-audio.component.html',\n styleUrls: ['../file-viewer.scss', './show-audio.component.scss']\n})\nexport class ShowAudioComponent implements OnInit {\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { src: any },\n ) { }\n ngOnInit(): void {\n }\n close() {\n this.dialogRef.close();\n }\n}","
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-show-image',\n templateUrl: './show-image.component.html',\n styleUrls: ['../file-viewer.scss', './show-image.component.scss']\n})\nexport class ShowImageComponent implements OnInit {\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { src: any },\n ) { }\n ngOnInit(): void {\n }\n close() {\n this.dialogRef.close();\n }\n}\n","
\n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-show-pdf',\n templateUrl: './show-pdf.component.html',\n styleUrls: ['../file-viewer.scss', './show-pdf.component.scss']\n})\nexport class ShowPdfComponent implements OnInit {\n zoom: number = 1;\n isCtrlPressed: boolean = false;\n\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { src: any },\n ) { }\n ngOnInit(): void {\n }\n close() {\n this.dialogRef.close();\n }\n zoomIn() {\n if (this.zoom < 2) this.zoom += 0.25;\n }\n zoomOut() {\n if (this.zoom > 1) this.zoom -= 0.25;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n \n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-show-video',\n templateUrl: './show-video.component.html',\n styleUrls: ['../file-viewer.scss', './show-video.component.scss']\n})\nexport class ShowVideoComponent implements OnInit {\n fullscreen: boolean = false;\n constructor(\n private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { src: any },\n ) { }\n ngOnInit(): void {\n }\n close() {\n this.dialogRef.close();\n }\n}\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[justEnglish]'\n})\nexport class JustEnglishDirective {\n\n englishRegExp = /^[a-zA-Z0-9!@#$%^&*://()_.?]+/;\n isControlKey(key: string): boolean {\n switch (key) {\n case 'Tab':\n case 'Alt':\n case 'Shift':\n case 'Enter':\n case 'Backspace':\n case 'ArrowUp':\n case 'ArrowLeft':\n case 'ArrowRight':\n case 'ArrowDown':\n case 'Delete':\n return true;\n default: return false;\n }\n }\n @HostListener('keydown', ['$event']) writteAllow(event: any) {\n if (this.isControlKey(event.key)) return;\n else if (!this.englishRegExp.test(event.key)) event.preventDefault();\n }\n}\n","import { Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[onlyDigits]'\n})\nexport class OnlyDigitsDirective {\n @HostListener('keydown', ['$event']) writteAllow(event: any) {\n if ((/^[a-zA-Z%+=\\|\\\\~!@#$%^&*://(){}`\\[\\]_,.?]$/).test(event.key)) event.preventDefault();\n }\n}","import { Directive, Input, OnChanges, SimpleChanges, Output, EventEmitter, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[appSetInfo]',\n})\nexport class SetValueObjectDirective implements OnChanges {\n @Input() appSetStatus: any;\n @Output() changedStatus = new EventEmitter();\n\n constructor() { }\n ngOnChanges(changes: SimpleChanges) {\n if (changes.appSetStatus) {\n this.changedStatus.emit(changes.appSetStatus.currentValue);\n }\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-break-line',\n templateUrl: './break-line.component.html',\n styleUrls: ['./break-line.component.scss']\n})\nexport class BreakLineComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n }\n\n}\n","
","import { Component, OnInit } from '@angular/core';\nimport { mimeTypes } from 'mime-wrapper';\nimport { ShowFileService } from 'src/app/services/show-file.service';\nimport { UrlService } from 'src/app/services/url.service';\n\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-check-box',\n templateUrl: './check-box.component.html',\n styleUrls: ['./check-box.component.scss'],\n})\nexport class CheckBoxComponent extends FormToolComponent implements OnInit {\n mimeTypes = mimeTypes;\n constructor(\n public showFileService: ShowFileService,\n public urlService: UrlService\n ) { super(); }\n ngOnInit(): void {\n this.form.setCheckboxInfo(this.config);\n }\n}\n","
\n
\n \n\n
\n
\n
\n \n \n
{{ item.title }}
\n
\n \n \n
\n
\n
\n\n
\n
","import { Component, OnInit, Input, Renderer2, ElementRef } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\nimport { DecimalPipe } from '@angular/common';\nimport moment from 'moment-jalaali';\n\nimport { DateService } from 'src/app/services/template-service/date.service';\nimport { slideToggleAuto } from 'src/app/services/template-service/animations';\nimport { trigger } from '@angular/animations';\nimport { EClassNameTheme } from 'src/app/models/form-class-name.enum';\n\n@Component({\n selector: 'app-date',\n templateUrl: './date.component.html',\n styleUrls: ['./date.component.scss'],\n providers: [\n DecimalPipe\n ],\n animations: [\n trigger('slideToggleAuto', slideToggleAuto)\n ]\n})\nexport class DateComponent extends FormToolComponent implements OnInit {\n // enums\n EClassNameTheme = EClassNameTheme;\n\n minDate: { year: number, month: number, day: number } = {\n year: 1300, month: 1, day: 1\n };\n maxDate: { year: number, month: number, day: number } = {\n year: 1500, month: 1, day: 1\n };\n\n maxMonth: number = 12;\n minMonth: number = 1;\n maxDay: number = 31;\n minDay: number = 1;\n\n // show and hide items\n closeMenu: boolean = false;\n showSelectedDate: boolean = false;\n\n selectedYear: number;\n selectedMonth: number;\n selectedDay: number;\n\n // selected date\n selectedDate: string = null;\n\n constructor(private decimalPipe: DecimalPipe) { super(); }\n ngOnInit(): void {\n this.setInfo();\n if (this.config.disableMode) return;\n\n // date now\n let now = new Date();\n let year = moment(now.getFullYear() + '/1/1', 'YYYY/M/D').jYear();\n\n // find min date and max date\n let splitMinDate = this.config.validation.minStringValue ? this.config.validation.minStringValue.split('/') : null;\n let splitMaxDate = this.config.validation.maxStringValue ? this.config.validation.maxStringValue.split('/') : null;\n\n if (splitMinDate) this.minDate = { year: Number(splitMinDate[0]), month: Number(splitMinDate[1]), day: Number(splitMinDate[2]) };\n else this.minDate = { year: (splitMaxDate ? Number(splitMaxDate[0]) - 100 : year - 50), month: 1, day: 1 };\n\n if (splitMaxDate) this.maxDate = { year: Number(splitMaxDate[0]), month: Number(splitMaxDate[1]), day: Number(splitMaxDate[2]) };\n else this.maxDate = {\n year: (splitMinDate ? Number(splitMinDate[0]) + 100 : year + 50), month: 12,\n day: DateService.getDayes((splitMinDate ? Number(splitMinDate[0]) + 100 : year + 50), 12),\n };\n\n this.init();\n }\n\n init() {\n if (this.form.userInputs[this.config.id].value) {\n let date = this.form.userInputs[this.config.id].value.split('/');\n this.selectedYear = Number(date[0]);\n this.selectedMonth = Number(date[1]);\n this.selectedDay = Number(date[2]);\n this.showSelectedDate = true;\n }\n else {\n this.selectedYear = this.minDate.year;\n this.selectedMonth = this.minDate.month;\n this.selectedDay = this.minDate.day;\n }\n this.setMonths();\n this.setDays();\n if (this.applyCondition && this.config.isLastComponent) { this.form.checkConditions(); }\n }\n\n // set methods\n setMonths() {\n // find min month\n if (this.selectedYear === this.minDate.year) this.minMonth = this.minDate.month;\n else this.minMonth = 1;\n // find max month\n if (this.selectedYear === this.maxDate.year) this.maxMonth = this.maxDate.month;\n else this.maxMonth = 12;\n // set selected month if is not contain range \n if (this.selectedMonth < this.minMonth) this.selectedMonth = this.minMonth;\n if (this.selectedMonth > this.maxMonth) this.selectedMonth = this.maxMonth;\n }\n setDays() {\n let days = DateService.getDayes(this.selectedYear, this.selectedMonth);\n // find min day\n if (this.selectedYear === this.minDate.year && this.selectedMonth === this.minDate.month)\n this.minDay = this.minDate.day;\n else this.minDay = 1;\n // find max day\n if (this.selectedYear === this.maxDate.year && this.selectedMonth === this.maxDate.month)\n this.maxDay = this.maxDate.day;\n else this.maxDay = days;\n // set selected year if is not contain range \n if (this.selectedDay < this.minDay) this.selectedDay = this.minDay;\n if (this.selectedDay > this.maxDay) this.selectedDay = this.maxDay;\n }\n\n // select items\n selectYear(year: number) {\n this.selectedYear = year;\n this.setMonths();\n this.setDays();\n }\n selectMonth(month: number) {\n this.selectedMonth = month;\n this.setDays();\n }\n selectDay(day: number) {\n this.selectedDay = day;\n }\n\n // get selected date\n getSelectedDate(): string {\n let date = '';\n date += this.selectedYear + '/';\n date += this.decimalPipe.transform(this.selectedMonth, '2.0-0') + '/';\n date += this.decimalPipe.transform(this.selectedDay, '2.0-0');\n return date;\n }\n\n // accept date\n acceptDate() {\n this.showSelectedDate = true;\n this.setValue();\n }\n onCloseMenu() {\n this.closeMenu = true;\n }\n setValue() {\n if (this.showSelectedDate) {\n this.selectedDate = this.getSelectedDate();\n this.form.userInputs[this.config.id].value = this.selectedDate;\n this.form.checkConditions();\n }\n }\n\n // disable mode \n perventOpenMenu(event) {\n if (this.config.disableMode) event.preventDefault();\n }\n\n // button up down\n goTop(element: any) {\n element.scroll({ top: element.scrollTop - 160, behavior: 'smooth' });\n }\n goDown(element: any) {\n element.scroll({ top: element.scrollTop + 160, behavior: 'smooth' });\n }\n}\n","
\n
\n \n\n
\n
\n
\n \n\n \n
\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} را انتخاب کنید\n
\n
\n
\n\n \n \n
\n
\n \n
\n\n \n
\n
سال
\n \n
\n \n
\n \n
\n \n
\n
ماه
\n \n
\n \n
\n \n
\n \n
\n
روز
\n \n
\n \n
\n \n
\n\n
\n \n
\n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { EClassNameFontSize } from 'src/app/models/form-class-name.enum';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-description',\n templateUrl: './description.component.html',\n styleUrls: ['./description.component.scss']\n})\nexport class DescriptionComponent extends FormToolComponent implements OnInit {\n EClassNameFontSize = EClassNameFontSize;\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n
\n {{ config?.title }}\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-email',\n templateUrl: './email.component.html',\n styleUrls: ['./email.component.scss'],\n})\nexport class EmailComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n \n\n
\n \n\n\n\n
\n
{{ config?.title ? config.title : config?.placeholer }} را وارد کنید
\n
{{ config?.title ? config.title : config?.placeholer }} وارد شده اشتباه است
\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ɵConsole, AfterViewInit } from '@angular/core';\nimport { FormControl, Validators, NgModel } from '@angular/forms';\n\nimport { IToolConfig } from 'src/app/models/form.interface';\nimport { EClassNameAlignment, EClassNameFontSize } from 'src/app/models/form-class-name.enum';\nimport { FormSubmitService } from '../services/template-service/form-submit.service';\n\n@Component({\n selector: 'app-form-tool',\n template: '',\n})\nexport class FormToolComponent implements OnInit {\n // enums\n EClassNameFontSize = EClassNameFontSize;\n EClassNameAlignment = EClassNameAlignment;\n\n @Output() change = new EventEmitter();\n\n @Input() isSurveyForm: boolean = false;\n @Input() form: FormSubmitService;\n @Input() applyCondition: boolean;\n @Input() config: IToolConfig;\n\n constructor() { }\n ngOnInit(): void {\n }\n // set info for user inputs\n setInfo() {\n this.form.setComponentInfo(this.config);\n }\n // check validations\n checkMinLength(input: NgModel) {\n // ;\n if (input.model && this.config.validation.minLen && input.model.length < this.config.validation.minLen) {\n input.control.setErrors({ minLength: true });\n }\n this.form.checkConditions();\n }\n}\n","import { MatDialog } from '@angular/material/dialog';\r\nimport { Component, OnInit, } from '@angular/core';\r\nimport { mimeTypes } from 'mime-wrapper';\r\n\r\nimport { UrlService } from 'src/app/services/url.service';\r\n\r\nimport { ShowImageComponent } from 'src/app/components/show-image/show-image.component';\r\nimport { ShowAudioComponent } from 'src/app/components/show-audio/show-audio.component';\r\nimport { ShowVideoComponent } from 'src/app/components/show-video/show-video.component';\r\nimport { ShowPdfComponent } from 'src/app/components/show-pdf/show-pdf.component';\r\nimport { FormToolComponent } from '../form-tool.component';\r\nimport { EClassNameFontSize } from 'src/app/models/form-class-name.enum';\r\n\r\n@Component({\r\n selector: 'app-label-tool',\r\n templateUrl: './label.component.html',\r\n styleUrls: ['./label.component.scss']\r\n})\r\nexport class LabelComponent extends FormToolComponent implements OnInit {\r\n mimeTypes = mimeTypes;\r\n EClassNameFontSize = EClassNameFontSize;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n public urlService: UrlService,\r\n ) { super(); }\r\n ngOnInit(): void {\r\n }\r\n // for show file\r\n showFile(fileUrl: string) {\r\n switch (mimeTypes.getType(fileUrl).split('/')[0]) {\r\n case 'image': this.dialog.open(ShowImageComponent, { data: { src: this.urlService.getUrl('componentFile') + fileUrl } }); break;\r\n case 'audio': this.dialog.open(ShowAudioComponent, { data: { src: this.urlService.getUrl('componentFile') + fileUrl } }); break;\r\n case 'video': this.dialog.open(ShowVideoComponent, { data: { src: this.urlService.getUrl('componentFile') + fileUrl } }); break;\r\n case 'application': this.dialog.open(ShowPdfComponent, { data: { src: this.urlService.getUrl('componentFile') + fileUrl } }); break;\r\n default: break;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\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 { math, number } from '@amcharts/amcharts4/core';\nimport { AfterViewInit, Component, ElementRef, OnDestroy, OnInit, QueryList, ViewChildren } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-matrix',\n templateUrl: './matrix.component.html',\n styleUrls: ['./matrix.component.scss']\n})\nexport class MatrixComponent extends FormToolComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChildren('itemsTitle') itemsTitle: QueryList;\n\n _addMatrixItem: Subscription;\n minWidth: number = 0;\n touched: boolean = false;\n constructor() { super(); }\n ngOnInit(): void {\n this.form.setMatrixInfo(this.config);\n }\n ngAfterViewInit() {\n this.calculateWidth();\n this._addMatrixItem = this.form._matrixItemAdd.subscribe(id => {\n if (this.config.id == id) this.calculateWidth();\n })\n }\n ngOnDestroy() {\n if (this._addMatrixItem) this._addMatrixItem.unsubscribe();\n }\n\n // calculate\n calculateWidth() {\n let arrWidth: any[] = this.itemsTitle.toArray().map(item => item.nativeElement.offsetWidth);\n setTimeout(() => { this.minWidth = Math.max(...arrWidth) });\n }\n}\n","
\n
\n \n\n
\n
\n \n
{{item.title}}
\n \n \n\n \n {{ subValue.title }}\n \n\n \n
\n
\n سوال بالا را تکمیل کنید\n
\n
\n\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-next-button',\n templateUrl: './next-button.component.html',\n styleUrls: ['./next-button.component.scss']\n})\nexport class NextButtonComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n }\n nextPage() {\n \n }\n}\n","","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\nimport { NgModel } from '@angular/forms';\n\n@Component({\n selector: 'app-number',\n templateUrl: './number.component.html',\n styleUrls: ['./number.component.scss']\n})\nexport class NumberComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n checkMinMaxValue(input: NgModel, value: number) {\n if (value && this.config.validation.minNumValue && Number(value) < Number(this.config.validation.minNumValue)) {\n input.control.setErrors({ minValue: true });\n }\n if (value && this.config.validation.maxNumValue && Number(value) > Number(this.config.validation.maxNumValue)) {\n input.control.setErrors({ maxValue: true });\n }\n }\n}\n","
\n
\n \n\n
\n \n\n
\n
{{ config?.title ? config.title : config?.placeholer }} را وارد کنید
\n
\n\n
\n {{ config?.title ? config.title : config?.placeholer }} باید بین {{ config.validation.minNumValue }} و\n {{ config.validation.maxNumValue }} باشد\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} باید بزرگتر از {{ config.validation.minNumValue }} باشد\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} باید کوچکتر از {{ config.validation.maxNumValue }} باشد\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} حداقل باید\n {{ config.validation.minLen }} کاراکتری باشد\n
\n\n
\n
\n
\n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\n\n\nimport { IToolConfig } from 'src/app/models/form.interface';\nimport { EClassNameAlignment, EClassNameFontSize } from 'src/app/models/form-class-name.enum';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-password',\n templateUrl: './password.component.html',\n styleUrls: ['./password.component.scss'],\n})\nexport class PasswordComponent extends FormToolComponent implements OnInit {\n email = new FormControl(null, [Validators.email]);\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n \n\n
\n \n\n
\n
{{ config?.title ? config.title : config?.placeholer }} را وارد کنید
\n
\n {{ config?.title ? config.title : config?.placeholer }} حداقل باید\n {{ config.validation.minLen }} کاراکتری باشد\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-prev-button',\n templateUrl: './prev-button.component.html',\n styleUrls: ['./prev-button.component.scss']\n})\nexport class PrevButtonComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n }\n prevPage() {\n \n }\n}\n","","import { Component, OnInit } from '@angular/core';\nimport { mimeTypes } from 'mime-wrapper';\nimport { ShowFileService } from 'src/app/services/show-file.service';\nimport { UrlService } from 'src/app/services/url.service';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss']\n})\nexport class RadioButtonComponent extends FormToolComponent implements OnInit {\n mimeTypes = mimeTypes;\n constructor(\n public showFileService: ShowFileService,\n public urlService: UrlService\n ) { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n \n\n
\n \n\n
\n \n \n {{ item.title }}\n \n \n \n
\n\n
\n\n
{{ config?.title ? config.title : config?.placeholer }} را وارد کنید
\n
\n
\n
","import { Component, OnInit, ViewChild, ElementRef, AfterViewInit, Renderer2 } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\nimport * as NoUislider from 'nouislider';\nimport * as wNumb from 'wnumb';\n\n@Component({\n selector: 'app-range',\n templateUrl: './range.component.html',\n styleUrls: ['./range.component.scss']\n})\nexport class RangeComponent extends FormToolComponent implements OnInit, AfterViewInit {\n\n initView: boolean = false;\n ragneCreated: boolean = false;\n startPoints: [number, number];\n allowCreateRange: boolean = false;\n range: { min: number, max: number }\n @ViewChild('rangeEl', { static: false }) rangeEl: ElementRef;\n\n constructor(private renderer: Renderer2) { super(); }\n ngOnInit(): void {\n this.setInfo();\n this.init();\n }\n init() {\n this.range = {\n min: (this.config.validation.minNumValue != undefined ? this.config.validation.minNumValue : 0),\n max: (this.config.validation.maxNumValue != undefined ? this.config.validation.maxNumValue : 100),\n }\n this.startPoints = [this.range.min, this.range.max];\n\n if (this.config.disableMode) {\n let values = this.form.userInputs[this.config.id].value.split('::');\n this.startPoints = [Number(values[0]), Number(values[1])];\n }\n else this.form.userInputs[this.config.id].value = this.range.min + '::' + this.range.max;\n if (this.applyCondition && this.config.isLastComponent) { this.form.checkConditions(); }\n this.allowCreateRange = true;\n this.createRange();\n }\n\n ngAfterViewInit() {\n this.initView = true;\n this.createRange();\n }\n createRange() {\n if (!this.initView || !this.allowCreateRange) return;\n NoUislider.create(this.rangeEl.nativeElement, {\n // behaviour: 'unconstrained-tap',\n start: this.startPoints,\n tooltips: [true, true],\n range: this.range,\n connect: true,\n // step: 1,\n format: wNumb({\n decimals: 0\n })\n });\n if (this.config.disableMode) this.renderer.setAttribute(this.rangeEl.nativeElement, 'disabled', 'true');\n this.rangeActions();\n }\n rangeActions() {\n if (this.config.disableMode) this.rangeEl.nativeElement.noUiSlider.disabled = true;\n else {\n this.rangeEl.nativeElement.noUiSlider.on('end', values => {\n this.form.userInputs[this.config.id].value = values[0] + '::' + values[1];\n this.form.checkConditions();\n });\n }\n }\n}\n","
\n
\n \n\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { EClassNameTheme } from 'src/app/models/form-class-name.enum';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-select-box',\n templateUrl: './select-box.component.html',\n styleUrls: ['./select-box.component.scss'],\n\n})\nexport class SelectBoxComponent extends FormToolComponent implements OnInit {\n // enum\n EClassNameTheme = EClassNameTheme;\n\n selectedValue: any;\n closeMenu: boolean = false;\n userSelectedValue: string = '';\n\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n if (this.applyCondition && this.config.isLastComponent) { this.form.checkConditions(); }\n }\n f() {\n return 'cosmic-theme'\n }\n\n // select value and close \n selectValue(option: any) {\n this.selectedValue = option;\n this.form.userInputs[this.config.id].value = option.value;\n this.form.userInputs[this.config.id].priceValue = option.priceValue;\n this.form.setPriceComponent(this.config);\n this.form.checkConditions();\n }\n onCloseMenu() {\n this.closeMenu = true;\n }\n}\n","
\n
\n \n\n
\n
\n
\n \n\n \n
\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} را انتخاب کنید\n
\n
\n\n
\n\n\n \n \n
\n
\n \n
\n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n
\n
\n
","import { trigger } from '@angular/animations';\nimport { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\nimport { rotateCreateAuto, rotateReverseCreateAuto } from '../../services/template-service/animations';\nimport { EClassNameIcons } from 'src/app/models/form-class-name.enum';\n\n@Component({\n selector: 'app-star',\n templateUrl: './star.component.html',\n styleUrls: ['./star.component.scss'],\n animations: [\n trigger('rotateCreateAuto', rotateCreateAuto),\n trigger('rotateReverseCreateAuto', rotateReverseCreateAuto),\n ]\n})\nexport class StarComponent extends FormToolComponent implements OnInit {\n totalIcon: any = {};\n filledIcon: number = 0;\n\n touched: boolean = false;\n EClassNameIcons = EClassNameIcons;\n\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n this.totalIcon = this.config.validation;\n\n if (this.config.required) setTimeout(() => { this.form.userInputs[this.config.id].status = 'INVALID' });\n if (this.config.disableMode) this.filledIcon = Number(this.form.userInputs[this.config.id].value);\n else this.form.userInputs[this.config.id].value = '0';\n if (this.applyCondition && this.config.isLastComponent) { this.form.checkConditions(); }\n }\n\n // set icon number\n selectIcon(indexIcon: number) {\n\n if (this.config.disableMode) return;\n // for validation\n this.touched = true;\n // remove selected\n if (indexIcon === this.filledIcon) {\n this.filledIcon = 0;\n this.form.userInputs[this.config.id].value = '0';\n this.form.checkConditions();\n if (this.config.required) {\n setTimeout(() => { this.form.userInputs[this.config.id].status = 'INVALID' });\n }\n }\n // select icon\n else {\n this.filledIcon = indexIcon;\n this.form.userInputs[this.config.id].value = indexIcon.toString();\n this.form.checkConditions();\n if (this.form.userInputs[this.config.id].status === 'INVALID') {\n setTimeout(() => { this.form.userInputs[this.config.id].status = 'VALID' });\n }\n }\n }\n}\n","
\n
\n \n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
10? 10: totalIcon.maxLen) - filledIcon) | newArray; let index = index\"\n (click)=\"selectIcon(totalIcon.maxLen - (index))\">\n
\n
\n \n
\n
\n
\n
\n\n
\n
\n لطفا امتیاز خود را ثبت کنید\n
\n
\n\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormService } from 'src/app/services/form-service/form.service';\nimport { FormToolComponent } from '../form-tool.component';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-submit',\n templateUrl: './submit.component.html',\n styleUrls: ['./submit.component.scss']\n})\nexport class SubmitComponent extends FormToolComponent implements OnInit {\n\n constructor(private formService: FormService, private route: ActivatedRoute) { super(); }\n ngOnInit(): void {\n }\n submitForm() {\n return;\n\n // // send form\n // this.form.isSending = true;\n // this.formService.submit(formFilled).then(\n // res => {\n // console.log(res);\n // },\n // error => {\n // console.log(error);\n // },\n // ).finally(() => this.form.isSending = false);\n }\n}\n","","import { Component, OnInit, Input, Output, OnChanges, SimpleChanges } from '@angular/core';\nimport { CreateNameToolService } from 'src/app/services/template-service/create-name-tool.service';\nimport { IToolConfig } from 'src/app/models/form.interface';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-text-box',\n templateUrl: './text-box.component.html',\n styleUrls: ['./text-box.component.scss'],\n providers: [\n CreateNameToolService\n ]\n})\nexport class TextBoxComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n \n\n
\n \n\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} را وارد کنید\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} حداقل باید\n {{ config.validation.minLen }} کاراکتری باشد\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\nimport { NgModel } from '@angular/forms';\nimport { min } from 'rxjs/operators';\n\n@Component({\n selector: 'app-textarea',\n templateUrl: './textarea.component.html',\n styleUrls: ['./textarea.component.scss']\n})\nexport class TextareaComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n \n\n
\n \n\n
\n
{{ config?.title ? config.title : config?.placeholer }} را وارد کنید
\n
\n {{ config?.title ? config.title : config?.placeholer }} حداقل باید\n {{ config.validation.minLen }} کاراکتری باشد\n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n\nimport { FormToolComponent } from '../form-tool.component';\nimport { DecimalPipe } from '@angular/common';\nimport { EClassNameTheme } from 'src/app/models/form-class-name.enum';\n\n@Component({\n selector: 'app-time',\n templateUrl: './time.component.html',\n styleUrls: ['./time.component.scss'],\n providers: [\n DecimalPipe,\n ]\n})\nexport class TimeComponent extends FormToolComponent implements OnInit {\n // enums \n EClassNameTheme = EClassNameTheme;\n\n minTime: { hour: number, minute: number } = { hour: 0, minute: 0 };\n maxTime: { hour: number, minute: number } = { hour: 23, minute: 59 };\n\n minMinute: number = 0;\n maxMinute: number = 59;\n\n closeMenu: boolean = false;\n showSelectedTime: boolean = false;\n\n selectedHour: number = 1;\n selectedMinute: number = 1;\n\n // for selected time \n selectedTime: string;\n\n constructor(private decimalPipe: DecimalPipe) { super(); }\n ngOnInit(): void {\n this.setInfo();\n if (this.config.disableMode) return;\n\n // find min date and max date\n let splitMinTime = this.config.validation.minStringValue ? this.config.validation.minStringValue.split(':') : null;\n let splitMaxTime = this.config.validation.maxStringValue ? this.config.validation.maxStringValue.split(':') : null;\n\n if (splitMinTime) this.minTime = { hour: Number(splitMinTime[0]), minute: Number(splitMinTime[1]) };\n else this.minTime = { hour: 0, minute: 0 };\n\n if (splitMaxTime) this.maxTime = { hour: Number(splitMaxTime[0]), minute: Number(splitMaxTime[1]) };\n else this.maxTime = { hour: 23, minute: 59 };\n\n this.init();\n }\n init() {\n if (this.form.userInputs[this.config.id].value) {\n let time = this.form.userInputs[this.config.id].value.split(':');\n this.selectedHour = Number(time[0]);\n this.selectedMinute = Number(time[1]);\n this.showSelectedTime = true;\n }\n else {\n this.selectedHour = this.minTime.hour;\n this.selectedMinute = this.minTime.minute;\n }\n this.setMinutes();\n if (this.applyCondition && this.config.isLastComponent) { this.form.checkConditions(); }\n }\n\n // set minute\n setMinutes() {\n // find min minute\n if (this.selectedHour === this.minTime.hour) this.minMinute = this.minTime.minute;\n else this.minMinute = 0;\n // find max minute\n if (this.selectedHour === this.maxTime.hour) this.maxMinute = this.maxTime.minute;\n else this.maxMinute = 59;\n // check range\n if (this.selectedMinute < this.minMinute) this.selectedMinute = this.minMinute;\n if (this.selectedMinute > this.maxMinute) this.selectedMinute = this.maxMinute;\n }\n\n // select items\n selectHour(hour: number) {\n this.selectedHour = hour;\n this.setMinutes();\n }\n selectMinute(minute: number) {\n this.selectedMinute = minute;\n }\n\n // get time format\n getSelectedTime(): string {\n let time = '';\n time += this.decimalPipe.transform(this.selectedHour, '2.0-0') + ':';\n time += this.decimalPipe.transform(this.selectedMinute, '2.0-0');\n return time;\n }\n\n // accept time\n acceptTime() {\n this.showSelectedTime = true;\n this.setValue();\n }\n onCloseMenu() {\n this.closeMenu = true;\n }\n setValue() {\n if (this.showSelectedTime) {\n this.selectedTime = this.getSelectedTime();\n this.form.userInputs[this.config.id].value = this.selectedTime;\n this.form.checkConditions();\n }\n }\n\n // button up down\n goTop(element: any) {\n element.scroll({ top: element.scrollTop - 160, behavior: 'smooth' });\n }\n goDown(element: any) {\n element.scroll({ top: element.scrollTop + 160, behavior: 'smooth' });\n }\n}\n","
\n
\n \n\n
\n
\n
\n \n\n \n
\n
\n
\n {{ config?.title ? config.title : config?.placeholer }} را انتخاب کنید\n
\n
\n\n
\n\n \n \n
\n
\n \n
\n \n
\n
ساعت
\n \n
\n \n
\n \n
\n \n
\n
دقیقه
\n \n
\n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormToolComponent } from '../form-tool.component';\r\nimport { EClassNamePosition, EClassNameErrorPosition, EClassNameImageSize } from 'src/app/models/form-class-name.enum';\r\nimport { ShowImageComponent } from 'src/app/components/show-image/show-image.component';\r\nimport { ShowAudioComponent } from 'src/app/components/show-audio/show-audio.component';\r\nimport { ShowVideoComponent } from 'src/app/components/show-video/show-video.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { mimeTypes } from 'mime-wrapper';\r\nimport { FileService } from 'src/app/services/file.service';\r\nimport { base64ToFile } from 'ngx-image-cropper';\r\n\r\n@Component({\r\n selector: 'app-upload',\r\n templateUrl: './upload.component.html',\r\n styleUrls: ['./upload.component.scss']\r\n})\r\nexport class UploadComponent extends FormToolComponent implements OnInit {\r\n mimeTypes = mimeTypes;\r\n touched: boolean = false;\r\n listInvalidFiles: {file:File,type:string}[];\r\n EClassNamePosition = EClassNamePosition;\r\n EClassNameImageSize = EClassNameImageSize;\r\n EClassNameErrorPosition = EClassNameErrorPosition;\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private fileService: FileService,\r\n ) { super(); }\r\n ngOnInit(): void {\r\n this.setInfo();\r\n this.config.fileObject = { id: this.config.name, file: undefined, progressBar: 0 };\r\n if(this.config.required) { \r\n this.form.userInputs[this.config.id].status = 'INVALID';\r\n if(this.config.isLastComponent) this.form.checkConditions();\r\n }\r\n if(this.config.disableMode) {\r\n this.getFile();\r\n }\r\n }\r\n\r\n // for select file\r\n selectFile(file: File) {\r\n this.config.fileObject.file = file;\r\n this.config.fileObject.fileUrl = this.createUrl(file);\r\n this.form.userInputs[this.config.id].status = 'VALID';\r\n this.form.checkConditions();\r\n } \r\n createUrl(file: File) {\r\n return window.URL.createObjectURL(file);\r\n }\r\n // for show file\r\n showFile(type: string, fileUrl: string) {\r\n switch (type.split('/')[0]) {\r\n case 'image': this.dialog.open(ShowImageComponent, { data: { src: fileUrl } }); break;\r\n case 'audio': this.dialog.open(ShowAudioComponent, { data: { src: fileUrl } }); break;\r\n case 'video': this.dialog.open(ShowVideoComponent, { data: { src: fileUrl } }); break;\r\n default: break;\r\n }\r\n }\r\n\r\n // get submitted file\r\n getFile() {\r\n this.fileService.downloadFile(\r\n this.config.fileObject,\r\n 'ApplyFormSubmitComponent/downloadSubmitedtFile',\r\n 'GET',\r\n {},\r\n { componentID: this.config.id, submitID: this.form.submitId }\r\n ).then(\r\n res => {\r\n ;\r\n let mime = mimeTypes.getType(res.body.extension);\r\n this.config.fileObject.extension = res.body.extension;\r\n this.config.fileObject.fileName = this.config.title + '-' + this.config.id + '.' + this.config.fileObject.extension;\r\n // for create url file\r\n const blob: Blob = base64ToFile('data:' + mime + ';base64,' + res.body.base64);\r\n this.config.fileObject.fileUrl = window.URL.createObjectURL(blob);\r\n }, \r\n errorRes => {\r\n this.config.fileObject.errorMessage = errorRes.error.message;\r\n if(errorRes.status === 400) this.config.emptyFile = true;\r\n }\r\n );\r\n }\r\n // download file\r\n downloadFile() {\r\n let link = document.createElement('a');\r\n link.download = this.config.fileObject.fileName;\r\n link.target = '_blank';\r\n\r\n link.href = this.config.fileObject.fileUrl;\r\n link.click();\r\n link.remove();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {{ config.fileObject?.progressBar }} %\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ config.fileObject.fileName }}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n برای {{ config.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 \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ config.fileObject.file['name'] }}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n فایلی انتخاب نشده\r\n
\r\n
\r\n
\r\n
\r\n فرمت فایل انتخاب شده اشتباه است \r\n
\r\n
config.validation?.maxLen * 1024\">\r\n حداکثر اندازه فایل باید {{ config.validation?.maxLen | splitDigit }} kb باشد.\r\n
\r\n
\r\n
\r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\nimport { FormToolComponent } from '../form-tool.component';\n\n@Component({\n selector: 'app-url',\n templateUrl: './url.component.html',\n styleUrls: ['./url.component.scss']\n})\nexport class UrlComponent extends FormToolComponent implements OnInit {\n constructor() { super(); }\n ngOnInit(): void {\n this.setInfo();\n }\n}\n","
\n
\n \n\n
\n \n\n
\n
{{ config?.title ? config.title : config?.placeholer }} را وارد کنید
\n
{{ config?.title ? config.title : config?.placeholer }} وارد شده اشتباه است
\n
\n
\n
\n
","import { EAlignment, ETheme, EFontSize, EImageSize, EIcons } from './form.enum';\n\n// enums\nexport enum EClassNameTheme {\n 'default-theme' = ETheme.DEFAULT,\n 'light-theme' = ETheme.LIGHT,\n 'dark-theme' = ETheme.DARK,\n 'cosmic-theme' = ETheme.COSMIC,\n}\n// reuse for upload component\nexport enum EClassNamePosition {\n 'ml-auto' = EImageSize.SMALL,\n 'mx-auto' = EImageSize.MEDIUM,\n 'mr-auto' = EImageSize.LARGE,\n}\nexport enum EClassNameErrorPosition {\n 'error-right' = EImageSize.SMALL,\n 'error-center' = EImageSize.MEDIUM,\n 'error-left' = EImageSize.LARGE,\n}\nexport enum EClassNameAlignment {\n 'left-align' = EAlignment.LEFT,\n 'right-align' = EAlignment.RIGHT,\n 'center-align' = EAlignment.CENTER,\n}\nexport enum EClassNameImageSize {\n 'small-image' = EImageSize.SMALL,\n 'medium-image' = EImageSize.MEDIUM,\n 'large-image' = EImageSize.LARGE,\n}\nexport enum EClassNameFontSize {\n 'small-size' = EFontSize.SMALL,\n 'medium-size' = EFontSize.MEDIUM,\n 'large-size' = EFontSize.LARGE,\n}\nexport enum EClassNameIcons {\n 'fa-thumbs-up icon-blue' = EIcons.THUMBS_UP,\n 'fa-star icon-yellow' = EIcons.STAR,\n 'fa-heart icon-red' = EIcons.HEART,\n 'fa-smile-beam icon-green' = EIcons.SMILE_BEAM,\n 'fa-sad-tear icon-dark' = EIcons.SAD_TEAR,\n}\n","// all interface and enums\n\n// enums\nexport enum ETheme {\n DEFAULT = 1,\n LIGHT,\n DARK,\n COSMIC,\n}\nexport enum EAlignment {\n LEFT = 1,\n RIGHT,\n CENTER,\n}\nexport enum EStatusForm {\n ACTIVE = 1,\n TEMP = 2,\n EXPIRED = 4,\n DISABLED = 6,\n DISABLE_BY_ADMIN = 7\n}\nexport enum EImageSize {\n SMALL = 1,\n MEDIUM,\n LARGE,\n}\nexport enum EFontSize {\n SMALL = 1,\n MEDIUM,\n LARGE,\n}\nexport enum EOperation {\n EQUAL = 1,\n LESSER,\n BIGGER,\n BETWEEN,\n NOT,\n}\nexport enum EConditionAggregate {\n AND = 1,\n OR,\n}\nexport enum ETool {\n TEXT_BOX = 1,\n RADIO_BUTTON,\n CHECK_BOX,\n SELECT_BOX,\n TEXTAREA,\n INPUT_DATE,\n INPUT_TIME,\n SUBMIT_BUTTON,\n PREV_BUTTON,\n NEXT_BUTTON,\n DESCRIPTION,\n BREAKLINE,\n RANGE,\n PASSWORD,\n NUMBER,\n EMAIL,\n URL,\n UPLOAD,\n}\nexport enum ESurveyTool {\n TEXT_BOX = 1,\n RADIO_BUTTON,\n CHECK_BOX,\n SELECT_BOX,\n TEXTAREA,\n INPUT_DATE,\n INPUT_TIME,\n SUBMIT_BUTTON,\n PREV_BUTTON,\n NEXT_BUTTON,\n RANGE,\n NUMBER,\n EMAIL,\n URL,\n MATRIX,\n MULTI_INPUT_MATRIX,\n STAR,\n DESCRIPTION\n}\nexport enum ERow {\n ONE_COLUMN = 1,\n TWO_EQUAL_COLUM,\n TWO_RIGHT_COLUMN,\n TWO_LEFT_COLUMN,\n THREE_EQUAL_COLUMN,\n}\nexport enum EIcons {\n THUMBS_UP = 1,\n STAR,\n HEART,\n SMILE_BEAM,\n SAD_TEAR,\n}\nexport enum EChart {\n BAR = 1,\n PIE,\n AREA,\n LINE,\n VARIABLE_PIE,\n HORZONTAL_BAR,\n MULTI_BAR,\n MULTI_PIE,\n MULTI_LINE,\n HORZONTAL_MULTI_BAR,\n}\nexport enum EApplyFormType {\n REGISTERED = 1,\n PAYMENT\n}\nexport enum EBank {\n MELLI = 1,\n MELLAT,\n SEPAH,\n REFAH,\n SADERAT,\n TEJARAT,\n MASKAN,\n}\n\n// operation formula\nexport enum EOperationFormula {\n PLUS = 1,\n MINUS,\n MULTIPLY,\n DEVIDE,\n OPEN_BRACES,\n CLOSE_BRACES\n}\nexport enum ESignOperationFormula {\n ' + ' = EOperationFormula.PLUS,\n ' - ' = EOperationFormula.MINUS,\n ' * ' = EOperationFormula.MULTIPLY,\n ' / ' = EOperationFormula.DEVIDE,\n '(' = EOperationFormula.OPEN_BRACES,\n ')' = EOperationFormula.CLOSE_BRACES,\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'newArray'\n})\nexport class NewArrayPipe implements PipeTransform {\n transform(value: number, startIndex: number = 1): number[] {\n if (!value) return [];\n\n let arr = [];\n for (let i = startIndex; i < startIndex + value; i++) arr.push(i);\n return arr;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safe'\n})\nexport class SafeUrlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) { }\n transform(url: string) {\n return this.sanitizer.bypassSecurityTrustResourceUrl(url);\n }\n}","import { truncateWithEllipsis } from '@amcharts/amcharts4/.internal/core/utils/Utils';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'splitDigit'\n})\nexport class SplitDigitPipe implements PipeTransform {\n\n transform(value: any, count: number = 3): string {\n\n // for zero not return\n if (value == undefined) return '';\n\n let newDigit = '';\n let negative = false;\n value = value.toString();\n\n // check negative numbers\n if (value.indexOf('-') !== -1) {\n negative = true;\n value = value.replaceAll('-', '');\n }\n\n // find length\n let length = value.length;\n\n for (let i = length - 1, j = 1; i >= 0; i--, j++) {\n newDigit = value[i] + newDigit;\n if (i !== 0 && j % count === 0)\n newDigit = ',' + newDigit;\n }\n if (negative) newDigit = '-' + newDigit;\n return newDigit;\n }\n\n}\n","import { HttpService } from '../http.service';\nimport { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable()\nexport class ContentService {\n contents: any = {};\n contentList: any[] = [];\n _readyContent = new EventEmitter();\n\n constructor(private httpService: HttpService) { }\n\n // get city by province id \n getContentList() {\n this.httpService.get('StringContent/getList').subscribe(\n res => {\n // console.log(res);\n this.contentList = res;\n this.setContents();\n },\n errorRes => {\n\n }\n )\n }\n\n // set contentts\n setContents() {\n // home\n this.contents['headerHome'] = this.contentList.find(item => item.key.id === 1).contentText;\n this.contents['descHome'] = this.contentList.find(item => item.key.id === 2).contentText;\n this.contents['headerCreateFormHome'] = this.contentList.find(item => item.key.id === 3).contentText;\n this.contents['descCreateFormHome'] = this.contentList.find(item => item.key.id === 4).contentText;\n // footer\n this.contents['footerDesc'] = this.contentList.find(item => item.key.id === 5).contentText;\n this.contents['mobile'] = this.contentList.find(item => item.key.id === 6).contentText;\n this.contents['phone'] = this.contentList.find(item => item.key.id === 7).contentText;\n this.contents['email'] = this.contentList.find(item => item.key.id === 8).contentText;\n // tariff\n this.contents['headerTariff'] = this.contentList.find(item => item.key.id === 9).contentText;\n this.contents['descTariff'] = this.contentList.find(item => item.key.id === 10).contentText;\n // address insta\n this.contents['address'] = this.contentList.find(item => item.key.id === 11).contentText;\n this.contents['insta'] = this.contentList.find(item => item.key.id === 12).contentText;\n // about us\n this.contents['titleAboutUs'] = this.contentList.find(item => item.key.id === 13).contentText;\n this.contents['headerAboutUs'] = this.contentList.find(item => item.key.id === 14).contentText;\n this.contents['contextAboutUs'] = this.contentList.find(item => item.key.id === 15).contentText;\n // facility\n this.contents['headerFacility'] = this.contentList.find(item => item.key.id === 16).contentText;\n this.contents['telegram'] = this.contentList.find(item => item.key.id === 17).contentText;\n\n this._readyContent.emit();\n }\n}","import { HttpService } from '../http.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class SiteLogoService {\n logos: any;\n constructor(private httpService: HttpService) { }\n\n getList() {\n this.httpService.get('SiteLogo/getList').subscribe(\n res => { this.logos = res; },\n );\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CopyService {\n constructor() { }\n // copy array and object\n copyArray(arr: any[]): any {\n if (!arr.length) return;\n\n let newArr = [];\n arr.forEach(item => {\n if (Array.isArray(item)) newArr.push(this.copyArray(item));\n else if (typeof item === 'object') newArr.push(this.copyObject(item));\n else newArr.push(item);\n });\n\n return newArr;\n }\n copyObject(obj: any): any {\n if (!obj) return;\n\n let newObj = {};\n for (let item in obj) {\n if (Array.isArray(obj[item])) newObj[item] = this.copyArray(obj[item]);\n else if (typeof obj[item] === 'object') newObj[item] = this.copyObject(obj[item]);\n else newObj[item] = obj[item];\n }\n\n return newObj;\n }\n}","import { SnackBarService } from './template-service/snackbar.service';\nimport { Injectable } from '@angular/core';\n\nexport interface IErrorMessages {\n '0'?: string;\n '400'?: string;\n '401'?: string;\n '403'?: string;\n '500'?: string;\n}\n\n@Injectable()\nexport class ErrorService {\n\n constructor(private snackbar: SnackBarService) { }\n show(errorStatus: number, defaultMessage?: string, errorMessages: IErrorMessages = {}) {\n switch (errorStatus) {\n case 0:\n if (errorMessages['0']) this.snackbar.open(errorMessages['0'], 'بستن');\n else { let message = 'اتصال به اینترنت خود را بررسی کنید'; this.snackbar.open(message, 'بستن'); }\n return;\n case 400:\n if (defaultMessage || errorMessages['400'])\n this.snackbar.open(defaultMessage ? defaultMessage : errorMessages['400'], 'بستن');\n return;\n case 401:\n if (errorMessages['401']) this.snackbar.open(errorMessages['401'], 'بستن');\n return;\n case 403:\n if (defaultMessage || errorMessages['403'])\n this.snackbar.open(defaultMessage ? defaultMessage : errorMessages['403'], 'بستن');\n return;\n case 500:\n if (errorMessages['500']) this.snackbar.open(errorMessages['500'], 'بستن');\n else { let message = 'مشکلی پیش آمده'; this.snackbar.open(message, 'بستن'); }\n return;\n default:\n break;\n }\n }\n\n}","import { HttpEvent, HttpRequest, HttpClient, HttpEventType } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { finalize } from 'rxjs/operators';\n\n// service\nimport { UrlService } from 'src/app/services/url.service';\nimport { HttpService } from './http.service';\n\nexport interface IFileObject {\n id: string;\n file: Blob;\n fileUrl?: string;\n extension?: string;\n fileName?: string;\n progressBar?: number;\n errorMessage?: string;\n uploading?: boolean;\n downloading?: boolean;\n finished?: boolean;\n}\n\nexport const Extensions = [\n // images\n { title: '.png', mime: 'image/png' },\n { title: '.jpeg , .jpg', mime: 'image/jpeg' },\n { title: '.gif', mime: 'image/gif' },\n // video\n { title: '.avi', mime: 'video/x-msvideof' },\n { title: '.mpeg', mime: 'video/mpeg' },\n { title: '.ogv', mime: 'video/ogg' },\n { title: '.mp4', mime: 'video/mp4' },\n // voice\n { title: '.aac', mime: 'audio/aac' },\n { title: '.mp3', mime: 'audio/mpeg' },\n { title: '.oga', mime: 'audio/ogg' },\n { title: '.wav', mime: 'audio/wav' },\n { title: '.opus', mime: 'audio/opus' },\n // pdf\n { title: '.pdf', mime: 'application/pdf' },\n // office\n { title: '.xls', mime: 'application/vnd.ms-excel' },\n { title: '.xlsx', mime: 'officedocument.spreadsheetml.sheet' },\n { title: '.doc', mime: 'application/msword' },\n { title: '.docx', mime: 'officedocument.wordprocessingml.document' },\n // other\n { title: '.zip', mime: 'application/zip' },\n]\n\n@Injectable()\nexport class FileService {\n // for change page steel uploading show\n items: any[] = [];\n constructor(private http: HttpClient) { }\n\n // get and remove uploading array\n getItem(id: string) {\n return this.items.find(item => item.id === id);\n }\n removeItem(id: string) {\n let index = this.items.findIndex(item => item.id === id);\n this.items.splice(index, 1);\n }\n\n // upload and downlaod\n uploadFile(\n uploadItem: IFileObject,\n filePath: string,\n method: 'PUT' | 'POST' = 'POST',\n params = {},\n dir: string = 'api'\n ): Promise {\n return new Promise((resolve, reject) => {\n // add to upload item array\n uploadItem.uploading = true;\n this.items.push(uploadItem);\n\n // add file to body\n const formData = new FormData();\n formData.append(uploadItem.fileName ? uploadItem.fileName : 'file', uploadItem.file);\n\n // send request\n this.http.request(\n new HttpRequest(method, UrlService.URLS[dir] + filePath, formData, {\n reportProgress: true,\n params: HttpService.ExtractionParams(params)\n })\n ).pipe(finalize(() => {\n uploadItem.uploading = false;\n uploadItem.finished = true;\n this.removeItem(uploadItem.id);\n })).subscribe(\n\n res => {\n if (res.type === HttpEventType.UploadProgress) {\n uploadItem.progressBar = Math.round(res.loaded / res.total * 100);\n }\n else if (res.type === HttpEventType.Response) {\n uploadItem.progressBar = 100;\n uploadItem.finished = true;\n resolve(res);\n }\n },\n error => {\n reject(error);\n }\n );\n });\n }\n downloadFile(\n downloadItem: IFileObject,\n filePath: string,\n method: 'GET' | 'POST' | 'PUT' = 'GET',\n body = {},\n params = {},\n dir: string = 'api'\n ) {\n return new Promise((resolve, reject) => {\n\n // add to upload item array\n downloadItem.downloading = true;\n this.items.push(downloadItem);\n\n // send request\n this.http.request(\n new HttpRequest(method, UrlService.URLS[dir] + filePath, body, {\n reportProgress: true,\n params: HttpService.ExtractionParams(params)\n })\n ).pipe(finalize(() => {\n downloadItem.downloading = false;\n downloadItem.finished = true;\n this.removeItem(downloadItem.id);\n })).subscribe(\n\n res => {\n if (res.type === HttpEventType.DownloadProgress) {\n downloadItem.progressBar = Math.round(res.loaded / res.total * 100);\n }\n else if (res.type === HttpEventType.Response) {\n downloadItem.progressBar = 100;\n downloadItem.finished = true;\n resolve(res);\n }\n },\n error => {\n reject(error);\n }\n );\n });\n }\n\n // convert to blob base64 \n base64ToBlob(base64: string): Blob {\n // for create byte numbers\n const byteCharacters = atob(base64); \n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n // create byte array\n const byteArray = new Uint8Array(byteNumbers);\n // create blob\n const blob = new Blob([byteArray]);\n return blob;\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpService } from '../http.service';\nimport { EFontSize, EAlignment, ETheme, EConditionAggregate, EOperation, EApplyFormType } from 'src/app/models/form.enum';\nimport { FileService, IFileObject } from '../file.service';\n\n@Injectable()\nexport class FormService {\n\n constructor(private httpService: HttpService, private fileService: FileService) { }\n\n getAll(): Promise {\n return new Promise((resolve, reject) => {\n this.httpService.get('ApplyForm/getUserDashboardApplyForms').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n getById(params: { formID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.get('ApplyForm/viewFormByOwner', params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n getByIdForRender(params: { formID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.get('ApplyForm/getFormToSubmit', params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n checkPublishedForm(formId: number) {\n return new Promise((resolve, reject) => {\n this.httpService.get('ApplyForm/checkFormEditPermission/' + formId).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n\n // create\n create(body: {\n title: string,\n expireDate: string,\n description?: string\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('ApplyForm/createNewForm', body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n edit(body: {\n id: number,\n style: ETheme,\n bold: boolean,\n title: string,\n fontColor: string,\n showTitle: boolean,\n direction: boolean,\n expireDate: string,\n fontSize: EFontSize,\n description: string,\n lablePosition: boolean,\n titleAlignment: EAlignment,\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('ApplyForm/edit', body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n delete(id: number) {\n return new Promise((resolve, reject) => {\n this.httpService.delete('ApplyForm/delete/' + id).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n copy(formId: number) {\n return new Promise((resolve, reject) => {\n this.httpService.post('ApplyForm/copyByOwner/' + formId).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n\n // publish\n publish(id: number) {\n return new Promise((resolve, reject) => {\n this.httpService.put('ApplyForm/saveFormAndGenerateLink/' + id).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // submit\n submit(body: {\n formID: number,\n components: {\n componentName: string,\n value: string\n }[]\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('ApplyFormSubmit/sunmitForm', body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // for change form type\n changeFormType(formId: number, params: { formType: EApplyFormType }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('ApplyForm/changeFormType/' + formId, null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // get submitted forms\n getSubmittedForms(params: { formID: number }, body: {\n conditionAggregateType: EConditionAggregate,\n members: {\n operation: EOperation,\n componentID: number,\n isTextValue: boolean,\n firstValue: string,\n secondValue: string\n }[]\n }[]) {\n return new Promise((resolve, reject) => {\n this.httpService.post('ApplyFormSubmit/getSubmittedForms', body, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n getSubmittedFormInfo(params: { applyFormSubmitID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.get('ApplyFormSubmit/getSubmittedForm', params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // for prepared form \n getPreparedForms() {\n return new Promise((resolve, reject) => {\n this.httpService.get('ApplyForm/getActiveTemplateList').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n selectPreparedForm(params: { templateFormID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('ApplyForm/useTemplateForm', null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // enable disable form \n disableForm(formId: number, params: { disable: boolean }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('ApplyForm/disableByOwner/' + formId, null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // get exel submitted forms\n getExcelSubmittedForms(fileObject: IFileObject, body: { SubmitIDs: number[] }) {\n return this.fileService.downloadFile(\n fileObject,\n 'ApplyFormSubmit/getExcel',\n 'POST',\n body\n );\n }\n}","import { Injectable, Renderer2 } from \"@angular/core\";\nimport { BehaviorSubject } from \"rxjs\";\n\n@Injectable({ providedIn: 'root' })\nexport class GloabalLoader {\n private static _loading = new BehaviorSubject(true);\n\n // for component\n static get show() { return this._loading.asObservable(); }\n \n static set loading(show: boolean) {\n // for component\n this._loading.next(show);\n\n // for base loader\n if(show) {\n document.getElementById('base-loader').style.display = null;\n }\n else { \n setTimeout(() => {\n if (this._loading.value) return;\n document.getElementById('base-loader').style.display = 'none';\n }, 1000);\n }\n }\n}","import { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { UrlService } from 'src/app/services/url.service';\n\n\nexport interface ParamsInterface {\n [index: string]: any;\n}\n\n@Injectable()\nexport class HttpService {\n // refersh token not use this base url\n constructor(private http: HttpClient) { }\n\n // for Extraction Params\n static ExtractionParams(params: ParamsInterface): HttpParams {\n var extractedParams: HttpParams = new HttpParams();\n Object.keys(params).forEach(\n key => { extractedParams = extractedParams.append(key, params[key].toString()); }\n );\n return extractedParams;\n }\n\n // get request\n get(url: string, params: ParamsInterface = {}, dir: string = 'api'): Observable {\n return this.http.get(UrlService.URLS[dir] + url, {\n params: HttpService.ExtractionParams(params),\n })\n }\n\n // get request\n post(url: string, body: any = {}, params: ParamsInterface = {}, dir: string = 'api'): Observable {\n return this.http.post(UrlService.URLS[dir] + url, body, {\n params: HttpService.ExtractionParams(params),\n })\n }\n\n // put request\n put(url: string, body: any = {}, params: ParamsInterface = {}, dir: string = 'api'): Observable {\n return this.http.put(UrlService.URLS[dir] + url, body, {\n params: HttpService.ExtractionParams(params),\n })\n }\n\n // delete request\n delete(url: string, params: ParamsInterface = {}, dir: string = 'api'): Observable {\n return this.http.delete(UrlService.URLS[dir] + url, {\n params: HttpService.ExtractionParams(params),\n })\n }\n}\n","import { MatDialog } from '@angular/material/dialog';\nimport { Injectable } from '@angular/core';\nimport { mimeTypes } from 'mime-wrapper';\n\n// service\nimport { UrlService } from 'src/app/services/url.service';\nimport { HttpService } from './http.service';\n\n// components\nimport { ShowImageComponent } from '../components/show-image/show-image.component';\nimport { ShowAudioComponent } from '../components/show-audio/show-audio.component';\nimport { ShowVideoComponent } from '../components/show-video/show-video.component';\nimport { ShowPdfComponent } from '../components/show-pdf/show-pdf.component';\n\n\n@Injectable()\nexport class ShowFileService {\n // for change page steel uploading show\n constructor(private dialog: MatDialog, private urlService: UrlService) { }\n // show file \n showFile(fileUrl: string, dir: string) {\n switch (mimeTypes.getType(fileUrl).split('/')[0]) {\n case 'image': this.dialog.open(ShowImageComponent, { data: { src: this.urlService.getUrl(dir) + fileUrl } }); break;\n case 'audio': this.dialog.open(ShowAudioComponent, { data: { src: this.urlService.getUrl(dir) + fileUrl } }); break;\n case 'video': this.dialog.open(ShowVideoComponent, { data: { src: this.urlService.getUrl(dir) + fileUrl } }); break;\n case 'application': this.dialog.open(ShowPdfComponent, { data: { src: this.urlService.getUrl(dir) + fileUrl } }); break;\n default: break;\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpService } from '../http.service';\nimport { EFontSize, EAlignment, ETheme, EConditionAggregate, EOperation } from 'src/app/models/form.enum';\n\n@Injectable()\nexport class SurveyFormService {\n\n constructor(private httpService: HttpService) { }\n\n getAll(): Promise {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyForm/getUserDashboardApplyForms').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n getById(params: { formID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyForm/viewFormByOwner', params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n getByIdForRender(params: { formID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyForm/getFormToSubmit', params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n\n // for get categories form\n getCategories() {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyCategory/getList').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n\n // check form before published\n checkPublishedForm(formId: number) {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyForm/checkFormEditPermission/' + formId).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n\n // create\n create(body: {\n title: string,\n expireDate: string,\n categoryID?: number,\n description?: string,\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('SurveyForm/createNewForm', body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n edit(body: {\n id: number,\n style: ETheme,\n bold: boolean,\n title: string,\n fontColor: string,\n showTitle: boolean,\n direction: boolean,\n expireDate: string,\n fontSize: EFontSize,\n description: string,\n lablePosition: boolean,\n titleAlignment: EAlignment,\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('SurveyForm/edit', body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n });\n }\n delete(id: number) {\n return new Promise((resolve, reject) => {\n this.httpService.delete('SurveyForm/delete/' + id).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n )\n })\n }\n copy(formId: number) {\n return new Promise((resolve, reject) => {\n this.httpService.post('SurveyForm/copyByOwner/' + formId).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // publish\n publish(id: number) {\n return new Promise((resolve, reject) => {\n this.httpService.put('SurveyForm/saveFormAndGenerateLink/' + id).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // form submit\n submit(body: {\n formID: number,\n submitTime?: number,\n components: {\n componentName: string,\n value: string\n }[]\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('SurveyFormSubmit/sunmitForm', body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // get statistics data\n getGeneralStatistics(formId: number) {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyFormSubmit/getGeneralStatistics/' + formId).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n getResponseStatistics(formId: number, body: {\n conditionAggregateType: EConditionAggregate,\n members: {\n operation: EOperation,\n componentID: number,\n isTextValue: boolean,\n firstValue: string,\n secondValue: string\n }[]\n }[]) {\n return new Promise((resolve, reject) => {\n this.httpService.post('SurveyFormSubmit/getQuestionStatisticsView/' + formId, body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // get submitted forms\n getSubmittedForms(formId: number, page: number, count: number, body: {\n conditionAggregateType: EConditionAggregate,\n members: {\n operation: EOperation,\n componentID: number,\n isTextValue: boolean,\n firstValue: string,\n secondValue: string\n }[]\n }[]) {\n return new Promise((resolve, reject) => {\n this.httpService.post('SurveyFormSubmit/getSubmittedFormList/' + formId, body).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n getSubmittedFormInfo(formId: number) {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyFormSubmit/getSubmitedForm/' + formId).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // mark form \n markSubmittedForm(answerId: number, params: { marked: boolean }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('SurveyFormSubmit/setMarked/' + answerId, null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // for prepared form \n getPreparedForms() {\n return new Promise((resolve, reject) => {\n this.httpService.get('SurveyForm/getActiveTemplateList').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n selectPreparedForm(params: { templateFormID: number }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('SurveyForm/useTemplateForm', null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // enable disable form \n disableForm(formId: number, params: { disable: boolean }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('SurveyForm/disableByOwner/' + formId, null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n}","import { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';\nimport { TokenService } from '../token.service';\nimport { UserService } from '../user.service';\nimport { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { UrlService } from '../url.service';\n\nexport const ADMIN_PAGES = [\n '/form/create-prepared-form',\n '/form/display-prepared-form',\n '/survey-form/create-prepared-form',\n '/survey-form/display-prepared-form',\n]\n\n@Injectable()\nexport class ActiveAdminPages implements CanActivate {\n\n constructor(\n private tokenService: TokenService,\n private route: ActivatedRoute,\n private router: Router,\n ) { }\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise | boolean {\n return new Promise(resolve => {\n let queryParams = route.queryParams;\n ;\n // chack token admin\n if (queryParams.token) {\n this.tokenService.setAdminToken(queryParams.token);\n // remove token from url\n let newQueryParams = { ...queryParams };\n delete newQueryParams.token;\n // find string params\n let params = new URLSearchParams();\n for (const param in newQueryParams) {\n if (Object.prototype.hasOwnProperty.call(newQueryParams, param)) {\n params.set(param, newQueryParams[param]);\n }\n }\n // navigate to url without token\n let index = state.url.indexOf('?');\n this.router.navigate([state.url.slice(0, index !== -1 ? index : state.url.length)], { queryParams: newQueryParams });\n window.history.replaceState(null, 'فرم ساز', state.url.slice(0, index !== -1 ? index : state.url.length) + '?' + params.toString());\n \n // console.log(this.router, this.route, route);\n // window.location.href = state.url.slice(0, index !== -1 ? index : state.url.length) + '?' + params.toString();\n }\n else if (this.tokenService.getAdminToken()) {\n // window.history.replaceState(null, 'فرم ساز', window.location.href);\n this.tokenService.checkToken().then(res => resolve(true));\n }\n else {\n window.location.href = UrlService.PANEL_URLS.login;\n }\n });\n }\n}","import { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\nimport { TokenService } from '../token.service';\nimport { UserService } from '../user.service';\n\n@Injectable()\nexport class ActiveAuthPages implements CanActivate {\n constructor(\n private tokenService: TokenService,\n private userService: UserService,\n private router: Router,\n ) { }\n canActivate(): Promise {\n return new Promise(resolve => {\n // token check\n if (!this.tokenService.getToken()) { resolve(true); }\n // user check\n else if (this.userService.user) {\n this.router.navigate(['/pages/home']);\n resolve(false);\n }\n // wait for get user\n else {\n this.userService.getUser();\n let _readyUser = this.userService._readyUser.subscribe(\n () => {\n ;\n _readyUser.unsubscribe();\n this.router.navigate(['/pages/home']);\n resolve(false);\n },\n () => {\n ;\n _readyUser.unsubscribe();\n resolve(true);\n }\n );\n }\n });\n }\n}","import { Injectable } from '@angular/core';\nimport { CanActivate, Router } from '@angular/router';\nimport { TokenService } from '../token.service';\nimport { UserService } from '../user.service';\n\n@Injectable()\nexport class ActiveUserPages implements CanActivate {\n constructor(\n private tokenService: TokenService,\n private userService: UserService,\n private router: Router,\n ) { }\n canActivate(): Promise {\n return new Promise(resolve => {\n // token check\n if (!this.tokenService.getToken()) { this.redirectLogin(); resolve(false); }\n // user check\n else if (this.userService.user) { resolve(true); }\n // wait for get user\n else {\n this.userService.getUser();\n let _readyUser = this.userService._readyUser.subscribe(\n () => {\n _readyUser.unsubscribe();\n resolve(true);\n },\n () => {\n _readyUser.unsubscribe();\n this.redirectLogin();\n resolve(false);\n }\n );\n }\n });\n }\n redirectLogin() {\n this.router.navigate(['/auth/login-register']);\n }\n}","import { style, state, transition, animate } from '@angular/animations';\n\n// style toggle animatoin\nexport const slideToggle = [\n state('slideUp', style({\n 'height': '0',\n })),\n transition('slideDown <=> slideUp', animate(400)),\n];\nexport const slideToggleAuto = [\n state('void', style({\n 'height': '0',\n 'margin': '0',\n 'padding': '0',\n 'minHeight': '0',\n 'overflow': 'hidden',\n })),\n transition('void <=> *', animate(400))\n];\nexport const widthToggleAuto = [\n state('void', style({\n 'width': '0',\n 'margin': '0',\n 'padding': '0',\n 'minWidth': '0',\n 'overflow': 'hidden',\n })),\n transition('void <=> *', animate(400))\n];\n\nexport const slideToggleIcon = [\n state('slideDown', style({\n 'transform': 'translate(-50%, -50%) rotateZ(180deg)',\n })),\n transition('slideDown <=> slideUp', animate(400)),\n];\nexport const halfRotateSlideToggleIcon = [\n state('slideDown', style({\n 'transform': 'rotateZ(-90deg)',\n })),\n transition('slideDown <=> slideUp', animate(400)),\n];\n\n// functions\nexport const getSlideToggleAuto = function (speed: number = 400): any[] {\n return [\n state('void', style({\n 'height': '0',\n 'margin': '0',\n 'padding': '0',\n 'minHeight': '0',\n 'overflow': 'hidden',\n })),\n transition('void <=> *', animate(speed))\n ];\n}\nexport const getShowWidthAuto = function (speed: number = 400): any[] {\n return [\n state('void', style({\n 'margin': '0',\n 'width': '0',\n 'padding': '0',\n 'overflow': 'hidden',\n })),\n transition('* => void', animate(speed))\n ];\n}\nexport const getWidthToggleAuto = function (speed: number = 400): any[] {\n return [\n state('void', style({\n 'width': '0',\n 'margin': '0',\n 'padding': '0',\n 'minWidth': '0',\n 'overflow': 'hidden',\n })),\n transition('void <=> *', animate(speed))\n ];\n}\n\n\n// fade and show animations\nexport const showFade = [\n state('void', style({\n 'opacity': '0',\n })),\n transition('void <=> *', animate(400)),\n];\nexport const getShowFade = function (speed: number = 400): any[] {\n return [\n state('void', style({\n 'opacity': '0',\n })),\n transition('void <=> *', animate(speed)),\n ];\n}\n\n// rotate \nexport const rotateCreateAuto = [\n state('void', style({\n 'transform': 'scale(.6) rotateZ(180deg)',\n })),\n transition('void => *', animate(300))\n];\nexport const rotateReverseCreateAuto = [\n state('void', style({\n 'transform': 'scale(.6) rotateZ(-180deg)',\n })),\n transition('void => *', animate(300))\n];\nexport const rotateVoidAuto = [\n state('void', style({\n 'transform': 'scale(.6) rotateZ(180deg)'\n })),\n transition('* => void', animate(300))\n];","import { Injectable } from '@angular/core';\nimport { UrlService } from '../url.service';\n\n@Injectable()\nexport class BackgroundService {\n static setBackground(form: any, dir: string, isFullpage: boolean = true) {\n if (!form.backgroundImageUrl) form.backgroundImageStyle = {};\n else {\n form.backgroundImageStyle = {\n 'backgroundImage': 'url(\\'' + UrlService.URLS[dir] + form.backgroundImageUrl + '\\')',\n 'backgroundAttachment': form.fixedBackground ? isFullpage ? 'fixed' : 'scroll' : '',\n 'backgroundPosition': form.centeredBackground ? 'center ' : 'top',\n 'backgroundRepeat': form.repeatBackground ? 'repeat' : 'no-repeat',\n 'backgroundSize': form.coverBackground ? 'cover' : '',\n }\n }\n }\n}","import { ElementRef, Inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';\n\n// for chart\nimport * as am4core from \"@amcharts/amcharts4/core\";\nimport * as am4charts from \"@amcharts/amcharts4/charts\";\n// import am4themes_animated from \"@amcharts/amcharts4/themes/animated\";\n// import am4themes_material from \"@amcharts/amcharts4/themes/material\";\nimport am4themes_kelly from \"@amcharts/amcharts4/themes/kelly\";\nimport { element } from 'protractor';\n\n// interface for series\nexport interface ISeriesChart {\n title: string;\n dataField: string;\n}\n\n// interface for chart data\nexport interface IChartData {\n x: string | number;\n y: string | number;\n}\n\n// interface for multi items chart data\nexport interface IMultiItemChartData {\n category: string | number;\n [index: string]: string | number;\n}\n\n@Injectable()\nexport class ChartService {\n constructor(@Inject(PLATFORM_ID) private platformId, private zone: NgZone) { }\n // global setting chart \n setGlobalSetting(chart: any) {\n chart.logo.disabled = true;\n }\n // max width label equal to column\n findLabelWidth(ev) {\n let axis = ev.target;\n let cellWidth = axis.pixelWidth / (axis.endIndex - axis.startIndex);\n axis.renderer.labels.template.maxWidth = Math.floor(cellWidth * axis.zoomFactor);\n }\n\n // line charts\n createLineChart(\n config: { element: ElementRef; },\n data: IChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n\n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'x';\n categoryAxis.tooltip.disabled = true;\n // show grid location\n categoryAxis.renderer.grid.template.hidden = true;\n // start and end grid set\n // categoryAxis.startLocation = 0.2;\n // categoryAxis.endLocation = 0.8;\n\n // set yAxis\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = true;\n valueAxis.dataFields.data = 'y';\n\n // label\n let label = categoryAxis.renderer.labels.template;\n categoryAxis.events.on(\"sizechanged\", this.findLabelWidth);\n categoryAxis.events.on(\"endchanged\", this.findLabelWidth);\n categoryAxis.renderer.minGridDistance = 20;\n label.truncate = true;\n\n // create series for show data\n let series = chart.series.push(new am4charts.LineSeries());\n series.dataFields.categoryX = 'x';\n series.dataFields.valueY = 'y';\n series.strokeWidth = 3;\n // for curved\n series.tensionX = .8;\n // tooltip series\n series.tooltipHTML = '{categoryX} : ({valueY.percent}%) {valueY} ' + postLabel + ' ';\n\n // set bullet\n let bullet = series.bullets.push(new am4charts.CircleBullet());\n bullet.strokeWidth = 1;\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarX.marginBottom = 20;\n\n return chart;\n }\n\n // multi line charts\n createMultiLineChart(\n config: { element: ElementRef; },\n chartSeries: ISeriesChart[],\n data: IMultiItemChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n\n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n // chart.colors.step = 3;\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'category';\n categoryAxis.tooltip.disabled = true;\n // show grid location\n categoryAxis.renderer.grid.template.hidden = true;\n\n // label\n let label = categoryAxis.renderer.labels.template;\n categoryAxis.events.on(\"sizechanged\", this.findLabelWidth);\n categoryAxis.events.on(\"endchanged\", this.findLabelWidth);\n categoryAxis.renderer.minGridDistance = 20;\n label.truncate = true;\n\n // set yAxis\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = true;\n\n // create series for show data\n if (chartSeries) {\n for (let seriesItem of chartSeries) {\n let series = chart.series.push(new am4charts.LineSeries());\n\n // set data\n series.dataFields.valueY = seriesItem.dataField;\n series.dataFields.categoryX = 'category';\n series.name = seriesItem.title;\n series.strokeWidth = 3;\n // for curved\n series.tensionX = .8;\n\n // for get percent\n series.calculatePercent = true;\n\n // tooltip series\n series.tooltipHTML = '{categoryX} - {name} : ({valueY.percent}%) {valueY} ' + postLabel + ' ';\n\n // set bullet\n let bullet = series.bullets.push(new am4charts.CircleBullet());\n bullet.strokeWidth = 1;\n }\n }\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarX.marginBottom = 20;\n\n return chart;\n }\n\n // bar chart\n createBarChart(\n config: { element: ElementRef; },\n data: IChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n \n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'x';\n categoryAxis.tooltip.disabled = true;\n // show grid location\n categoryAxis.renderer.grid.template.hidden = true;\n\n // label\n let label = categoryAxis.renderer.labels.template;\n categoryAxis.events.on(\"sizechanged\", this.findLabelWidth);\n categoryAxis.events.on(\"endchanged\", this.findLabelWidth);\n categoryAxis.renderer.minGridDistance = 20;\n label.truncate = true; \n\n // set yAxis\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = true;\n valueAxis.dataFields.data = 'y';\n\n // create series for show data\n let series = chart.series.push(new am4charts.ColumnSeries());\n series.dataFields.categoryX = 'x';\n series.dataFields.valueY = 'y';\n series.strokeWidth = 0;\n // set corner radius for columns\n series.columns.template.column.cornerRadiusTopLeft = 4;\n series.columns.template.column.cornerRadiusTopRight = 4;\n\n // for get percent\n series.calculatePercent = true;\n\n // tooltip series\n series.tooltipHTML = '{categoryX} : ({valueY.percent}%) {valueY} ' + postLabel + ' ';\n // for change each color column in series\n series.columns.template.adapter.add(\"fill\", function(fill, target) {\n return chart.colors.getIndex(target.dataItem.index);\n });\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarX.marginBottom = 20;\n\n return chart;\n }\n\n // multi bar chart\n createMultiBarChart(\n config: { element: ElementRef; },\n chartSeries: ISeriesChart[],\n data: IMultiItemChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n\n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n // chart.colors.step = 3;\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'category';\n categoryAxis.tooltip.disabled = false;\n // show grid location for series\n categoryAxis.renderer.cellEndLocation = 0.9\n categoryAxis.renderer.cellStartLocation = 0.1\n categoryAxis.renderer.grid.template.location = 0;\n\n // label\n let label = categoryAxis.renderer.labels.template;\n categoryAxis.events.on(\"sizechanged\", this.findLabelWidth);\n categoryAxis.events.on(\"endchanged\", this.findLabelWidth);\n categoryAxis.renderer.minGridDistance = 20;\n label.truncate = true;\n\n // set yAxis\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = false;\n valueAxis.min = 0;\n\n // for center columns after show and hide\n let arrangeColumns = function () {\n // get first series\n let series = chart.series.getIndex(0);\n\n // find width between cells\n let w = 1 - categoryAxis.renderer.cellStartLocation - (1 - categoryAxis.renderer.cellEndLocation);\n if (series.dataItems.length > 1) {\n let x0 = categoryAxis.getX(series.dataItems.getIndex(0), \"categoryX\");\n let x1 = categoryAxis.getX(series.dataItems.getIndex(1), \"categoryX\");\n let delta = ((x1 - x0) / chart.series.length) * w;\n if (am4core.isNumber(delta)) {\n let middle = chart.series.length / 2;\n\n let newIndex = 0;\n chart.series.each(function (series) {\n if (!series.isHidden && !series.isHiding) {\n series.dummyData = newIndex;\n newIndex++;\n }\n else {\n series.dummyData = chart.series.indexOf(series);\n }\n })\n let visibleCount = newIndex;\n let newMiddle = visibleCount / 2;\n\n chart.series.each(function (series) {\n let trueIndex = chart.series.indexOf(series);\n let newIndex = series.dummyData;\n\n let dx = (newIndex - trueIndex + middle - newMiddle) * delta\n\n series.animate({ property: \"dx\", to: dx }, series.interpolationDuration, series.interpolationEasing);\n series.bulletsContainer.animate({ property: \"dx\", to: dx }, series.interpolationDuration, series.interpolationEasing);\n })\n }\n }\n }\n\n // create series and show data\n if (chartSeries) {\n for (let seriesItem of chartSeries) {\n let series = chart.series.push(new am4charts.ColumnSeries());\n\n // set data\n series.dataFields.valueY = seriesItem.dataField;\n series.dataFields.categoryX = 'category';\n series.name = seriesItem.title;\n // set radius\n series.columns.template.column.cornerRadiusTopLeft = 4;\n series.columns.template.column.cornerRadiusTopRight = 4;\n\n // for get percent\n series.calculatePercent = true;\n\n // after show and hide with legend set center columns\n series.events.on(\"hidden\", arrangeColumns);\n series.events.on(\"shown\", arrangeColumns);\n\n // set tooltip\n series.tooltipHTML = '{categoryX} - {name} : ({valueY.percent}%) {valueY} ' + postLabel + ' ';\n }\n }\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarX.marginBottom = 20;\n\n // leged \n chart.legend = new am4charts.Legend();\n\n return chart;\n }\n\n // horizontal bar chart\n createHorizontalBarChart(\n config: { element: ElementRef; },\n data: IChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n\n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.yAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'x';\n categoryAxis.tooltip.disabled = true;\n // show grid location\n categoryAxis.renderer.grid.template.hidden = true;\n\n // label\n let label = categoryAxis.renderer.labels.template;\n categoryAxis.renderer.minGridDistance = 20;\n label.truncate = true;\n label.maxWidth = 120;\n\n // set yAxis\n let valueAxis = chart.xAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = true;\n valueAxis.dataFields.data = 'y';\n\n // create series for show data\n let series = chart.series.push(new am4charts.ColumnSeries());\n series.dataFields.categoryY = 'x';\n series.dataFields.valueX = 'y';\n series.strokeWidth = 0;\n // set corner radius for columns\n series.columns.template.column.cornerRadiusBottomRight = 4;\n series.columns.template.column.cornerRadiusTopRight = 4;\n\n // for get percent\n series.calculatePercent = true;\n\n // tooltip series\n series.tooltipHTML = '{categoryY} : ({valueX.percent}%) {valueX} ' + postLabel + ' ';\n // for change each color column in series\n series.columns.template.adapter.add(\"fill\", function (fill, target) {\n return chart.colors.getIndex(target.dataItem.index);\n });\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarY = new am4core.Scrollbar();\n chart.scrollbarY.marginLeft = 20;\n\n return chart;\n }\n\n // horizontal multi bar chart\n createHorizontalMultiBarChart(\n config: { element: ElementRef; },\n chartSeries: ISeriesChart[],\n data: IMultiItemChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n\n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n // chart.colors.step = 3;\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.yAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'category';\n categoryAxis.tooltip.disabled = false;\n // show grid location for series\n categoryAxis.renderer.cellEndLocation = 0.9\n categoryAxis.renderer.cellStartLocation = 0.1\n categoryAxis.renderer.grid.template.location = 0;\n\n // label\n let label = categoryAxis.renderer.labels.template;\n categoryAxis.renderer.minGridDistance = 20;\n label.truncate = true;\n label.maxWidth = 120;\n\n // set yAxis\n let valueAxis = chart.xAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = false;\n valueAxis.min = 0;\n // hide grid value axis\n // valueAxis.renderer.grid.template.hidden = true;\n\n let arrangeColumns = function () {\n let series = chart.series.getIndex(0);\n\n let w = 1 - categoryAxis.renderer.cellStartLocation - (1 - categoryAxis.renderer.cellEndLocation);\n if (series.dataItems.length > 1) {\n let x0 = categoryAxis.getY(series.dataItems.getIndex(0), \"categoryY\");\n let x1 = categoryAxis.getY(series.dataItems.getIndex(1), \"categoryY\");\n let delta = ((x1 - x0) / chart.series.length) * w;\n if (am4core.isNumber(delta)) {\n let middle = chart.series.length / 2;\n\n let newIndex = 0;\n chart.series.each(function (series) {\n if (!series.isHidden && !series.isHiding) {\n series.dummyData = newIndex;\n newIndex++;\n }\n else {\n series.dummyData = chart.series.indexOf(series);\n }\n })\n let visibleCount = newIndex;\n let newMiddle = visibleCount / 2;\n\n chart.series.each(function (series) {\n let trueIndex = chart.series.indexOf(series);\n let newIndex = series.dummyData;\n\n let dy = (newIndex - trueIndex + middle - newMiddle) * delta\n\n series.animate({ property: \"dy\", to: dy }, series.interpolationDuration, series.interpolationEasing);\n series.bulletsContainer.animate({ property: \"dy\", to: dy }, series.interpolationDuration, series.interpolationEasing);\n })\n }\n }\n }\n\n // create series and show data\n if (chartSeries) {\n for (let seriesItem of chartSeries) {\n let series = chart.series.push(new am4charts.ColumnSeries());\n\n // set data\n series.dataFields.valueX = seriesItem.dataField;\n series.dataFields.categoryY = 'category';\n series.name = seriesItem.title;\n // set radius\n series.columns.template.column.cornerRadiusBottomRight = 4;\n series.columns.template.column.cornerRadiusTopRight = 4;\n\n // for get percent\n series.calculatePercent = true;\n\n // after show and hide with legend set center columns\n series.events.on(\"hidden\", arrangeColumns);\n series.events.on(\"shown\", arrangeColumns);\n\n // set tooltip\n series.tooltipHTML = '{categoryY} - {name} : ({valueX.percent}%) {valueX} ' + postLabel + ' ';\n }\n }\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarY = new am4core.Scrollbar();\n chart.scrollbarY.marginLeft = 20;\n\n // leged \n chart.legend = new am4charts.Legend();\n\n return chart;\n }\n\n // create area chart\n createAreaChart(\n config: { element: ElementRef; },\n chartSeries: ISeriesChart[],\n data: IMultiItemChartData[],\n postLabel: string = '',\n ) {\n // use theme\n am4core.useTheme(am4themes_kelly);\n\n // create chart and set global setting\n let chart = am4core.create(config.element.nativeElement, am4charts.XYChart);\n this.setGlobalSetting(chart);\n // for series change color steps\n // chart.colors.step = 3;\n chart.rtl = true;\n\n // set data\n chart.data = data;\n\n // set xAxis\n let categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());\n categoryAxis.dataFields.category = 'category';\n categoryAxis.tooltip.disabled = true;\n // for set fullWidth area\n categoryAxis.renderer.grid.template.location = 0;\n categoryAxis.startLocation = 0.5;\n categoryAxis.endLocation = 0.5;\n\n // set yAxis\n let valueAxis = chart.yAxes.push(new am4charts.ValueAxis());\n valueAxis.tooltip.disabled = true;\n // set min and max and calculate form total values for get percent\n valueAxis.min = 0;\n valueAxis.max = 100;\n valueAxis.strictMinMax = true;\n valueAxis.calculateTotals = true;\n // set after label value axis percent\n valueAxis.renderer.labels.template.adapter.add(\"text\", function (text) {\n return text + \"%\";\n });\n\n // create series\n if (chartSeries) {\n for (let seriesItem of chartSeries) {\n let series = chart.series.push(new am4charts.LineSeries());\n\n\n // set data\n series.dataFields.valueY = seriesItem.dataField;\n series.dataFields.categoryX = 'category';\n series.name = seriesItem.title;\n series.strokeWidth = 3;\n // for total percent show in value y show in hover \n series.dataFields.valueYShow = 'totalPercent';\n\n // for get percent\n series.calculatePercent = true;\n\n // set stroke color for series\n series.stroke = am4core.color('#ffffff');\n\n // set series formatt\n // series.numberFormatter.numberFormat = '#,###.';\n\n // for border area and bullet\n let bullet = series.bullets.push(new am4charts.CircleBullet());\n bullet.stroke = am4core.color('#ffffff');\n bullet.strokeWidth = 2;\n\n // show all series in hover\n series.stacked = true;\n\n // set opacity for background area\n series.fillOpacity = .9;\n\n // set tooltip\n series.tooltipHTML = '{categoryX} - {name} : ({valueY.percent}%) {valueY} ' + postLabel + ' ';\n series.tooltip.background.fill = am4core.color('#ffffff');\n // set equal fill series and stroke and not equal background\n series.tooltip.getStrokeFromObject = true;\n series.tooltip.getFillFromObject = false;\n series.tooltip.strokeWidth = 3;\n }\n }\n\n // cursor\n chart.cursor = new am4charts.XYCursor;\n\n // scrollabe\n chart.scrollbarX = new am4core.Scrollbar();\n chart.scrollbarX.marginBottom = 20;\n\n // legend\n chart.legend = new am4charts.Legend();\n\n return chart;\n }\n\n // create pie chart\n createPieChart(\n config: { element: ElementRef; },\n data: IChartData[],\n postLabel: string = '',\n ) {\n // Themes begin\n am4core.useTheme(am4themes_kelly);\n // Themes end\n\n // Create chart instance\n let chart = am4core.create(config.element.nativeElement, am4charts.PieChart);\n this.setGlobalSetting(chart);\n chart.rtl = true;\n\n // Add data\n chart.data = data;\n\n // create series\n let pieSeries = chart.series.push(new am4charts.PieSeries());\n pieSeries.dataFields.category = 'x';\n pieSeries.dataFields.value = 'y';\n // for space slice color\n pieSeries.slices.template.stroke = am4core.color(\"#fff\");\n pieSeries.slices.template.strokeOpacity = .2;\n // hide static labels\n pieSeries.ticks.template.disabled = true;\n pieSeries.labels.template.disabled = true;\n\n // This creates initial animation\n pieSeries.hiddenState.properties.opacity = 1;\n pieSeries.hiddenState.properties.endAngle = -90;\n pieSeries.hiddenState.properties.startAngle = -90;\n\n chart.hiddenState.properties.radius = am4core.percent(0);\n\n // tooltip \n pieSeries.slices.template.tooltipHTML = '{category} : ({value.percent}%) {value} ' + postLabel + ' ';\n\n // for show legent\n pieSeries.legendSettings.labelText = ': {category}';\n pieSeries.legendSettings.valueText = '{value}';\n chart.legend = new am4charts.Legend();\n\n return chart;\n }\n \n // create pie chart\n createMultiPieChart(\n config: { element: ElementRef; },\n chartSeries: ISeriesChart[],\n data: IMultiItemChartData[],\n postLabel: string = '',\n ) {\n // Themes begin\n am4core.useTheme(am4themes_kelly);\n // Themes end\n\n // Create chart instance\n let chart = am4core.create(config.element.nativeElement, am4charts.PieChart);\n this.setGlobalSetting(chart);\n chart.rtl = true;\n\n let selected;\n let baseData = [];\n if (chartSeries) {\n // create for each series one slice\n chartSeries.forEach((series, index) => {\n let newData = {\n color: chart.colors.getIndex(index),\n category: series.title,\n subs: [],\n count: 0\n };\n // create form base categories for sub slices\n data.forEach(dataItem => {\n newData.count += Number(dataItem[series.dataField]);\n newData.subs.push({\n category: dataItem.category,\n count: dataItem[series.dataField]\n });\n });\n baseData.push(newData);\n })\n }\n\n // create series\n let pieSeries = chart.series.push(new am4charts.PieSeries());\n pieSeries.dataFields.category = 'category';\n pieSeries.dataFields.value = 'count';\n // for space slice color\n pieSeries.slices.template.stroke = am4core.color(\"#fff\");\n pieSeries.slices.template.strokeOpacity = .2;\n // hide static labels\n pieSeries.ticks.template.disabled = true;\n pieSeries.labels.template.disabled = true;\n\n // This creates initial animation\n pieSeries.hiddenState.properties.opacity = 1;\n pieSeries.hiddenState.properties.endAngle = -90;\n pieSeries.hiddenState.properties.startAngle = -90;\n\n // for set insede colors\n pieSeries.slices.template.propertyFields.fill = \"color\";\n // pieSeries.slices.template.propertyFields.visible = \"hidden\";\n pieSeries.slices.template.propertyFields.isActive = \"pulled\";\n\n chart.hiddenState.properties.radius = am4core.percent(0);\n\n pieSeries.slices.template.tooltipHTML = '{category} : ({value.percent}%) {value} ' + postLabel + ' ';\n\n // generate for selected data\n let generateChartData = function () {\n // console.log(chart.data);\n let chartData = [];\n for (var i = 0; i < baseData.length; i++) {\n if (i == selected) {\n for (var x = 0; x < baseData[i].subs.length; x++) {\n chartData.push({\n category: baseData[i].subs[x].category,\n count: baseData[i].subs[x].count,\n color: baseData[i].color,\n pulled: true\n });\n }\n } else {\n baseData[i]['id'] = i;\n let slice = {\n category: baseData[i].category,\n count: baseData[i].count,\n // hidden: baseData[i].hidden,\n color: baseData[i].color,\n id: i\n }\n chartData.push(slice);\n }\n }\n return chartData;\n }\n\n // for select slice show inside on\n pieSeries.slices.template.events.on(\"hit\", function (event) {\n if (event.target.dataItem.dataContext['id'] != undefined)\n selected = event.target.dataItem.dataContext['id'];\n else selected = undefined;\n chart.data = generateChartData();\n });\n\n // add data\n chart.data = generateChartData();\n\n // for show legent\n // pieSeries.legendSettings.labelText = ': {category}';\n // pieSeries.legendSettings.valueText = '{value}';\n // chart.legend = new am4charts.Legend();\n\n return chart;\n }\n\n // create variable pie chart\n createVariablePieChart(\n config: { element: ElementRef; },\n data: IChartData[],\n postLabel: string = '',\n ) {\n // Themes begin\n am4core.useTheme(am4themes_kelly);\n // Themes end\n\n // Create chart instance\n let chart = am4core.create(config.element.nativeElement, am4charts.PieChart);\n this.setGlobalSetting(chart);\n chart.rtl = true;\n\n // Add data\n chart.data = data;\n\n // create series\n let pieSeries = chart.series.push(new am4charts.PieSeries());\n pieSeries.dataFields.category = 'x';\n pieSeries.dataFields.value = 'y';\n // for space slice color\n pieSeries.slices.template.stroke = am4core.color(\"#fff\");\n pieSeries.slices.template.strokeOpacity = .2;\n // set empty center\n chart.innerRadius = am4core.percent(30);\n // set variable slices \n pieSeries.dataFields.radiusValue = 'y';\n // hide static labels\n pieSeries.ticks.template.disabled = true;\n pieSeries.labels.template.disabled = true;\n\n // This creates initial animation\n pieSeries.hiddenState.properties.opacity = 1;\n pieSeries.hiddenState.properties.endAngle = -90;\n pieSeries.hiddenState.properties.startAngle = -90;\n\n chart.hiddenState.properties.radius = am4core.percent(0);\n\n // tooltip \n pieSeries.slices.template.tooltipHTML = '{category} : ({value.percent}%) {value} ' + postLabel + ' ';\n\n // for show legent\n pieSeries.legendSettings.labelText = ': {category}';\n pieSeries.legendSettings.valueText = '{value}';\n chart.legend = new am4charts.Legend();\n\n return chart;\n }\n}","import { Injectable, ComponentFactoryResolver, ViewContainerRef, ChangeDetectorRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\n// components\nimport { RadioButtonComponent } from 'src/app/form-tools/radio-button/radio-button.component';\nimport { DescriptionComponent } from 'src/app/form-tools/description/description.component';\nimport { PrevButtonComponent } from 'src/app/form-tools/prev-button/prev-button.component';\nimport { NextButtonComponent } from 'src/app/form-tools/next-button/next-button.component';\nimport { SelectBoxComponent } from 'src/app/form-tools/select-box/select-box.component';\nimport { BreakLineComponent } from 'src/app/form-tools/break-line/break-line.component';\nimport { CheckBoxComponent } from 'src/app/form-tools/check-box/check-box.component';\nimport { PasswordComponent } from 'src/app/form-tools/password/password.component';\nimport { TextareaComponent } from 'src/app/form-tools/textarea/textarea.component';\nimport { TextBoxComponent } from 'src/app/form-tools/text-box/text-box.component';\nimport { SubmitComponent } from 'src/app/form-tools/submit/submit.component';\nimport { NumberComponent } from 'src/app/form-tools/number/number.component';\nimport { RangeComponent } from 'src/app/form-tools/range/range.component';\nimport { EmailComponent } from 'src/app/form-tools/email/email.component';\nimport { DateComponent } from 'src/app/form-tools/date/date.component';\nimport { TimeComponent } from 'src/app/form-tools/time/time.component';\nimport { UrlComponent } from 'src/app/form-tools/url/url.component';\nimport { ESurveyTool, ETool } from 'src/app/models/form.enum';\nimport { FormSubmitService } from './form-submit.service';\nimport { StarComponent } from 'src/app/form-tools/star/star.component';\nimport { MatrixComponent } from 'src/app/form-tools/matrix/matrix.component';\nimport { UploadComponent } from 'src/app/form-tools/upload/upload.component';\n\n@Injectable()\nexport class CreateComponentService {\n constructor(private CFResolver: ComponentFactoryResolver) { }\n // create component\n create(\n component: any,\n containerRef: ViewContainerRef,\n formForSubmit: FormSubmitService,\n applyCondition = false,\n isSurveyForm: boolean = false,\n ) {\n // find compoennt name\n let componentName;\n if(isSurveyForm) componentName = this.getSurveyComponentName(component.componentType);\n else componentName = this.getComponentName(component.componentType);\n\n // create\n let newComponent = this.CFResolver.resolveComponentFactory(componentName);\n\n // add to themplate \n containerRef.clear();\n const createdComponent = containerRef.createComponent(newComponent);\n\n // send inputs\n createdComponent.instance['config'] = component;\n\n // for render component\n createdComponent.instance['form'] = formForSubmit;\n createdComponent.instance['isSurveyForm'] = isSurveyForm;\n createdComponent.instance['applyCondition'] = applyCondition;\n\n // for bind outputs component\n return Observable.create(observe => {\n createdComponent.instance['change'].subscribe(\n config => observe.next(config)\n );\n });\n }\n // get enum tool and return componnet name\n getComponentName(tool: ETool) {\n switch (tool) {\n case ETool.RADIO_BUTTON: return RadioButtonComponent;\n case ETool.DESCRIPTION: return DescriptionComponent;\n case ETool.PREV_BUTTON: return PrevButtonComponent;\n case ETool.NEXT_BUTTON: return NextButtonComponent;\n case ETool.SUBMIT_BUTTON: return SubmitComponent;\n case ETool.SELECT_BOX: return SelectBoxComponent;\n case ETool.BREAKLINE: return BreakLineComponent;\n case ETool.CHECK_BOX: return CheckBoxComponent;\n case ETool.PASSWORD: return PasswordComponent;\n case ETool.TEXTAREA: return TextareaComponent;\n case ETool.TEXT_BOX: return TextBoxComponent;\n case ETool.INPUT_TIME: return TimeComponent;\n case ETool.INPUT_DATE: return DateComponent;\n case ETool.NUMBER: return NumberComponent;\n case ETool.UPLOAD: return UploadComponent;\n case ETool.RANGE: return RangeComponent;\n case ETool.EMAIL: return EmailComponent;\n case ETool.URL: return UrlComponent;\n\n default: return null;\n }\n }\n // for survey forms\n getSurveyComponentName(tool: ESurveyTool) {\n switch (tool) {\n // case ESurveyTool.MULTI_INPUT_MATRIX: return .;\n case ESurveyTool.RADIO_BUTTON: return RadioButtonComponent;\n case ESurveyTool.DESCRIPTION: return DescriptionComponent;\n case ESurveyTool.PREV_BUTTON: return PrevButtonComponent;\n case ESurveyTool.NEXT_BUTTON: return NextButtonComponent;\n case ESurveyTool.SUBMIT_BUTTON: return SubmitComponent;\n case ESurveyTool.SELECT_BOX: return SelectBoxComponent;\n case ESurveyTool.CHECK_BOX: return CheckBoxComponent;\n case ESurveyTool.TEXTAREA: return TextareaComponent;\n case ESurveyTool.TEXT_BOX: return TextBoxComponent;\n case ESurveyTool.INPUT_TIME: return TimeComponent;\n case ESurveyTool.INPUT_DATE: return DateComponent;\n case ESurveyTool.NUMBER: return NumberComponent;\n case ESurveyTool.MATRIX: return MatrixComponent;\n case ESurveyTool.RANGE: return RangeComponent;\n case ESurveyTool.EMAIL: return EmailComponent;\n case ESurveyTool.STAR: return StarComponent;\n case ESurveyTool.URL: return UrlComponent;\n\n default: return null;\n }\n }\n}","import { Injectable, Inject } from '@angular/core';\n\n@Injectable()\nexport class CreateNameToolService {\n\n private currentNameIndex: number = 0;\n private registerNames: string[] = [];\n\n constructor(@Inject(String) private defaultNamePrefix: string) { }\n existName(name: string) {\n return this.registerNames.findIndex(item => item === name) !== -1;\n }\n createName() {\n return this.defaultNamePrefix + ++this.currentNameIndex;\n }\n setName(name: string) {\n if (name) this.registerNames.push(name);\n }\n}","import { Injectable } from '@angular/core';\nimport moment from 'moment-jalaali';\n\n@Injectable()\nexport class DateService {\n // 0 equal\n // -1 if first lesser than second\n // 1 if first grater than second\n // -2 one item empty send\n static compare(firstDate: string, secondDate: string) {\n if (!firstDate || !secondDate) return -2;\n let date1 = moment(firstDate, 'jYYYY/jM/jD')['_d'].getTime();\n let date2 = moment(secondDate, 'jYYYY/jM/jD')['_d'].getTime();\n\n if (date1 < date2) return -1;\n else if (date1 > date2) return 1;\n else return 0;\n }\n static valid(date: string) {\n return moment(date, 'jYYYY/jM/jD').isValid();\n }\n\n // get days with month and months\n static getDayes(year: number, month: number): number {\n if (month <= 6) return 31;\n else if (month < 12) return 30;\n else if (month == 12) return moment.jIsLeapYear(year) ? 29 : 30;\n else console.error('month not correct!');\n }\n}","import { Injectable } from \"@angular/core\";\nimport { Subject } from 'rxjs';\n\nimport { OverlayService } from './overlay.service';\nimport { ITool } from 'src/app/form-build/create-form/tools/tools.component';\n\n@Injectable()\nexport class DragAndDropService {\n\n // drag events\n draging: boolean = false;\n _dragStart = new Subject();\n\n // selected tool\n tool: ITool;\n\n constructor(private overlayService: OverlayService) { }\n\n dragStart(event: MouseEvent, tool: ITool, width: number) {\n this.tool = tool;\n this.tool.width = width;\n\n this.draging = true;\n this.overlayService.show();\n setTimeout(() => this._dragStart.next(event));\n }\n drop(): any {\n let componentType = this.tool.component;\n delete this.tool;\n\n this.draging = false;\n this.overlayService.hide();\n \n return componentType;\n }\n}","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ErrorMessageService {\n static message: string = '';\n static previousUrl: any;\n static navigateUrl: {\n url: string;\n fragment?: string;\n queryParams?: string;\n } = { url: '' };\n}","import { ChangeDetectorRef, EventEmitter, Injectable } from '@angular/core';\n\nimport { EApplyFormType, EOperation, ESurveyTool, ETool } from 'src/app/models/form.enum';\nimport { IToolConfig } from 'src/app/models/form.interface';\nimport { DateService } from './date.service';\nimport { TimeService } from './time.service';\n\n\n@Injectable()\nexport class FormSubmitService {\n userInputs: {\n [index: string]: {\n readonly componentName: string;\n status: 'INVALID' | 'VALID' | string;\n config: IToolConfig,\n priceValue?: number;\n pageId: number;\n value: string;\n show: boolean;\n // for check box\n options: {\n [index: string]: {\n status?: 'INVALID' | 'VALID' | string;\n checked?: boolean;\n priceValue?: number;\n value: string;\n }\n };\n }\n } = {};\n pagesInfo: {\n [index: string]: {\n id: number,\n valid: boolean,\n componentsId: any[],\n }\n } = {};\n submitId: number;\n formData: any = {};\n\n price: number;\n valid: boolean = false;\n isSending: boolean = false;\n\n _matrixItemAdd = new EventEmitter();\n _ConditionsApplied = new EventEmitter();\n\n constructor(private cdRef: ChangeDetectorRef) { }\n\n // check condition\n checkCondition(config: IToolConfig) {\n if (!config.conditions || !config.conditions.length) {\n this.userInputs[config.id].show = true;\n }\n let mergedCondition = '';\n let len = config.conditions.length - 1;\n\n config.conditions.forEach((condition, index) => {\n mergedCondition += condition.conditionText;\n if (index !== len)\n mergedCondition += ' || ';\n });\n this.userInputs[config.id].show = !eval(mergedCondition);\n }\n checkConditions() {\n for (const key in this.userInputs) {\n if (Object.prototype.hasOwnProperty.call(this.userInputs, key)) {\n this.checkCondition(this.userInputs[key].config);\n }\n }\n this._ConditionsApplied.emit();\n // for changed applied\n this.cdRef.detectChanges();\n this.isFormValid();\n // ;\n if (this.formData.applyFormType === EApplyFormType.PAYMENT && this.formData.formulaString) this.setPrice();\n this.setQuestionNumbers();\n }\n setQuestionNumbers() {\n let questionIndex = 0;\n for (const key in this.userInputs) {\n if (this.userInputs.hasOwnProperty(key)) {\n if (this.userInputs[key].show && !this.userInputs[key].config.isDescription) {\n questionIndex++;\n this.userInputs[key].config.questionIndex = questionIndex;\n }\n }\n }\n }\n compareDate(firstDate: string, secondDate: string) {\n return DateService.compare(firstDate, secondDate);\n }\n compareTime(firstTime: string, secondTime: string) {\n return TimeService.compare(firstTime, secondTime);\n }\n compareRange(currentValue: string, firstValue: string, secondValue: string) {\n if (!currentValue) return false;\n let value = currentValue.split('::');\n if (firstValue && secondValue && Number(firstValue) < Number(value[0]) && Number(secondValue) > Number(value[1])) return true;\n else return false;\n }\n checkMatrixValue(componentId: string, valueId: string, operation: EOperation, conditionValue: string) {\n if (operation == EOperation.EQUAL) {\n if (!componentId || !valueId) return false;\n return this.userInputs[componentId].options[valueId].value == conditionValue;\n }\n else if (operation == EOperation.NOT) {\n if (!componentId || !valueId) return true;\n return this.userInputs[componentId].options[valueId].value != conditionValue;\n }\n }\n checkOptionCondition(config: any, operation: EOperation, firstValue: string) {\n if (operation === EOperation.EQUAL) {\n if (!config.value) return false;\n return config.value == firstValue;\n }\n else if (operation === EOperation.NOT) {\n if (!config.value) return true;\n return config.value != firstValue;\n }\n }\n\n // add information\n setPagesInfo(id: number) {\n this.pagesInfo[id] = {\n componentsId: [],\n valid: false,\n id: id,\n }\n }\n setComponentInfo(config: IToolConfig) {\n let optionsObj = null;\n if (config.values && config.values.length) {\n optionsObj = {}\n config.values.forEach(option => {\n optionsObj[option.value] = {\n value: option.value,\n checked: option.selected ? option.selected : false,\n priceValue: option.priceValue ? option.priceValue : 0\n }\n });\n }\n this.userInputs[config.id] = {\n componentName: config.name,\n pageId: config.pageInfo.id,\n options: optionsObj,\n config: config,\n priceValue: 0,\n status: null,\n value: null,\n show: true,\n }\n this.pagesInfo[config.pageInfo.id].componentsId.push(config.id);\n if (config.disableMode) {\n let item: any;\n // normal form\n if (this.formData.applyFormType) {\n switch (config.componentType) {\n case ETool.SELECT_BOX:\n item = config.values.find(value => value.selected);\n if (item) {\n this.userInputs[config.id].value = item.title; break;\n }\n case ETool.RADIO_BUTTON:\n item = config.values.find(value => value.selected);\n if (item) {\n this.userInputs[config.id].value = item.value; break;\n }\n default:\n this.userInputs[config.id].value = config.values[0].title;\n }\n }\n // survey forms\n else {\n switch (config.componentType) {\n case ESurveyTool.SELECT_BOX:\n item = config.values.find(value => value.selected);\n if (item) {\n this.userInputs[config.id].value = item.title; break;\n }\n case ESurveyTool.RADIO_BUTTON:\n item = config.values.find(value => value.selected);\n if (item) {\n this.userInputs[config.id].value = item.value; break;\n }\n default:\n this.userInputs[config.id].value = config.values[0].title;\n }\n }\n\n }\n // if is last component\n if (config.isLastComponent) this.checkConditions();\n }\n setCheckboxInfo(config: IToolConfig) {\n // check null values\n if (!config.values) config.values = [];\n // find options\n let optionsObj = {};\n config.values.forEach(option => {\n optionsObj[option.value] = {\n value: option.value,\n checked: option.selected ? option.selected : false,\n priceValue: option.priceValue ? option.priceValue : 0\n }\n });\n\n this.userInputs[config.id] = {\n componentName: config.name,\n pageId: config.pageInfo.id,\n options: optionsObj,\n status: 'VALID',\n config: config,\n value: null,\n show: true,\n }\n // if is last component\n if (config.isLastComponent) this.checkConditions();\n }\n setCheckboxOptionInfo(config: IToolConfig, option: any) {\n this.userInputs[config.id].options[option.value] = {\n priceValue: option.priceValue ? option.priceValue : 0,\n value: option.value,\n checked: false,\n }\n }\n setMatrixInfo(config: IToolConfig) {\n // find options\n let optionsObj = {};\n if (!config.values) config.values = [];\n config.values.forEach(option => {\n // set value component\n optionsObj[option.value] = {\n value: null,\n checked: true,\n }\n });\n\n this.userInputs[config.id] = {\n componentName: config.name,\n pageId: config.pageInfo.id,\n options: optionsObj,\n status: 'VALID',\n config: config,\n value: null,\n show: true,\n }\n this.pagesInfo[config.pageInfo.id].componentsId.push(config.id);\n // for disabled mode\n if (config.disableMode) {\n let item: any;\n // survey forms\n config.values.forEach(option => {\n item = option.subValues.find(value => value.selected);\n if (item) {\n this.userInputs[config.id].options[option.id].value = item.value;\n }\n });\n }\n // if is last component\n if (config.isLastComponent) this.checkConditions();\n }\n setMatrixItemInfo(config: IToolConfig, option: any) {\n this.userInputs[config.id].options[option.value] = {\n value: null,\n checked: true,\n }\n this._matrixItemAdd.emit(config.id);\n }\n setPriceComponent(config: IToolConfig) {\n let component = this.userInputs[config.id];\n if (component.options[component.value]) component.priceValue = component.options[component.value].priceValue;\n else component.priceValue = 0;\n }\n\n // check validation\n setValidation(config: IToolConfig, status: 'INVALID' | 'VALID' | string) {\n this.userInputs[config.id].status = status;\n this.cdRef.detectChanges();\n this.isFormValid();\n }\n setMatrixValidation(config: IToolConfig, option: any, status: 'INVALID' | 'VALID' | string) {\n this.userInputs[config.id].options[option.value].status = status;\n this.cdRef.detectChanges();\n if (status === 'INVALID') {\n this.userInputs[config.id].status = 'INVALID';\n this.isFormValid();\n return;\n }\n // set component status\n for (const optionId in this.userInputs[config.id].options) {\n if (this.userInputs[config.id].options.hasOwnProperty(optionId)) {\n // get current page\n let option = this.userInputs[config.id].options[optionId];\n // components page\n if (option.status === 'INVALID') {\n this.userInputs[config.id].status = 'INVALID';\n this.isFormValid();\n return;\n }\n }\n }\n this.userInputs[config.id].status = 'VALID';\n this.isFormValid();\n }\n\n // check formm validation\n isFormValid() {\n // console.log(this.userInputs)\n for (const pageId in this.pagesInfo) {\n if (this.pagesInfo.hasOwnProperty(pageId)) {\n // get current page\n let page = this.pagesInfo[pageId];\n // components page\n for (const id of page.componentsId) {\n if (this.userInputs[id].status === 'INVALID' && this.userInputs[id].show) {\n setTimeout(() => {\n this.valid = false;\n page.valid = false;\n });\n return;\n }\n }\n setTimeout(() => { page.valid = true; });\n }\n }\n setTimeout(() => { this.valid = true; });\n }\n\n // get object filled form for submit\n getFilledForm(): { formID: number, submitTime?: number, components: any[] } {\n let formFilled = {\n formID: this.formData.id,\n components: []\n }\n // create form filled\n for (const key in this.userInputs) {\n if (this.userInputs.hasOwnProperty(key)) {\n\n // for check box \n if (\n this.userInputs[key].options &&\n this.userInputs[key].config.componentType == ETool.CHECK_BOX\n ) {\n\n for (const [optionKey, optionObj] of Object.entries(this.userInputs[key].options)) {\n if (optionObj.checked && optionObj.value) {\n\n formFilled.components.push({\n componentName: this.userInputs[key].componentName,\n value: optionObj.value,\n });\n\n }\n }\n\n }\n else {\n if (this.userInputs[key].value) {\n formFilled.components.push({\n componentName: this.userInputs[key].componentName,\n value: this.userInputs[key].value,\n });\n }\n }\n\n }\n }\n return formFilled;\n }\n getFilledSurveyForm(): { formID: number, submitTime?: number, components: any[] } {\n ;\n let formFilled = {\n formID: this.formData.id,\n components: []\n }\n // create form filled\n for (const key in this.userInputs) {\n if (this.userInputs.hasOwnProperty(key)) {\n\n // for check box \n if (\n this.userInputs[key].options &&\n (this.userInputs[key].config.componentType == ESurveyTool.CHECK_BOX ||\n this.userInputs[key].config.componentType == ESurveyTool.MATRIX)\n ) {\n\n for (const [optionKey, optionObj] of Object.entries(this.userInputs[key].options)) {\n if (optionObj.checked && optionObj.value) {\n\n formFilled.components.push({\n componentName: this.userInputs[key].componentName,\n value: optionObj.value,\n });\n\n }\n }\n\n }\n else {\n if (this.userInputs[key].value) {\n formFilled.components.push({\n componentName: this.userInputs[key].componentName,\n value: this.userInputs[key].value,\n });\n }\n }\n\n }\n }\n return formFilled;\n }\n\n // formula\n setPrice() {\n this.price = eval(this.formData.formulaString);\n }\n getPriceComponentValue(componentId: any, optionId: number) {\n if (this.userInputs[componentId] && this.userInputs[componentId].options[optionId]) {\n let option = this.userInputs[componentId].options[optionId];\n if (option.checked && option.priceValue) return option.priceValue\n }\n return 0;\n }\n getPriceComponent(componentId: number) {\n if (this.userInputs[componentId]) {\n\n let component = this.userInputs[componentId];\n if (component.config.componentType === ETool.NUMBER) return component.value ? component.value : 0;\n else return component.priceValue ? component.priceValue : 0;\n\n }\n }\n}","import { Injectable } from \"@angular/core\";\n\n@Injectable() \nexport class OverlayService {\n display: boolean = false;\n \n constructor() { }\n show() {\n this.display = true;\n }\n hide() {\n this.display = false;\n }\n}","import { Injectable } from \"@angular/core\";\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmComponent } from 'src/app/components/confirm/confirm.component';\n\n@Injectable()\nexport class ShowMessageService {\n constructor(private dialog: MatDialog) { }\n proMessage() {\n if (!localStorage.getItem('pro-message')) {\n this.dialog.open(ConfirmComponent, {\n data: {\n title: 'قابلیت های مشخص شده با \"pro\" د شما میتوانید فعلا از این قابلیت ها استفاده کنید ولی در نهایت برای پابلیش کردن باید تعرفه ای که شامل این قابلیت هاست خریداری کنید',\n dontShowField: 'pro-message',\n isMessage: true,\n }\n })\n }\n }\n}","import { Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition, MatSnackBarConfig } from '@angular/material/snack-bar';\n\n@Injectable()\nexport class SnackBarService {\n\n constructor(private _snackbar: MatSnackBar) { }\n open(message: string, action: string = 'بستن', config?: MatSnackBarConfig) {\n // set default config\n let snakbarConfig: MatSnackBarConfig = {\n horizontalPosition: 'right',\n verticalPosition: 'top',\n panelClass: 'red',\n direction: 'rtl',\n duration: 6000,\n\n ...config\n }\n this._snackbar.open(message, action, snakbarConfig);\n }\n openSuccess(message: string, config?: MatSnackBarConfig, action: string = 'بستن') {\n // set default config\n let snakbarConfig: MatSnackBarConfig = {\n horizontalPosition: 'right',\n verticalPosition: 'top',\n panelClass: 'green',\n direction: 'rtl',\n duration: 6000,\n\n ...config\n }\n this._snackbar.open(message, action, snakbarConfig);\n }\n}","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class TimeService {\n // 0 equal\n // -1 if first lesser than second\n // 1 if first grater than second\n static compare(firstTime: string, secondTime: string) {\n if (!firstTime || !secondTime) return;\n let time1 = firstTime.split(':');\n let time2 = secondTime.split(':');\n\n if (time1[0] < time2[0] || (time1[0] === time1[0] && time1[1] < time2[1])) return -1;\n else if (time1[0] > time2[0] || (time1[0] === time1[0] && time1[1] > time2[1])) return 1;\n else return 0;\n }\n}","import { HttpInterceptor, HttpRequest, HttpHandler, HttpBackend, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { catchError } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { throwError } from 'rxjs';\n\nimport { ADMIN_PAGES } from './template-service/active-admin-pages.service';\nimport { SnackBarService } from './template-service/snackbar.service';\nimport { TokenService } from './token.service';\nimport { UserService } from './user.service';\nimport { UrlService } from './url.service';\n\n// service\n// import { UrlService } from './url.service';\n\n@Injectable()\nexport class TokenIntercepterService implements HttpInterceptor {\n constructor(\n private router: Router,\n private location: Location,\n private userService: UserService,\n private snackbar: SnackBarService,\n private tokenService: TokenService,\n ) { }\n // add token all request and redirect in error\n intercept(req: HttpRequest, next: HttpHandler) {\n let pathname = this.location['_platformLocation'].location.pathname;\n let isAdmin: boolean = false;\n let token: string;\n \n // find token\n if (ADMIN_PAGES.find(item => item === pathname)) {\n token = this.tokenService.getAdminToken();\n isAdmin = true;\n }\n else {\n token = this.tokenService.getToken();\n }\n // add token to request\n if (token) req = req.clone({ headers: req.headers.append('Authorization', 'Bearer ' + token) });\n\n return next.handle(req).pipe(\n catchError(error => {\n if (error.status === 401) {\n if(isAdmin) {\n // this.tokenService.removeAdminToken();\n window.location.href = UrlService.PANEL_URLS.login;\n }\n else {\n this.userService.logout();\n this.router.navigate(['/auth/login-register']);\n }\n }\n else if (error.status === 0) {\n let message = 'خطا در برقراری ارتباط';\n this.snackbar.open(message, 'بستن');\n }\n return throwError(error);\n })\n );\n }\n}","import { HttpInterceptor, HttpRequest, HttpHandler, HttpBackend, HttpClient, HttpHeaders } from '@angular/common/http';\nimport { catchError } from 'rxjs/operators';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { throwError } from 'rxjs';\nimport { UserService } from './user.service';\nimport { HttpService } from './http.service';\n\n// service\n// import { UrlService } from './url.service';\n\n@Injectable()\nexport class TokenService {\n\n private static token: string;\n private static adminToken: string;\n constructor(\n private httpService: HttpService,\n ) {\n TokenService.adminToken = sessionStorage.getItem('admin-token');\n TokenService.token = localStorage.getItem('token');\n }\n\n // for get token\n getToken(): string {\n return TokenService.token;\n }\n // check token \n checkToken() {\n return new Promise((resolve, reject) => {\n this.httpService.get('User/checkToken').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n // add token to request if Exist Token\n setToken(token: string) {\n TokenService.token = token;\n localStorage.setItem('token', token);\n }\n // remove token\n removeToken() {\n TokenService.token = '';\n localStorage.removeItem('token');\n }\n\n // for admin ----------------------------\n // get token\n getAdminToken(): string {\n return TokenService.adminToken;\n }\n // add token to request if Exist Token\n setAdminToken(token: string) {\n TokenService.adminToken = token;\n sessionStorage.setItem('admin-token', token);\n }\n // remove token\n removeAdminToken() {\n TokenService.adminToken = '';\n sessionStorage.removeItem('admin-token');\n }\n}","import { Injectable } from \"@angular/core\";\n\nexport interface URLSInterface {\n readonly homePageSlideImage: string;\n readonly homePageVideo: string;\n readonly profile: string;\n readonly uploads: string;\n readonly empty: string;\n readonly api: string;\n\n // apply\n readonly backgroundApply: string;\n\n // survey\n readonly componentValueFile: string;\n readonly backgroundSurvey: string;\n readonly formFooterLogo: string;\n readonly formHeaderLogo: string;\n readonly componentFile: string;\n\n // site info \n readonly siteLogos: string;\n readonly facility: string;\n readonly customer: string; \n readonly siteUsage: string;\n readonly customerIdea: string; \n}\n\n@Injectable()\nexport class UrlService {\n\n // base url\n // static readonly PANEL_URL = 'http://94.183.26.106:9092/';\n // static readonly BASE_URL = 'http://94.183.26.106:8081/';\n \n static readonly PANEL_URL = 'http://porseshkon.ir:8080/';\n static readonly BASE_URL = 'http://porseshkon.ir:9092/';\n static readonly BASE_URL_UPLOAD = UrlService.BASE_URL + 'uploads/';\n\n static PANEL_URLS = {\n login: UrlService.PANEL_URL + 'auth/login',\n redirect: UrlService.PANEL_URL + 'pages/manage-forms/default-forms'\n }\n\n\n static URLS: URLSInterface = {\n homePageSlideImage: UrlService.BASE_URL_UPLOAD + 'siteInfo/firsPageSlider/',\n homePageVideo: UrlService.BASE_URL_UPLOAD + 'siteInfo/firsPageVideo/',\n profile: UrlService.BASE_URL_UPLOAD + 'user/profile/',\n uploads: UrlService.BASE_URL_UPLOAD,\n api: UrlService.BASE_URL + 'api/',\n empty: UrlService.BASE_URL,\n \n\n // apply\n backgroundApply: UrlService.BASE_URL_UPLOAD + '/apply/background/',\n\n // survey\n componentValueFile: UrlService.BASE_URL_UPLOAD + 'survey/componentValueFile/',\n backgroundSurvey: UrlService.BASE_URL_UPLOAD + 'survey/background/',\n formFooterLogo: UrlService.BASE_URL_UPLOAD + 'survey/formFooterLogo/',\n formHeaderLogo: UrlService.BASE_URL_UPLOAD + 'survey/formHeaderLogo/',\n componentFile: UrlService.BASE_URL_UPLOAD + 'survey/componentFile/',\n\n // site info \n siteLogos: UrlService.BASE_URL_UPLOAD + 'siteinfo/sitelogo/',\n siteUsage: UrlService.BASE_URL_UPLOAD + 'siteinfo/siteusage/',\n facility: UrlService.BASE_URL_UPLOAD + 'siteInfo/sitePossiblity/',\n customer: UrlService.BASE_URL_UPLOAD + 'siteInfo/SampleCustomer/',\n customerIdea: UrlService.BASE_URL_UPLOAD + 'siteInfo/feedbackComment/',\n }\n\n getUrl(key: string) {\n return UrlService.URLS[key];\n }\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { TokenService } from './token.service';\nimport { HttpService } from './http.service';\nimport { GloabalLoader } from './gloabal-loader.service';\n\n@Injectable()\nexport class UserService {\n\n user: any;\n _readyUser = new EventEmitter();\n\n // in constructor check user sign in.\n constructor(\n private tokenService: TokenService,\n private httpService: HttpService,\n ) { }\n\n // get user types\n getUserTypes() {\n return new Promise((resolve, reject) => {\n this.httpService.get('UserType/getList').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // get user with token\n getUser() {\n if (this.tokenService.getToken()) {\n this.tokenService.checkToken().then(\n () => {\n this.user = JSON.parse(localStorage.getItem('user'));\n // console.log(this.user);\n this._readyUser.next();\n },\n error => {\n this._readyUser.error(new Error());\n if (error.status === 401) this.removeUser();\n }\n ).finally(() => { GloabalLoader.loading = false; });\n }\n else {\n this.removeUser();\n this._readyUser.error(new Error());\n GloabalLoader.loading = false;\n }\n }\n getUserAccess() {\n return new Promise((resolve, reject) => {\n this.httpService.get('User/getUsermembershipStatus').subscribe(\n res => {\n delete this.user.membership;\n this.user.membership = res;\n localStorage.setItem('user', JSON.stringify(this.user));\n this._readyUser.next();\n resolve(res);\n },\n error => { reject(error); }\n );\n });\n }\n setUser(user: any) {\n localStorage.setItem('user', JSON.stringify(user));\n this.tokenService.setToken(user.token);\n delete this.user;\n this.user = user;\n this._readyUser.next();\n }\n removeUser() {\n localStorage.removeItem('user');\n this.tokenService.removeToken();\n this._readyUser.error(new Error());\n delete this.user;\n this.user = undefined;\n }\n\n // get user info\n getUserInfo() {\n return new Promise((resolve, reject) => {\n this.httpService.get('User/getUserProfile').subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // login functions\n login(params: { userName: string, password: string }): Promise {\n return new Promise((resolve, reject) => {\n this.httpService.get('User/siteLogin', params).subscribe(\n res => {\n this.setUser(res);\n this.getUserAccess();\n resolve(res.name + ' ' + res.lastName);\n },\n error => { reject(error); }\n );\n });\n }\n logout() {\n this.removeUser();\n }\n\n // resend Password functions\n sendPassword(params: { usernaeOrMobile: string }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('User', null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n\n // register functions\n getCode(params: { mobile: string; }): Promise {\n return new Promise((resolve, reject) => {\n this.httpService.post('User/signUpMobile', null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n verifyCode(params: { activationID: number, activationCode: string }) {\n return new Promise((resolve, reject) => {\n this.httpService.get('User/validateActivationForSignUp', params).subscribe(\n res => { resolve(res); this.tokenService.setToken(res); },\n error => { reject(error); }\n );\n });\n }\n register(body: {\n name: string,\n lastName: string,\n username: string,\n password: string,\n cityID: number\n }) {\n return new Promise((resolve, reject) => {\n this.httpService.post('User/signUpSiteUser', body).subscribe(\n res => {\n this.setUser(res);\n resolve(res);\n },\n error => { reject(error); }\n );\n });\n }\n\n // edit user\n edit(body: {\n name: string,\n cityID: number,\n lastName: string,\n username: string,\n }) {\n return new Promise((resolve, reject) => {\n let newBody = {\n oldPassword: '',\n newpassword: '',\n ...body\n }\n this.httpService.put('User/editPanelUserAsync', newBody).subscribe(\n res => {\n this.user = {\n ...this.user,\n ...res,\n }\n this.setUser(this.user);\n resolve(res);\n },\n error => { reject(error); }\n );\n });\n }\n\n // change passwrod\n changePassword(params: { oldPassword: string, newPassword: string }) {\n return new Promise((resolve, reject) => {\n this.httpService.put('User/changeSiteUserPasswordAsync', null, params).subscribe(\n res => { resolve(res); },\n error => { reject(error); }\n );\n });\n }\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}